diff -durpN glibc-2.1.2/BUGS glibc-2.1.3/BUGS --- glibc-2.1.2/BUGS Mon Sep 6 12:31:20 1999 +++ glibc-2.1.3/BUGS Thu Dec 9 10:56:46 1999 @@ -25,6 +25,9 @@ situations. Severity: [ *] to [***] +[** ] Closing shared objects in statically linked binaries most of the + times leads to crashes during the dlopen(). Hard to fix. + [ **] There are problems with signal handling when using LinuxThreads. [ **] The RPC code is not 64 bit clean. This is getting slowly fixed diff -durpN glibc-2.1.2/ChangeLog glibc-2.1.3/ChangeLog --- glibc-2.1.2/ChangeLog Mon Sep 6 14:19:12 1999 +++ glibc-2.1.3/ChangeLog Thu Feb 24 18:05:16 2000 @@ -1,3 +1,2110 @@ +2000-02-24 Ulrich Drepper <drepper@cygnus.com> + + * locale/C-ctype.c: Add table pointer for both endianesses. + +2000-02-23 Ulrich Drepper <drepper@redhat.com> + + * posix/wordexp.c: Use $HOME to expand ~ (if set); fix off-by-one + error in expansion of ~user; correct handling of WRDE_APPEND and + WRDE_DOOFFS; return WRDE_SYNTAX for syntax errors in command + substitutions; limit removal of newlines to those that are + really `trailing'; allow for current word to continue after + a command substitution (e.g. "a$(echo b)c"); restore pwordexp + members properly on error returns. + Patch by Geoff Clare <gwc@unisoft.com>. + + * stdlib/stdlib.h (putenv): Don't declare argument as const. + * sysdeps/generic/putenv.c: Likewise. + +2000-02-24 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/mach/hurd/sys/param.h: Add comment. + +2000-02-23 Ulrich Drepper <drepper@redhat.com> + + * locale/programs/ld-ctype.c (allocate_arrays): Make sure the end + of width table is 4-byte aligned. + (ctype_output): Write out the entire width array. + + * sysdeps/unix/sysv/linux/bits/waitflags.h: Add __WALL. + +2000-02-23 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/mach/hurd/sigstack.c (sigstack): Remove `const' from + argument type, for 2000-02-22 change in signal/signal.h declaration. + + * iconv/loop.c: Don't include <sys/param.h>. On Hurd it includes + <signal.h> -> <sys/ucontext.h> defines ES, conflicting with + iconvdata/iso646.c's (unrelated) ES. + (MIN): New macro, just define it here instead to avoid that conflict. + + * string/argz-stringify.c (__argz_stringify): Fix loop termination + conditions so as not to clobber the final '\0' when there is only one + element in the vector. + +2000-02-22 Ulrich Drepper <drepper@redhat.com> + + * libio/stdio.h: Define macros stdin, stdout, and stderr. + + * dirent/dirent.h [__USE_XOPEN]: Define ino_t and ino64_t. + * posix/sys/types.h: Allow ino64_t be defined elsewhere. + + * dlfcn/dlfcn.h (RTLD_DEFAULT): Don't use NULL. + + * stdlib/fmtmsg.h (MM_NULL*): Don't use NULL. + + * posix/glob.h [_XOPEN_SOURCE]: Define size_t. + + * iconv/iconv.h (iconv): Fix prototype. + + * misc/libgen.h: Include <features.h>. + + * misc/search.h (struct entry): Fix type of element data. + + * posix/unistd.h (getpagesize): Declare as const function. + + * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Define SA_NOCLDWAIT. + * sysdeps/unix/sysv/linux/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/sigaction.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Likewise. + + * signal/signal.h [__USE_XOPEN]: Define uid_t. + (sigstack): Correct type of first parameter. + * sysdeps/generic/sigstack.c (sigstack): Likewise. + * sysdeps/unix/sysv/linux/sigstack.c (sigstack): Likewise. + + * po/de.po: Update from translation team. + +1999-12-31 Martin Buchholz <martin@xemacs.org> + + * FAQ.in: Fix typos. + * argp/argp-help.c: Likewise. + * argp/argp.h: Likewise. + * elf/dl-object.c: Likewise. + * elf/dl-open.c: Likewise. + * elf/elf.h: Likewise. + * elf/rtld.c: Likewise. + * iconv/gconv_open.c: Likewise. + * locale/programs/ld-collate.c: Likewise. + * localedata/tst-fmon.data: Likewise. + * localedata/tst-rpmatch.sh: Likewise. + * login/programs/xtmp.h: Likewise. + * manual/arith.texi: Likewise. + * manual/charset.texi: Likewise. + * manual/creature.texi: Likewise. + * manual/ctype.texi: Likewise. + * manual/filesys.texi: Likewise. + * manual/llio.texi: Likewise. + * manual/math.texi: Likewise. + * manual/memory.texi: Likewise. + * manual/message.texi: Likewise. + * manual/search.texi: Likewise. + * manual/signal.texi: Likewise. + * manual/socket.texi: Likewise. + * manual/stdio.texi: Likewise. + * manual/string.texi: Likewise. + * manual/sysinfo.texi: Likewise. + * manual/time.texi: Likewise. + * manual/users.texi: Likewise. + * manual/examples/argp-ex2.c: Likewise. + * manual/examples/argp-ex3.c: Likewise. + * manual/examples/argp-ex4.c: Likewise. + * manual/examples/mkfsock.c: Likewise. + * math/libm-test.c: Likewise. + * math/test-fenv.c: Likewise. + * nscd/nscd_gethst_r.c: Likewise. + * nss/test-netdb.c: Likewise. + * posix/regex.c: Likewise. + * scripts/test-installation.pl: Likewise. + * stdlib/canonicalize.c: Likewise. + * stdlib/fmtmsg.c: Likewise. + * string/argz-replace.c: Likewise. + * string/argz.h: Likewise. + * string/bits/string2.h: Likewise. + * sysdeps/generic/glob.c: Likewise. + * sysdeps/generic/setenv.c: Likewise. + * sysdeps/i386/memcmp.S: Likewise. + * sysdeps/posix/waitid.c: Likewise. + * time/tzset.c: Likewise. + +2000-02-21 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/alpha/fpu/fpu_control.h: Update comment. + + * po/gl.po: Update from translation team. + + * timezone/antarctica: Update from tzdata2000b. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/europe: Likewise. + + * malloc/malloc.c (vALLOc): Call ptmalloc_init before mEMALIGn + call to initialize malloc_getpagesize. + (pvALLOc): Likewise. + +2000-02-20 Ulrich Drepper <drepper@redhat.com> + + * po/it.po: Update from translation team. + +2000-02-20 Philip Blundell <philb@gnu.org> + + * sysdeps/unix/sysv/linux/arm/mmap64.S: Fix off by one error. + +2000-02-20 Ulrich Drepper <drepper@redhat.com> + + * po/de.po: Update from translation team. + +2000-02-19 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Add definition of + _libc_fpreg and _libc_fpstate and use it to define fpregset_t. + * sysdeps/unix/sysv/linux/i386/sys/procfs.h (prgregset_t): Define + using elf_gregset_t. + (prfpregset_t): Define using elf_fpregset_t. + + * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Include + <sys/user.h>. Make fpregset_t definition compatible with + definition in 2.1.2 and before. + (struct ucontext): Use fpregset_t. + * sysdeps/unix/sysv/linux/i386/sys/procfs.h (prfpregset_t): Define + as pointer to fpregset_t. + +2000-02-18 Ulrich Drepper <drepper@redhat.com> + + * string/bits/string2.h (strnlen): Add cast to prevent warning. + + * nscd/connections.c (handle_request): Don't abort() if unknown + command is sent. + +2000-02-17 Ulrich Drepper <drepper@redhat.com> + + * nscd/hstcache.c (cache_addhst): Don't cache name->record entries + if more than one IP address is available. + +2000-02-17 Ulrich Drepper <drepper@cygnus.com> + + * locale/programs/ld-ctype.c (ctype_startup): Correct + initialization of class_collection256. + +2000-02-17 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Sync with kernel. + +2000-02-16 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/powerpc/mmap64.c: Correct prototype for + __syscall_mmap2. + + * sysdeps/unix/sysv/linux/execve.c: Rewrite __syscall_execve + prototype to avoid warnings. + + * po/it.po: New file. + * po/pl.po: Update from translation team. + +2000-01-27 Geoff Keating <geoffk@cygnus.com> + + * sysdeps/unix/sysv/linux/powerpc/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/mmap64.c: New file. + * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add + s_fstat64, s_ftruncate64, s_lstat64, s_mmap2, s_stat64, + s_truncate64. + * sysdeps/unix/sysv/linux/powerpc/truncate64.c: New file. + +2000-02-14 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/posix/sigwait.c: Don't look for signal 0 since it does + not exist. Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1601). + + * sysdeps/libm-i387/s_nearbyint.S: Disable raising exception, not + enable it. Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1600). + * sysdeps/libm-i387/s_nearbyintf.S: Likewise. + * sysdeps/libm-i387/s_nearbyintl.S: Likewise. + +2000-02-14 Andreas Jaeger <aj@suse.de> + + * elf/rtld.c (dl_main): Fix check for references to dynamic linker. + +2000-02-14 Scott Bambrough <scottb@netwinder.org> + + * sysdeps/unix/sysv/linux/arm/ioperm.c (_iopl, _ioperm): Add + Rebel-NetWinder to platform table so _ioperm platform lookup via + /proc/cpuinfo works on later version NetWinders. + +2000-02-13 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/i386/fpu/s_cosf.S: Domain of opcode is not large enough + so test for overflow and handle it. + * sysdeps/i386/fpu/s_sinf.S: Likewise. + * sysdeps/i386/fpu/s_tanf.S: Likewise. + Patch by Miloslav Trmac <mitr@volny.cz> (PR libc/1563). + +2000-02-12 Ulrich Drepper <drepper@redhat.com> + + * ctype/ctype-info.c (__ctype32_tolower, __ctype32_toupper): New + variables. + * locale/langinfo.h: Add _NL_CTYPE_TOUPPER32_EB, + _NL_CTYPE_TOLOWER32_EB, _NL_CTYPE_TOUPPER32_EL, and + _NL_CTYPE_TOLOWER32_EL. + * locale/C-ctype.c: Add initializers for new elements. + * locale/lc-ctype.c: Initialize __ctype32_toupper and + __ctype32_tolower. + * locale/programs/linereader.c (get_symname): Start looking for + numeric value at the right position. + * locale/programs/charset.c (charset_new_char): Remove third parameter. + * locale/programs/charset.h (charset_new_char): Likewise. + * locale/programs/charmap.c (parse_charmap): Update charset_new_char + call. + * locale/programs/ld-ctype.c: Many many changes to generate wide + character classification and mapping tables correctly. + * locale/programs/locales.h: Update prototypes of ctype_class_from, + ctype_class_to, ctype_map_from, and ctype_map_to. + * locale/programs/locfile.c (locfile_read): Initialize + locfile->repertoire. Pass repertoire to ctype_class_from, + ctype_class_to, ctype_map_from, and ctype_map_to calls. + * locale/programs/locfile.h (struct localedef_t): Add repertoire + element. + * locale/programs/repertoire.c (repertoire_find_value): New function. + (repertoire_read): Remove third parameter from charset_new_char call. + * locale/programs/repertoire.h (repertoire_find_value): Declare. + * wctype/wcfuncs.c: Use __ctype32_tolower and __ctype32_toupper. + * wctype/wcfuncs_l.c: Likewise. + + * locale/nl_langinfo.h: Add casts to prevent warnings. + +2000-02-09 Andreas Jaeger <aj@suse.de> + + * time/strptime.c (strptime_internal): Fix pointer dereference. + Patch by Juergen Heinzl <juergen@monocerus.demon.co.uk>, closes PR + libc/1591. + +2000-02-08 Andreas Jaeger <aj@suse.de> + + * locale/programs/locale.c (write_locales): Fix handling of + whitespace lines. + Fixes PR libc/1588, reported by Miroslav Holcak + <miroslav.holcak@vitkovice.cz>. + +2000-02-07 Thorsten Kukuk <kukuk@suse.de> + + * config.make.in: Add infodir. + * sysdeps/unix/sysv/linux/sparc/bits/termios.h: Sync with kernel + header files. + +2000-02-11 Ulrich Drepper <drepper@redhat.com> + + * posix/getopt.c: Suppress messages if first character of + optstring is a colon (PR libc/1584). + + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Define ELF_* constants + and elf_* types to interpret values passed up from the kernel. + Patch by Franz Sirl <Franz.Sirl-kernel@lauterbach.com>. + + * locale/nl_langinfo.c: Correct return value in error case. Don't + set errno (PR libc/1582). + * manual/locale.texi: Update to reflect change. + + * iconvdata/gconv-modules: Add aliases CN-GB and CN-BIG5. + Reported by Bruno Haible <haible@ilog.fr>. + +2000-02-03 Jakub Jelinek <jakub@redhat.com> + + * stdlib/canonicalize.c (canonicalize): Zero terminate + path to copy on error. + +2000-02-01 Cristian Gafton <gafton@redhat.com> + + * misc/syslog.c (closelog): Reset LogType to SOCK_DGRAM. + +2000-01-31 Philip Blundell <philb@gnu.org> + + * sysdeps/arm/fpu/fpu_control.h (_FPU_DEFAULT): Set the AC bit. + +2000-01-31 Andreas Jaeger <aj@suse.de> + + * inet/inet_net.c (inet_network): Don't overwrite memory or allow + to great last digits. + +2000-02-02 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/mach/hurd/readlink.c (__readlink): Don't clobber original + LEN value with io_read result; save it and compare them just in case + the server bogusly returns more than we asked for. + * sysdeps/mach/hurd/recv.c (recv): Likewise for socket_recv. + * sysdeps/mach/hurd/recvfrom.c (recvfrom): Likewise. + * hurd/fd-read.c (_hurd_fd_read): Likewise for io_read. + Initialize NREAD before the RPC. I think this must only have failed + to bomb before because all the servers always return ool data(?). + + * sysdeps/mach/hurd/getsockopt.c (getsockopt): Fix inverted sense of + test: *OPTLEN gets BUFLEN iff BUFLEN is lesser. Move that test out of + BUF != OPTVAL condition, since it is a separate issue. Short-circuit + the memcpy and dealloc for BUFLEN==0. + + * hurd/hurdlookup.c (CHECK_ELOOP): New macro does SYMLOOP_MAX check; + deallocate *RESULT before returning ELOOP. + Don't conditionalize on SYMLOOP_MAX, we always better have one. + Move the check after case of empty retryname, which should not do it. + Use CHECK_ELOOP for absolute symlinks and other FS_RETRY_MAGICAL cases. + +2000-01-31 Andreas Jaeger <aj@suse.de> + + * inet/inet_net.c (inet_network): Synch with bind 8.2.2. Fixes PR + libc/1567. + +2000-01-30 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/alpha/fpu/feholdexcpt.c: Correct return value according to + the standard. + * sysdeps/alpha/fpu/fesetround.c: Likewise. + * sysdeps/arm/fpu/feholdexcpt.c: Likewise. + * sysdeps/arm/fpu/fesetround.c: Likewise. + * sysdeps/generic/feholdexcpt.c: Likewise. + * sysdeps/generic/fesetround.c: Likewise. + * sysdeps/i386/fpu/feholdexcpt.c: Likewise. + * sysdeps/i386/fpu/fesetround.c: Likewise. + * sysdeps/m68k/fpu/feholdexcpt.c: Likewise. + * sysdeps/m68k/fpu/fesetround.c: Likewise. + * sysdeps/mips/fesetround.c: Likewise. + * sysdeps/powerpc/feholdexcpt.c: Likewise. + * sysdeps/powerpc/fesetround.c: Likewise. + * sysdeps/sparc/fpu/feholdexcpt.c: Likewise. + * sysdeps/sparc/fpu/fesetround.c: Likewise. + Patch by Miloslav Trmac <mitr@volny.cz>. + +2000-01-29 Ulrich Drepper <drepper@redhat.com> + + * catgets/catgets.c (catopen): Handle NL_CAT_LOCALE correctly. + * catgets/gencat.c (read_input_file): Remove messages correctly. + * catgets/open_catalog.c (__open_catalog): Handle trailing colons and + adjacent colons correctly. Correct loops to read territory and + and codeset part. + Patches by Geoff Clare <gwc@unisoft.com> (PR libc/1559). + + * rt/aio_misc.c (get_elem): Assign pointer to new row to correct + pool entry. + Patch by Jens Moeller <jens.moeller@waii.com> (PR libc/1558). + +2000-01-27 Scott Bambrough <scottb@netwinder.org> + + * sysdeps/unix/sysv/linux/arm/Makefile: Backout rlimit changes for + resource directory. + * sysdeps/unix/sysv/linux/arm/syscalls.list: Backout changes for + versioning setrlimit and getrlimit. + +2000-01-28 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/hurdselect.c (_hurd_select): Don't allocate D as a + variable-sized automatic. Instead, use alloca after capping + number of elements (NFDS) to a reasonable upper bound. + +2000-01-27 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/set-host.c (_hurd_set_host_config): Pass O_WRITE in flags to + dir_mkfile, so we will be permitted to do the io_write! + +2000-01-05 Philip Blundell <philb@gnu.org> + + * sysdeps/unix/sysv/linux/arm/mmap64.S: Correct check for ENOSYS. + +2000-01-25 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/Dist: Add sys/io.h. + * sysdeps/unix/sysv/linux/Dist: Remove sys/io.h. + + * nscd/hstcache.c: Don't use NS_* names. + + * posix/fnmatch.c: Fix problem with FNM_LEADING_DIR. + +2000-01-24 Paul Eggert <eggert@twinsun.com> + + * posix/fnmatch.c (internal_fnmatch): Use locale's collating + sequence when deciding whether a character falls within a + character range. + +2000-01-24 Paul Eggert <eggert@twinsun.com> + + * posix/fnmatch.c (internal_fnmatch): When matching [A-Z] and + folding case, lower-case A too. + +2000-01-23 Paul Eggert <eggert@twinsun.com> + + * posix/regex.c (GET_UNSIGNED_NUMBER): Allow only ASCII digits. + +2000-01-23 Paul Eggert <eggert@twinsun.com> + + * posix/regex.c (compile_range): When matching a character + range, use the current collating sequence, as POSIX requires. + +2000-01-25 Ulrich Drepper <drepper@cygnus.com> + + * string/argz-stringify.c: Handle case of missing \0 at the end of + the given argz. + +2000-01-18 Ulrich Drepper <drepper@cygnus.com> + + * nscd/hstcache.c (cache_addhst): Don't automatically add IPv6 + address. Suggested by Philip Blundell. + +2000-01-13 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/generic/backtrace.c: Include signal.h which + sigcontextinfo.h headers are used to expect. + * sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h + (register_dump): Fix a typo in the printout. + Avoid using reg_window, so that asm/ptrace.h is not necessary. + * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h + (ADVANCE_STACK_FRAME): Likewise. + +2000-01-23 Ulrich Drepper <drepper@cygnus.com> + + * string/bits/string2.h (__strndup, strndup): Remove optimization. + __strndup is not exported. + +2000-01-23 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/i386/getrlimit.c: Removed. + * sysdeps/unix/sysv/linux/i386/setrlimit.c: Removed. + * sysdeps/unix/sysv/linux/i386/getrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/i386/setrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/i386/oldsetrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/arm/getrlimit.c: Removed. + * sysdeps/unix/sysv/linux/arm/setrlimit.c: Removed. + * sysdeps/unix/sysv/linux/arm/getrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/arm/setrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/arm/oldgetrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/arm/oldsetrlimit64.c: Removed. + + * sysdeps/unix/sysv/linux/i386/Dist: Remove oldgetrlimit64.c and + oldsetrlimit64.c + * sysdeps/unix/sysv/linux/i386/Makefile: Remove oldget[sr]limit64.c. + * sysdeps/unix/sysv/linux/i386/Versions: Remove new 2.1.3 VERSION. + * sysdeps/unix/sysv/linux/i386/bits/resource.h: Change back old + RLIM_INFINITY value. + +2000-01-23 Ulrich Drepper <drepper@cygnus.com> + + * string/bits/string2.h: Fix typo (__GNU_SOURCE -> __USE_GNU) + (PR libc/1553). + +2000-01-22 Thorsten Kukuk <kukuk@suse.de> + + * sunrpc/xdr_rec.c: Don't set frag_sent if no more data, + fixes part 2 of bug 1549. + * sunrpc/rpc_des.h: Remove unused defines. + +2000-01-22 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Remove sys/io.h. + * sysdeps/unix/sysv/linux/alpha/Makefile: Add sys/io.h. + * sysdeps/unix/sysv/linux/arm/Makefile: Likewise. + * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. + * sysdeps/unix/sysv/linux/sys/io.h: Move from here ... + * sysdeps/unix/sysv/linux/i386/sys/io.h: ... to here, add inb, outb + and other inline functions for port access. + * sysdeps/unix/sysv/linux/alpha/sys/io.h: Add prototypes for port + access functions. + +2000-01-23 Ulrich Drepper <drepper@cygnus.com> + + * iconv/gconv_simple.c: Fix two problems in UTF-8 decoder. + Patch by Bruno Haibe <haible@ilog.fr>. + +2000-01-20 Ulrich Drepper <drepper@cygnus.com> + + * manual/getopt.texi (Using the getopt function): Fix description of + return value for format string starting with '-' (PR libc/1551). + Patch by Ra�l N��ez de Arenas Coronado <dervishd@jazzfree.com> + + * sunrpc/clnt_perr.c (rpc_errlist): Fix index for RPC_PROGVERSMISMATCH. + Patch by jens.moeller@westgeo.com (PR libc/1550). + +2000-01-19 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/libm-ieee754/s_modfl.c: Correct handling of arguments + with exponent >31 and < 63 (PR libc/1548). + + * time/strptime.c: Change buffer handling to fix recursive calls + with locales (PR libc/1546). + + * stdlib/strfmon.c: Don't report an error if final NUL is at the + end of the buffer. Set errno correctly if floating-point number + would overflow buffer. + +2000-01-18 Ulrich Drepper <drepper@cygnus.com> + + * wcsmbs/wcrtomb.c: Compute result correctly for successful call + with s == NULL. + + * wcsmbs/mbsrtowcs.c: Compute return value correctly after change + in gconv function. + + * wcsmbs/mbrtowc.c: Don't set errno if byte sequence is only + incomplete but correct. + + * iconv/loop.c (COUNT_CONVERTED): Remove macro, comment, and all uses. + Remove done variable and all uses. + * iconv/skeleton.c: Update comment for *written modification. + * iconv/gconv_int.h (__gconv): Update comment. + Reported by Bruno Haible. + +2000-01-18 Jakub Jelinek <jakub@redhat.com> + + * dirent/dirent.h (getdentries): Correct prototype to use __off64_t. + +2000-01-18 Ulrich Drepper <drepper@cygnus.com> + + * timezone/antarctica: Update from tzdata2000a. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +2000-01-18 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/generic/bits/socket.h + (__ss_aligntype, struct sockaddr_storage): Make these like Linux + version, replacing old type name `__ss_align'. + +2000-01-18 Ulrich Drepper <drepper@cygnus.com> + + * posix/TESTS: Fix expected result for test cases with * with no + leading expression. + + * inet/getnameinfo.c: Terminate host name for NI_NOFQDN. + * sysdeps/posix/getaddrinfo.c: Correct modifications done for + PR1515. Patch by Hideaki YOSHIFUJI <yoshfuji@ecei.tohoku.ac.jp>. + + * posix/regex.h (RE_SYNTAX_POSIX_EXTENDED): Add RE_CONTEXT_INVALID_OPS. + * posix/regex.c (regex_compile): Return appropriate errors for + unterminated brace expressions. Detect invalid characters + in brace expressions. + * posix/bits/posix2_lim.h: Define RE_DUP_MAX correctly. + * sysdeps/posix/sysconf.c: Include regex.h. + Reported by Geoff Clare <gwc@unisoft.com> (PR libc/1522). + +2000-01-17 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/posix/getaddrinfo.c (gaih_local): If name is given and + AI_NUMERICHOST flag is set, return an error. + Patch by Hideaki YOSHIFUJI <yoshfuji@ecei.tohoku.ac.jp>. + +2000-01-09 Philip Blundell <philb@gnu.org> + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't attempt name + resolution if the hints included AI_NUMERICHOST. + +2000-01-13 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code generated if + mmap2 is available when compiling but no at runtime. + +2000-01-12 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/gconv-modules: Add aliases ISO-IR-199 and ISO-IR-203. + Reported by Bruno Haible <haible@ilog.fr>. + +2000-01-10 Thorsten Kukuk <kukuk@suse.de> + + * nss/getent.c: Add ipv6 support for hosts. + +2000-01-05 Philip Blundell <pb@futuretv.com> + + * sysdeps/unix/sysv/linux/arm/Versions: Add getrlimit, setrlimit, + getrlimit64, setrlimit64 for GLIBC_2.1.3. + * sysdeps/unix/sysv/linux/arm/syscalls.list: Add oldgetrlimit, + oldsetrlimit. + * sysdeps/unix/sysv/linux/arm/oldsetrlimit64.c: New file. + * sysdeps/unix/sysv/linux/arm/oldgetrlimit64.c: Likewise. + * sysdeps/unix/sysv/linux/arm/setrlimit64.c: Likewise. + * sysdeps/unix/sysv/linux/arm/getrlimit64.c: Likewise. + * sysdeps/unix/sysv/linux/arm/setrlimit.c: Likewise. + * sysdeps/unix/sysv/linux/arm/getrlimit.c: Likewise. + + * sysdeps/unix/sysv/linux/arm/Makefile [subdir=resource] + (sysdep_routines): Add oldgetrlimit64, oldsetrlimit64. + [subdir=misc] (sysdep_headers): Add sys/elf.h. + +2000-01-09 Philip Blundell <philb@gnu.org> + + * sysdeps/arm/dl-machine.h (CLEAR_CACHE): System calls clobber R0. + (dl_platform_init): Allow _dl_platform to be NULL. + + * sysdeps/unix/sysv/linux/arm/sysdep.h (UNDOARGS_5): Fix error in + last change. + +2000-01-08 Mark Kettenis <kettenis@gnu.org> + + * sysdeps/mach/hurd/setitimer.c (quantize_timeval): New function. + (setitimer_locked): Use it to quantize the timer values. Use + quantized timer values to check if the timeout changed. + +1999-12-21 Andreas Schwab <schwab@suse.de> + + * include/unistd.h: Declare __libc_lseek. + +1999-12-19 Andreas Jaeger <aj@suse.de> + + * include/fcntl.h: Declare __libc_fcntl. + + * include/unistd.h: Move __libc_open and __libc_open64 to ... + * include/fcntl.h: ...here. + +2000-01-05 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/Dist: Distribute oldgetrlimit64.c + and oldsetrlimit64.c. + + * sysdeps/unix/sysv/linux/arm/Dist: Distribute sys/elf.h and + sys/procfs.h. + +2000-01-05 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/generic/lseek64.c (__libc_lseek64): Renamed from __lseek64. + (__lseek64, lseek64): Make these weak aliases for __libc_lseek64. + * sysdeps/mach/hurd/lseek.c (__libc_lseek): Renamed from __lseek. + (__lseek, lseek): Make these weak aliases for __libc_lseek. + * sysdeps/mach/hurd/fcntl.c (__libc_fcntl): Renamed from __fcntl. + (__fcntl, fcntl): Make these weak aliases for __libc_fcntl. + * sysdeps/mach/hurd/open.c (__libc_open): Renamed from __open. + (__open, open): Make these weak aliases for __libc_open. + + * sysdeps/generic/bits/socket.h (enum __socket_type): Remove + trailing comma. + (anonymous enum for MSG_*): Likewise. + (anonymous enum for SO_*): Likewise. + +2000-01-05 Ulrich Drepper <drepper@cygnus.com> + + * manual/texinfo.tex: Updated from latest official version. + + * debug/Makefile (distribute): Add frame.h. + +2000-01-05 Philip Blundell <philb@gnu.org> + + * sysdeps/arm/frame.h: New file. + * sysdeps/generic/frame.h: Likewise. + * sysdeps/generic/segfault.c (struct layout): Delete definition; + include the above file instead. + * sysdeps/generic/backtrace.c (struct layout): Likewise. + (__backtrace): Use ADVANCE_STACK_FRAME. + * sysdeps/unix/sysv/linux/arm/sigcontextinfo.h + (ADVANCE_STACK_FRAME): New macro. + (GET_FRAME): Apply above to returned value. + + * sysdeps/unix/sysv/linux/arm/bits/armsigctx.h: Add `fault_address'. + +2000-01-05 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/mach/hurd/errnos.awk: Rediddle to collect lines and print + them all at the end, eliding the final comma. + * sysdeps/mach/hurd/bits/errno.h: Regenerated. + +2000-01-05 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/posix/getaddrinfo.c: Add support for SOCK_RAW. + Patch by YOSHIFUJI Hideaki <yoshifuji@ecei.tohoku.ac.jp>. + + * io/ftw.c (process_entry): Cache object dev/inode only for + directories (PR libc/1514). + +2000-01-05 Andreas Schwab <schwab@suse.de> + + * iconv/iconv_prog.c (process_block): Add cast to avoid warning. + +2000-01-05 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/alpha/sys/io.h: Follow change from + glibc 2.2 and don't include <asm/io.h>. + * sysdeps/unix/sysv/linux/sys/io.h: Likewise. + +2000-01-05 Andreas Jaeger <aj@suse.de> + + * intl/locale.alias: Add lithunian entry. + Reported by Kestutis Kupciunas <kesha@soften.ktu.lt>, PR + libc/1507. + +2000-01-04 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/mmap64.S: Don't include + kernel-features.h. + +2000-01-02 Philip Blundell <philb@gnu.org> + + * sysdeps/unix/sysv/linux/arm/ioperm.c: Use sysctl by preference + to obtain port mapping information. Avoid use of mprotect. + +2000-01-03 Andreas Schwab <schwab@suse.de> + + * sysdeps/generic/dl-sysdep.c: Initialize __libc_multiple_libcs, + needed for change in common symbol handing in newer binutils. + +2000-01-04 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/i386/mmap.S (mmap64): Remove weak alias. + * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list (s_ugetrlimit): + Remove. + * sysdeps/unix/sysv/linux/sparc/bits/fcntl.h (O_DIRECTORY, + O_NOFOLLOW): Protect by ifdef __USE_GNU. + (O_LARGEFILE): Define depending on architecture size. + * sysdeps/unix/sysv/linux/ftruncate64.c (__have_no_truncate64): + Renamed from have_no_truncate64. + * sysdeps/unix/sysv/linux/truncate64.c (__have_no_truncate64): + Likewise. + +2000-01-03 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/mmap64.S: Fix code for running on + kernel without mmap2 syscall. + +2000-01-03 Philip Blundell <philb@gnu.org> + + * sysdeps/arm/bits/string.h (_HAVE_STRING_ARCH_mempcpy): Define. + + * sysdeps/arm/fpu/bits/mathdef.h: New file. + +2000-01-03 Ulrich Drepper <drepper@cygnus.com> + + * string/bits/string2.h (__strsep_g): Don't handle empty __S special. + +2000-01-02 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/mmap64.S: Pop registers after mmap2 + call before handling error. + + * sysdeps/unix/sysv/linux/i386/mmap64.S: Handle unaligned offsets. + + * iconvdata/ksc5601.c (__ksc5601_sym_to_ucs): Add mapping for + 0xa2e6 and 0xa2e7. + (__ksc5601_sym_from_ucs): Add mapping back from U00AE and U20AC. + * iconvdata/ksc5601.h (KSC5601_SYMBOL): Adjust for the two new + mappings. + + * sysdeps/unix/sysv/linux/llseek.c: Formulate warning message + stronger. + + * iconvdata/gconv-modules: Remove BALTIC. It's the same as + ISO-8859-13. + * iconvdata/Makefile (distribute): Remove baltic.c. + (modules): Remove BALTIC. + (gen-8bit-gap-modules): Remove baltic. + * iconvdata/baltic.c: Removed. + + * sysdeps/posix/system.c: Correct return value for LINE == NULL. + + * signal/Versions [GLIBC_2.1.3] (libc): Export __sigsuspend. + +2000-01-02 Philip Blundell <philb@gnu.org> + + * sysdeps/generic/bits/mathdef.h: Test __USE_ISOC9X not + __USE_ISOC99. + +1999-12-29 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for + llseek. + Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. + +1999-12-14 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux + 2.3.32. + +1999-12-29 Geoffrey Keating <geoffk@cygnus.com> + + * sysdeps/powerpc/dl-machine.c: Many minor formatting changes. + (OPCODE_LWZU): New macro. + (OPCODE_ADDIS_HI): New macro. + (OPCODE_LIS_HI): New macro. + (__elf_machine_runtime_setup): Change PLT code-generation scheme + for thread safety even with very large PLTs, better efficiency, + and to fix a cache-flushing bug. + (__elf_machine_fixup_plt): Likewise. + (__process_machine_rela): Don't use elf_machine_fixup_plt. + +1999-12-28 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove oldgetrlimit + and oldsetrlimit definitions. + +1999-12-27 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/gbk.c: In mapping from UCS4: don't crash for undefined + mappings. + + * iconvdata/gb2312.h (ucs4_to_gb2312): Fix mapping of 0x0101, + 0x2312, and 0x2500..0x254b. + +1999-12-17 Andreas Jaeger <aj@suse.de> + + * stdlib/Versions: Export __cxa_atexit and __cxa_finalize. + +1999-12-16 Mark Mitchell <mark@codesourcery.com> + + * stdlib/Makefile (routines): Add cxa_atexit and cxa_finalize. + * stdlib/exit.h (flavor): Add ef_cxa. + (exit_function): Add cxa variant. + * stdlib/exit.c (exit): Handle ef_cxa exit functions. + * stdlib/cxa_atexit.c: New file. + * stdlib/cxa_finalize.c: New file. + +1999-12-27 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/gb2312.c: Update mapping of GB 0x212c from latest + Unicode tables. + +1999-12-22 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add + truncate64, ftruncate64, fstat64, lstat64, stat64 and mmap2. + Remove ugetrlimit. + * sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c: New file. + +1999-12-18 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/fxstat64.c: Rewrite to use fstat64 + syscall if available. + * sysdeps/unix/sysv/linux/lxstat64.c: Likewise for lstat64. + * sysdeps/unix/sysv/linux/xstat64.c: Likewise for stat64. + +1999-12-08 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/ftruncate64.c: New file. + * sysdeps/unix/sysv/linux/truncate64.c: New file. + * sysdeps/unix/sysv/linux/i386/mmap64.S: New file. + +1999-12-26 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/powerpc/pread.c: Define __libc_* variant for + cancelation wrapper. + * sysdeps/unix/sysv/linux/powerpc/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/powerpc/pwrite64.c: Likewise. + + * sysdeps/unix/sysv/linux/bits/resource.h: Remove inclusion + of <asm/resource.h>. + * sysdeps/unix/sysv/linux/mips/bits/resource.h: Likewise. + +1999-12-26 Philip Blundell <philb@gnu.org> + + * sysdeps/unix/sysv/linux/arm/syscalls.list: Remove vm86. Set + argument count for `syscall' to 7. + * sysdeps/unix/sysv/linux/arm/sysdep.h: Add support for syscalls + with more than five arguments. + (DOARGS_5, UNDOARGS_5): Don't corrupt the calling stack frame. + +1999-12-24 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/posix/system.c (__libc_system): Check whether command + processor is available if LINE is NULL. Don't return immediately + if wait call returned with EINTR. + Patches by Geoff Clare <gwc@unisoft.com> (PR libc/1497 and libc/1498). + +1999-12-23 Ulrich Drepper <drepper@cygnus.com> + + * locale/iso-4217.def: Add NAD. Remove a few obsolete entries. + + * sysdeps/generic/glob.c (glob): Pass alternate file access functions + also in recursive call. Patch by Joe Orton <joe@orton.demon.co.uk>. + +1999-12-21 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/arm/dl-machine.c (CLEAR_CACHE): Fix a2 value. + Patch by Scott Bambrough <scottb@netwinder.org>. + +1999-12-21 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/i386/getrlimit.c: Only put versions on + exported symbols. + * sysdeps/unix/sysv/linux/i386/setrlimit.c: Likewise. + +1999-12-21 Ulrich Drepper <drepper@cygnus.com> + + * resolv/netdb.h: Remove getnodebyname declaration (PR libc/1494). + +1999-12-20 Ulrich Drepper <drepper@cygnus.com> + + * include/ucontext.h: New file. + +1999-12-20 Andreas Schwab <schwab@suse.de> + + * manual/install.texi (Running make install): Clearify that + install_root should be an absolute file name. + +1999-12-20 Ulrich Drepper <drepper@cygnus.com> + + * iconv/gconv.c (__gconv): Deal with outbuf being NULL. + + * iconv/iconv.c (iconv): Allow omitting output buffer if no input + buffer is given to place conversion descriptor in initial state. + * iconvdata/gconv-modules: Correct aliases CSPC850MULTILINGUAL and + CSPC862LATINHEBREW. + * iconvdata/gconv-modules: Add aliases GB2312 and csGB2312 + (according to IANA registry). + Reported by Bruno Haible <haible@ilog.fr>. + + * iconvdata/johab.c: Correct completely broken conversion to JOHAB. + +1999-12-19 Ulrich Drepper <drepper@cygnus.com> + + * locale/langinfo.h: Always define CODESET. + (CODESET): Define also as macro. + + * stdio-common/printf_fp.c (__printf_fp): Allocate buffer to + generate mantissa output in using malloc if it is larger than + 20000 characters. + Reported by Jim Meyering <meyering@ascend.com>. + +1999-12-18 Ulrich Drepper <drepper@cygnus.com> + + * include/unistd.h: Declare __libc_open64, __libc_lseek64, + __libc_pread, __libc_pread64, __libc_pwrite, and __libc_pwrite64. + * io/Versions: Export __libc_open64 and __libc_lseek64. + * posix/Versions: Export __libc_pread, __libc_pread64, __libc_pwrite, + and __libc_pwrite64. + * sysdeps/generic/open64.c: Define __libc_* variant for cancelation + wrapper. + * sysdeps/generic/pread.c: Likewise. + * sysdeps/generic/pread64.c: Likewise. + * sysdeps/generic/pwrite.c: Likewise. + * sysdeps/generic/pwrite64.c: Likewise. + * sysdeps/posix/open64.c: Likewise. + * sysdeps/posix/pread.c: Likewise. + * sysdeps/posix/pread64.c: Likewise. + * sysdeps/posix/pwrite.c: Likewise. + * sysdeps/posix/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/llseek.c: Likewise. + * sysdeps/unix/sysv/linux/pread.c: Likewise. + * sysdeps/unix/sysv/linux/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/pwrite64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/pread.c: Likewise. + * sysdeps/unix/sysv/linux/i386/pread64.c: Likewise. + * sysdeps/unix/sysv/linux/i386/pwrite.c: Likewise. + * sysdeps/unix/sysv/linux/i386/pwrite64.c: Likewise. + + * sysdeps/posix/open64.c: Help gcc generating better code. + + * sysdeps/generic/libc-start.c (check_one_fd): Use __libc_open + instead of __open. + +1999-12-11 H.J. Lu <hjl@gnu.org> + + * sysdeps/generic/libc-start.c (check_one_fd): Use __libc_fcntl + instead of __fcntl. + +1999-12-18 Ulrich Drepper <drepper@cygnus.com> + + * include/features.h: Recognize _ISOC99_SOURCE as well. + +1999-12-10 Jakub Jelinek <jakub@redhat.com> + + * stdlib/longlong.h (__sparc_v9__): Use %rDIGIT instead of %DIGIT + where appropriate. + +1999-12-18 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/isiri-3342.c: New file. + * iconvdata/Makefile (modules): Add ISIRI-3342. + (distribute): Add isiri-3342.c. + (gen-8bit-gap-modules): Add isiri-3342. + * iconvdata/gconv-modules: Add entries for ISIRI-3342. + + * malloc/Versions: Export __libc_freeres for GLIBC_2.1. + +1999-12-14 Thorsten Kukuk <kukuk@suse.de> + + * nis/ypclnt.c: Correct handling of cached client handles. + * nis/nss_compat/compat-grp.c: Make sure errno is always set correct. + * nis/nss_compat/compat-initgroups.c: Likewise. + * nis/nss_compat/compat-spwd.c: Likewise. + * nis/nss_nis/nis-alias.c: Likewise. + * nis/nss_nis/nis-ethers.c: Likewise. + * nis/nss_nis/nis-grp.c: Likewise. + * nis/nss_nis/nis-hosts.c: Likewise. + * nis/nss_nis/nis-netgrp.c: Likewise. + * nis/nss_nis/nis-publickey.c: Likewise. + * nis/nss_nis/nis-service.c: Likewise. Also use services.byservicename. + Map if available, optimize query if name/port and protocol is known. + +1999-12-18 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/bits/resource.h: Don't depend on the + unreliable kernel headers. + * sysdeps/unix/sysv/linux/sparc/bits/resource.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/bits/resource.h: New file. + * sysdeps/unix/sysv/linux/mips/bits/resource.h: New file. + +1999-12-17 Ulrich Drepper <drepper@cygnus.com> + + * string/bits/string2.h (__strsep): Help gcc optimizing string access. + + * sysdeps/generic/bits/mathdef.h: Protect definitions for math.h + against double inclusion. + * sysdeps/alpha/fpu/bits/mathdef.h: Likewise. + * sysdeps/i386/fpu/bits/mathdef.h: Likewise. + * sysdeps/m68k/fpu/bits/mathdef.h: Likewise. + * sysdeps/powerpc/bits/mathdef.h: Likewise. + * sysdeps/sparc/fpu/bits/mathdef.h: Likewise. + + * sysdeps/i386/fpu/libm-test-ulps: Add more deltas (are mobile PIIs + that different?). + + * sysdeps/generic/shmget.c: Correct type of size parameter. + * sysdeps/unix/sysv/linux/shmget.c: Likewise. + * sysvips/sys/shm.h: Likewise. + +1999-12-18 Andreas Jaeger <aj@suse.de> + + * config.make.in (datadir): Added. + Closes PR libc/1491. Patch by dervishd@jazzfree.com. + +1999-12-17 Scott Bambrough <scottb@netwinder.org> + + * sysdeps/arm/dl-machine.h (CLEAR_CACHE): New macro to force a + cache flush. + * elf/dl-reloc.c (_dl_relocate_object): Add call to flush cache + after .text segment fixups. + +1999-12-17 Andreas Jaeger <aj@suse.de> + + * rt/aio.h (struct aiocb64): Add member __next_prio to sync the + struct with aiocb. + + * rt/Makefile (tests): Added tst-aio64. + Added dependency rules for tst-aio64. + + * rt/tst-aio64.c: New file, copied from tst-aio.c and changed for + 64bit tests. + +1999-12-17 Thorsten Kukuk <kukuk@suse.de> + + * string/bits/string2.h: Fix patch from 1999-12-07. + +1999-12-16 Andreas Jaeger <aj@suse.de> + + * rt/aio.h: Remove erroneous __restrict declarations. + +1999-12-18 Ulrich Drepper <drepper@cygnus.com> + + * scripts/rellns-sh: Find pwd program also in /usr/bin and let shell + do the job if it is there neither. + Patch by David R. Conrad <drc@adni.net> (PR libc/1485). + +1999-12-16 Andreas Jaeger <aj@suse.de> + + * sysdeps/ieee754/bits/nan.h (NAN): Rename union to avoid + duplicate definition with function __nan. + Closes PR libc/1487 reported by <diana@kai.com>. + +1999-12-15 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/bits/resource.h: Change RLIM_INFINITY back to + old value (signed long). + * sysdeps/unix/sysv/linux/i386/bits/resource.h: New, with unsigned + long RLIM_INFINITY. + * sysdeps/unix/sysv/linux/getrlimit.c: Moved from here to ... + * sysdeps/unix/sysv/linux/i386/getrlimit.c: ... here. + * sysdeps/unix/sysv/linux/getrlimit64.c: Moved from here to ... + * sysdeps/unix/sysv/linux/i386/getrlimit64.c: ... here. + * sysdeps/unix/sysv/linux/oldgetrlimit64.c: Moved from here to ... + * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: ... here. + * sysdeps/unix/sysv/linux/oldsetrlimit64.c: Moved from here to ... + * sysdeps/unix/sysv/linux/i386/oldsetrlimit64.c: ... here. + * sysdeps/unix/sysv/linux/setrlimit.c: Moved from here to ... + * sysdeps/unix/sysv/linux/i386/setrlimit.c: ... here. + * sysdeps/unix/sysv/linux/setrlimit64.c: Moved from here to ... + * sysdeps/unix/sysv/linux/i386/setrlimit64.c: ... here. + * sysdeps/unix/sysv/linux/sparc/bits/resource.h: New. + * sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: Removed. + * sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: Removed. + +1999-12-16 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/generic/strsep.c: If delim string has only one character + don't run over end of string. + +1999-12-15 Andreas Schwab <schwab@suse.de> + + * rt/aio.h: Fix typo. Reported by Kurt Garloff + <kurt@garloff.de>. + +1999-12-09 Andreas Jaeger <aj@suse.de> + + * nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Always set + errno to ENOENT when returning NSS_STATUS_NOTFOUND. + Reported by Christian Starkjohann <cs@obdev.at>. + +1999-12-05 Wolfram Gloger <wg@malloc.de> + + * malloc/malloc.c (arena_get2): If generating a new arena fails, + try to generate a minimal one and hope for mmap_chunk() to succeed + later. + +1999-11-07 Wolfram Gloger <wg@malloc.de> + + * malloc/thread-m.h [NO_THREADS]: The mutex_* macros now let + mutex_t work as an `in-use' flag even without threads. + * malloc/malloc.c (USE_ARENAS): New feature flag, controls support + for multiple arenas separately from NO_THREADS. + (mALLOc, chunk_realloc, mEMALIGn, cALLOc) [USE_ARENAS]: try to + fall back to an mmap()ed arena when sbrk() has failed. + +1999-12-09 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/Versions: Remove getrlimit, setrlimit, + getrlimit64, setrlimit64 for GLIBC_2.1.3. + * sysdeps/unix/sysv/linux/i386/Versions: Add getrlimit, setrlimit, + getrlimit64, setrlimit64 for GLIBC_2.1.3. + * sysdeps/unix/sysv/linux/i386/Makefile: Add rules for + oldgetrlimit and oldsetrlimit. + * sysdeps/unix/sysv/linux/i386/syscalls.list: Add oldgetrlimit and + oldsetrlimit. + * sysdeps/unix/sysv/linux/Makefile: Move oldgetrlimit and + oldsetrlimit rules into 32-bit arch subdirs. + * sysdeps/unix/sysv/linux/syscalls.list: Likewise. + +1999-12-08 Ulrich Drepper <drepper@cygnus.com> + + * iconv/gconv_db.c: Correctly transfer last patch from 2.2 branch. + + * sysdeps/posix/getaddrinfo.c (gaih_inet): Don't fail if host has + only IPv6 address. Reported by Artur Frysiak <wiget@pld.org.pl>. + +1999-12-07 Jakub Jelinek <jakub@redhat.com> + + * string/bits/string2.h (__memset_gc, __mempcpy_small, __strcpy_small, + __stpcpy_small): Cast switch expressions to int to shut up compiler + warnings. + +1999-12-07 Scott Bambrough <scottb@netwinder.org> + + * sysdeps/arm/dl-machine.h (elf_machine_rel): Fixup R_ARM_PC24 + relocs if possible. + +1999-12-07 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/ansi_x3.110.c (from_ansi_x3_110): Don't increment + pointers if character is illegal. + Reported by Bruno Haible <haible@ilog.fr>. + + * iconv/gconv_db.c (gen_steps): Set __counter initialy to 1. + (increment_counter): New function. Broken out of find_derivation. + (find_derivation): No need for a lock. Increment counter only when + the derivation was already available. + * iconv/gconv_dl.c (known_compare): We have to use strcmp. + Reported by Bruno Haible <haible@ilog.fr>. + +1999-12-06 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/sami-ws2.c (CHARSET_NAME): Fix typo. + * iconvdata/iso_2033.c (CHARSET_NAME): Fix typo. + * iconvdata/ecma-cyrillic.c (CHARSET_NAME): Fix typo. + * iconvdata/gconv-modules: Correct ISO646-PT2 alias. Add + SHIFT_JIS alias. + Reported by Bruno Haible <haible@ilog.fr>. + +1999-12-03 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/generic/bits/stropts.h: Update with LiS types and + values. Patch by David Grothe <dave@gcom.com>. + + * sysdeps/unix/sysv/linux/bits/types.h (__t_scalar_t, __t_uscalar_t): + Make long types. + * sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise. + +1999-12-01 Ulrich Drepper <drepper@cygnus.com> + + * malloc/set-freeres.c: Really use already_called variable. + +1999-12-01 Andreas Jaeger <aj@suse.de> + + * scripts/test-installation.pl (installation_problem): Filter out + libpthread_db. + +1999-12-01 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add + oldgetrlimit64 and oldsetrlimit64 for subdir = resource. + * sysdeps/unix/sysv/linux/Versions: Add getrlimit, setrlimit, + getrlimit64 and setrlimit64 to version GLIBC_2.1.3. + * sysdeps/unix/sysv/linux/setrlimit.c: Correct handling of old and + new kernel version. Add symbol versions. + * sysdeps/unix/sysv/linux/syscalls.list: Add oldsetrlimit and + oldgetrlimit. + * sysdeps/unix/sysv/linux/alpha/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add s_getrlimit + and s_ugetrlimit. + * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Likewise. + * sysdeps/unix/sysv/linux/getrlimit.c: New file. + * sysdeps/unix/sysv/linux/getrlimit64.c: New file. + * sysdeps/unix/sysv/linux/oldgetrlimit64.c: New file. + * sysdeps/unix/sysv/linux/oldsetrlimit64.c: New file. + * sysdeps/unix/sysv/linux/setrlimit64.c: New file. + * sysdeps/unix/sysv/linux/alpha/oldgetrlimit64.c: New file. + * sysdeps/unix/sysv/linux/alpha/oldsetrlimit64.c: New file. + * sysdeps/unix/sysv/linux/sparc/sparc64/oldgetrlimit64.c: New + file. + * sysdeps/unix/sysv/linux/sparc/sparc64/oldsetrlimit64.c: New + file. + * sysdeps/unix/sysv/linux/alpha/bits/types.h: Fix signedness of + __rlim_t and __rlim64_t. + * sysdeps/unix/sysv/linux/mips/bits/types.h: Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/types.h: Likewise. + +1999-11-29 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/gconv-modules: Correct alias for ISO-8859-10. This + standard was issued in 1992. + Reported by Bruno Haible <haible@ilog.fr>. + +1999-11-29 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Backport from 2.2. + * sysdeps/unix/sysv/linux/sparc/bits/signum.h: Add define for + SIGCLD as SIGCHLD. + +1999-11-29 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/gconv-modules: Fix typos in LATIN8/L8 aliases. + Patch by Bruno Haible <haible@ilog.fr>. + +1999-11-28 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/t.61.c (CHARSET_NAME): Correct name to what is used in + gconv-modules. + +1999-11-26 Ulrich Drepper <drepper@cygnus.com> + + * inet/rcmd.c (ruserok): Use iruserok2 not iruserok. + +1999-11-26 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/gnu/siglist.h: If SIGPWR == SIGLOST, don't include SIGPWR + message. + * sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h: Include + asm/ptrace.h, since this will not be done with 2.3.xx automatically. + * sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h: Likewise. + +1999-11-26 Andreas Jaeger <aj@suse.de> + + * inet/rcmd.c: Include stdlib for declaration of free. + Declare iruserok. + +1999-11-26 Thorsten Kukuk <kukuk@suse.de> + + * Makeconfig: Look in all subdirs for shlib-versions files. + +1999-11-25 Ulrich Drepper <drepper@cygnus.com> + + * iconv/gconv.c (__gconv): Always initialize + cd->__data[last_step].__outbuf and cd->__data[last_step].__outbufend. + + * iconvdata/iso-2022-kr.c (EMIT_SHIFT_TO_INIT): Update number of + written bytes. + * iconvdata/iso-2022-jp.c: Likewise. + +1999-11-15 Andreas Jaeger <aj@suse.de> + + * misc/sys/mman.h: Correct prototype to use __off64_t. + +1999-11-25 Ulrich Drepper <drepper@cygnus.com> + + * iconv/iconv_prog.c (process_block): For stateful charsets write + out byte sequence to get to initial state at the end of the file. + +1999-11-25 Andreas Schwab <schwab@suse.de> + + * Makeconfig: Include sys-dirs and sys-sorted earlier. + ($(common-objpfx)soversions.mk): Wait until subdirs is complete. + ($(common-objpfx)sysd-sorted): Emit marker when this file is + complete. + +1999-11-23 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/bits/signum.h (SIGSYS): New definition. + + * sysdeps/unix/sysv/linux/net/if_arp.h (ARPHRD_IEEE802_TR): Added. + +1999-11-23 Thorsten Kukuk <kukuk@suse.de> + + * iconv/skeleton.c: Don't access next_step->fct if data->is_last + is true. + +1999-11-22 Andreas Jaeger <aj@suse.de> + + * sunrpc/rpc_clntout.c (printbody): Fix -CLMNab output. + Patch by Jerry Perkins <jrperkins@iname.com>, closes PR + libc/1456+1457. + +1999-11-22 Jakub Jelinek <jakub@redhat.com> + + * stdlib/longlong.h: Avoid UDIV_TIME redefinition. + * sysdeps/sparc/sparc32/dl-machine.h: Fix loading of SPARC v8plus + libraries from statically linked programs. + Patches by David S. Miller <davem@redhat.com>. + + * sysdeps/generic/siglist.h: Avoid declaring the same field + twice if SIGPWR is defined to SIGLOST. + * sysdeps/sparc/sparc32/memcpy.S: bcopy takes size_t argument, + not signed, so we should not special case it for negative args. + * sysdeps/sparc/sparc32/sparcv9/memmove.c: Don't use generic + memmove, use the one provided in memcpy.S. + * sysdeps/sparc/sparc64/memcpy.S: bcopy should handle overlapping + copies like memmove, while the previous version worked like memcpy. + Implement optimized assembly memmove. + * sysdeps/sparc/sparc64/memmove.c: New file. + +1999-11-23 Ulrich Drepper <drepper@cygnus.com> + + * po/cs.po: Update from translators. + +1999-11-19 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/setrlimit.c (__setrlimit): Don't modify + the rlimits structure passed in. + +1999-11-19 Andreas Jaeger <aj@suse.de> + + * include/sys/resource.h (__setrlimit): Add prototype. + +1999-11-19 Thorsten Kukuk <kukuk@suse.de> + + * nis/ypclnt.c (__xdr_ypresp_all): Call callback function for + errors, too, like Solaris does. + +1999-11-19 Ulrich Drepper <drepper@cygnus.com> + + * elf/dl-load.c (_dl_init_paths): Allocate correct number of + entries for rtld_search_dirs[0]. + Patch by David Mosberger <davidm@hpl.hp.com>. + +1999-11-18 Ulrich Drepper <drepper@cygnus.com> + + * time/strptime.c (day_of_the_week): Make sure result is never + negative. + (strptime_internal): Allow %C without %y. + +1999-11-18 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/linux_fsinfo.h: Sorted entries and added + comments. + + * sysdeps/unix/sysv/linux/getpt.c: Include linux_fsinfo.h instead + of defining *_SUPER_MAGIC. + * sysdeps/unix/sysv/linux/grantpt.c: Likewise. + +1999-11-09 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/grantpt.c (grantpt): Add support for devfs. + + * sysdeps/unix/sysv/linux/getpt.c (__getpt): Check for devfs. + Patch by German Jose Gomez Garcia <german@pinon.ccu.uniovi.es>. + + * sysdeps/unix/sysv/linux/linux_fsinfo.h (DEVFS_SUPER_MAGIC): Added. + +1999-11-18 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/hurdsig.c (_hurdsig_init): If __hurd_threadvar_stack_mask is + nonzero, use cthread_fork to create the signal thread. + * hurd/msgportdemux.c (_hurd_msgport_receive): Initialize + _hurd_msgport_thread here (to self). + * sysdeps/mach/hurd/fork.c (__fork): When __hurd_sigthread_stack_end + is zero, instead compute child signal thread's starting SP from parent + signal thread's current SP and the threadvar_stack variables. + * hurd/Versions (GLIBC_2.1.3): Add cthread_fork, cthread_detach. + These are now referenced weakly by _hurdsig_init. + + * hurd/report-wait.c (_S_msg_report_wait): Fix typo: + &_hurd_itimer_thread not &_hurd_msgport_thread. + +1999-11-17 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/gnu/netinet/tcp.h: Add TCP_CORK definition. + +1999-11-07 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h: New file with some + defines from Linux scsi_ioctl.h header. + + * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Added + scsi_ioctl.h. + * sysdeps/unix/sysv/linux/Dist: Likewise. + + * sysdeps/unix/sysv/linux/scsi/sg.h: Synced with Linux 2.3.26; + pretty printed. + + * sysdeps/unix/sysv/linux/scsi/scsi.h (TYPE_ENCLOSURE): Added to + sync with Linux 2.3.26. + +1999-11-15 Ulrich Drepper <drepper@cygnus.com> + + * timezone/asia: Update from tzdata1999j. + * timezone/australasia: Likewise. + * timezone/europe: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/zone.tab: Likewise. + +1999-11-14 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/sys/procfs.h: Remove duplicate definitions. + * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/arm/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Likewise. + +1999-11-15 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Add + __syscall_setrlimit. + * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. + +1999-11-14 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/mach/hurd/nfs/nfs.h: New file, empty but for comments. + Its presence lets librpcsvc compile ok. This from Mark Kettenis. + We don't install this file for users. + * sysdeps/mach/hurd/Dist: Add it. + * sysdeps/mach/hurd/Makefile [$(subdir) = sunrpc] (sysdep_headers): + Append nfs/nfs.h here. + +1999-11-14 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/execve.c: Add __syscall_execve prototype. + * sysdeps/unix/sysv/linux/setrlimit.c: Add __syscall_setrlimit + prototype. + * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Add setrlimit. + * sysdeps/powerpc/stackinfo.h: New file. + Patches by Franz Sirl <Franz.Sirl@lauterbach.com>. + +1999-11-13 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/setrlimit.c: Remove glibc 2.2 features. + +1999-11-13 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/Versions (GLIBC_2.1.3): Define, adding directory_name_split and + hurd_directory_name_split. + * Versions.def (libc): Add GLIBC_2.1.3. + +1999-11-09 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/report-wait.c (describe_port): Return char * and use __stpcpy + to return the location of the null byte written into the string. + (describe_number): Likewise. + (describe_number): Remove assert, not always used with #. + If FLAVOR is null, don't use it. + (describe_number): Take signed argument and print a - if negative. + (_S_msg_report_wait): Report system call number for system calls that + aren't mach_msg. Soup up reporting for mach_msg: If destination port + matches SS->intr_port, bracket port description with [...] to indicate + a Hurd interruptible RPC; if destination port is null, examine the + receive port and report that state; if receive port is also null, + check for timeout and report its value. + * sysdeps/mach/hurd/i386/intr-msg.h (MSG_EXAMINE): Return int that is + zero iff we managed to examine the stack; take new args RCV_NAME, + SEND_NAME, OPTION, and TIMEOUT to fill in with mach_msg args. + + * hurd/report-wait.c (describe_port): Recognize MACH_PORT_NULL and + MACH_PORT_DEAD specially. + +1999-10-04 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/hurdlookup.c (__hurd_directory_name_split): New function. + (__directory_name_split): New function. + * hurd/hurd.h: Declare them. + * sysdeps/mach/hurd/rmdir.c: Use __directory_name_split instead of + __file_name_split, so we ignore trailing slashes properly. + * sysdeps/mach/hurd/rename.c: Likewise. + +1999-11-13 Thorsten Kukuk <kukuk@suse.de> + + * sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: Sync with + header files from other architectures. + * sysdeps/unix/sysv/linux/sparc/bits/signum.h: Add SIGPWR define + from current kernel headers. + + * sunrpc/key_call.c: Use /usr/etc/keyenvoy only if we don't have + SO_PASSCRED defined. + +1999-11-12 Thorsten Kukuk <kukuk@suse.de> + + * nis/nss_nisplus/nisplus-publickey.c: Check for snprintf return value. + + * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Follow changes from + i386 version. + * sysdeps/unix/sysv/linux/arm/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/sys/procfs.h: Likewise. + +1999-11-12 Ulrich Drepper <drepper@cygnus.com> + + * intl/locale.alias: Add Estonian entries. + Patch by Marko Kreen <marko@et.ee> [PR libc/1444]. + +1999-09-06 Andreas Schwab <schwab@suse.de> + + * time/tzset.c (compute_change): Replace slow loop to compute T by + simple algorithm. + +1999-11-10 Andreas Jaeger <aj@suse.de> + + * string/strsignal.c (strsignal): Correct check for snprintf + return value. + * argp/argp-fmtstream.c (__argp_fmtstream_printf): Likewise. + + * misc/efgcvt_r.c (APPEND): Correct check for too small buffer + according to changed snprintf return value. + Reported by Lawrence K. Chen <lchen@opentext.com>. + + * misc/tst-efgcvt.c (special): Add tests for a too small buffer + for ecvt_r and fcvt_r. + +1999-11-09 Ulrich Drepper <drepper@cygnus.com> + + * elf/dl-load.c (_dl_dst_count): Allow $ORIGIN to point to + directory with the reference since this is as secure as using the + object with the dependency. + (_dl_dst_substitute): Likewise. + + * elf/dl-load.c (_dl_dst_count): Change strings in first two + strncmp calls to allow reuse. + (_dl_dst_substitute): Likewise. + +1999-11-01 Arnold D. Robbins <arnold@skeeve.com> + + * posix/regex.c (init_syntax_once): move below definition of + ISALNUM etc., then use ISALNUM to init the table, so that + the word ops will work if i18n'ed. + (SYNTAX): And subscript with 0xFF for 8bit character sets. + +1999-11-09 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/getlogin_r.c (getlogin_r): Sync with getlogin + implementation for ttyname_r call; fix inverted condition; return + ut_user. Closes PR libc/1438. + +1999-11-09 Ulrich Drepper <drepper@cygnus.com> + + * timezone/checktab.awk: Update from tzcode1999h. + * timezone/africa: Update from tzdata1999i. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/backward: Likewise. + * timezone/europe: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/iso3166.tab: Likewise. + * timezone/zone.tab: Likewise. + + * sysdeps/unix/sysv/linux/bits/resource.h: Define values also as + macros. Patch by brg@csua.berkeley.edu [PR libc/1439]. + +1999-11-09 Andreas Schwab <schwab@suse.de> + + * misc/syslog.c: For LOG_PERROR only append a newline if + necessary. + +1999-08-30 Ulrich Drepper <drepper@cygnus.com> + + * timezone/test-tz.c: Use setenv instead of putenv. + +1999-08-29 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * timezone/tst-timezone.c (main): Don't pass const strings to + putenv to avoid warnings. + +1999-11-09 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/getlogin_r.c (getlogin_r): Sync with getlogin + implementation for ttyname_r call; fix inverted condition; return + ut_user. Closes PR libc/1438. + +1999-11-09 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/bits/resource.h: Define values also as + macros. Patch by brg@csua.berkeley.edu [PR libc/1439]. + +1999-11-09 Andreas Schwab <schwab@suse.de> + + * misc/syslog.c: For LOG_PERROR only append a newline if + necessary. + +1999-11-08 Andreas Jaeger <aj@suse.de> + + * locale/findlocale.c (_nl_find_locale): Free normalized_codeset; + this fixes a memory leak (closes PR libc/1435). + + * intl/l10nflist.c (_nl_normalize_codeset): Update comment to + reflect memory allocation. + + * intl/loadinfo.h: Comment _nl_normalize_codeset, comment memory + allocation in _nl_explode_name. + +1999-11-06 Andreas Jaeger <aj@suse.de> + + * time/tzset.c: Use __libc_lock_define_initialized for tzset_lock + to initialize it. + Reported by wes@surety.com, closes PR libc/1432. + +1999-11-05 Geoff Keating <geoffk@cygnus.com> + + * sysdeps/powerpc/bits/fenv.h: Don't put commas at the end of + enumerator lists (-pedantic complains). + (feraiseexcept): Use i#*X as the constraint. Fix a bug in the + test for 'one bit set'. + (feclearexcept): Likewise. + +1999-11-05 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/setrlimit.c: New file. + + * sysdeps/unix/sysv/linux/bits/resource.h (RLIM_INFINITY): Adjust + for kernel changes. + * sysdeps/unix/sysv/linux/bits/types.h (__rlim_t, __rlim64_t): Make + unsigned. + +1999-10-04 Tim Waugh <twaugh@redhat.com> + + * posix/wordexp.c (wordexp): Explicit null words should be kept. + +1999-11-02 Andreas Jaeger <aj@suse.de> + + * manual/header.texi (Library Summary): The command @indexfonts + doesn't exist anymore, use @smallfonts instead. + +1999-11-02 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/sys/procfs.h: Include sys/ucontext.h + instead of duplicating definitions. + +1999-11-01 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/alpha/sys/procfs.h: Add more pr* types used + by the debugger. + * sysdeps/unix/sysv/linux/arm/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/i386/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/mips/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/powerpc/sys/procfs.h: Likewise. + * sysdeps/unix/sysv/linux/sys/procfs.h: Likewise. + +1999-10-29 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/powerpc/bits/ioctl-types.h: Added missing + N_* constants. + + * sysdeps/unix/sysv/linux/bits/ioctl-types.h (N_SYNC_PPP): Added + new constant from Linux 2.3.25pre1. + + * sysdeps/unix/sysv/linux/linux_fsinfo.h (BFS_MAGIC): Added. + +1999-10-27 Andreas Jaeger <aj@suse.de> + + * stdlib/rand_r.c (rand_r): Really use 31 bits, the result was + shifted a bit too much. + Reported by Eugen Dedu <dedu@ese-metz.fr>. + +1999-10-25 Ulrich Drepper <drepper@cygnus.com> + + * resolv/gethnamaddr.c: Account bytes needed for alignment in + buflen. Patch by Olaf Kirch <okir@lst.de>. + + * md5-crypt/md5test.c: Correct names of MD5 functions after + removing of public names. + +1999-10-25 Thorsten Kukuk <kukuk@suse.de> + + * md5-crypt/md5.h: Remove prototypes for public interface. md5 is + used only internal. + * md5-crypt/md5-crypt.c: Use internal names for md5 functions, + remove weak alias for public names. + * md5-crypt/md5.c: Remove weak aliase. + +1999-10-24 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/libm-i387/s_nextafterl.c: Define aliases __nexttowardl + and nexttowardl. + +1999-10-19 Bruno Haible <haible@ilog.fr> + + * sysdeps/mach/sleep.c (__sleep): If we slept longer than requested, + return 0, not UINT_MAX. + +1999-10-18 Ulrich Drepper <drepper@cygnus.com> + + * inet/rcmd.c (iruserok2): Initialize isbad to -1 [PR libc/1405]. + Patch by J. Richard Sladkey <jrs@world.std.com>. + +1999-10-18 Andreas Jaeger <aj@suse.de> + + * iconv/iconv_prog.c (process_block): Save errno value from iconv call. + Patch by Bruno Haible <haible@ilog.fr> [libc/1402]. + +1999-10-18 Ulrich Drepper <drepper@cygnus.com> + + * po/gl.po: New file. + +1999-10-18 Andreas Jaeger <aj@suse.de> + + * sysdeps/generic/s_cproj.c (__cproj): Fix bug: NaN + i NaN + returns now NaN + i NaN. + * sysdeps/generic/s_cprojf.c (__cprojf): Likewise + * sysdeps/generic/s_cprojl.c (__cprojl): Likewise. + +1999-10-16 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/bits/in.h: Added struct in_pktinfo. + +1999-10-14 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/sleep.c (__sleep): Optimize for zero + seconds. + +1999-10-12 Ulrich Drepper <drepper@cygnus.com> + + * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Don't define + register names unconditionally, only if __USE_GNU. + + * iconvdata/gbk.c: Fix names which are different in 2.2. + +1999-10-12 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Update to match + generic Linux version. + +1999-10-11 Ulrich Drepper <drepper@cygnus.com> + + * iconvdata/Makefile: Add support for gbk. + * iconvdata/gbk.c: New file. + +1999-10-10 Philip Blundell <philb@gnu.org> + + * sunrpc/xdr_float.c (LSW): Depend on __FLOAT_WORD_ORDER not + __BYTE_ORDER. + +1999-10-11 Cristian Gafton <gafton@redhat.com> + + * sysdeps/unix/sysv/linux/alpha/bits/sigaction.h: Declare + SA_SIGINFO. + +1999-10-11 Mark Kettenis <kettenis@gnu.org> + + * sysdeps/unix/sysv/linux/configure.in: Fix typo. + +1999-10-10 Ulrich Drepper <drepper@cygnus.com> + + * stdlib/atexit.c (initial): New variable. Use to initialize + __exit_funcs. + * stdlib/exit.c (exit): Beware to not free statically allocated + list element [PR libc/1305]. + + * stdlib/xpg_basename.c (__xpg_basename): Don't return pointer to + slash before the basename [PR libc/1383]. + +1999-10-14 Cristian Gafton <gafton@redhat.com> + + * string/bits/string2.h (__stpcpy_small): Make -pedantic shut up. + +1999-10-08 Ulrich Drepper <drepper@cygnus.com> + + * po/cs.po: Fix typos. + + * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_spent): Fix + handling of empty entries. + Patch by Thorsten Kukuk <kukuk@suse.de>. + +1999-10-05 Ulrich Drepper <drepper@cygnus.com> + + * po/cs.po: Update. + +1999-10-04 Andreas Jaeger <aj@suse.de> + + * configure.in: Allow makeinfo 4.*. + +1999-10-04 Ulrich Drepper <drepper@cygnus.com> + + * stdio-common/vfprintf.c: Correct last patch and use outchar + instead of PUTC to output single characters. + +1999-10-01 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/hurdfchdir.c (_hurd_change_directory_port_from_fd): Rewrite + without HURD_DPORT_USE to clean up warnings. + * hurd/dtable.c (get_dtable_port): Likewise. + + * hurd/hurdioctl.c (rectty_dtable): Renamed to install_ctty. + (install_ctty): Do the changing of the cttyid port cell here, inside + the critical section while we holding the dtable lock. + (_hurd_setcttyid, tiocsctty, tiocnotty): Use that instead of changing + the port cell and calling rectty_dtable. + (_hurd_locked_install_cttyid): New function, split out of install_ctty. + (install_ctty): Use it inside a critical section, with the lock held. + * sysdeps/mach/hurd/setsid.c (__setsid): Use + _hurd_locked_install_cttyid to effect the cttyid and dtable changes + after proc_setsid, having held the dtable lock throughout. + * hurd/dtable.c (ctty_new_pgrp): With the dtable lock held, check the + cttyid port for null and bail out early if so. The dtable lock + serializes us after any cttyid change and its associated dtable update. + +1999-10-01 Andreas Jaeger <aj@suse.de> + + * intl/finddomain.c (_nl_find_domain): Add cast to avoid warning. + +1999-09-30 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/alpha/ioperm.c: Disable debug messages. + +1999-09-30 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/lshift.S: Correct assembler commands to fix warnings. + * sysdeps/i386/rshift.S: Likewise. + * sysdeps/i386/strchrnul.S: Likewise. + * sysdeps/i386/strchr.S: Likewise. + Patch by Michael Deutschmann <michael@talamasca.wkpowerlink.com>, + PR libc/1339. + +1999-10-01 Ulrich Drepper <drepper@cygnus.com> + + * timezone/checktab.awk: Update from tzcode1999g. + * timezone/tzselect.ksh: Likewise. + * timezone/africa: Update from tzdata1999g. + * timezone/asia: Likewise. + * timezone/australasia: Likewise. + * timezone/europe: Likewise. + * timezone/northamerica: Likewise. + * timezone/southamerica: Likewise. + * timezone/iso3166.tab: Likewise. + * timezone/zone.tab: Likewise. + +1999-09-26 Ulrich Drepper <drepper@cygnus.com> + + * nscd/Makefile: Update from main branch. + * nscd/cache.c: Likewise. + * nscd/grpcache.c: Likewise. + * nscd/hstcache.c: Likewise. + * nscd/nscd.h: Likewise. + * nscd/nscd_nischeck: Likewise. + * nscd/pwdcache.c: Likewise. + +1999-09-26 Thorsten Kukuk <kukuk@suse.de> + + * nscd/connections.c: Invalidate caches on request. + * nscd/nscd-client.h: Add INVALIDATE to request_type. + * nscd/nscd.c: Add invalidate cache option. + * nscd/nscd.conf: Change log directory to /var/log (FHS). + +1999-06-14 Thorsten Kukuk <kukuk@suse.de> + + * nscd/connections.c (handle_request): Only root is allowed to + send GETSTAT request in non secure mode. + * nscd/nscd.c: Print error message if other then root try to + use getstat. + +1999-07-18 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * nscd/nscd_proto.h (__nscd_gethostbyaddr_r): Follow change from + 1999-07-17 and adjust len parameter. + * nscd/nscd_gethst_r.c (__nscd_gethostbyaddr_r): Likewise. + * nscd/gethstbyad_r.c (ADD_PARAMS): Likewise. + +1999-07-17 Ulrich Drepper <drepper@cygnus.com> + + * resolv/netdb.h: Adjust parameters of gethostbyaddr and + gethostbyaddr_r. + * include/netdb.h: Likewise. + * inet/gethstbyad.c: Correct type of len parameter. + * inet/gethstbyad_r.c: Likewise. + +1999-09-25 Ulrich Drepper <drepper@cygnus.com> + + * time/strptime.c [!_LIBC] (__mon_yday): Fix typo in definition. + +1999-09-24 Ulrich Drepper <drepper@cygnus.com> + + * nis/nss_nisplus/nisplus-parser.c (_nss_nisplus_parse_grent): Do + not ovverwrite last group member with NULL pointer. + Reported by Thomas Winder <thomas.winder@newlogic.at>. + +1999-09-12 Ulrich Drepper <drepper@cygnus.com> + + * stdio-common/vfprintf.c: Remove limitation on size of precision + for integers. + +1999-09-24 Andreas Schwab <schwab@suse.de> + + * math/bits/mathcalls.h: Fix last change. Also declare __finite. + +1999-09-24 Andreas Jaeger <aj@suse.de> + + * intl/finddomain.c (_nl_find_domain): Fix memory leak: Free + normalized_codeset. Reported by Belicky Zsolt <zsolt@prolan.hu>. + +1999-09-23 Mark Kettenis <kettenis@gnu.org> + + * sysdeps/unix/sysv/linux/Makefile [malloc] (CFLAGS-malloc.c): New + variable. Define MORECORE_CLEARS to 2. + + * malloc/malloc.c (cALLOc): Correctly handle systems where sbrk + doesn't clear the contents of memory that is reallocated after + decrementing the break value first. Update comment about + MORECORE_CLEARS, explaining the meaning of the values it can be + set to. + +1999-09-23 Ulrich Drepper <drepper@cygnus.com> + + * nis/nss_compat/compat-pwd.c (internal_getpwuid_r): Set errno in + one more case. + + * sysdeps/i386/fpu/bits/mathinline.h (atan): Add st(1) to clobbers. + (log): Likewise. + (log10): Likewise. + (log1p): Likewise. + (log2): Likewise. + +1999-09-22 Andreas Schwab <schwab@suse.de> + + * stdio-common/vfscanf.c: Fix width handling when scanning floats. + +1999-09-20 Jean-Louis Martineau <martinea@IRO.UMontreal.CA> + + * nis/nss_compat/compat-pwd.c (getpwuid_plusgroup): Correct + returned errno value in some cases. + +1999-09-19 Ulrich Drepper <drepper@cygnus.com> + + * stdlib/isomac.c: Add va_copy to allowed macros. + + * po/pl.po: Updated. + +1999-09-17 Andreas Schwab <schwab@suse.de> + + * Makefile (clean): Also remove $(postclean) files. + +1999-09-17 Andreas Schwab <schwab@suse.de> + + * Makefile (clean): Also remove $(postclean) files. + +1999-09-15 Andreas Jaeger <aj@suse.de> + + * sysdeps/generic/aio_sigqueue.c (__aio_sigqueue): Use old style + function definition to avoid a compilation failure. + +1999-09-15 Andreas Jaeger <aj@suse.de> + + * sysdeps/unix/sysv/linux/i386/sigaction.c: Protect real time + signal definitions to let glibc compile with older Linux versions + (2.0.10 to 2.1.100 or so). + +1999-09-18 Ulrich Drepper <drepper@cygnus.com> + + * nis/nss_compat/compat-grp.c (getgrgid_plusgroup): Correct + returned errno value in some cases. + +1999-09-18 Roland McGrath <roland@baalperazim.frob.com> + + * sysdeps/mach/hurd/wait4.c (__wait4): When proc_wait returns EAGAIN, + return zero to indicate no children died yet (assuming WNOHANG). + + * sysdeps/mach/hurd/setsid.c: #include <hurd/fd.h>. + +1999-09-17 Andreas Jaeger <aj@suse.de> + + * sysdeps/i386/Makefile (CFLAGS-initfini.s): Add also -mcpu=i386 + to override user settings. + +1999-09-17 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/semctl.c: Copy the argument instead of + using a pointer to it. + +1999-09-17 Roland McGrath <roland@baalperazim.frob.com> + + * hurd/port2fd.c (_hurd_port2fd): Never change CTTYID port. + + * sysdeps/mach/hurd/setsid.c (__setsid): Fix return type -> pid_t. + Return _hurd_pgrp instead of 0. + +1999-09-16 Ulrich Drepper <drepper@cygnus.com> + + * time/getdate.c (__getdate_r): Pass correct year to check_mday. + Reported by Vern Staats <staatsvr@asc.hpc.mil>. + +1999-08-09 Scott Bambrough <scottb@netwinder.org> + + * sysdeps/unix/sysv/linux/arm/sys/user.h: Added members + 'unsigned char ftype[8]', and 'unsigned int init_flag' to + struct user_fp. Tnese were added in version 2.2.12 of the + ARM Linux kernel. + * sysdeps/unix/sysv/linux/arm/sys/elf.h: New file. + * sysdeps/unix/sysv/linux/arm/sys/procfs.h: New file. + The generic procfs.h included <asm/elf.h>. This causes + structure redefinition errors when <sys/user.h> and <sys/procfs.h> + are included in the same source file. Found when building GDB. + +1999-09-12 Ulrich Drepper <drepper@cygnus.com> + + * version.h (VERSION): Bump to 2.1.3. + + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname2_r): if res_search + fails don't rely on errno value. + (getanswer_r): Sett *ERRNOP in error cases. + + * sysdeps/posix/getaddrinfo.c (gaih_local): Test protocol and socktype. + (gaih_inet_serv): Return EIA_NODATA if name is known but has no + associated data. Test for matching numeric address and family. + (getaddrinfo): Remember EAI_NODATA result and return this in case + everything fails. + Reported by Arkadiusz Miskiewicz <misiek@misiek.eu.org>. + +1999-09-07 Cristian Gafton <gafton@redhat.com> + + * sysdeps/unix/sysv/linux/sys/raw.h: New file + * sysdeps/unix/sysv/linux/Dist: Add raw.h. + * sysdeps/unix/sysv/linux/Makefile [misc] (sysdep_headers): Add raw.h. + +1999-09-08 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * manual/install.texi (Configuring and compiling): Mention GCC 2.95. + +1999-09-08 Andreas Jaeger <aj@arthur.rhein-neckar.de> + + * configure.in: Fix make version test for make 3.77.95 and later + versions. + Based on a patch by Paul D. Smith <psmith@baynetworks.com>. + +1999-09-10 Ulrich Drepper <drepper@cygnus.com> + + * wcsmbs/wchar.h (WCHAR_MIN, WCHAR_MAX): Use all-numeric values. + + * sysdeps/generic/stdint.h: Correct WCHAR_MIN, WCHAR_MAX, and + WINT_MAX values. + + * wctype/wctype.h: Remove incorrect towlower/towupper optimizations. + +1999-09-09 Andreas Schwab <schwab@suse.de> + + * elf/link.h: Fix comment. + +1999-09-10 Ulrich Drepper <drepper@cygnus.com> + + * math/bits/mathcalls.h: Add __isnan declaration [PR libc/1294]. + + * math/math.h: Pretty print. + +1999-09-10 Andreas Schwab <schwab@suse.de> + + * sysdeps/generic/getenv.c (getenv): Fix lookup for single + character variable on bigendian platforms without unaligned memory + access. + 1999-09-06 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/alpha/Dist: Add sys/user.h. diff -durpN glibc-2.1.2/FAQ glibc-2.1.3/FAQ --- glibc-2.1.2/FAQ Mon Sep 6 12:31:23 1999 +++ glibc-2.1.3/FAQ Wed Feb 23 14:18:29 2000 @@ -44,6 +44,8 @@ please let me know. 1.18. How can I compile on my fast ix86 machine a working libc for my slow i386? After installing libc, programs abort with "Illegal Instruction". +1.19. `make' complains about a missing dlfcn/libdl.so when building + malloc/libmemprof.so. How can I fix this? 2. Installation and configuration issues @@ -170,6 +172,7 @@ please let me know. daylight saving time is in effect the timezone string is EST. 4.6. I've build make 3.77 against glibc 2.1 and now make gets segmentation faults. +4.7. Why do so many programs using math functions fail on my AlphaStation? ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -237,7 +240,7 @@ Make up your own decision. GNU CC versions 2.95 and above are derived from egcs, and they may do even better. -Please note that gcc 2.95 and 2.95.1 cannot compile glibc on Alpha due to +Please note that gcc 2.95 and 2.95.x cannot compile glibc on Alpha due to problems in the complex float support. @@ -540,6 +543,23 @@ And you need to tell gcc to only generat {UD} This applies not only to the i386. Compiling on a i686 for any older model will also fail if the above methods are not used. + +1.19. `make' complains about a missing dlfcn/libdl.so when building + malloc/libmemprof.so. How can I fix this? + +{AJ} Older make version (<= 3.78.90) have a bug which was hidden by a bug in +glibc (<= 2.1.2). You need to upgrade make to a newer or fixed version. A +patch is available via +<http://sourceware.cygnus.com//ml/libc-alpha/2000-02/msg00067.html>. + +After upgrading make, you should remove the file sysd-sorted in your build +directory. The problem is that the broken make creates a wrong order for +one list in that file. The list has to be recreated with the new make - +which happens if you remove the file. + +You might encounter this bug also in other situations where make scans +directories. I strongly advise to upgrade your make version. + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @@ -797,7 +817,7 @@ handling is implemented using an older m distributions are a little ahead of their time. A quick solution to this is to find the libgcc.a file that came with the -distribution (it would have been installed under /usr/lib/gcc-lib), do +distribution (it would have been installed under /usr/lib/gcc-lib), do `ar x libgcc.a frame.o' to get the frame.o file out, and add a line saying `LDLIBS-c.so += frame.o' to the file `configparms' in the directory you're building in. You can check you've got the right `frame.o' file by running @@ -1100,11 +1120,11 @@ shadow_compat: nis that have been linked against glibc 2.0 will continue to work. If you compile your own binaries against glibc 2.1, you also need to -recompile some other libraries. The problem is that libio had to be -changed and therefore libraries that are based or depend on the libio -of glibc, e.g. ncurses or slang, need to be recompiled. If you -experience strange segmentation faults in your programs linked against -glibc 2.1, you might need to recompile your libraries. +recompile some other libraries. The problem is that libio had to be changed +and therefore libraries that are based or depend on the libio of glibc, +e.g. ncurses, slang and most C++ libraries, need to be recompiled. If you +experience strange segmentation faults in your programs linked against glibc +2.1, you might need to recompile your libraries. Another problem is that older binaries that were linked statically against glibc 2.0 will reference the older nss modules (libnss_files.so.1 instead of @@ -1573,7 +1593,7 @@ benchmark program for measuring disk acc {AJ} The GNU C library 2.1 uses db2 instead of db1 which was used in version 2.0. The internal formats of the actual db files are different. To convert the db files from db1 format to db2 format, you can use the programs -`db_dump185' and `db_load'. Alternativly programs can be linked with db1 +`db_dump185' and `db_load'. Alternatively programs can be linked with db1 using `-ldb1' instead of linking with db2 which uses `-ldb'. Linking with db1 might be preferable if older programs need to access the db file. @@ -1676,7 +1696,7 @@ reading the POSIX standards. <http://www.gnu.org/software/libc/>. The problem data base of open and solved bugs in GNU libc is available at <http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl>. Eric Green has written -a HowTo for converting from Linux libc5 to glibc2. The HowTo is accessable +a HowTo for converting from Linux libc5 to glibc2. The HowTo is accessible via the FSF page and at <http://www.imaxx.net/~thrytis/glibc>. Frodo Looijaard describes a different way installing glibc2 as secondary libc at <http://huizen.dds.nl/~frodol/glibc>. @@ -1708,6 +1728,15 @@ filesystem support :-( ). To get a work 3.75 or patch 3.77. A working patch is available via RedHat's Rawhide server (ftp://rawhide.redhat.com/SRPMS/SRPMS/make-3.77-*src.rpm). + +4.7. Why do so many programs using math functions fail on my AlphaStation? + +{AO} The functions floor() and floorf() use an instruction that is not +implemented in some old PALcodes of AlphaStations. This may cause +`Illegal Instruction' core dumps or endless loops in programs that +catch these signals. Updating the firmware to a 1999 release has +fixed the problem on an AlphaStation 200 4/166. + ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ @@ -1724,6 +1753,7 @@ Answers were given by: {GK} Geoffrey Keating, <geoffk@ozemail.com.au> {HJ} H.J. Lu, <hjl@gnu.org> {CG} Cristian Gafton, <gafton@redhat.com> +{AO} Alexandre Oliva, <oliva@lsd.ic.unicamp.br> Local Variables: mode:outline diff -durpN glibc-2.1.2/FAQ.in glibc-2.1.3/FAQ.in --- glibc-2.1.2/FAQ.in Mon Sep 6 12:31:23 1999 +++ glibc-2.1.3/FAQ.in Wed Feb 23 14:18:16 2000 @@ -76,7 +76,7 @@ Make up your own decision. GNU CC versions 2.95 and above are derived from egcs, and they may do even better. -Please note that gcc 2.95 and 2.95.1 cannot compile glibc on Alpha due to +Please note that gcc 2.95 and 2.95.x cannot compile glibc on Alpha due to problems in the complex float support. ?? When I try to compile glibc I get only error messages. @@ -364,6 +364,22 @@ And you need to tell gcc to only generat {UD} This applies not only to the i386. Compiling on a i686 for any older model will also fail if the above methods are not used. +?? `make' complains about a missing dlfcn/libdl.so when building + malloc/libmemprof.so. How can I fix this? + +{AJ} Older make version (<= 3.78.90) have a bug which was hidden by a bug in +glibc (<= 2.1.2). You need to upgrade make to a newer or fixed version. A +patch is available via +<http://sourceware.cygnus.com//ml/libc-alpha/2000-02/msg00067.html>. + +After upgrading make, you should remove the file sysd-sorted in your build +directory. The problem is that the broken make creates a wrong order for +one list in that file. The list has to be recreated with the new make - +which happens if you remove the file. + +You might encounter this bug also in other situations where make scans +directories. I strongly advise to upgrade your make version. + ? Installation and configuration issues @@ -612,7 +628,7 @@ handling is implemented using an older m distributions are a little ahead of their time. A quick solution to this is to find the libgcc.a file that came with the -distribution (it would have been installed under /usr/lib/gcc-lib), do +distribution (it would have been installed under /usr/lib/gcc-lib), do `ar x libgcc.a frame.o' to get the frame.o file out, and add a line saying `LDLIBS-c.so += frame.o' to the file `configparms' in the directory you're building in. You can check you've got the right `frame.o' file by running @@ -898,11 +914,11 @@ shadow_compat: nis that have been linked against glibc 2.0 will continue to work. If you compile your own binaries against glibc 2.1, you also need to -recompile some other libraries. The problem is that libio had to be -changed and therefore libraries that are based or depend on the libio -of glibc, e.g. ncurses or slang, need to be recompiled. If you -experience strange segmentation faults in your programs linked against -glibc 2.1, you might need to recompile your libraries. +recompile some other libraries. The problem is that libio had to be changed +and therefore libraries that are based or depend on the libio of glibc, +e.g. ncurses, slang and most C++ libraries, need to be recompiled. If you +experience strange segmentation faults in your programs linked against glibc +2.1, you might need to recompile your libraries. Another problem is that older binaries that were linked statically against glibc 2.0 will reference the older nss modules (libnss_files.so.1 instead of @@ -1350,7 +1366,7 @@ benchmark program for measuring disk acc {AJ} The GNU C library 2.1 uses db2 instead of db1 which was used in version 2.0. The internal formats of the actual db files are different. To convert the db files from db1 format to db2 format, you can use the programs -`db_dump185' and `db_load'. Alternativly programs can be linked with db1 +`db_dump185' and `db_load'. Alternatively programs can be linked with db1 using `-ldb1' instead of linking with db2 which uses `-ldb'. Linking with db1 might be preferable if older programs need to access the db file. @@ -1446,7 +1462,7 @@ reading the POSIX standards. <http://www.gnu.org/software/libc/>. The problem data base of open and solved bugs in GNU libc is available at <http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl>. Eric Green has written -a HowTo for converting from Linux libc5 to glibc2. The HowTo is accessable +a HowTo for converting from Linux libc5 to glibc2. The HowTo is accessible via the FSF page and at <http://www.imaxx.net/~thrytis/glibc>. Frodo Looijaard describes a different way installing glibc2 as secondary libc at <http://huizen.dds.nl/~frodol/glibc>. @@ -1476,6 +1492,14 @@ filesystem support :-( ). To get a work 3.75 or patch 3.77. A working patch is available via RedHat's Rawhide server (ftp://rawhide.redhat.com/SRPMS/SRPMS/make-3.77-*src.rpm). +?? Why do so many programs using math functions fail on my AlphaStation? + +{AO} The functions floor() and floorf() use an instruction that is not +implemented in some old PALcodes of AlphaStations. This may cause +`Illegal Instruction' core dumps or endless loops in programs that +catch these signals. Updating the firmware to a 1999 release has +fixed the problem on an AlphaStation 200 4/166. + Answers were given by: {UD} Ulrich Drepper, <drepper@cygnus.com> @@ -1490,6 +1514,7 @@ Answers were given by: {GK} Geoffrey Keating, <geoffk@ozemail.com.au> {HJ} H.J. Lu, <hjl@gnu.org> {CG} Cristian Gafton, <gafton@redhat.com> +{AO} Alexandre Oliva, <oliva@lsd.ic.unicamp.br> Local Variables: mode:outline diff -durpN glibc-2.1.2/INSTALL glibc-2.1.3/INSTALL --- glibc-2.1.2/INSTALL Sun Sep 5 14:54:59 1999 +++ glibc-2.1.3/INSTALL Thu Feb 17 19:55:01 2000 @@ -32,10 +32,12 @@ below. Configuring and compiling GNU Libc ================================== - GNU Libc can be compiled in the source directory but we'd advise to -build in a separate build directory. For example, if you have unpacked -the glibc sources in `/src/gnu/glibc-2.1.0', create a directory -`/src/gnu/glibc-build' to put the object files in. + GNU libc can be compiled in the source directory, but we strongly +advise to build it in a separate build directory. For example, if you +have unpacked the glibc sources in `/src/gnu/glibc-2.1.0', create a +directory `/src/gnu/glibc-build' to put the object files in. This +allows to remove the whole build directory in case an error occurs +which is the safest way to get a clean way and should always be done. From your object directory, run the shell script `configure' found at the top level of the source tree. In the scenario above, you'd type @@ -43,7 +45,7 @@ at the top level of the source tree. In $ ../glibc-2.1.0/configure ARGS... Please note that even if you're building in a separate build -directory, the compiliation needs to modify a few files in the source +directory, the compilation needs to modify a few files in the source directory, especially some files in the manual subdirectory. `configure' takes many options, but you can get away with knowing only @@ -51,14 +53,15 @@ two: `--prefix' and `--enable-add-ons'. configure where you want glibc installed. This defaults to `/usr/local'. The `--enable-add-ons' option tells configure to use all the add-on bundles it finds in the source directory. Since important -functionality is provided in add-ons, you should always give this +functionality is provided in add-ons, you should always specify this option. It may also be useful to set the CC and CFLAGS variables in the environment when running `configure'. CC selects the C compiler that will be used, and CFLAGS sets optimization options for the compiler. - Here are all the useful options known by `configure': + The following list describes all of the available options for +`configure': `--prefix=DIRECTORY' Install machine-independent data files in subdirectories of @@ -67,13 +70,13 @@ will be used, and CFLAGS sets optimizati `--exec-prefix=DIRECTORY' Install the library and other machine-dependent files in subdirectories of `DIRECTORY'. The default is to the `--prefix' - directory if that option is given, or `/usr/local' otherwise. + directory if that option is specified, or `/usr/local' otherwise. `--with-headers=DIRECTORY' Look for kernel header files in DIRECTORY, not `/usr/include'. Glibc needs information from the kernel's private header files. - It will normally look in `/usr/include' for them, but if you give - this option, it will look in DIRECTORY instead. + It will normally look in `/usr/include' for them, but if you + specify this option, it will look in DIRECTORY instead. This option is primarily of use on a system where the headers in `/usr/include' come from an older version of glibc. Conflicts can @@ -84,9 +87,9 @@ will be used, and CFLAGS sets optimizati `--enable-add-ons[=LIST]' Enable add-on packages in your source tree. If this option is - given with no list, it enables all the add-on packages it finds. - If you do not wish to use some add-on package that you have - present in your source tree, give this option a list of the + specified with no list, it enables all the add-on packages it + finds. If you do not wish to use some add-on package that you + have present in your source tree, give this option a list of the add-ons that you *do* want used, like this: `--enable-add-ons=crypt,linuxthreads' @@ -94,19 +97,19 @@ will be used, and CFLAGS sets optimizati Use the binutils (assembler and linker) in `DIRECTORY', not the ones the C compiler would default to. You could use this option if the default binutils on your system cannot deal with all the - constructs in the GNU C library. (`configure' will detect the - problem and suppress these constructs, so the library will still - be usable, but functionality may be lost--for example, you can not - build a shared libc with old binutils.) + constructs in the GNU C library. In that case, `configure' will + detect the problem and suppress these constructs, so that the + library will still be usable, but functionality may be lost--for + example, you can't build a shared libc with old binutils. `--without-fp' Use this option if your computer lacks hardware floating-point support and your operating system does not emulate an FPU. `--disable-shared' - Don't build shared libraries even if we could. Not all systems - support shared libraries; you need ELF support and (currently) the - GNU linker. + Don't build shared libraries even if it is possible. Not all + systems support shared libraries; you need ELF support and + (currently) the GNU linker. `--disable-profile' Don't build libraries with profiling information. You may want to @@ -121,7 +124,7 @@ will be used, and CFLAGS sets optimizati `--disable-versioning' Don't compile the shared libraries with symbol version information. - Doing this will make the library that's built incompatible with old + Doing this will make the resulting library incompatible with old binaries, so it's not recommended. `--enable-static-nss' @@ -132,23 +135,23 @@ will be used, and CFLAGS sets optimizati `--build=BUILD-SYSTEM' `--host=HOST-SYSTEM' - These options are for cross-compiling. If you give them both and - BUILD-SYSTEM is different from HOST-SYSTEM, `configure' will - prepare to cross-compile glibc from BUILD-SYSTEM to be used on - HOST-SYSTEM. You'll probably need the `--with-headers' option + These options are for cross-compiling. If you specify both + options and BUILD-SYSTEM is different from HOST-SYSTEM, `configure' + will prepare to cross-compile glibc from BUILD-SYSTEM to be used + on HOST-SYSTEM. You'll probably need the `--with-headers' option too, and you may have to override CONFIGURE's selection of the compiler and/or binutils. - If you give just `--host', configure will prepare for a native - compile but use what you say instead of guessing what your system - is. This is most useful to change the CPU submodel. For example, - if configure guesses your machine as `i586-pc-linux-gnu' but you - want to compile a library for 386es, give + If you only specify `--host', configure will prepare for a native + compile but use what you specify instead of guessing what your + system is. This is most useful to change the CPU submodel. For + example, if configure guesses your machine as `i586-pc-linux-gnu' + but you want to compile a library for 386es, give `--host=i386-pc-linux-gnu' or just `--host=i386-linux' and add the appropriate compiler flags (`-mcpu=i386' will do the trick) to CFLAGS. - If you give just `--build', configure will get confused. + If you specify just `--build', configure will get confused. To build the library and related programs, type `make'. This will produce a lot of output, some of which may look like errors from `make' @@ -157,10 +160,11 @@ Those indicate that something is really The compilation process takes several hours even on fast hardware. Expect at least two hours for the default configuration on i586 for -Linux. For Hurd times are much longer. Except for EGCS 1.1 (and later -versions of EGCS), all supported versions of GCC have a problem which -causes them to take several minutes to compile certain files in the -iconvdata directory. Do not panic if the compiler appears to hang. +Linux. For Hurd times are much longer. Except for EGCS 1.1 and GCC +2.95 (and later versions of GCC), all supported versions of GCC have a +problem which causes them to take several minutes to compile certain +files in the iconvdata directory. Do not panic if the compiler appears +to hang. If you want to run a parallel make, you can't just give `make' the `-j' option, because it won't be passed down to the sub-makes. @@ -170,17 +174,18 @@ Instead, edit the generated `Makefile' a You can change the `4' to some other number as appropriate for your system. Instead of changing the `Makefile', you could give this option -directly to `make' and call it as, e.g. `make PARALLELMFLAGS=-j4'. If -you're building in the source directory, you've got to use the latter -approach since in this case no new `Makefile' is generated which you -can change. +directly to `make' and call it as, for example, `make +PARALLELMFLAGS=-j4'. If you're building in the source directory, you +must use the latter approach since in this case no new `Makefile' is +generated for you to change. - To build and run some test programs which exercise some of the -library facilities, type `make check'. This should complete -successfully; if it doesn't, do not use the built library, and report a -bug. *Note Reporting Bugs::, for how to do that. Note that some of -the tests assume they are not being run by `root'. We recommend you -compile and test glibc as an unprivileged user. + To build and run test programs which exercise some of the library +facilities, type `make check'. If it does not complete successfully, +do not use the built library, and report a bug after verifying that the +problem is not already known. *Note Reporting Bugs::, for instructions +on reporting bugs. Note that some of the tests assume they are not +being run by `root'. We recommend you compile and test glibc as an +unprivileged user. To format the `GNU C Library Reference Manual' for printing, type `make dvi'. You need a working TeX installation to do this. The @@ -188,35 +193,65 @@ distribution already includes the on-lin manual, as Info files. You can regenerate those with `make info', but it shouldn't be necessary. + The library has a number of special-purpose configuration parameters +which you can find in `Makeconfig'. These can be overwritten with the +file `configparms'. To change them, create a `configparms' in your +build directory and add values as appropriate for your system. The +file is included and parsed by `make' and has to follow the conventions +for makefiles. + + It is easy to configure the GNU C library for cross-compilation by +setting a few variables in `configparms'. Set `CC' to the +cross-compiler for the target you configured the library for; it is +important to use this same `CC' value when running `configure', like +this: `CC=TARGET-gcc configure TARGET'. Set `BUILD_CC' to the compiler +to use for for programs run on the build system as part of compiling +the library. You may need to set `AR' and `RANLIB' to cross-compiling +versions of `ar' and `ranlib' if the native tools are not configured to +work with object files for the target you configured for. + Installing the C Library ======================== To install the library and its header files, and the Info files of the manual, type `make install'. This will build things if necessary, -before installing them. Don't rely on that; compile everything first. -If you are installing glibc as your primary C library, we recommend you -shut the system down to single-user mode first, and reboot afterward. -This minimizes the risk of breaking things when the library changes out -from underneath. +before installing them. However, you should still compile everything +first. If you are installing glibc as your primary C library, we +recommend that you shut the system down to single-user mode first, and +reboot afterward. This minimizes the risk of breaking things when the +library changes out from underneath. + + If you're upgrading from Linux libc5 or some other C library, you +need to replace the `/usr/include' with a fresh directory before +installing it. The new `/usr/include' should contain the Linux +headers, but nothing else. + + You must first build the library (`make'), optionally check it +(`make check'), switch the include directories and then install (`make +install'). The steps must be done in this order. Not moving the +directory before install will result in an unusable mixture of header +files from both libraries, but configuring, building, and checking the +library requires the ability to compile and run programs against the old +library. If you are upgrading from a previous installation of glibc 2.0 or -2.1, `make install' will do the entire job. If you're upgrading from -Linux libc5 or some other C library, you need to rename the old -`/usr/include' directory out of the way before running `make install', -or you will end up with a mixture of header files from both libraries, -and you won't be able to compile anything. You may also need to -reconfigure GCC to work with the new library. The easiest way to do -that is to figure out the compiler switches to make it work again -(`-Wl,--dynamic-linker=/lib/ld-linux.so.2' should work on Linux -systems) and use them to recompile gcc. You can also edit the specs -file (`/usr/lib/gcc-lib/TARGET/VERSION/specs'), but that is a bit of a -black art. +2.1, `make install' will do the entire job. You do not need to remove +the old includes - if you want to do so anyway you must then follow the +order given above. + + You may also need to reconfigure GCC to work with the new library. +The easiest way to do that is to figure out the compiler switches to +make it work again (`-Wl,--dynamic-linker=/lib/ld-linux.so.2' should +work on Linux systems) and use them to recompile gcc. You can also +edit the specs file (`/usr/lib/gcc-lib/TARGET/VERSION/specs'), but that +is a bit of a black art. You can install glibc somewhere other than where you configured it to go by setting the `install_root' variable on the command line for `make install'. The value of this variable is prepended to all the paths for installation. This is useful when setting up a chroot -environment or preparing a binary distribution. +environment or preparing a binary distribution. The directory should be +specified with an absolute file name. Glibc 2.1 includes two daemons, `nscd' and `utmpd', which you may or may not want to run. `nscd' caches name service lookups; it can @@ -261,19 +296,20 @@ build the GNU C library: * GNU `make' 3.75 You need the latest version of GNU `make'. Modifying the GNU C - Library to work with other `make' programs would be so hard that we - recommend you port GNU `make' instead. *Really.* We recommend - version GNU `make' version 3.75 or 3.77. All earlier versions - have severe bugs or lack features. Version 3.76 is known to have - bugs which only show up in big projects like GNU `libc'. Version - 3.76.1 seems OK but some people have reported problems. + Library to work with other `make' programs would be so difficult + that we recommend you port GNU `make' instead. *Really.* We + recommend version GNU `make' version 3.75 or 3.77. All earlier + versions have severe bugs or lack features. Version 3.76 is known + to have bugs which only show up in big projects like GNU `libc'. + Version 3.76.1 seems OK but some people have reported problems. - * EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1 + * EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1, 2.95 or newer The GNU C library can only be compiled with the GNU C compiler family. As of the 2.1 release, EGCS 1.0.3 or higher is required. GCC 2.8.1 can also be used (but see the FAQ for reasons why you - might not want to). Earlier versions simply are too buggy. + might not want to). Earlier versions simply are too buggy. As of + this writing, GCC 2.95.2 is the compiler we advise to use. You can use whatever compiler you like to compile programs that use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in @@ -382,8 +418,8 @@ they definitely don't work anymore. Por If you are interested in doing a port, please contact the glibc maintainers by sending electronic mail to <bug-glibc@gnu.org>. - Each case of `iX86' can be `i386', `i486', `i586', or `i686'. All -of those configurations produce a library that can run on this + Valid cases of `iX86' include `i386', `i486', `i586', and `i686'. +All of those configurations produce a library that can run on this processor and newer processors. The GCC compiler by default generates code that's optimized for the machine it's configured for and will use the instructions available on that machine. For example if your GCC is @@ -397,7 +433,7 @@ Specific advice for Linux systems If you are installing GNU libc on a Linux system, you need to have the header files from a 2.2 kernel around for reference. You do not -need to use the 2.2 kernel, just have its headers where glibc can get +need to use the 2.2 kernel, just have its headers where glibc can access at them. The easiest way to do this is to unpack it in a directory such as `/usr/src/linux-2.2.1'. In that directory, run `make config' and accept all the defaults. Then run `make include/linux/version.h'. @@ -442,9 +478,9 @@ errors and omissions in this manual. If fixed. If you don't, no one will ever know about them and they will remain unfixed for all eternity, if not longer. - It is a good idea to check first that the problem was not reported -before. Bugs are documented in two places: The file `BUGS' describes a -number of well known bugs and the bug tracking system has a WWW + It is a good idea to verify that the problem has not already been +reported. Bugs are documented in two places: The file `BUGS' describes +a number of well known bugs and the bug tracking system has a WWW interface at `http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl'. The WWW interface gives you access to open and closed reports. The closed reports normally include a patch or a hint on solving the problem. @@ -483,6 +519,6 @@ function's behavior disagrees with the m or the manual has a bug, so report the disagreement. If you find any errors or omissions in this manual, please report them to the Internet address <bug-glibc-manual@gnu.org>. If you refer to specific sections -when reporting on the manual, please include the section names for -easier identification. +of the manual, please include the section names for easier +identification. diff -durpN glibc-2.1.2/Makeconfig glibc-2.1.3/Makeconfig --- glibc-2.1.2/Makeconfig Mon Jun 28 12:23:08 1999 +++ glibc-2.1.3/Makeconfig Mon Nov 29 11:19:20 1999 @@ -655,18 +655,28 @@ endif move-if-change = $(SHELL) $(..)scripts/move-if-change +-include $(common-objpfx)sysd-dirs + +ifeq ($(sysd-dirs-done),t) +-include $(common-objpfx)sysd-sorted +subdirs = $(sorted-subdirs) +endif ifeq (yes, $(build-shared)) # Process the shlib-versions file, which tells us what shared library # version numbers to use when we install shared objects on this system. +# We need to wait until $(subdirs) is complete. +ifeq ($(sysd-sorted-done),t) -include $(common-objpfx)soversions.mk ifndef avoid-generated $(common-objpfx)soversions.mk: $(..)shlib-versions $(..)Makeconfig \ $(wildcard $(patsubst %, $(..)%/shlib-versions,\ - $(add-ons))) \ + $(add-ons) \ + $(subdirs))) \ $(common-objpfx)config.make (file="$(wildcard $(patsubst %,$(..)%/shlib-versions,$(add-ons))) \ + $(wildcard $(patsubst %,$(..)%/shlib-versions,$(subdirs))) \ $(..)shlib-versions"; \ for f in $$file; do \ sed 's/#.*$$//' $$f | while read conf versions; do \ @@ -690,6 +700,7 @@ $(common-objpfx)soversions.mk: $(..)shli done;) > $@T; exit 0 mv -f $@T $@ endif +endif postclean-generated += soversions.mk @@ -744,8 +755,6 @@ have-thread-library = yes rpath-dirs += linuxthreads endif --include $(common-objpfx)sysd-dirs - # These are the subdirectories containing the library source. The order # is more or less arbitrary. The sorting step will take care of the # dependencies. Only the $(binfmt-subdir) should always be kept at the @@ -758,11 +767,6 @@ all-subdirs = csu assert ctype db db2 lo $(binfmt-subdir) all-subdirs := $(filter-out $(sysdep-inhibit-subdirs),$(all-subdirs)) -ifeq ($(sysd-dirs-done),t) --include $(common-objpfx)sysd-sorted -subdirs = $(sorted-subdirs) -endif - # The mach and hurd subdirectories have many generated header files which # much of the rest of the library depends on, so it is best to build them # first (and mach before hurd, at that). The before-compile additions in @@ -788,16 +792,18 @@ $(common-objpfx)sysd-dirs: $(common-objp all-Depend-files = $(wildcard $(..)*/Depend) $(common-objpfx)sysd-sorted: $(..)scripts/gen-sorted.awk $(all-Depend-files) \ $(common-objpfx)sysd-dirs $(..)Makeconfig - (dirs='$(patsubst $(..)%/Depend,$(..)%,$(filter %/Depend, $^))';\ - for d in $$dirs; do \ - while read on; do \ - echo "depend $$d $$on"; \ - done < $$d/Depend; \ - done; \ - for f in $(all-subdirs); do \ - echo $$f; \ - done \ - ) | $(AWK) -f $< > $@-tmp + { { dirs='$(patsubst $(..)%/Depend,$(..)%,$(filter %/Depend,$^))';\ + for d in $$dirs; do \ + while read on; do \ + echo "depend $$d $$on"; \ + done < $$d/Depend; \ + done; \ + for f in $(all-subdirs); do \ + echo $$f; \ + done; \ + } | $(AWK) -f $< && \ + echo sysd-sorted-done = t; \ + } > $@-tmp mv -f $@-tmp $@ endif diff -durpN glibc-2.1.2/Makefile glibc-2.1.3/Makefile --- glibc-2.1.2/Makefile Mon Feb 8 04:14:02 1999 +++ glibc-2.1.3/Makefile Thu Sep 23 00:25:19 1999 @@ -205,6 +205,7 @@ clean: parent-clean # subdirectories are dealt with and so they won't try to remove object # files from it when it's going to be removed anyway. @$(MAKE) subdir_clean no_deps=t + -rm -f $(postclean) mostlyclean: parent-mostlyclean @$(MAKE) subdir_mostlyclean no_deps=t -rm -f $(postclean) diff -durpN glibc-2.1.2/NEWS glibc-2.1.3/NEWS --- glibc-2.1.2/NEWS Sun Jun 13 15:19:52 1999 +++ glibc-2.1.3/NEWS Wed Nov 17 10:50:40 1999 @@ -1,4 +1,4 @@ -GNU C Library NEWS -- history of user-visible changes. 1999-05-18 +GNU C Library NEWS -- history of user-visible changes. 1999-11-17 Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc. See the end for copying conditions. @@ -6,6 +6,10 @@ See the end for copying conditions. Please send GNU C library bug reports using the `glibcbug' script to <bugs@gnu.org>. Questions and suggestions should be send to <bug-glibc@gnu.org>. + +Version 2.1.3 + +* bug fixes Version 2.1.2 diff -durpN glibc-2.1.2/README glibc-2.1.3/README --- glibc-2.1.2/README Wed Jul 28 13:58:41 1999 +++ glibc-2.1.3/README Wed Jan 5 17:45:07 2000 @@ -1,4 +1,4 @@ -This directory contains the version 2.1.2 release of the GNU C Library. +This directory contains the version 2.1.3 release of the GNU C Library. Many bugs have been fixed since the last release. Some bugs surely remain. @@ -53,7 +53,7 @@ provides the Unix `crypt' function, plus Because of the United States export restriction on DES implementations, we are distributing this code separately from the rest of the C library. There is an extra distribution tar file just -for crypt; it is called `glibc-crypt-2.1.2.tar.gz'. You can just +for crypt; it is called `glibc-crypt-2.1.3.tar.gz'. You can just unpack the crypt distribution along with the rest of the C library and build; you can also build the library without getting crypt. Users outside the USA can get the crypt distribution via anonymous FTP from diff -durpN glibc-2.1.2/Versions.def glibc-2.1.3/Versions.def --- glibc-2.1.2/Versions.def Fri Jul 9 20:40:40 1999 +++ glibc-2.1.3/Versions.def Mon Nov 15 16:24:57 1999 @@ -6,6 +6,7 @@ libc { GLIBC_2.1 GLIBC_2.0 GLIBC_2.1.1 GLIBC_2.1 GLIBC_2.1.2 GLIBC_2.1.1 + GLIBC_2.1.3 GLIBC_2.1.2 } libcrypt { GLIBC_2.0 @@ -74,4 +75,7 @@ ld.so { GLIBC_2.0 GLIBC_2.1 GLIBC_2.0 GLIBC_2.1.1 GLIBC_2.1 +} +libthread_db { + GLIBC_2.1.3 } diff -durpN glibc-2.1.2/argp/argp-fmtstream.c glibc-2.1.3/argp/argp-fmtstream.c --- glibc-2.1.2/argp/argp-fmtstream.c Wed Sep 9 04:46:43 1998 +++ glibc-2.1.3/argp/argp-fmtstream.c Thu Nov 11 10:09:46 1999 @@ -1,5 +1,5 @@ /* Word-wrapping and line-truncating streams - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader <miles@gnu.ai.mit.edu>. @@ -362,6 +362,7 @@ ssize_t __argp_fmtstream_printf (struct argp_fmtstream *fs, const char *fmt, ...) { int out; + size_t avail; size_t size_guess = PRINTF_SIZE_GUESS; /* How much space to reserve. */ do @@ -370,13 +371,15 @@ __argp_fmtstream_printf (struct argp_fmt if (! __argp_fmtstream_ensure (fs, size_guess)) return -1; - size_guess += size_guess; va_start (args, fmt); - out = __vsnprintf (fs->p, fs->end - fs->p, fmt, args); + avail = fs->end - fs->p; + out = __vsnprintf (fs->p, avail, fmt, args); va_end (args); + if (out >= avail) + size_guess = out + 1; } - while (out == -1); + while (out >= avail); fs->p += out; diff -durpN glibc-2.1.2/argp/argp-help.c glibc-2.1.3/argp/argp-help.c --- glibc-2.1.2/argp/argp-help.c Wed Apr 28 14:29:46 1999 +++ glibc-2.1.3/argp/argp-help.c Tue Feb 22 23:02:45 2000 @@ -362,7 +362,7 @@ struct hol_cluster const char *header; /* Used to order clusters within the same group with the same parent, - according to the order in which they occured in the parent argp's child + according to the order in which they occurred in the parent argp's child list. */ int index; @@ -1424,7 +1424,7 @@ argp_args_usage (const struct argp *argp following the `\v' character (nothing for strings without). Each separate bit of documentation is separated a blank line, and if PRE_BLANK is true, then the first is as well. If FIRST_ONLY is true, only the first - occurance is output. Returns true if anything was output. */ + occurrence is output. Returns true if anything was output. */ static int argp_doc (const struct argp *argp, const struct argp_state *state, int post, int pre_blank, int first_only, diff -durpN glibc-2.1.2/argp/argp.h glibc-2.1.3/argp/argp.h --- glibc-2.1.2/argp/argp.h Tue May 18 01:29:33 1999 +++ glibc-2.1.3/argp/argp.h Tue Feb 22 23:02:45 2000 @@ -201,7 +201,7 @@ typedef error_t (*argp_parser_t) __PMT ( argp's, and perhaps a function to filter help output. When actually parsing options, getopt is called with the union of all the argp structures chained together through their CHILD pointers, with conflicts - being resolved in favor of the first occurance in the chain. */ + being resolved in favor of the first occurrence in the chain. */ struct argp { /* An array of argp_option structures, terminated by an entry with both diff -durpN glibc-2.1.2/catgets/catgets.c glibc-2.1.3/catgets/catgets.c --- glibc-2.1.2/catgets/catgets.c Wed Apr 28 14:31:32 1999 +++ glibc-2.1.3/catgets/catgets.c Fri Feb 11 15:49:41 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.org>. @@ -19,6 +19,7 @@ #include <alloca.h> #include <errno.h> +#include <locale.h> #include <nl_types.h> #include <stdlib.h> #include <string.h> @@ -43,20 +44,15 @@ catopen (const char *cat_name, int flag) if (strchr (cat_name, '/') == NULL) { if (flag == NL_CAT_LOCALE) - { - env_var = getenv ("LC_ALL"); - if (env_var == NULL) - env_var = getenv ("LC_MESSAGES"); - - if (env_var != NULL) - goto have_env_var; - } + /* Use the current locale setting for LC_MESSAGES. */ + env_var = setlocale (LC_MESSAGES, NULL); + else + /* Use the LANG environment variable. */ + env_var = getenv ("LANG"); - env_var = getenv ("LANG"); if (env_var == NULL) env_var = "C"; - have_env_var: env_var_len = strlen (env_var) + 1; nlspath = __secure_getenv ("NLSPATH"); diff -durpN glibc-2.1.2/catgets/gencat.c glibc-2.1.3/catgets/gencat.c --- glibc-2.1.2/catgets/gencat.c Thu Apr 15 01:33:12 1999 +++ glibc-2.1.3/catgets/gencat.c Fri Feb 11 15:49:41 2000 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. + Contributed by Ulrich Drepper <drepper@redhat.com>, 1996. 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 @@ -32,6 +32,7 @@ #include <limits.h> #include <nl_types.h> #include <obstack.h> +#include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -237,7 +238,7 @@ print_version (FILE *stream, struct argp Copyright (C) %s Free Software Foundation, Inc.\n\ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ -"), "1999"); +"), "2000"); fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper"); } @@ -492,13 +493,12 @@ this is the first definition")); { const char *ident = this_line; int message_number; - int any_space; do ++this_line; while (this_line[0] != '\0' && !isspace (this_line[0])); - any_space = isspace (*this_line); - *this_line++ = '\0'; /* Terminate the identifier. */ + if (this_line[0] != '\0') + *this_line++ = '\0'; /* Terminate the identifier. */ /* Now we found the beginning of the message itself. */ @@ -522,24 +522,12 @@ this is the first definition")); } if (runp != NULL) { - if (any_space) - { - /* Oh, oh. There is already a message with this - number in the message set. */ - error_at_line (0, 0, fname, start_line, - gettext ("duplicated message number")); - error_at_line (0, 0, runp->fname, runp->line, - gettext ("this is the first definition")); - } - else - { - /* We have to remove this message. */ - if (lastp != NULL) - lastp->next = runp->next; - else - current->current_set->messages = runp->next; - free (runp); - } + /* Oh, oh. There is already a message with this + number in the message set. */ + error_at_line (0, 0, fname, start_line, + gettext ("duplicated message number")); + error_at_line (0, 0, runp->fname, runp->line, + gettext ("this is the first definition")); message_number = 0; } ident = NULL; /* We don't have a symbol. */ @@ -564,24 +552,11 @@ this is the first definition")); runp = runp->next; if (runp != NULL) { - if (any_space) - { - /* The name is already used. */ - error_at_line (0, 0, fname, start_line, - gettext ("\ + /* The name is already used. */ + error_at_line (0, 0, fname, start_line, gettext ("\ duplicated message identifier")); - error_at_line (0, 0, runp->fname, runp->line, - gettext ("this is the first definition")); - } - else - { - /* We have to remove this message. */ - if (lastp != NULL) - lastp->next = runp->next; - else - current->current_set->messages = runp->next; - free (runp); - } + error_at_line (0, 0, runp->fname, runp->line, + gettext ("this is the first definition")); message_number = 0; } else @@ -673,7 +648,7 @@ write_out (struct catalog *catalog, cons struct obstack string_pool; const char *strings; size_t strings_size; - u_int32_t *array1, *array2; + uint32_t *array1, *array2; size_t cnt; int fd; @@ -751,10 +726,10 @@ write_out (struct catalog *catalog, cons /* Allocate room for all needed arrays. */ array1 = - (u_int32_t *) alloca (best_size * best_depth * sizeof (u_int32_t) * 3); - memset (array1, '\0', best_size * best_depth * sizeof (u_int32_t) * 3); + (uint32_t *) alloca (best_size * best_depth * sizeof (uint32_t) * 3); + memset (array1, '\0', best_size * best_depth * sizeof (uint32_t) * 3); array2 - = (u_int32_t *) alloca (best_size * best_depth * sizeof (u_int32_t) * 3); + = (uint32_t *) alloca (best_size * best_depth * sizeof (uint32_t) * 3); obstack_init (&string_pool); set_run = catalog->all_sets; @@ -812,11 +787,11 @@ write_out (struct catalog *catalog, cons /* We always write out the little endian version of the index arrays. */ #if __BYTE_ORDER == __LITTLE_ENDIAN - write (fd, array1, best_size * best_depth * sizeof (u_int32_t) * 3); - write (fd, array2, best_size * best_depth * sizeof (u_int32_t) * 3); + write (fd, array1, best_size * best_depth * sizeof (uint32_t) * 3); + write (fd, array2, best_size * best_depth * sizeof (uint32_t) * 3); #elif __BYTE_ORDER == __BIG_ENDIAN - write (fd, array2, best_size * best_depth * sizeof (u_int32_t) * 3); - write (fd, array1, best_size * best_depth * sizeof (u_int32_t) * 3); + write (fd, array2, best_size * best_depth * sizeof (uint32_t) * 3); + write (fd, array1, best_size * best_depth * sizeof (uint32_t) * 3); #else # error Cannot handle __BYTE_ORDER byte order #endif @@ -1034,7 +1009,8 @@ read_old (struct catalog *catalog, const /* OK, we have the catalog loaded. Now read all messages and merge them. When set and message number clash for any message the new - one is used. */ + one is used. If the new one is empty it indicates that the + message should be deleted. */ for (cnt = 0; cnt < old_cat_obj.plane_size * old_cat_obj.plane_depth; ++cnt) { struct message_list *message, *last; @@ -1043,7 +1019,7 @@ read_old (struct catalog *catalog, const /* No message in this slot. */ continue; - if (old_cat_obj.name_ptr[cnt * 3 + 0] - 1 != (u_int32_t) last_set) + if (old_cat_obj.name_ptr[cnt * 3 + 0] - 1 != (uint32_t) last_set) { last_set = old_cat_obj.name_ptr[cnt * 3 + 0] - 1; set = find_set (catalog, old_cat_obj.name_ptr[cnt * 3 + 0] - 1); @@ -1053,14 +1029,14 @@ read_old (struct catalog *catalog, const message = set->messages; while (message != NULL) { - if ((u_int32_t) message->number >= old_cat_obj.name_ptr[cnt * 3 + 1]) + if ((uint32_t) message->number >= old_cat_obj.name_ptr[cnt * 3 + 1]) break; last = message; message = message->next; } if (message == NULL - || (u_int32_t) message->number > old_cat_obj.name_ptr[cnt * 3 + 1]) + || (uint32_t) message->number > old_cat_obj.name_ptr[cnt * 3 + 1]) { /* We have found a message which is not yet in the catalog. Insert it at the right position. */ @@ -1081,6 +1057,15 @@ read_old (struct catalog *catalog, const last->next = newp; ++catalog->total_messages; + } + else if (*message->message == '\0') + { + /* The new empty message has overridden the old one thus + "deleting" it as required. Now remove the empty remains. */ + if (last == NULL) + set->messages = message->next; + else + last->next = message->next; } } } diff -durpN glibc-2.1.2/catgets/open_catalog.c glibc-2.1.3/catgets/open_catalog.c --- glibc-2.1.2/catgets/open_catalog.c Sun May 2 04:04:15 1999 +++ glibc-2.1.3/catgets/open_catalog.c Fri Feb 11 15:49:41 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.org>. @@ -84,89 +84,100 @@ __open_catalog (__nl_catd catalog) while (*run_nlspath != '\0') { bufact = 0; - while (*run_nlspath != ':' && *run_nlspath != '\0') - if (*run_nlspath == '%') - { - const char *tmp; - ++run_nlspath; /* We have seen the `%'. */ - switch (*run_nlspath++) - { - case 'N': - /* Use the catalog name. */ - len = strlen (catalog->cat_name); - ENOUGH (len); - memcpy (&buf[bufact], catalog->cat_name, len); - bufact += len; - break; - case 'L': - /* Use the current locale category value. */ - len = strlen (catalog->env_var); - ENOUGH (len); - memcpy (&buf[bufact], catalog->env_var, len); - bufact += len; - break; - case 'l': - /* Use language element of locale category value. */ - tmp = catalog->env_var; - do - { - ENOUGH (1); - buf[bufact++] = *tmp++; - } - while (*tmp != '\0' && *tmp != '_' && *tmp != '.'); - break; - case 't': - /* Use territory element of locale category value. */ - tmp = catalog->env_var; - do - ++tmp; - while (*tmp != '\0' && *tmp != '_' && *tmp != '.'); - if (*tmp == '_') - { + if (*run_nlspath == ':') + { + /* Leading colon or adjacent colons - treat same as %N. */ + len = strlen (catalog->cat_name); + ENOUGH (len); + memcpy (&buf[bufact], catalog->cat_name, len); + bufact += len; + } + else + while (*run_nlspath != ':' && *run_nlspath != '\0') + if (*run_nlspath == '%') + { + const char *tmp; + + ++run_nlspath; /* We have seen the `%'. */ + switch (*run_nlspath++) + { + case 'N': + /* Use the catalog name. */ + len = strlen (catalog->cat_name); + ENOUGH (len); + memcpy (&buf[bufact], catalog->cat_name, len); + bufact += len; + break; + case 'L': + /* Use the current locale category value. */ + len = strlen (catalog->env_var); + ENOUGH (len); + memcpy (&buf[bufact], catalog->env_var, len); + bufact += len; + break; + case 'l': + /* Use language element of locale category value. */ + tmp = catalog->env_var; + do + { + ENOUGH (1); + buf[bufact++] = *tmp++; + } + while (*tmp != '\0' && *tmp != '_' && *tmp != '.'); + break; + case 't': + /* Use territory element of locale category value. */ + tmp = catalog->env_var; + do ++tmp; - do - { - ENOUGH (1); - buf[bufact++] = *tmp; - } - while (*tmp != '\0' && *tmp != '.'); - } - break; - case 'c': - /* Use code set element of locale category value. */ - tmp = catalog->env_var; - do - ++tmp; - while (*tmp != '\0' && *tmp != '.'); - if (*tmp == '.') - { + while (*tmp != '\0' && *tmp != '_' && *tmp != '.'); + if (*tmp == '_') + { + ++tmp; + do + { + ENOUGH (1); + buf[bufact++] = *tmp++; + } + while (*tmp != '\0' && *tmp != '.'); + } + break; + case 'c': + /* Use code set element of locale category value. */ + tmp = catalog->env_var; + do ++tmp; - do - { - ENOUGH (1); - buf[bufact++] = *tmp; - } - while (*tmp != '\0'); - } - break; - case '%': - ENOUGH (1); - buf[bufact++] = '%'; - break; - default: - /* Unknown variable: ignore this path element. */ - bufact = 0; - while (*run_nlspath != '\0' && *run_nlspath != ':') - ++run_nlspath; - break; - } - } - else - { - ENOUGH (1); - buf[bufact++] = *run_nlspath++; - } + while (*tmp != '\0' && *tmp != '.'); + if (*tmp == '.') + { + ++tmp; + do + { + ENOUGH (1); + buf[bufact++] = *tmp++; + } + while (*tmp != '\0'); + } + break; + case '%': + ENOUGH (1); + buf[bufact++] = '%'; + break; + default: + /* Unknown variable: ignore this path element. */ + bufact = 0; + while (*run_nlspath != '\0' && *run_nlspath != ':') + ++run_nlspath; + break; + } + } + else + { + ENOUGH (1); + buf[bufact++] = *run_nlspath++; + } + ENOUGH (1); buf[bufact] = '\0'; diff -durpN glibc-2.1.2/config.make.in glibc-2.1.3/config.make.in --- glibc-2.1.2/config.make.in Wed May 19 07:19:37 1999 +++ glibc-2.1.3/config.make.in Fri Feb 11 15:49:41 2000 @@ -1,5 +1,5 @@ # @configure_input@ -# From $Id: config.make.in,v 1.61 1999/05/19 14:19:37 drepper Exp $. +# From $Id: config.make.in,v 1.61.2.2 2000/02/11 20:45:02 drepper Exp $. # Don't edit this file. Put configuration parameters in configparms instead. version = @VERSION@ @@ -9,11 +9,13 @@ release = @RELEASE@ install_root = prefix = @prefix@ exec_prefix = @exec_prefix@ +datadir = @datadir@ libdir = @libdir@ slibdir = @libc_cv_slibdir@ sysconfdir = @libc_cv_sysconfdir@ libexecdir = @libexecdir@ rootsbindir = @libc_cv_rootsbindir@ +infodir = @infodir@ # If ldconfig exists. This will go away as soon as `ldconfig' is available # in GNU libc. diff -durpN glibc-2.1.2/configure glibc-2.1.3/configure --- glibc-2.1.2/configure Mon Aug 30 12:35:59 1999 +++ glibc-2.1.3/configure Mon Oct 4 17:56:26 1999 @@ -1324,7 +1324,7 @@ else # Found it, now check the version. echo $ac_n "checking version of $MAKE""... $ac_c" 1>&6 echo "configure:1327: checking version of $MAKE" >&5 - ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*version \([0-9][0-9.]*\), by.*$/\1/p'` + ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; 3.75 | 3.76.[1-9]* | 3.7[789]* | 3.[89]*) @@ -1436,7 +1436,7 @@ echo "configure:1436: checking version o ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; - 3.1[1-9] | 3.[2-9][0-9] | 1.6[89] | 1.7[0-9]) + 3.1[1-9] | 3.[2-9][0-9] | 4.* | 1.6[89] | 1.7[0-9]) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; diff -durpN glibc-2.1.2/configure.in glibc-2.1.3/configure.in --- glibc-2.1.2/configure.in Mon Aug 30 12:16:04 1999 +++ glibc-2.1.3/configure.in Mon Oct 4 17:55:45 1999 @@ -448,7 +448,7 @@ AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}g [egcs-2.9[1-9].*|egcs-2.90.2[789]|egcs-2.90.[3-9][0-9]|*gcc-2.9[1-9].*|pgcc-2.90.2[789]|pgcc-2.90.[3-9][0-9]|*2.8.[1-9]*|*2.9|*2.9.[0-9]*|2.9[5-9]*|cygnus-2.9[1-9].*|gcc-2.9[5-9]|gcc-2.1[0-9][0-9]], critic_missing=t) AC_CHECK_PROG_VER(MAKE, make gmake, --version, - [version \([0-9][0-9.]*\), by], + [GNU Make[^0-9]*\([0-9][0-9.]*\)], [3.75 | 3.76.[1-9]* | 3.7[789]* | 3.[89]*], critic_missing=t) AC_CHECK_PROG_VER(MSGFMT, msgfmt gmsgfmt, --version, @@ -456,7 +456,7 @@ AC_CHECK_PROG_VER(MSGFMT, msgfmt gmsgfmt [0.[1-9][0-9].* | [1-9].*], MSGFMT=: aux_missing=t) AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version, [GNU texinfo.* \([0-9][0-9.]*\)], - [3.1[1-9] | 3.[2-9][0-9] | 1.6[89] | 1.7[0-9]], MAKEINFO=: aux_missing=t) + [3.1[1-9] | 3.[2-9][0-9] | 4.* | 1.6[89] | 1.7[0-9]], MAKEINFO=: aux_missing=t) if test -n "$critic_missing"; then AC_MSG_ERROR([ diff -durpN glibc-2.1.2/ctype/ctype-info.c glibc-2.1.3/ctype/ctype-info.c --- glibc-2.1.2/ctype/ctype-info.c Fri Jun 20 18:06:56 1997 +++ glibc-2.1.3/ctype/ctype-info.c Tue Feb 15 10:59:17 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1995-1997, 2000 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 @@ -33,5 +33,7 @@ const unsigned short int *__ctype_b = b const __uint32_t *__ctype32_b = b (__uint32_t, class32, 0); const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128); const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128); +const __int32_t *__ctype32_tolower = b (__int32_t, tolower, 128); +const __int32_t *__ctype32_toupper = b (__int32_t, toupper, 128); const __uint32_t *__ctype_names = b (__uint32_t, names, 0); const unsigned char *__ctype_width = b (unsigned char, width, 0); diff -durpN glibc-2.1.2/debug/Makefile glibc-2.1.3/debug/Makefile --- glibc-2.1.2/debug/Makefile Sat Mar 20 09:07:46 1999 +++ glibc-2.1.3/debug/Makefile Wed Jan 5 17:45:09 2000 @@ -1,4 +1,4 @@ -# Copyright (C) 1998, 1999 Free Software Foundation, Inc. +# Copyright (C) 1998, 1999, 2000 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 @@ -22,7 +22,7 @@ subdir := debug headers := execinfo.h -distribute = sigcontextinfo.h register-dump.h +distribute = sigcontextinfo.h register-dump.h frame.h routines := backtrace backtracesyms backtracesymsfd diff -durpN glibc-2.1.2/dirent/dirent.h glibc-2.1.3/dirent/dirent.h --- glibc-2.1.2/dirent/dirent.h Fri Aug 20 10:34:36 1999 +++ glibc-2.1.3/dirent/dirent.h Tue Feb 22 23:02:47 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,93,94,95,96,97,98 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,95,96,97,98,2000 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 @@ -29,6 +29,21 @@ __BEGIN_DECLS #include <bits/types.h> +#ifdef __USE_XOPEN +# ifndef ino_t +# ifndef __USE_FILE_OFFSET64 +typedef __ino_t ino_t; +# else +typedef __ino64_t ino_t; +# endif +# define ino_t ino_t +# endif +# if defined __USE_LARGEFILE64 && !defined ino64_t +typedef __ino64_t ino64_t; +# define ino64_t ino64_t +# endif +#endif + /* This file defines `struct dirent'. It defines the macro `_DIRENT_HAVE_D_NAMLEN' iff there is a `d_namlen' @@ -282,7 +297,7 @@ extern __ssize_t getdirentries __P ((int extern __ssize_t __REDIRECT (getdirentries, __P ((int __fd, char *__restrict __buf, size_t __nbytes, - __off_t *__restrict __basep)), + __off64_t *__restrict __basep)), getdirentries64); # else # define getdirentries getdirentries64 diff -durpN glibc-2.1.2/elf/dl-load.c glibc-2.1.3/elf/dl-load.c --- glibc-2.1.2/elf/dl-load.c Mon Aug 9 22:13:22 1999 +++ glibc-2.1.3/elf/dl-load.c Mon Nov 22 11:10:44 1999 @@ -149,6 +149,7 @@ local_strdup (const char *s) size_t _dl_dst_count (const char *name, int is_path) { + const char* const start = name; size_t cnt = 0; do @@ -156,14 +157,20 @@ _dl_dst_count (const char *name, int is_ size_t len = 1; /* $ORIGIN is not expanded for SUID/GUID programs. */ - if ((((!__libc_enable_secure - && strncmp (&name[1], "ORIGIN", 6) == 0 && (len = 7) != 0) - || (strncmp (&name[1], "PLATFORM", 8) == 0 && (len = 9) != 0)) + if ((((strncmp (&name[1], "ORIGIN}", 6) == 0 + && (!__libc_enable_secure + || ((name[7] == '\0' || (is_path && name[7] == ':')) + && (name == start || (is_path && name[-1] == ':')))) + && (len = 7) != 0) + || (strncmp (&name[1], "PLATFORM}", 8) == 0 && (len = 9) != 0)) && (name[len] == '\0' || name[len] == '/' || (is_path && name[len] == ':'))) || (name[1] == '{' - && ((!__libc_enable_secure - && strncmp (&name[2], "ORIGIN}", 7) == 0 && (len = 9) != 0) + && ((strncmp (&name[2], "ORIGIN}", 7) == 0 + && (!__libc_enable_secure + || ((name[9] == '\0' || (is_path && name[9] == ':')) + && (name == start || (is_path && name[-1] == ':')))) + && (len = 9) != 0) || (strncmp (&name[2], "PLATFORM}", 9) == 0 && (len = 11) != 0)))) ++cnt; @@ -180,6 +187,7 @@ char * _dl_dst_substitute (struct link_map *l, const char *name, char *result, int is_path) { + const char* const start = name; char *last_elem, *wp; /* Now fill the result path. While copying over the string we keep @@ -195,8 +203,8 @@ _dl_dst_substitute (struct link_map *l, const char *repl; size_t len; - if ((((strncmp (&name[1], "ORIGIN", 6) == 0 && (len = 7) != 0) - || (strncmp (&name[1], "PLATFORM", 8) == 0 && (len = 9) != 0)) + if ((((strncmp (&name[1], "ORIGIN}", 6) == 0 && (len = 7) != 0) + || (strncmp (&name[1], "PLATFORM}", 8) == 0 && (len = 9) != 0)) && (name[len] == '\0' || name[len] == '/' || (is_path && name[len] == ':'))) || (name[1] == '{' @@ -205,7 +213,12 @@ _dl_dst_substitute (struct link_map *l, && (len = 11) != 0)))) { repl = ((len == 7 || name[2] == 'O') - ? (__libc_enable_secure ? NULL : l->l_origin) + ? (__libc_enable_secure + && ((name[len] != '\0' + && (!is_path || name[len] != ':')) + || (name != start + && (!is_path || name[-1] != ':'))) + ? NULL : l->l_origin) : _dl_platform); if (repl != NULL && repl != (const char *) -1) @@ -523,7 +536,7 @@ _dl_init_paths (const char *llp) / sizeof (struct r_search_path_elem)); rtld_search_dirs[0] = (struct r_search_path_elem *) - malloc ((sizeof (system_dirs) / sizeof (system_dirs[0]) - 1) + malloc ((sizeof (system_dirs) / sizeof (system_dirs[0])) * round_size * sizeof (struct r_search_path_elem)); if (rtld_search_dirs[0] == NULL) _dl_signal_error (ENOMEM, NULL, "cannot create cache for search path"); @@ -656,9 +669,9 @@ _dl_map_object_from_fd (const char *name #define ELF32_CLASS ELFCLASS32 #define ELF64_CLASS ELFCLASS64 #if !defined VALID_ELF_HEADER -# define VALID_ELF_HEADER(hdr,exp,size) (memcmp(hdr,exp,size) == 0) -# define VALID_ELF_OSABI(osabi) (osabi == ELFOSABI_SYSV) -# define VALID_ELF_ABIVERSION(ver) (ver == 0) +# define VALID_ELF_HEADER(hdr,exp,size) (memcmp(hdr,exp,size) == 0) +# define VALID_ELF_OSABI(osabi) (osabi == ELFOSABI_SYSV) +# define VALID_ELF_ABIVERSION(ver) (ver == 0) #endif static const unsigned char expected[EI_PAD] = { diff -durpN glibc-2.1.2/elf/dl-object.c glibc-2.1.3/elf/dl-object.c --- glibc-2.1.2/elf/dl-object.c Tue Jan 19 15:58:16 1999 +++ glibc-2.1.3/elf/dl-object.c Tue Feb 22 23:02:47 2000 @@ -1,5 +1,5 @@ /* Storage management for the chain of loaded shared objects. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000 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 @@ -59,7 +59,7 @@ _dl_new_object (char *realname, const ch while (l->l_next) l = l->l_next; new->l_prev = l; - /* new->l_next = NULL; Would be necesary but we use calloc. */ + /* new->l_next = NULL; Would be necessary but we use calloc. */ l->l_next = new; /* Add the global scope. */ diff -durpN glibc-2.1.2/elf/dl-open.c glibc-2.1.3/elf/dl-open.c --- glibc-2.1.2/elf/dl-open.c Tue May 11 05:58:24 1999 +++ glibc-2.1.3/elf/dl-open.c Tue Feb 22 23:02:47 2000 @@ -241,7 +241,7 @@ _dl_open (const char *file, int mode, co if (errstring) { - /* Some error occured during loading. */ + /* Some error occurred during loading. */ char *local_errstring; /* Remove the object from memory. It may be in an inconsistent diff -durpN glibc-2.1.2/elf/dl-reloc.c glibc-2.1.3/elf/dl-reloc.c --- glibc-2.1.2/elf/dl-reloc.c Sat Feb 20 06:45:53 1999 +++ glibc-2.1.3/elf/dl-reloc.c Tue Dec 21 15:51:16 1999 @@ -126,6 +126,10 @@ _dl_relocate_object (struct link_map *l, if (__mprotect (mapstart, mapend - mapstart, prot) < 0) _dl_signal_error (errno, l->l_name, "can't restore segment prot after reloc"); + +#ifdef CLEAR_CACHE + CLEAR_CACHE (mapstart, mapend); +#endif } } } diff -durpN glibc-2.1.2/elf/dlfcn.h glibc-2.1.3/elf/dlfcn.h --- glibc-2.1.2/elf/dlfcn.h Tue Feb 16 07:12:17 1999 +++ glibc-2.1.3/elf/dlfcn.h Tue Feb 22 23:02:47 2000 @@ -1,5 +1,5 @@ /* User functions for run-time dynamic loading. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000 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 @@ -21,8 +21,6 @@ #define _DLFCN_H 1 #include <features.h> -#define __need_NULL -#include <stddef.h> /* Collect various system dependent definitions and declarations. */ #include <bits/dlfcn.h> @@ -36,7 +34,7 @@ /* If the first argument to `dlsym' or `dlvsym' is set to RTLD_DEFAULT the run-time address of the symbol called NAME in the global scope is returned. */ -#define RTLD_DEFAULT NULL +#define RTLD_DEFAULT ((void *) 0) __BEGIN_DECLS diff -durpN glibc-2.1.2/elf/elf.h glibc-2.1.3/elf/elf.h --- glibc-2.1.2/elf/elf.h Mon Aug 9 22:13:22 1999 +++ glibc-2.1.3/elf/elf.h Tue Feb 22 23:02:47 2000 @@ -989,7 +989,7 @@ typedef struct #define EF_MIPS_ARCH_4 0x30000000 /* -mips4 code. */ #define EF_MIPS_ARCH_5 0x40000000 /* -mips5 code. */ -/* The following are non-official names and should ot be used. */ +/* The following are non-official names and should not be used. */ #define E_MIPS_ARCH_1 0x00000000 /* -mips1 code. */ #define E_MIPS_ARCH_2 0x10000000 /* -mips2 code. */ diff -durpN glibc-2.1.2/elf/link.h glibc-2.1.3/elf/link.h --- glibc-2.1.2/elf/link.h Thu May 6 16:57:10 1999 +++ glibc-2.1.3/elf/link.h Mon Sep 13 10:25:28 1999 @@ -69,8 +69,9 @@ extern struct r_debug _r_debug; /* This symbol refers to the "dynamic structure" in the `.dynamic' section of whatever module refers to `_DYNAMIC'. So, to find its own `struct r_debug', a program could do: - for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL) - if (dyn->d_tag == DT_DEBUG) r_debug = (struct r_debug) dyn->d_un.d_ptr; + for (dyn = _DYNAMIC; dyn->d_tag != DT_NULL; ++dyn) + if (dyn->d_tag == DT_DEBUG) + r_debug = (struct r_debug *) dyn->d_un.d_ptr; */ extern ElfW(Dyn) _DYNAMIC[]; diff -durpN glibc-2.1.2/elf/rtld.c glibc-2.1.3/elf/rtld.c --- glibc-2.1.2/elf/rtld.c Fri Aug 20 10:34:38 1999 +++ glibc-2.1.3/elf/rtld.c Tue Feb 22 23:02:47 2000 @@ -1,5 +1,5 @@ /* Run time dynamic linker. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000 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 @@ -643,7 +643,7 @@ of this helper program; chances are you _dl_rtld_map.l_prev = _dl_loaded; /* We have two ways to specify objects to preload: via environment - variable and via the file /etc/ld.so.preload. The later can also + variable and via the file /etc/ld.so.preload. The latter can also be used when security is enabled. */ preloads = NULL; npreloads = 0; @@ -1035,7 +1035,7 @@ of this helper program; chances are you _dl_relocate_object might need to call `mprotect' for DT_TEXTREL. */ _dl_sysdep_start_cleanup (); - if (_dl_rtld_map.l_opencount > 0) + if (_dl_rtld_map.l_opencount > 1) { /* There was an explicit ref to the dynamic linker as a shared lib. Re-relocate ourselves with user-controlled symbol definitions. */ diff -durpN glibc-2.1.2/hurd/Versions glibc-2.1.3/hurd/Versions --- glibc-2.1.2/hurd/Versions Fri Dec 4 05:46:53 1998 +++ glibc-2.1.3/hurd/Versions Mon Nov 22 11:10:44 1999 @@ -107,4 +107,14 @@ libc { # s* seteuids; } + GLIBC_2.1.3 { + # c* + cthread_fork; cthread_detach; + + # d* + directory_name_split; + + # h* + hurd_directory_name_split; + } } diff -durpN glibc-2.1.2/hurd/dtable.c glibc-2.1.3/hurd/dtable.c --- glibc-2.1.2/hurd/dtable.c Mon May 26 15:18:50 1997 +++ glibc-2.1.3/hurd/dtable.c Mon Oct 4 12:47:47 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,95,96,97,99 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 @@ -107,18 +107,35 @@ text_set_element (_hurd_subinit, init_dt static file_t get_dtable_port (int fd) { + struct hurd_fd *d = _hurd_fd_get (fd); file_t dport; - int err = HURD_DPORT_USE (fd, __mach_port_mod_refs (__mach_task_self (), - (dport = port), - MACH_PORT_RIGHT_SEND, - 1)); - if (err) - { - errno = err; - return MACH_PORT_NULL; - } - else - return dport; + + if (!d) + return __hurd_fail (EBADF), MACH_PORT_NULL; + + HURD_CRITICAL_BEGIN; + + dport = HURD_PORT_USE (&d->port, + ({ + error_t err; + mach_port_t outport; + err = __mach_port_mod_refs (__mach_task_self (), + port, + MACH_PORT_RIGHT_SEND, + 1); + if (err) + { + errno = err; + outport = MACH_PORT_NULL; + } + else + outport = port; + outport; + })); + + HURD_CRITICAL_END; + + return dport; } file_t (*_hurd_getdport_fn) (int fd) = get_dtable_port; @@ -176,32 +193,46 @@ ctty_new_pgrp (void) HURD_CRITICAL_BEGIN; __mutex_lock (&_hurd_dtable_lock); - for (i = 0; i < _hurd_dtablesize; ++i) + if (__USEPORT (CTTYID, port == MACH_PORT_NULL)) { - struct hurd_fd *const d = _hurd_dtable[i]; - struct hurd_userlink ulink, ctty_ulink; - io_t port, ctty; + /* We have no controlling terminal. If we haven't had one recently, + but our pgrp is being pointlessly diddled anyway, then we will + have nothing to do in the loop below because no fd will have a + ctty port at all. - if (d == NULL) - /* Nothing to do for an unused descriptor cell. */ - continue; + More likely, a setsid call is responsible both for the change + in pgrp and for clearing the cttyid port. In that case, setsid + held the dtable lock while updating the dtable to clear all the + ctty ports, and ergo must have finished doing so before we run here. + So we can be sure, again, that the loop below has no work to do. */ + } + else + for (i = 0; i < _hurd_dtablesize; ++i) + { + struct hurd_fd *const d = _hurd_dtable[i]; + struct hurd_userlink ulink, ctty_ulink; + io_t port, ctty; - port = _hurd_port_get (&d->port, &ulink); - ctty = _hurd_port_get (&d->ctty, &ctty_ulink); + if (d == NULL) + /* Nothing to do for an unused descriptor cell. */ + continue; - if (ctty != MACH_PORT_NULL) - { - /* This fd has a ctty-special port. We need a new one, to tell - the io server of our different process group. */ - io_t new; - if (__term_open_ctty (port, _hurd_pid, _hurd_pgrp, &new)) - new = MACH_PORT_NULL; - _hurd_port_set (&d->ctty, new); - } + port = _hurd_port_get (&d->port, &ulink); + ctty = _hurd_port_get (&d->ctty, &ctty_ulink); - _hurd_port_free (&d->port, &ulink, port); - _hurd_port_free (&d->ctty, &ctty_ulink, ctty); - } + if (ctty != MACH_PORT_NULL) + { + /* This fd has a ctty-special port. We need a new one, to tell + the io server of our different process group. */ + io_t new; + if (__term_open_ctty (port, _hurd_pid, _hurd_pgrp, &new)) + new = MACH_PORT_NULL; + _hurd_port_set (&d->ctty, new); + } + + _hurd_port_free (&d->port, &ulink, port); + _hurd_port_free (&d->ctty, &ctty_ulink, ctty); + } __mutex_unlock (&_hurd_dtable_lock); HURD_CRITICAL_END; diff -durpN glibc-2.1.2/hurd/fd-read.c glibc-2.1.3/hurd/fd-read.c --- glibc-2.1.2/hurd/fd-read.c Fri Feb 14 20:26:40 1997 +++ glibc-2.1.3/hurd/fd-read.c Fri Feb 11 15:49:42 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1993,94,95,97,2000 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 @@ -35,11 +35,14 @@ _hurd_fd_read (struct hurd_fd *fd, void } data = buf; + nread = *nbytes; if (err = HURD_FD_PORT_USE (fd, _hurd_ctty_input (port, ctty, readfd))) return err; if (data != buf) { + if (nread > *nbytes) /* Server funny business, shouldn't happen. */ + *nbytes = nread; memcpy (buf, data, nread); __vm_deallocate (__mach_task_self (), (vm_address_t) data, nread); } diff -durpN glibc-2.1.2/hurd/hurd.h glibc-2.1.3/hurd/hurd.h --- glibc-2.1.2/hurd/hurd.h Sun Jul 18 16:26:28 1999 +++ glibc-2.1.3/hurd/hurd.h Mon Nov 15 16:24:58 1999 @@ -184,6 +184,12 @@ extern int seteuids (int __n, const uid_ extern file_t __file_name_split (const char *file, char **name); extern file_t file_name_split (const char *file, char **name); +/* Split DIRECTORY into a parent directory and a name within the directory. + This is the same as file_name_split, but ignores trailing slashes. */ + +extern file_t __directory_name_split (const char *file, char **name); +extern file_t directory_name_split (const char *file, char **name); + /* Open a port to FILE with the given FLAGS and MODE (see <fcntl.h>). The file lookup uses the current root and working directory. Returns a port to the file if successful; otherwise sets `errno' diff -durpN glibc-2.1.2/hurd/hurdfchdir.c glibc-2.1.3/hurd/hurdfchdir.c --- glibc-2.1.2/hurd/hurdfchdir.c Sat Feb 27 12:00:58 1999 +++ glibc-2.1.3/hurd/hurdfchdir.c Mon Oct 4 12:47:48 1999 @@ -27,17 +27,30 @@ int _hurd_change_directory_port_from_fd (struct hurd_port *portcell, int fd) { - error_t err; - file_t dir; + int ret; + struct hurd_fd *d = _hurd_fd_get (fd); - err = HURD_DPORT_USE (fd, - ({ - dir = __file_name_lookup_under (port, ".", 0, 0); - dir == MACH_PORT_NULL ? errno : 0; - })); + if (!d) + return __hurd_fail (EBADF); - if (! err) - _hurd_port_set (portcell, dir); + HURD_CRITICAL_BEGIN; - return err ? __hurd_fail (err) : 0; + ret = HURD_PORT_USE (&d->port, + ({ + int ret; + file_t dir = __file_name_lookup_under (port, ".", + 0, 0); + if (dir == MACH_PORT_NULL) + ret = -1; + else + { + _hurd_port_set (portcell, dir); + ret = 0; + } + ret; + })); + + HURD_CRITICAL_END; + + return ret; } diff -durpN glibc-2.1.2/hurd/hurdioctl.c glibc-2.1.3/hurd/hurdioctl.c --- glibc-2.1.2/hurd/hurdioctl.c Fri Feb 14 20:26:50 1997 +++ glibc-2.1.3/hurd/hurdioctl.c Mon Oct 4 12:47:49 1999 @@ -1,5 +1,5 @@ /* ioctl commands which must be done in the C library. - Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997, 1999 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 @@ -132,13 +132,39 @@ _HURD_HANDLE_IOCTLS (fioclex, FIOCLEX, F #include <hurd/term.h> #include <hurd/tioctl.h> -static void -rectty_dtable (mach_port_t cttyid) +/* Install a new CTTYID port, atomically updating the dtable appropriately. + This consumes the send right passed in. */ + +void +_hurd_locked_install_cttyid (mach_port_t cttyid) { + mach_port_t old; + struct hurd_port *const port = &_hurd_ports[INIT_PORT_CTTYID]; + struct hurd_userlink ulink; int i; - HURD_CRITICAL_BEGIN; - __mutex_lock (&_hurd_dtable_lock); + /* Install the new cttyid port, and preserve it with a ulink. + We unroll the _hurd_port_set + _hurd_port_get here so that + there is no window where the cell is unlocked and CTTYID could + be changed by another thread. (We also delay the deallocation + of the old port until the end, to minimize the duration of the + critical section.) + + It is important that changing the cttyid port is only ever done by + holding the dtable lock continuously while updating the port cell and + re-ctty'ing the dtable; dtable.c assumes we do this. Otherwise, the + pgrp-change notification code in dtable.c has to worry about racing + against us here in odd situations. The one exception to this is + setsid, which holds the dtable lock while changing the pgrp and + clearing the cttyid port, and then unlocks the dtable lock to allow + + + */ + + __spin_lock (&port->lock); + old = _hurd_userlink_clear (&port->users) ? port->port : MACH_PORT_NULL; + port->port = cttyid; + cttyid = _hurd_port_locked_get (port, &ulink); for (i = 0; i < _hurd_dtablesize; ++i) { @@ -178,6 +204,18 @@ rectty_dtable (mach_port_t cttyid) } __mutex_unlock (&_hurd_dtable_lock); + + if (old != MACH_PORT_NULL) + __mach_port_deallocate (__mach_task_self (), old); + _hurd_port_free (port, &ulink, cttyid); +} + +static void +install_ctty (mach_port_t cttyid) +{ + HURD_CRITICAL_BEGIN; + __mutex_lock (&_hurd_dtable_lock); + _hurd_locked_install_cttyid (cttyid); HURD_CRITICAL_END; } @@ -199,10 +237,7 @@ _hurd_setcttyid (mach_port_t cttyid) } /* Install the port, consuming the reference we just created. */ - _hurd_port_set (&_hurd_ports[INIT_PORT_CTTYID], cttyid); - - /* Reset all the ctty ports in all the descriptors. */ - __USEPORT (CTTYID, (rectty_dtable (cttyid), 0)); + install_ctty (cttyid); return 0; } @@ -233,10 +268,7 @@ tiocsctty (int fd, return __hurd_fail (err); /* Make it our own. */ - _hurd_port_set (&_hurd_ports[INIT_PORT_CTTYID], cttyid); - - /* Reset all the ctty ports in all the descriptors. */ - __USEPORT (CTTYID, (rectty_dtable (cttyid), 0)); + install_ctty (cttyid); return 0; } @@ -262,12 +294,8 @@ tiocnotty (int fd, if (err) return __hurd_fail (err); - /* Clear our cttyid port cell. */ - _hurd_port_set (&_hurd_ports[INIT_PORT_CTTYID], MACH_PORT_NULL); - - /* Reset all the ctty ports in all the descriptors. */ - - __USEPORT (CTTYID, (rectty_dtable (MACH_PORT_NULL), 0)); + /* Clear our cttyid port. */ + install_ctty (MACH_PORT_NULL); return 0; } diff -durpN glibc-2.1.2/hurd/hurdlookup.c glibc-2.1.3/hurd/hurdlookup.c --- glibc-2.1.2/hurd/hurdlookup.c Sun Mar 14 04:59:57 1999 +++ glibc-2.1.3/hurd/hurdlookup.c Fri Feb 11 15:49:42 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 93, 94, 95, 96, 97, 99 Free Software Foundation, Inc. +/* Copyright (C) 1992,93,94,95,96,97,99,2000 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 @@ -150,6 +150,15 @@ __hurd_file_name_lookup_retry (error_t ( lookup = __dir_lookup; nloops = 0; +#define CHECK_ELOOP do { \ + if (++nloops > SYMLOOP_MAX) \ + { \ + if (*result != MACH_PORT_NULL) \ + __mach_port_deallocate (__mach_task_self (), *result); \ + return ELOOP; \ + } \ + } while (0) + err = 0; do { @@ -164,11 +173,6 @@ __hurd_file_name_lookup_retry (error_t ( /* Fall through. */ case FS_RETRY_NORMAL: -#ifdef SYMLOOP_MAX - if (nloops++ >= SYMLOOP_MAX) - return ELOOP; -#endif - /* An empty RETRYNAME indicates we have the final port. */ if (retryname[0] == '\0' && /* If reauth'd, we must do one more retry on "" to give the new @@ -229,6 +233,8 @@ __hurd_file_name_lookup_retry (error_t ( return err; } + CHECK_ELOOP; + startdir = *result; file_name = retryname; break; @@ -237,6 +243,7 @@ __hurd_file_name_lookup_retry (error_t ( switch (retryname[0]) { case '/': + CHECK_ELOOP; dirport = INIT_PORT_CRDIR; if (*result != MACH_PORT_NULL) __mach_port_deallocate (__mach_task_self (), *result); @@ -282,6 +289,7 @@ __hurd_file_name_lookup_retry (error_t ( else { /* Do a normal retry on the remaining components. */ + CHECK_ELOOP; startdir = *result; file_name = end + 1; /* Skip the slash. */ break; @@ -315,6 +323,7 @@ __hurd_file_name_lookup_retry (error_t ( abort (); /* XXX write this right if this ever happens */ if (p > retryname) strcpy (retryname, p); + CHECK_ELOOP; startdir = *result; } else @@ -347,6 +356,7 @@ __hurd_file_name_lookup_retry (error_t ( case '/': if (err = opentty (&startdir)) return err; + CHECK_ELOOP; strcpy (retryname, &retryname[4]); break; default: @@ -429,6 +439,81 @@ __hurd_file_name_split (error_t (*use_in } weak_alias (__hurd_file_name_split, hurd_file_name_split) +/* This is the same as hurd_file_name_split, except that it ignores + trailing slashes (so *NAME is never ""). */ +error_t +__hurd_directory_name_split (error_t (*use_init_port) + (int which, error_t (*operate) (file_t)), + file_t (*get_dtable_port) (int fd), + error_t (*lookup) + (file_t dir, char *name, int flags, mode_t mode, + retry_type *do_retry, string_t retry_name, + mach_port_t *result), + const char *file_name, + file_t *dir, char **name) +{ + error_t addref (file_t crdir) + { + *dir = crdir; + return __mach_port_mod_refs (__mach_task_self (), + crdir, MACH_PORT_RIGHT_SEND, +1); + } + + const char *lastslash = strrchr (file_name, '/'); + + if (lastslash != NULL && lastslash[1] == '\0') + { + /* Trailing slash doesn't count. Look back further. */ + + /* Back up over all trailing slashes. */ + while (lastslash > file_name && *lastslash == '/') + --lastslash; + + /* Find the last one earlier in the string, before the trailing ones. */ +#if __GLIBC__ > 2 || __GLIBC_MINOR__ >= 2 + lastslash = __memrchr (file_name, '/', lastslash - file_name); +#else + /* Keep backing up, looking for a slash. */ + do + if (lastslash == file_name) + { + /* Hit the start with no slash. */ + lastslash = NULL; + break; + } + while (*lastslash-- != '/'); +#endif + } + + if (lastslash != NULL) + { + if (lastslash == file_name) + { + /* "/foobar" => crdir + "foobar". */ + *name = (char *) file_name + 1; + return (*use_init_port) (INIT_PORT_CRDIR, &addref); + } + else + { + /* "/dir1/dir2/.../file". */ + char dirname[lastslash - file_name + 1]; + memcpy (dirname, file_name, lastslash - file_name); + dirname[lastslash - file_name] = '\0'; + *name = (char *) lastslash + 1; + return + __hurd_file_name_lookup (use_init_port, get_dtable_port, lookup, + dirname, 0, 0, dir); + } + } + else + { + /* "foobar" => cwdir + "foobar". */ + *name = (char *) file_name; + return (*use_init_port) (INIT_PORT_CWDIR, &addref); + } +} +weak_alias (__hurd_directory_name_split, hurd_directory_name_split) + file_t __file_name_lookup (const char *file_name, int flags, mode_t mode) @@ -457,6 +542,19 @@ __file_name_split (const char *file_name return err ? (__hurd_fail (err), MACH_PORT_NULL) : result; } weak_alias (__file_name_split, file_name_split) + +file_t +__directory_name_split (const char *directory_name, char **name) +{ + error_t err; + file_t result; + + err = __hurd_directory_name_split (&_hurd_ports_use, &__getdport, 0, + directory_name, &result, name); + + return err ? (__hurd_fail (err), MACH_PORT_NULL) : result; +} +weak_alias (__directory_name_split, directory_name_split) file_t diff -durpN glibc-2.1.2/hurd/hurdselect.c glibc-2.1.3/hurd/hurdselect.c --- glibc-2.1.2/hurd/hurdselect.c Sat Feb 27 05:27:03 1999 +++ glibc-2.1.3/hurd/hurdselect.c Fri Feb 11 15:49:42 2000 @@ -1,5 +1,5 @@ /* Guts of both `select' and `poll' for Hurd. - Copyright (C) 1991,92,93,94,95,96,97,98, 99 Free Software Foundation, Inc. + Copyright (C) 1991,92,93,94,95,96,97,98,99,2000 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 @@ -60,7 +60,7 @@ _hurd_select (int nfds, mach_port_t io_port; int type; mach_port_t reply_port; - } d[nfds]; + } *d; sigset_t oset; if (sigmask && __sigprocmask (SIG_SETMASK, sigmask, &oset)) @@ -73,6 +73,8 @@ _hurd_select (int nfds, any locks. The second pass then only touches our own stack, and gets the port references. */ + d = __alloca (nfds * sizeof d[0]); + for (i = 0; i < nfds; ++i) if (pollfds[i].fd >= 0) { @@ -149,8 +151,14 @@ _hurd_select (int nfds, HURD_CRITICAL_BEGIN; __mutex_lock (&_hurd_dtable_lock); - if (nfds > _hurd_dtablesize) + if ((unsigned int) nfds > _hurd_dtablesize) nfds = _hurd_dtablesize; + + /* This allocation must be here so we can cap NFDS + to a reasonable bound beforehand. Some callers + might give us huge values for NFDS, and we would + try an unreasonable stack allocation. */ + d = __alloca (nfds * sizeof d[0]); /* Collect the ports for interesting FDs. */ firstfd = lastfd = -1; diff -durpN glibc-2.1.2/hurd/hurdsig.c glibc-2.1.3/hurd/hurdsig.c --- glibc-2.1.2/hurd/hurdsig.c Tue Aug 24 14:55:25 1999 +++ glibc-2.1.3/hurd/hurdsig.c Mon Nov 22 11:10:44 1999 @@ -1227,28 +1227,47 @@ _hurdsig_init (const int *intarray, size /* Start the signal thread listening on the message port. */ - err = __thread_create (__mach_task_self (), &_hurd_msgport_thread); - assert_perror (err); + if (__hurd_threadvar_stack_mask == 0) + { + err = __thread_create (__mach_task_self (), &_hurd_msgport_thread); + assert_perror (err); - stacksize = __vm_page_size * 8; /* Small stack for signal thread. */ - err = __mach_setup_thread (__mach_task_self (), _hurd_msgport_thread, - _hurd_msgport_receive, - (vm_address_t *) &__hurd_sigthread_stack_base, - &stacksize); - assert_perror (err); + stacksize = ~__hurd_threadvar_stack_mask + 1; + stacksize = __vm_page_size * 8; /* Small stack for signal thread. */ + err = __mach_setup_thread (__mach_task_self (), _hurd_msgport_thread, + _hurd_msgport_receive, + (vm_address_t *) &__hurd_sigthread_stack_base, + &stacksize); + assert_perror (err); - __hurd_sigthread_stack_end = __hurd_sigthread_stack_base + stacksize; - __hurd_sigthread_variables = - malloc (__hurd_threadvar_max * sizeof (unsigned long int)); - if (__hurd_sigthread_variables == NULL) - __libc_fatal ("hurd: Can't allocate thread variables for signal thread\n"); + __hurd_sigthread_stack_end = __hurd_sigthread_stack_base + stacksize; + __hurd_sigthread_variables = + malloc (__hurd_threadvar_max * sizeof (unsigned long int)); + if (__hurd_sigthread_variables == NULL) + __libc_fatal ("hurd: Can't allocate threadvars for signal thread\n"); - /* Reinitialize the MiG support routines so they will use a per-thread - variable for the cached reply port. */ - __mig_init ((void *) __hurd_sigthread_stack_base); + /* Reinitialize the MiG support routines so they will use a per-thread + variable for the cached reply port. */ + __mig_init ((void *) __hurd_sigthread_stack_base); - err = __thread_resume (_hurd_msgport_thread); - assert_perror (err); + err = __thread_resume (_hurd_msgport_thread); + assert_perror (err); + } + else + { + /* When cthreads is being used, we need to make the signal thread a + proper cthread. Otherwise it cannot use mutex_lock et al, which + will be the cthreads versions. Various of the message port RPC + handlers need to take locks, so we need to be able to call into + cthreads code and meet its assumptions about how our thread and + its stack are arranged. Since cthreads puts it there anyway, + we'll let the signal thread's per-thread variables be found as for + any normal cthread, and just leave the magic __hurd_sigthread_* + values all zero so they'll be ignored. */ +#pragma weak cthread_fork +#pragma weak cthread_detach + cthread_detach (cthread_fork ((cthread_fn_t) &_hurd_msgport_receive, 0)); + } /* Receive exceptions on the signal port. */ __task_set_special_port (__mach_task_self (), diff -durpN glibc-2.1.2/hurd/msgportdemux.c glibc-2.1.3/hurd/msgportdemux.c --- glibc-2.1.2/hurd/msgportdemux.c Fri Feb 14 20:27:00 1997 +++ glibc-2.1.3/hurd/msgportdemux.c Mon Nov 22 11:10:44 1999 @@ -1,5 +1,5 @@ /* Demux messages sent on the signal port. - Copyright (C) 1991, 1992, 1994, 1995, 1997 Free Software Foundation, Inc. + Copyright (C) 1991,92,94,95,97,99 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 @@ -57,8 +57,12 @@ _hurd_msgport_receive (void) { /* Get our own sigstate cached so we never again have to take a lock to fetch it. There is much code in hurdsig.c that operates with some - sigstate lock held, which will deadlock with _hurd_thread_sigstate. */ - (void) _hurd_self_sigstate (); + sigstate lock held, which will deadlock with _hurd_thread_sigstate. + + Furthermore, in the cthreads case this is the convenient spot + to initialize _hurd_msgport_thread (see hurdsig.c:_hurdsig_init). */ + + _hurd_msgport_thread = _hurd_self_sigstate ()->thread; while (1) (void) __mach_msg_server (msgport_server, __vm_page_size, _hurd_msgport); diff -durpN glibc-2.1.2/hurd/port2fd.c glibc-2.1.3/hurd/port2fd.c --- glibc-2.1.2/hurd/port2fd.c Tue Aug 24 14:55:30 1999 +++ glibc-2.1.3/hurd/port2fd.c Thu Sep 23 11:12:14 1999 @@ -27,46 +27,34 @@ D should be locked, and will not be unlocked. */ void -_hurd_port2fd (struct hurd_fd *d, io_t port, int flags) +_hurd_port2fd (struct hurd_fd *d, io_t dport, int flags) { - io_t ctty; mach_port_t cttyid; - int is_ctty = !(flags & O_IGNORE_CTTY) && ! __term_getctty (port, &cttyid); - - if (is_ctty) - { - /* This port is capable of being a controlling tty. - Is it ours? */ - struct hurd_port *const id = &_hurd_ports[INIT_PORT_CTTYID]; - __spin_lock (&id->lock); - if (id->port == MACH_PORT_NULL) - /* We have no controlling tty, so make this one it. */ - _hurd_port_locked_set (id, cttyid); - else - { - if (cttyid != id->port) - /* We have a controlling tty and this is not it. */ - is_ctty = 0; - /* Either we don't want CTTYID, or ID->port already is it. - So we don't need to change ID->port, and we can release - the reference to CTTYID. */ - __spin_unlock (&id->lock); - __mach_port_deallocate (__mach_task_self (), cttyid); - } - } + io_t ctty = MACH_PORT_NULL; - if (!is_ctty || __term_open_ctty (port, _hurd_pid, _hurd_pgrp, &ctty) != 0) - /* XXX if IS_CTTY, then this port is our ctty, but we are - not doing ctty style i/o because term_become_ctty barfed. - What to do? */ - /* No ctty magic happening here. */ - ctty = MACH_PORT_NULL; + if (!(flags & O_IGNORE_CTTY)) + __USEPORT (CTTYID, + ({ + if (port != MACH_PORT_NULL && /* Do we have a ctty? */ + ! __term_getctty (dport, &cttyid)) /* Could this be it? */ + { + __mach_port_deallocate (__mach_task_self (), cttyid); + /* This port is capable of being a controlling tty. + Is it ours? */ + if (cttyid == port) + __term_open_ctty (dport, _hurd_pid, _hurd_pgrp, &ctty); + /* XXX if this port is our ctty, but we are not doing + ctty style i/o because term_become_ctty barfed, + what to do? */ + } + 0; + })); /* Install PORT in the descriptor cell, leaving it locked. */ { mach_port_t old = _hurd_userlink_clear (&d->port.users) ? d->port.port : MACH_PORT_NULL; - d->port.port = port; + d->port.port = dport; d->flags = 0; if (old != MACH_PORT_NULL) __mach_port_deallocate (__mach_task_self (), old); diff -durpN glibc-2.1.2/hurd/report-wait.c glibc-2.1.3/hurd/report-wait.c --- glibc-2.1.2/hurd/report-wait.c Sun Feb 23 14:09:11 1997 +++ glibc-2.1.3/hurd/report-wait.c Mon Nov 22 11:10:44 1999 @@ -1,5 +1,5 @@ /* Report on what a thread in our task is waiting for. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999 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 @@ -26,51 +26,57 @@ #include "thread_state.h" #include "intr-msg.h" -static void -describe_number (string_t description, const char *flavor, unsigned long int i) +static char * +describe_number (string_t description, const char *flavor, long int i) { unsigned long int j; - char *p = __stpcpy (description, flavor); + char *p = flavor ? description : __stpcpy (description, flavor); + char *end; + + /* Handle sign. */ + if (i < 0) + { + i = -i; + *p++ = '-'; + } /* Allocate space for the number at the end of DESCRIPTION. */ for (j = i; j >= 10; j /= 10) p++; - p[1] = '\0'; + end = p + 1; + *end = '\0'; do { *p-- = '0' + i % 10; i /= 10; } while (i != 0); - assert (*p == '#'); + + return end; } -static void +static char * describe_port (string_t description, mach_port_t port) { int i; + if (port == MACH_PORT_NULL) + return __stpcpy (description, "(null)"); + if (port == MACH_PORT_DEAD) + return __stpcpy (description, "(dead)"); + if (port == __mach_task_self ()) - { - strcpy (description, "task-self"); - return; - } + return __stpcpy (description, "task-self"); for (i = 0; i < _hurd_nports; ++i) if (port == _hurd_ports[i].port) - { - describe_number (description, "init#", i); - return; - } + return describe_number (description, "init#", i); if (_hurd_init_dtable) { for (i = 0; i < _hurd_init_dtablesize; ++i) if (port == _hurd_init_dtable[i]) - { - describe_number (description, "fd#", i); - return; - } + return describe_number (description, "fd#", i); } else if (_hurd_dtable) { @@ -78,18 +84,12 @@ describe_port (string_t description, mac if (_hurd_dtable[i] == NULL) continue; else if (port == _hurd_dtable[i]->port.port) - { - describe_number (description, "fd#", i); - return; - } + return describe_number (description, "fd#", i); else if (port == _hurd_dtable[i]->ctty.port) - { - describe_number (description, "bgfd#", i); - return; - } + return describe_number (description, "bgfd#", i); } - describe_number (description, "port#", port); + return describe_number (description, "port#", port); } @@ -112,7 +112,7 @@ _S_msg_report_wait (mach_port_t msgport, if (thread == _hurd_msgport_thread) /* Cute. */ strcpy (description, "msgport"); - else if (&_hurd_msgport_thread && thread == _hurd_itimer_thread) + else if (&_hurd_itimer_thread && thread == _hurd_itimer_thread) strcpy (description, "itimer"); else { @@ -146,12 +146,68 @@ _S_msg_report_wait (mach_port_t msgport, assert (count == MACHINE_THREAD_STATE_COUNT); if (SYSCALL_EXAMINE (&state, msgid)) { + mach_port_t send_port, rcv_port; + mach_msg_option_t option; + mach_msg_timeout_t timeout; + /* Blocked in a system call. */ - if (*msgid == -25) - /* mach_msg system call. Examine its parameters. */ - describe_port (description, MSG_EXAMINE (&state, msgid)); - else - strcpy (description, "kernel"); + if (*msgid == -25 + /* mach_msg system call. Examine its parameters. */ + && MSG_EXAMINE (&state, msgid, &send_port, &rcv_port, + &option, &timeout) == 0) + { + char *p; + if (send_port != MACH_PORT_NULL && *msgid != 0) + { + /* For the normal case of RPCs, we consider the + destination port to be the interesting thing + whether we are in fact sending or receiving at the + moment. That tells us who we are waiting for the + reply from. */ + if (send_port == ss->intr_port) + { + /* This is a Hurd interruptible RPC. + Mark it by surrounding the port description + string with [...] brackets. */ + description[0] = '['; + p = describe_port (description + 1, send_port); + *p++ = ']'; + *p = '\0'; + } + else + (void) describe_port (description, send_port); + } + else if (rcv_port != MACH_PORT_NULL) + { + /* This system call had no send port, but had a + receive port. The msgid we extracted is then just + some garbage or perhaps the msgid of the last + message this thread received, but it's not a + helpful thing to return. */ + strcpy (describe_port (description, rcv_port), ":rcv"); + *msgid = 0; + } + else if ((option & (MACH_RCV_MSG|MACH_RCV_TIMEOUT)) + == (MACH_RCV_MSG|MACH_RCV_TIMEOUT)) + { + /* A receive with no valid port can be used for a + pure timeout. Report the timeout value (counted + in milliseconds); note this is the original total + time, not the time remaining. */ + strcpy (describe_number (description, 0, timeout), "ms"); + *msgid = 0; + } + else + { + strcpy (description, "mach_msg"); + *msgid = 0; + } + } + else /* Some other system call. */ + { + (void) describe_number (description, "syscall#", *msgid); + *msgid = 0; + } } else description[0] = '\0'; diff -durpN glibc-2.1.2/hurd/set-host.c glibc-2.1.3/hurd/set-host.c --- glibc-2.1.2/hurd/set-host.c Sun May 23 12:18:19 1999 +++ glibc-2.1.3/hurd/set-host.c Fri Feb 11 15:49:42 2000 @@ -1,5 +1,5 @@ /* Set a host configuration item kept as the whole contents of a file. - Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1996,97,99,2000 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 @@ -33,8 +33,9 @@ _hurd_set_host_config (const char *item, if (dir == MACH_PORT_NULL) return -1; - /* Create a new node. */ - err = __dir_mkfile (dir, O_CREAT|O_TRUNC, 0644, &new); + /* Create a new node. + Only O_READ|O_WRITE|O_EXEC are meaningful in FLAGS. */ + err = __dir_mkfile (dir, O_WRITE, 0644, &new); if (! err) { /* Write the contents. */ diff -durpN glibc-2.1.2/iconv/gconv.c glibc-2.1.3/iconv/gconv.c --- glibc-2.1.2/iconv/gconv.c Mon Mar 15 22:01:12 1999 +++ glibc-2.1.3/iconv/gconv.c Tue Dec 21 15:51:19 1999 @@ -27,8 +27,9 @@ int internal_function -__gconv (gconv_t cd, const unsigned char **inbuf, const unsigned char *inbufend, - unsigned char **outbuf, unsigned char *outbufend, size_t *converted) +__gconv (gconv_t cd, const unsigned char **inbuf, + const unsigned char *inbufend, unsigned char **outbuf, + unsigned char *outbufend, size_t *converted) { size_t last_step = cd->nsteps - 1; int result; @@ -39,6 +40,9 @@ __gconv (gconv_t cd, const unsigned char assert (converted != NULL); *converted = 0; + cd->data[last_step].outbuf = outbuf != NULL ? *outbuf : NULL; + cd->data[last_step].outbufend = outbufend; + if (inbuf == NULL || *inbuf == NULL) /* We just flush. */ result = _CALL_DL_FCT (cd->steps->fct, @@ -48,8 +52,6 @@ __gconv (gconv_t cd, const unsigned char const unsigned char *last_start; assert (outbuf != NULL && *outbuf != NULL); - cd->data[last_step].outbuf = *outbuf; - cd->data[last_step].outbufend = outbufend; do { diff -durpN glibc-2.1.2/iconv/gconv_db.c glibc-2.1.3/iconv/gconv_db.c --- glibc-2.1.2/iconv/gconv_db.c Wed Apr 28 14:41:24 1999 +++ glibc-2.1.3/iconv/gconv_db.c Thu Dec 9 10:56:50 1999 @@ -222,7 +222,7 @@ gen_steps (struct derivation_step *best, result[step_cnt].shlib_handle = shlib_handle; result[step_cnt].modname = shlib_handle->name; - result[step_cnt].counter = 0; + result[step_cnt].counter = 1; result[step_cnt].fct = shlib_handle->fct; result[step_cnt].init_fct = shlib_handle->init_fct; result[step_cnt].end_fct = shlib_handle->end_fct; @@ -281,6 +281,35 @@ gen_steps (struct derivation_step *best, } +#ifndef STATIC_GCONV +static int +internal_function +increment_counter (struct gconv_step *steps, size_t nsteps) +{ + /* Increment the user counter. */ + size_t cnt = nsteps; + int result = GCONV_OK; + + while (cnt-- > 0) + if (steps[cnt].counter++ == 0) + { + steps[cnt].shlib_handle = + __gconv_find_shlib (steps[cnt].modname); + if (steps[cnt].shlib_handle == NULL) + { + /* Oops, this is the second time we use this module (after + unloading) and this time loading failed!? */ + while (++cnt < nsteps) + __gconv_release_shlib (steps[cnt].shlib_handle); + result = GCONV_NOCONV; + break; + } + } + return result; +} +#endif + + /* The main function: find a possible derivation from the `fromset' (either the given name or the alias) to the `toset' (again with alias). */ static int @@ -289,19 +318,11 @@ find_derivation (const char *toset, cons const char *fromset, const char *fromset_expand, struct gconv_step **handle, size_t *nsteps) { - __libc_lock_define_initialized (static, lock) struct derivation_step *first, *current, **lastp, *solution = NULL; int best_cost_hi = INT_MAX; int best_cost_lo = INT_MAX; int result; - result = derivation_lookup (fromset_expand ?: fromset, toset_expand ?: toset, - handle, nsteps); - if (result == GCONV_OK) - return result; - - __libc_lock_lock (lock); - /* There is a small chance that this derivation is meanwhile found. This can happen if in `find_derivation' we look for this derivation, didn't find it but at the same time another thread looked for this derivation. */ @@ -309,7 +330,9 @@ find_derivation (const char *toset, cons handle, nsteps); if (result == GCONV_OK) { - __libc_lock_unlock (lock); +#ifndef STATIC_GCONV + result = increment_counter (*handle, *nsteps); +#endif return result; } @@ -603,8 +626,6 @@ find_derivation (const char *toset, cons /* Add result in any case to list of known derivations. */ add_derivation (fromset_expand ?: fromset, toset_expand ?: toset, *handle, *nsteps); - - __libc_lock_unlock (lock); return result; } diff -durpN glibc-2.1.2/iconv/gconv_dl.c glibc-2.1.3/iconv/gconv_dl.c --- glibc-2.1.2/iconv/gconv_dl.c Wed May 5 16:26:38 1999 +++ glibc-2.1.3/iconv/gconv_dl.c Thu Dec 9 10:56:50 1999 @@ -55,7 +55,7 @@ known_compare (const void *p1, const voi const struct gconv_loaded_object *s2 = (const struct gconv_loaded_object *) p2; - return (intptr_t) s1->handle - (intptr_t) s2->handle; + return strcmp (s1->name, s2->name); } diff -durpN glibc-2.1.2/iconv/gconv_int.h glibc-2.1.3/iconv/gconv_int.h --- glibc-2.1.2/iconv/gconv_int.h Sat Apr 24 15:57:17 1999 +++ glibc-2.1.3/iconv/gconv_int.h Tue Jan 25 20:08:48 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -104,8 +104,8 @@ extern int __gconv_close (gconv_t cd) /* Transform at most *INBYTESLEFT bytes from buffer starting at *INBUF according to rules described by CD and place up to *OUTBYTESLEFT - bytes in buffer starting at *OUTBUF. Return number of written - characters in *CONVERTED if this pointer is not null. */ + bytes in buffer starting at *OUTBUF. Return number of non-identical + conversions in *CONVERTED if this pointer is not null. */ extern int __gconv (gconv_t __cd, const unsigned char **__inbuf, const unsigned char *inbufend, unsigned char **__outbuf, unsigned char *outbufend, size_t *converted) diff -durpN glibc-2.1.2/iconv/gconv_open.c glibc-2.1.3/iconv/gconv_open.c --- glibc-2.1.2/iconv/gconv_open.c Wed Apr 28 14:42:24 1999 +++ glibc-2.1.3/iconv/gconv_open.c Tue Feb 22 23:02:48 2000 @@ -1,5 +1,5 @@ /* Find matching transformation algorithms and initialize steps. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -53,7 +53,7 @@ __gconv_open (const char *toset, const c nsteps * sizeof (struct gconv_step_data)); /* Call all initialization functions for the transformation - step implemenations. */ + step implementations. */ for (cnt = 0; cnt < nsteps; ++cnt) { /* If this is the last step we must not allocate an diff -durpN glibc-2.1.2/iconv/gconv_simple.c glibc-2.1.3/iconv/gconv_simple.c --- glibc-2.1.2/iconv/gconv_simple.c Sat Apr 24 15:58:06 1999 +++ glibc-2.1.3/iconv/gconv_simple.c Tue Jan 25 20:08:48 2000 @@ -1,5 +1,5 @@ /* Simple transformations functions. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -255,8 +255,11 @@ internal_ucs4_loop (const unsigned char } \ else \ { \ - if ((ch & 0xe0) == 0xc0) \ + if (ch >= 0xc2 && ch < 0xe0) \ { \ + /* We expect two bytes. The first byte cannot be 0xc0 or 0xc1, \ + otherwise the wide character could have been represented \ + using a single byte. */ \ cnt = 2; \ ch &= 0x1f; \ } \ diff -durpN glibc-2.1.2/iconv/iconv.c glibc-2.1.3/iconv/iconv.c --- glibc-2.1.2/iconv/iconv.c Mon Mar 15 15:57:20 1999 +++ glibc-2.1.3/iconv/iconv.c Tue Dec 21 15:51:19 1999 @@ -38,9 +38,12 @@ iconv (iconv_t cd, const char **inbuf, s if (inbuf == NULL || *inbuf == NULL) { - result = __gconv (gcd, NULL, NULL, (unsigned char **) outbuf, - (unsigned char *) (outstart + *outbytesleft), - &converted); + if (outbuf == NULL || *outbuf == NULL) + result = __gconv (gcd, NULL, NULL, NULL, NULL, &converted); + else + result = __gconv (gcd, NULL, NULL, (unsigned char **) outbuf, + (unsigned char *) (outstart + *outbytesleft), + &converted); } else { diff -durpN glibc-2.1.2/iconv/iconv.h glibc-2.1.3/iconv/iconv.h --- glibc-2.1.2/iconv/iconv.h Fri Dec 4 12:54:03 1998 +++ glibc-2.1.3/iconv/iconv.h Tue Feb 22 23:02:48 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2000 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 @@ -38,7 +38,7 @@ extern iconv_t iconv_open __P ((__const /* Convert at most *INBYTESLEFT bytes from *INBUF according to the code conversion algorithm specified by CD and place up to *OUTBYTESLEFT bytes in buffer at *OUTBUF. */ -extern size_t iconv __P ((iconv_t cd, +extern size_t iconv __P ((iconv_t __cd, __const char **__restrict __inbuf, size_t *__restrict __inbytesleft, char **__restrict __outbuf, diff -durpN glibc-2.1.2/iconv/iconv_prog.c glibc-2.1.3/iconv/iconv_prog.c --- glibc-2.1.2/iconv/iconv_prog.c Mon Jan 18 15:11:06 1999 +++ glibc-2.1.3/iconv/iconv_prog.c Wed Jan 5 17:45:10 2000 @@ -319,6 +319,8 @@ process_block (iconv_t cd, const char *a if (outptr != outbuf) { /* We have something to write out. */ + int errno_save = errno; + if (fwrite (outbuf, 1, outptr - outbuf, output) < outptr - outbuf || ferror (output)) { @@ -327,11 +329,37 @@ process_block (iconv_t cd, const char *a conversion stopped due to problem in writing the output")); return -1; } + + errno = errno_save; } if (n != (size_t) -1) - /* Everything is processed. */ - break; + { + /* All the input test is processed. For state-dependent + character sets we have to flush the state now. */ + outptr = outbuf; + outlen = OUTBUF_SIZE; + n = iconv (cd, NULL, NULL, &outptr, &outlen); + + if (outptr != outbuf) + { + /* We have something to write out. */ + int errno_save = errno; + + if (fwrite (outbuf, 1, outptr - outbuf, output) < outptr - outbuf + || ferror (output)) + { + /* Error occurred while printing the result. */ + error (0, 0, _("\ +conversion stopped due to problem in writing the output")); + return -1; + } + + errno = errno_save; + } + + break; + } if (errno != E2BIG) { @@ -340,7 +368,7 @@ conversion stopped due to problem in wri { case EILSEQ: error (0, 0, _("illegal input sequence at position %ld"), - addr - start); + (long) (addr - start)); break; case EINVAL: error (0, 0, _("\ diff -durpN glibc-2.1.2/iconv/loop.c glibc-2.1.3/iconv/loop.c --- glibc-2.1.2/iconv/loop.c Thu May 21 08:31:28 1998 +++ glibc-2.1.3/iconv/loop.c Thu Feb 24 11:19:01 2000 @@ -1,5 +1,5 @@ /* Conversion loop frame work. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -36,11 +36,6 @@ the name is `loop' but this prevents the use of multiple functions in the same file. - COUNT_CONVERTED optional macro which is used to count the actual - number of characters converted. For some conversion - it is easy to compute the value afterwards, but for - others explicit counting is cheaper. - BODY this is supposed to expand to the body of the loop. The user must provide this. @@ -51,10 +46,11 @@ */ #include <gconv.h> -#include <sys/param.h> /* For MIN. */ #define __need_size_t #include <stddef.h> +#define MIN(a,b) (((a)<(b))?(a):(b)) + /* We need at least one byte for the next round. */ #ifndef MIN_NEEDED_INPUT @@ -86,30 +82,6 @@ # error "Definition of BODY missing for function" LOOPFCT #endif -/* We can calculate the number of converted characters easily if one - of the character sets has a fixed width. */ -#ifndef COUNT_CONVERTED -# if MIN_NEEDED_INPUT == MAX_NEEDED_INPUT -# if MIN_NEEDED_OUTPUT == MAX_NEEDED_OUTPUT -/* Decide whether one of the charsets has size 1. */ -# if MIN_NEEDED_INPUT == 1 -# define COUNT_CONVERTED (inptr - *inptrp) -# elif MIN_NEEDED_OUTPUT == 1 -# define COUNT_CONVERTED (outptr - *outptrp) -# else -/* Else we should see whether one of the two numbers is a power of 2. */ -# define COUNT_CONVERTED \ - ((MIN_NEEDED_INPUT & (-MIN_NEEDED_INPUT)) == MIN_NEEDED_INPUT \ - ? (inptr - *inptrp) : (outptr - *outptrp)) -# endif -# else -# define COUNT_CONVERTED ((inptr - *inptrp) / MIN_NEEDED_INPUT) -# endif -# elif MIN_NEEDED_OUTPUT == MAX_NEEDED_OUTPUT -# define COUNT_CONVERTED ((outptr - *outptrp) / MIN_NEEDED_OUTPUT) -# endif -#endif - /* If no arguments have to passed to the loop function define the macro as empty. */ @@ -127,9 +99,6 @@ LOOPFCT (const unsigned char **inptrp, c int result = GCONV_OK; const unsigned char *inptr = *inptrp; unsigned char *outptr = *outptrp; -#ifndef COUNT_CONVERTED - size_t done = 0; -#endif /* We run one loop where we avoid checks for underflow/overflow of the buffers to speed up the conversion a bit. */ @@ -150,11 +119,6 @@ LOOPFCT (const unsigned char **inptrp, c vary in size), GCONV_ILLEGAL_INPUT, or GCONV_FULL_OUTPUT (if the output characters vary in size. */ BODY - - /* If necessary count the successful conversion. */ -#ifndef COUNT_CONVERTED - ++done; -#endif } if (result == GCONV_OK) @@ -204,22 +168,10 @@ LOOPFCT (const unsigned char **inptrp, c input characters vary in size), GCONV_ILLEGAL_INPUT, or GCONV_FULL_OUTPUT (if the output characters vary in size). */ BODY - - /* If necessary count the successful conversion. */ -# ifndef COUNT_CONVERTED - ++done; -# endif } #endif /* Input and output charset are not both fixed width. */ } - /* Add the number of characters we actually converted. */ -#ifdef COUNT_CONVERTED - *converted += COUNT_CONVERTED; -#else - *converted += done; -#endif - /* Update the pointers pointed to by the parameters. */ *inptrp = inptr; *outptrp = outptr; @@ -238,7 +190,6 @@ LOOPFCT (const unsigned char **inptrp, c #undef MIN_NEEDED_OUTPUT #undef MAX_NEEDED_OUTPUT #undef LOOPFCT -#undef COUNT_CONVERTED #undef BODY #undef LOOPFCT #undef EXTRA_LOOP_DECLS diff -durpN glibc-2.1.2/iconv/skeleton.c glibc-2.1.3/iconv/skeleton.c --- glibc-2.1.2/iconv/skeleton.c Mon Mar 15 12:35:01 1999 +++ glibc-2.1.3/iconv/skeleton.c Thu Jan 20 17:40:16 2000 @@ -1,5 +1,5 @@ /* Skeleton for a conversion module. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -201,7 +201,7 @@ FUNCTION_NAME (struct gconv_step *step, { struct gconv_step *next_step = step + 1; struct gconv_step_data *next_data = data + 1; - gconv_fct fct = next_step->fct; + gconv_fct fct = data->is_last ? NULL : next_step->fct; int status; /* If the function is called with no input this means we have to reset @@ -266,7 +266,7 @@ FUNCTION_NAME (struct gconv_step *step, /* Store information about how many bytes are available. */ data->outbuf = outbuf; - /* Remember how many characters we converted. */ + /* Remember how many non-identical characters we converted. */ *written += converted; break; diff -durpN glibc-2.1.2/iconvdata/Makefile glibc-2.1.3/iconvdata/Makefile --- glibc-2.1.2/iconvdata/Makefile Tue Jul 27 20:49:48 1999 +++ glibc-2.1.3/iconvdata/Makefile Mon Jan 3 13:10:15 2000 @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 1999, 2000 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 @@ -39,12 +39,12 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 IBM862 IBM863 IBM864 IBM865 IBM868 IBM869 IBM875 IBM880 \ IBM866 CP1258 \ IBM918 IBM1004 IBM1026 CP1250 CP1251 CP1252 CP1253 CP1254 \ - CP1255 CP1256 CP1257 ISO-2022-JP MACINTOSH IEC_P27-1 BALTIC \ + CP1255 CP1256 CP1257 ISO-2022-JP MACINTOSH IEC_P27-1 \ ASMO_449 ANSI_X3.110 CSN_369103 CWI DEC-MCS ECMA-CYRILLIC \ GOST_19768-74 GREEK-CCITT GREEK7 GREEK7-OLD INIS INIS-8 \ INIS-CYRILLIC ISO_6937-2 ISO_2033 ISO_5427 ISO_5427-EXT \ ISO_5428 ISO_10367-BOX MAC-IS MAC-UK NATS-DANO NATS-SEFI \ - SAMI-WS2 ISO-IR-197 TIS-620 KOI8-U + SAMI-WS2 ISO-IR-197 TIS-620 KOI8-U GBK ISIRI-3342 modules.so := $(addsuffix .so, $(modules)) @@ -83,7 +83,7 @@ distribute := gconv-modules extra-module gen-8bit.sh gen-8bit-gap.sh gen-8bit-gap-1.sh \ TESTS $(filter-out testdata/CVS%,$(wildcard testdata/*)) \ run-iconv-test.sh 8bit-generic.c 8bit-gap.c \ - ansi_x3.110.c asmo_449.c baltic.c big5.c cp737.c cp737.h \ + ansi_x3.110.c asmo_449.c big5.c cp737.c cp737.h \ cp775.c cp775.h ibm874.c cns11643.c cns11643.h \ cns11643l1.c cns11643l1.h cp1250.c cp1251.c cp1252.c cp1253.c \ cp1254.c cp1255.c cp1256.c cp1257.c cp1258.c \ @@ -92,7 +92,7 @@ distribute := gconv-modules extra-module ebcdic-es-a.c ebcdic-es-s.c ebcdic-fr.c ebcdic-fi-se.c \ ebcdic-fi-se-a.c ebcdic-is-friss.c ebcdic-it.c ebcdic-pt.c \ ebcdic-uk.c ebcdic-us.c ecma-cyrillic.c euc-cn.c euc-jp.c \ - euc-kr.c euc-tw.c gb2312.c gb2312.h gost_19768-74.c \ + euc-kr.c euc-tw.c gb2312.c gbk.c gb2312.h gost_19768-74.c \ greek-ccitt.c greek7.c greek7-old.c hp-roman8.c ibm037.c \ ibm038.c ibm256.c ibm273.c ibm274.c ibm275.c ibm277.c \ ibm278.c ibm280.c ibm281.c ibm284.c ibm285.c ibm290.c \ @@ -111,7 +111,8 @@ distribute := gconv-modules extra-module jis0208.c jis0208.h jis0212.c jis0212.h johab.c koi-8.c \ koi8-r.c ksc5601.c ksc5601.h latin-greek.c latin-greek-1.c \ macintosh.c mac-is.c mac-uk.c nats-dano.c nats-sefi.c sjis.c \ - t.61.c uhc.c sami-ws2.c iso-ir-197.c tis-620.c koi8-u.c + t.61.c uhc.c sami-ws2.c iso-ir-197.c tis-620.c koi8-u.c \ + isiri-3342.c # We build the transformation modules only when we build shared libs. ifeq (yes,$(build-shared)) @@ -145,13 +146,13 @@ gen-8bit-gap-modules := koi8-r latin-gre ibm865 ibm868 ibm869 ibm875 ibm880 ibm918 ibm1004 \ ibm1026 cp1250 cp1251 cp1252 cp1253 cp1254 cp1255 \ cp1256 cp1257 ibm866 iso8859-5 iso8859-7 iso8859-8 \ - iso8859-10 macintosh iec_p27-1 baltic asmo_449 \ + iso8859-10 macintosh iec_p27-1 asmo_449 \ csn_369103 cwi dec-mcs ecma-cyrillic gost_19768-74 \ greek-ccitt greek7 greek7-old inis inis-8 \ inis-cyrillic iso_2033 iso_5427 iso_5427-ext \ iso_5428 iso_10367-box mac-is nats-dano nats-sefi \ iso8859-13 iso8859-14 iso8859-15 mac-uk sami-ws2 \ - iso-ir-197 cp1258 tis-620 koi8-u ibm874 + iso-ir-197 cp1258 tis-620 koi8-u ibm874 isiri-3342 gen-special-modules := iso8859-7jp diff -durpN glibc-2.1.2/iconvdata/ansi_x3.110.c glibc-2.1.3/iconvdata/ansi_x3.110.c --- glibc-2.1.2/iconvdata/ansi_x3.110.c Fri Sep 11 05:09:23 1998 +++ glibc-2.1.3/iconvdata/ansi_x3.110.c Thu Dec 9 10:56:51 1999 @@ -1,5 +1,5 @@ /* Generic conversion to and from ANSI_X3.110-1983. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -399,6 +399,7 @@ static const char from_ucs4[][2] = #define BODY \ { \ uint32_t ch = *inptr; \ + int incr; \ \ if (ch >= 0xc1 && ch <= 0xcf) \ { \ @@ -424,12 +425,12 @@ static const char from_ucs4[][2] = \ ch = to_ucs4_comb[ch - 0xc1][ch2 - 0x20]; \ \ - inptr += 2; \ + incr = 2; \ } \ else \ { \ ch = to_ucs4[ch]; \ - ++inptr; \ + incr = 1; \ } \ \ if (ch == 0 && *inptr != '\0') \ @@ -439,6 +440,7 @@ static const char from_ucs4[][2] = break; \ } \ \ + inptr += incr; \ *((uint32_t *) outptr)++ = ch; \ } #include <iconv/loop.c> diff -durpN glibc-2.1.2/iconvdata/baltic.c glibc-2.1.3/iconvdata/baltic.c --- glibc-2.1.2/iconvdata/baltic.c Fri Sep 11 05:09:43 1998 +++ glibc-2.1.3/iconvdata/baltic.c Wed Dec 31 16:00:00 1969 @@ -1,29 +0,0 @@ -/* Conversion from and to BALTIC. - Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. - - 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 <stdint.h> - -/* Get the conversion table. */ -#define TABLES <baltic.h> - -#define CHARSET_NAME "BALTIC//" -#define HAS_HOLES 0 /* All 256 character are defined. */ - -#include <8bit-gap.c> diff -durpN glibc-2.1.2/iconvdata/ecma-cyrillic.c glibc-2.1.3/iconvdata/ecma-cyrillic.c --- glibc-2.1.2/iconvdata/ecma-cyrillic.c Fri Sep 11 08:52:42 1998 +++ glibc-2.1.3/iconvdata/ecma-cyrillic.c Thu Dec 9 10:56:51 1999 @@ -1,5 +1,5 @@ /* Conversion from and to ECMA-CYRILLIC. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -23,7 +23,7 @@ /* Get the conversion table. */ #define TABLES <ecma-cyrillic.h> -#define CHARSET_NAME "ECMS-CYRILLIC//" +#define CHARSET_NAME "ECMA-CYRILLIC//" #define HAS_HOLES 0 /* All 256 character are defined. */ #include <8bit-gap.c> diff -durpN glibc-2.1.2/iconvdata/gb2312.c glibc-2.1.3/iconvdata/gb2312.c --- glibc-2.1.2/iconvdata/gb2312.c Mon Apr 20 11:39:58 1998 +++ glibc-2.1.3/iconvdata/gb2312.c Tue Dec 28 14:04:25 1999 @@ -1,5 +1,5 @@ /* GB 2312 conversion tables. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -44,7 +44,7 @@ const uint16_t __gb2312_to_ucs[] = { [0x0000] = 0x3000, [0x0001] = 0x3001, [0x0002] = 0x3002, [0x0003] = 0x30fb, [0x0004] = 0x02c9, [0x0005] = 0x02c7, [0x0006] = 0x00a8, [0x0007] = 0x3003, - [0x0008] = 0x3005, [0x0009] = 0x2015, [0x000a] = 0xff5e, [0x000b] = 0x2225, + [0x0008] = 0x3005, [0x0009] = 0x2015, [0x000a] = 0xff5e, [0x000b] = 0x2016, [0x000c] = 0x2026, [0x000d] = 0x2018, [0x000e] = 0x2019, [0x000f] = 0x201c, [0x0010] = 0x201d, [0x0011] = 0x3014, [0x0012] = 0x3015, [0x0013] = 0x3008, [0x0014] = 0x3009, [0x0015] = 0x300a, [0x0016] = 0x300b, [0x0017] = 0x300c, @@ -2029,10 +2029,10 @@ const char __gb2312_from_ucs4_tab3[][2] */ const char __gb2312_from_ucs4_tab4[][2] = { - [0x0000] = "\x21\x2a", [0x0003] = "\x21\x2e", [0x0004] = "\x21\x2f", - [0x0007] = "\x21\x30", [0x0008] = "\x21\x31", [0x0011] = "\x21\x2d", - [0x001b] = "\x21\x6b", [0x001d] = "\x21\x64", [0x001e] = "\x21\x65", - [0x0026] = "\x21\x79", + [0x0000] = "\x21\x2a", [0x0001] = "\x21\x2c", [0x0003] = "\x21\x2e", + [0x0004] = "\x21\x2f", [0x0007] = "\x21\x30", [0x0008] = "\x21\x31", + [0x0011] = "\x21\x2d", [0x001b] = "\x21\x6b", [0x001d] = "\x21\x64", + [0x001e] = "\x21\x65", [0x0026] = "\x21\x79" }; /* The table can be created using @@ -2055,9 +2055,6 @@ const char __gb2312_from_ucs4_tab4[][2] } printf ("\n"); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - But we have a problem here since U+2225 maps to either 0x212C or - 0x214E. We simply choose the first solution here. */ const char __gb2312_from_ucs4_tab5[][2] = { @@ -2069,14 +2066,14 @@ const char __gb2312_from_ucs4_tab5[][2] [0x008e] = "\x21\x7c", [0x008f] = "\x21\x7a", [0x0090] = "\x21\x7d", [0x0105] = "\x21\x4a", [0x010c] = "\x21\x47", [0x010e] = "\x21\x46", [0x0117] = "\x21\x4c", [0x011a] = "\x21\x58", [0x011b] = "\x21\x5e", - [0x011d] = "\x21\x4f", [0x0122] = "\x21\x2c", [0x0124] = "\x21\x44", + [0x011d] = "\x21\x4f", [0x0122] = "\x21\x4e", [0x0124] = "\x21\x44", [0x0125] = "\x21\x45", [0x0126] = "\x21\x49", [0x0127] = "\x21\x48", [0x0128] = "\x21\x52", [0x012b] = "\x21\x53", [0x0131] = "\x21\x60", [0x0132] = "\x21\x5f", [0x0133] = "\x21\x43", [0x0134] = "\x21\x4b", [0x013a] = "\x21\x57", [0x0145] = "\x21\x56", [0x0149] = "\x21\x55", [0x015d] = "\x21\x59", [0x015e] = "\x21\x54", [0x0161] = "\x21\x5c", [0x0162] = "\x21\x5d", [0x016b] = "\x21\x5a", [0x016c] = "\x21\x5b", - [0x0196] = "\x21\x51", [0x01a2] = "\x21\x4d", + [0x0196] = "\x21\x51", [0x01a2] = "\x21\x4d" }; /* The table can be created using diff -durpN glibc-2.1.2/iconvdata/gb2312.h glibc-2.1.3/iconvdata/gb2312.h --- glibc-2.1.2/iconvdata/gb2312.h Sat Apr 25 17:18:02 1998 +++ glibc-2.1.3/iconvdata/gb2312.h Tue Dec 28 14:04:25 1999 @@ -1,5 +1,5 @@ /* Access functions for GB2312 conversion. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -75,7 +75,7 @@ ucs4_to_gb2312 (uint32_t wch, unsigned c switch (ch) { - case 0xa4 ... 0x100: + case 0xa4 ... 0x101: cp = __gb2312_from_ucs4_tab1[ch - 0xa4]; break; case 0x113: @@ -135,7 +135,7 @@ ucs4_to_gb2312 (uint32_t wch, unsigned c case 0x2103 ... 0x22a5: cp = __gb2312_from_ucs4_tab5[ch - 0x2103]; break; - case 0x2313: + case 0x2312: cp = "\x21\x50"; break; case 0x2460 ... 0x249b: @@ -143,7 +143,7 @@ ucs4_to_gb2312 (uint32_t wch, unsigned c break; case 0x2500 ... 0x254b: buf[0] = '\x29'; - buf[1] = '\x24' + (ch & 256); + buf[1] = '\x24' + (ch % 256); break; case 0x25a0: cp = "\x21\x76"; diff -durpN glibc-2.1.2/iconvdata/gbk.c glibc-2.1.3/iconvdata/gbk.c --- glibc-2.1.2/iconvdata/gbk.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/iconvdata/gbk.c Tue Dec 28 14:04:26 1999 @@ -0,0 +1,13481 @@ +/* Mapping tables for GBK handling. + Copyright (C) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Sean Chen <sean.chen@turbolinux.com>, 1999. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <gconv.h> +#include <stdint.h> +#include <stdlib.h> +#include <string.h> +#include <wchar.h> +#include <assert.h> + +/* The conversion table to UCS4 has almost no holes. It can be generated with: + + perl tab.pl < gbk.txt + + where tab.pl is: + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($gbk, $ucs4, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 4 eq 0); + ++$n; + printf (" [0x%04x] = 0x%04x,", + int(($g - 0x8140) / 256) * 192 + (($g - 0x8140) & 0xff), $u); + } + printf ("\n"); + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + */ +static const uint16_t __gbk_to_ucs[] = +{ + [0x0000] = 0x4e02, [0x0001] = 0x4e04, [0x0002] = 0x4e05, [0x0003] = 0x4e06, + [0x0004] = 0x4e0f, [0x0005] = 0x4e12, [0x0006] = 0x4e17, [0x0007] = 0x4e1f, + [0x0008] = 0x4e20, [0x0009] = 0x4e21, [0x000a] = 0x4e23, [0x000b] = 0x4e26, + [0x000c] = 0x4e29, [0x000d] = 0x4e2e, [0x000e] = 0x4e2f, [0x000f] = 0x4e31, + [0x0010] = 0x4e33, [0x0011] = 0x4e35, [0x0012] = 0x4e37, [0x0013] = 0x4e3c, + [0x0014] = 0x4e40, [0x0015] = 0x4e41, [0x0016] = 0x4e42, [0x0017] = 0x4e44, + [0x0018] = 0x4e46, [0x0019] = 0x4e4a, [0x001a] = 0x4e51, [0x001b] = 0x4e55, + [0x001c] = 0x4e57, [0x001d] = 0x4e5a, [0x001e] = 0x4e5b, [0x001f] = 0x4e62, + [0x0020] = 0x4e63, [0x0021] = 0x4e64, [0x0022] = 0x4e65, [0x0023] = 0x4e67, + [0x0024] = 0x4e68, [0x0025] = 0x4e6a, [0x0026] = 0x4e6b, [0x0027] = 0x4e6c, + [0x0028] = 0x4e6d, [0x0029] = 0x4e6e, [0x002a] = 0x4e6f, [0x002b] = 0x4e72, + [0x002c] = 0x4e74, [0x002d] = 0x4e75, [0x002e] = 0x4e76, [0x002f] = 0x4e77, + [0x0030] = 0x4e78, [0x0031] = 0x4e79, [0x0032] = 0x4e7a, [0x0033] = 0x4e7b, + [0x0034] = 0x4e7c, [0x0035] = 0x4e7d, [0x0036] = 0x4e7f, [0x0037] = 0x4e80, + [0x0038] = 0x4e81, [0x0039] = 0x4e82, [0x003a] = 0x4e83, [0x003b] = 0x4e84, + [0x003c] = 0x4e85, [0x003d] = 0x4e87, [0x003e] = 0x4e8a, [0x0040] = 0x4e90, + [0x0041] = 0x4e96, [0x0042] = 0x4e97, [0x0043] = 0x4e99, [0x0044] = 0x4e9c, + [0x0045] = 0x4e9d, [0x0046] = 0x4e9e, [0x0047] = 0x4ea3, [0x0048] = 0x4eaa, + [0x0049] = 0x4eaf, [0x004a] = 0x4eb0, [0x004b] = 0x4eb1, [0x004c] = 0x4eb4, + [0x004d] = 0x4eb6, [0x004e] = 0x4eb7, [0x004f] = 0x4eb8, [0x0050] = 0x4eb9, + [0x0051] = 0x4ebc, [0x0052] = 0x4ebd, [0x0053] = 0x4ebe, [0x0054] = 0x4ec8, + [0x0055] = 0x4ecc, [0x0056] = 0x4ecf, [0x0057] = 0x4ed0, [0x0058] = 0x4ed2, + [0x0059] = 0x4eda, [0x005a] = 0x4edb, [0x005b] = 0x4edc, [0x005c] = 0x4ee0, + [0x005d] = 0x4ee2, [0x005e] = 0x4ee6, [0x005f] = 0x4ee7, [0x0060] = 0x4ee9, + [0x0061] = 0x4eed, [0x0062] = 0x4eee, [0x0063] = 0x4eef, [0x0064] = 0x4ef1, + [0x0065] = 0x4ef4, [0x0066] = 0x4ef8, [0x0067] = 0x4ef9, [0x0068] = 0x4efa, + [0x0069] = 0x4efc, [0x006a] = 0x4efe, [0x006b] = 0x4f00, [0x006c] = 0x4f02, + [0x006d] = 0x4f03, [0x006e] = 0x4f04, [0x006f] = 0x4f05, [0x0070] = 0x4f06, + [0x0071] = 0x4f07, [0x0072] = 0x4f08, [0x0073] = 0x4f0b, [0x0074] = 0x4f0c, + [0x0075] = 0x4f12, [0x0076] = 0x4f13, [0x0077] = 0x4f14, [0x0078] = 0x4f15, + [0x0079] = 0x4f16, [0x007a] = 0x4f1c, [0x007b] = 0x4f1d, [0x007c] = 0x4f21, + [0x007d] = 0x4f23, [0x007e] = 0x4f28, [0x007f] = 0x4f29, [0x0080] = 0x4f2c, + [0x0081] = 0x4f2d, [0x0082] = 0x4f2e, [0x0083] = 0x4f31, [0x0084] = 0x4f33, + [0x0085] = 0x4f35, [0x0086] = 0x4f37, [0x0087] = 0x4f39, [0x0088] = 0x4f3b, + [0x0089] = 0x4f3e, [0x008a] = 0x4f3f, [0x008b] = 0x4f40, [0x008c] = 0x4f41, + [0x008d] = 0x4f42, [0x008e] = 0x4f44, [0x008f] = 0x4f45, [0x0090] = 0x4f47, + [0x0091] = 0x4f48, [0x0092] = 0x4f49, [0x0093] = 0x4f4a, [0x0094] = 0x4f4b, + [0x0095] = 0x4f4c, [0x0096] = 0x4f52, [0x0097] = 0x4f54, [0x0098] = 0x4f56, + [0x0099] = 0x4f61, [0x009a] = 0x4f62, [0x009b] = 0x4f66, [0x009c] = 0x4f68, + [0x009d] = 0x4f6a, [0x009e] = 0x4f6b, [0x009f] = 0x4f6d, [0x00a0] = 0x4f6e, + [0x00a1] = 0x4f71, [0x00a2] = 0x4f72, [0x00a3] = 0x4f75, [0x00a4] = 0x4f77, + [0x00a5] = 0x4f78, [0x00a6] = 0x4f79, [0x00a7] = 0x4f7a, [0x00a8] = 0x4f7d, + [0x00a9] = 0x4f80, [0x00aa] = 0x4f81, [0x00ab] = 0x4f82, [0x00ac] = 0x4f85, + [0x00ad] = 0x4f86, [0x00ae] = 0x4f87, [0x00af] = 0x4f8a, [0x00b0] = 0x4f8c, + [0x00b1] = 0x4f8e, [0x00b2] = 0x4f90, [0x00b3] = 0x4f92, [0x00b4] = 0x4f93, + [0x00b5] = 0x4f95, [0x00b6] = 0x4f96, [0x00b7] = 0x4f98, [0x00b8] = 0x4f99, + [0x00b9] = 0x4f9a, [0x00ba] = 0x4f9c, [0x00bb] = 0x4f9e, [0x00bc] = 0x4f9f, + [0x00bd] = 0x4fa1, [0x00be] = 0x4fa2, [0x00c0] = 0x4fa4, [0x00c1] = 0x4fab, + [0x00c2] = 0x4fad, [0x00c3] = 0x4fb0, [0x00c4] = 0x4fb1, [0x00c5] = 0x4fb2, + [0x00c6] = 0x4fb3, [0x00c7] = 0x4fb4, [0x00c8] = 0x4fb6, [0x00c9] = 0x4fb7, + [0x00ca] = 0x4fb8, [0x00cb] = 0x4fb9, [0x00cc] = 0x4fba, [0x00cd] = 0x4fbb, + [0x00ce] = 0x4fbc, [0x00cf] = 0x4fbd, [0x00d0] = 0x4fbe, [0x00d1] = 0x4fc0, + [0x00d2] = 0x4fc1, [0x00d3] = 0x4fc2, [0x00d4] = 0x4fc6, [0x00d5] = 0x4fc7, + [0x00d6] = 0x4fc8, [0x00d7] = 0x4fc9, [0x00d8] = 0x4fcb, [0x00d9] = 0x4fcc, + [0x00da] = 0x4fcd, [0x00db] = 0x4fd2, [0x00dc] = 0x4fd3, [0x00dd] = 0x4fd4, + [0x00de] = 0x4fd5, [0x00df] = 0x4fd6, [0x00e0] = 0x4fd9, [0x00e1] = 0x4fdb, + [0x00e2] = 0x4fe0, [0x00e3] = 0x4fe2, [0x00e4] = 0x4fe4, [0x00e5] = 0x4fe5, + [0x00e6] = 0x4fe7, [0x00e7] = 0x4feb, [0x00e8] = 0x4fec, [0x00e9] = 0x4ff0, + [0x00ea] = 0x4ff2, [0x00eb] = 0x4ff4, [0x00ec] = 0x4ff5, [0x00ed] = 0x4ff6, + [0x00ee] = 0x4ff7, [0x00ef] = 0x4ff9, [0x00f0] = 0x4ffb, [0x00f1] = 0x4ffc, + [0x00f2] = 0x4ffd, [0x00f3] = 0x4fff, [0x00f4] = 0x5000, [0x00f5] = 0x5001, + [0x00f6] = 0x5002, [0x00f7] = 0x5003, [0x00f8] = 0x5004, [0x00f9] = 0x5005, + [0x00fa] = 0x5006, [0x00fb] = 0x5007, [0x00fc] = 0x5008, [0x00fd] = 0x5009, + [0x00fe] = 0x500a, [0x0100] = 0x500b, [0x0101] = 0x500e, [0x0102] = 0x5010, + [0x0103] = 0x5011, [0x0104] = 0x5013, [0x0105] = 0x5015, [0x0106] = 0x5016, + [0x0107] = 0x5017, [0x0108] = 0x501b, [0x0109] = 0x501d, [0x010a] = 0x501e, + [0x010b] = 0x5020, [0x010c] = 0x5022, [0x010d] = 0x5023, [0x010e] = 0x5024, + [0x010f] = 0x5027, [0x0110] = 0x502b, [0x0111] = 0x502f, [0x0112] = 0x5030, + [0x0113] = 0x5031, [0x0114] = 0x5032, [0x0115] = 0x5033, [0x0116] = 0x5034, + [0x0117] = 0x5035, [0x0118] = 0x5036, [0x0119] = 0x5037, [0x011a] = 0x5038, + [0x011b] = 0x5039, [0x011c] = 0x503b, [0x011d] = 0x503d, [0x011e] = 0x503f, + [0x011f] = 0x5040, [0x0120] = 0x5041, [0x0121] = 0x5042, [0x0122] = 0x5044, + [0x0123] = 0x5045, [0x0124] = 0x5046, [0x0125] = 0x5049, [0x0126] = 0x504a, + [0x0127] = 0x504b, [0x0128] = 0x504d, [0x0129] = 0x5050, [0x012a] = 0x5051, + [0x012b] = 0x5052, [0x012c] = 0x5053, [0x012d] = 0x5054, [0x012e] = 0x5056, + [0x012f] = 0x5057, [0x0130] = 0x5058, [0x0131] = 0x5059, [0x0132] = 0x505b, + [0x0133] = 0x505d, [0x0134] = 0x505e, [0x0135] = 0x505f, [0x0136] = 0x5060, + [0x0137] = 0x5061, [0x0138] = 0x5062, [0x0139] = 0x5063, [0x013a] = 0x5064, + [0x013b] = 0x5066, [0x013c] = 0x5067, [0x013d] = 0x5068, [0x013e] = 0x5069, + [0x013f] = 0x506a, [0x0140] = 0x506b, [0x0141] = 0x506d, [0x0142] = 0x506e, + [0x0143] = 0x506f, [0x0144] = 0x5070, [0x0145] = 0x5071, [0x0146] = 0x5072, + [0x0147] = 0x5073, [0x0148] = 0x5074, [0x0149] = 0x5075, [0x014a] = 0x5078, + [0x014b] = 0x5079, [0x014c] = 0x507a, [0x014d] = 0x507c, [0x014e] = 0x507d, + [0x014f] = 0x5081, [0x0150] = 0x5082, [0x0151] = 0x5083, [0x0152] = 0x5084, + [0x0153] = 0x5086, [0x0154] = 0x5087, [0x0155] = 0x5089, [0x0156] = 0x508a, + [0x0157] = 0x508b, [0x0158] = 0x508c, [0x0159] = 0x508e, [0x015a] = 0x508f, + [0x015b] = 0x5090, [0x015c] = 0x5091, [0x015d] = 0x5092, [0x015e] = 0x5093, + [0x015f] = 0x5094, [0x0160] = 0x5095, [0x0161] = 0x5096, [0x0162] = 0x5097, + [0x0163] = 0x5098, [0x0164] = 0x5099, [0x0165] = 0x509a, [0x0166] = 0x509b, + [0x0167] = 0x509c, [0x0168] = 0x509d, [0x0169] = 0x509e, [0x016a] = 0x509f, + [0x016b] = 0x50a0, [0x016c] = 0x50a1, [0x016d] = 0x50a2, [0x016e] = 0x50a4, + [0x016f] = 0x50a6, [0x0170] = 0x50aa, [0x0171] = 0x50ab, [0x0172] = 0x50ad, + [0x0173] = 0x50ae, [0x0174] = 0x50af, [0x0175] = 0x50b0, [0x0176] = 0x50b1, + [0x0177] = 0x50b3, [0x0178] = 0x50b4, [0x0179] = 0x50b5, [0x017a] = 0x50b6, + [0x017b] = 0x50b7, [0x017c] = 0x50b8, [0x017d] = 0x50b9, [0x017e] = 0x50bc, + [0x0180] = 0x50bd, [0x0181] = 0x50be, [0x0182] = 0x50bf, [0x0183] = 0x50c0, + [0x0184] = 0x50c1, [0x0185] = 0x50c2, [0x0186] = 0x50c3, [0x0187] = 0x50c4, + [0x0188] = 0x50c5, [0x0189] = 0x50c6, [0x018a] = 0x50c7, [0x018b] = 0x50c8, + [0x018c] = 0x50c9, [0x018d] = 0x50ca, [0x018e] = 0x50cb, [0x018f] = 0x50cc, + [0x0190] = 0x50cd, [0x0191] = 0x50ce, [0x0192] = 0x50d0, [0x0193] = 0x50d1, + [0x0194] = 0x50d2, [0x0195] = 0x50d3, [0x0196] = 0x50d4, [0x0197] = 0x50d5, + [0x0198] = 0x50d7, [0x0199] = 0x50d8, [0x019a] = 0x50d9, [0x019b] = 0x50db, + [0x019c] = 0x50dc, [0x019d] = 0x50dd, [0x019e] = 0x50de, [0x019f] = 0x50df, + [0x01a0] = 0x50e0, [0x01a1] = 0x50e1, [0x01a2] = 0x50e2, [0x01a3] = 0x50e3, + [0x01a4] = 0x50e4, [0x01a5] = 0x50e5, [0x01a6] = 0x50e8, [0x01a7] = 0x50e9, + [0x01a8] = 0x50ea, [0x01a9] = 0x50eb, [0x01aa] = 0x50ef, [0x01ab] = 0x50f0, + [0x01ac] = 0x50f1, [0x01ad] = 0x50f2, [0x01ae] = 0x50f4, [0x01af] = 0x50f6, + [0x01b0] = 0x50f7, [0x01b1] = 0x50f8, [0x01b2] = 0x50f9, [0x01b3] = 0x50fa, + [0x01b4] = 0x50fc, [0x01b5] = 0x50fd, [0x01b6] = 0x50fe, [0x01b7] = 0x50ff, + [0x01b8] = 0x5100, [0x01b9] = 0x5101, [0x01ba] = 0x5102, [0x01bb] = 0x5103, + [0x01bc] = 0x5104, [0x01bd] = 0x5105, [0x01be] = 0x5108, [0x01c0] = 0x5109, + [0x01c1] = 0x510a, [0x01c2] = 0x510c, [0x01c3] = 0x510d, [0x01c4] = 0x510e, + [0x01c5] = 0x510f, [0x01c6] = 0x5110, [0x01c7] = 0x5111, [0x01c8] = 0x5113, + [0x01c9] = 0x5114, [0x01ca] = 0x5115, [0x01cb] = 0x5116, [0x01cc] = 0x5117, + [0x01cd] = 0x5118, [0x01ce] = 0x5119, [0x01cf] = 0x511a, [0x01d0] = 0x511b, + [0x01d1] = 0x511c, [0x01d2] = 0x511d, [0x01d3] = 0x511e, [0x01d4] = 0x511f, + [0x01d5] = 0x5120, [0x01d6] = 0x5122, [0x01d7] = 0x5123, [0x01d8] = 0x5124, + [0x01d9] = 0x5125, [0x01da] = 0x5126, [0x01db] = 0x5127, [0x01dc] = 0x5128, + [0x01dd] = 0x5129, [0x01de] = 0x512a, [0x01df] = 0x512b, [0x01e0] = 0x512c, + [0x01e1] = 0x512d, [0x01e2] = 0x512e, [0x01e3] = 0x512f, [0x01e4] = 0x5130, + [0x01e5] = 0x5131, [0x01e6] = 0x5132, [0x01e7] = 0x5133, [0x01e8] = 0x5134, + [0x01e9] = 0x5135, [0x01ea] = 0x5136, [0x01eb] = 0x5137, [0x01ec] = 0x5138, + [0x01ed] = 0x5139, [0x01ee] = 0x513a, [0x01ef] = 0x513b, [0x01f0] = 0x513c, + [0x01f1] = 0x513d, [0x01f2] = 0x513e, [0x01f3] = 0x5142, [0x01f4] = 0x5147, + [0x01f5] = 0x514a, [0x01f6] = 0x514c, [0x01f7] = 0x514e, [0x01f8] = 0x514f, + [0x01f9] = 0x5150, [0x01fa] = 0x5152, [0x01fb] = 0x5153, [0x01fc] = 0x5157, + [0x01fd] = 0x5158, [0x01fe] = 0x5159, [0x01ff] = 0x515b, [0x0200] = 0x515d, + [0x0201] = 0x515e, [0x0202] = 0x515f, [0x0203] = 0x5160, [0x0204] = 0x5161, + [0x0205] = 0x5163, [0x0206] = 0x5164, [0x0207] = 0x5166, [0x0208] = 0x5167, + [0x0209] = 0x5169, [0x020a] = 0x516a, [0x020b] = 0x516f, [0x020c] = 0x5172, + [0x020d] = 0x517a, [0x020e] = 0x517e, [0x020f] = 0x517f, [0x0210] = 0x5183, + [0x0211] = 0x5184, [0x0212] = 0x5186, [0x0213] = 0x5187, [0x0214] = 0x518a, + [0x0215] = 0x518b, [0x0216] = 0x518e, [0x0217] = 0x518f, [0x0218] = 0x5190, + [0x0219] = 0x5191, [0x021a] = 0x5193, [0x021b] = 0x5194, [0x021c] = 0x5198, + [0x021d] = 0x519a, [0x021e] = 0x519d, [0x021f] = 0x519e, [0x0220] = 0x519f, + [0x0221] = 0x51a1, [0x0222] = 0x51a3, [0x0223] = 0x51a6, [0x0224] = 0x51a7, + [0x0225] = 0x51a8, [0x0226] = 0x51a9, [0x0227] = 0x51aa, [0x0228] = 0x51ad, + [0x0229] = 0x51ae, [0x022a] = 0x51b4, [0x022b] = 0x51b8, [0x022c] = 0x51b9, + [0x022d] = 0x51ba, [0x022e] = 0x51be, [0x022f] = 0x51bf, [0x0230] = 0x51c1, + [0x0231] = 0x51c2, [0x0232] = 0x51c3, [0x0233] = 0x51c5, [0x0234] = 0x51c8, + [0x0235] = 0x51ca, [0x0236] = 0x51cd, [0x0237] = 0x51ce, [0x0238] = 0x51d0, + [0x0239] = 0x51d2, [0x023a] = 0x51d3, [0x023b] = 0x51d4, [0x023c] = 0x51d5, + [0x023d] = 0x51d6, [0x023e] = 0x51d7, [0x0240] = 0x51d8, [0x0241] = 0x51d9, + [0x0242] = 0x51da, [0x0243] = 0x51dc, [0x0244] = 0x51de, [0x0245] = 0x51df, + [0x0246] = 0x51e2, [0x0247] = 0x51e3, [0x0248] = 0x51e5, [0x0249] = 0x51e6, + [0x024a] = 0x51e7, [0x024b] = 0x51e8, [0x024c] = 0x51e9, [0x024d] = 0x51ea, + [0x024e] = 0x51ec, [0x024f] = 0x51ee, [0x0250] = 0x51f1, [0x0251] = 0x51f2, + [0x0252] = 0x51f4, [0x0253] = 0x51f7, [0x0254] = 0x51fe, [0x0255] = 0x5204, + [0x0256] = 0x5205, [0x0257] = 0x5209, [0x0258] = 0x520b, [0x0259] = 0x520c, + [0x025a] = 0x520f, [0x025b] = 0x5210, [0x025c] = 0x5213, [0x025d] = 0x5214, + [0x025e] = 0x5215, [0x025f] = 0x521c, [0x0260] = 0x521e, [0x0261] = 0x521f, + [0x0262] = 0x5221, [0x0263] = 0x5222, [0x0264] = 0x5223, [0x0265] = 0x5225, + [0x0266] = 0x5226, [0x0267] = 0x5227, [0x0268] = 0x522a, [0x0269] = 0x522c, + [0x026a] = 0x522f, [0x026b] = 0x5231, [0x026c] = 0x5232, [0x026d] = 0x5234, + [0x026e] = 0x5235, [0x026f] = 0x523c, [0x0270] = 0x523e, [0x0271] = 0x5244, + [0x0272] = 0x5245, [0x0273] = 0x5246, [0x0274] = 0x5247, [0x0275] = 0x5248, + [0x0276] = 0x5249, [0x0277] = 0x524b, [0x0278] = 0x524e, [0x0279] = 0x524f, + [0x027a] = 0x5252, [0x027b] = 0x5253, [0x027c] = 0x5255, [0x027d] = 0x5257, + [0x027e] = 0x5258, [0x0280] = 0x5259, [0x0281] = 0x525a, [0x0282] = 0x525b, + [0x0283] = 0x525d, [0x0284] = 0x525f, [0x0285] = 0x5260, [0x0286] = 0x5262, + [0x0287] = 0x5263, [0x0288] = 0x5264, [0x0289] = 0x5266, [0x028a] = 0x5268, + [0x028b] = 0x526b, [0x028c] = 0x526c, [0x028d] = 0x526d, [0x028e] = 0x526e, + [0x028f] = 0x5270, [0x0290] = 0x5271, [0x0291] = 0x5273, [0x0292] = 0x5274, + [0x0293] = 0x5275, [0x0294] = 0x5276, [0x0295] = 0x5277, [0x0296] = 0x5278, + [0x0297] = 0x5279, [0x0298] = 0x527a, [0x0299] = 0x527b, [0x029a] = 0x527c, + [0x029b] = 0x527e, [0x029c] = 0x5280, [0x029d] = 0x5283, [0x029e] = 0x5284, + [0x029f] = 0x5285, [0x02a0] = 0x5286, [0x02a1] = 0x5287, [0x02a2] = 0x5289, + [0x02a3] = 0x528a, [0x02a4] = 0x528b, [0x02a5] = 0x528c, [0x02a6] = 0x528d, + [0x02a7] = 0x528e, [0x02a8] = 0x528f, [0x02a9] = 0x5291, [0x02aa] = 0x5292, + [0x02ab] = 0x5294, [0x02ac] = 0x5295, [0x02ad] = 0x5296, [0x02ae] = 0x5297, + [0x02af] = 0x5298, [0x02b0] = 0x5299, [0x02b1] = 0x529a, [0x02b2] = 0x529c, + [0x02b3] = 0x52a4, [0x02b4] = 0x52a5, [0x02b5] = 0x52a6, [0x02b6] = 0x52a7, + [0x02b7] = 0x52ae, [0x02b8] = 0x52af, [0x02b9] = 0x52b0, [0x02ba] = 0x52b4, + [0x02bb] = 0x52b5, [0x02bc] = 0x52b6, [0x02bd] = 0x52b7, [0x02be] = 0x52b8, + [0x02bf] = 0x52b9, [0x02c0] = 0x52ba, [0x02c1] = 0x52bb, [0x02c2] = 0x52bc, + [0x02c3] = 0x52bd, [0x02c4] = 0x52c0, [0x02c5] = 0x52c1, [0x02c6] = 0x52c2, + [0x02c7] = 0x52c4, [0x02c8] = 0x52c5, [0x02c9] = 0x52c6, [0x02ca] = 0x52c8, + [0x02cb] = 0x52ca, [0x02cc] = 0x52cc, [0x02cd] = 0x52cd, [0x02ce] = 0x52ce, + [0x02cf] = 0x52cf, [0x02d0] = 0x52d1, [0x02d1] = 0x52d3, [0x02d2] = 0x52d4, + [0x02d3] = 0x52d5, [0x02d4] = 0x52d7, [0x02d5] = 0x52d9, [0x02d6] = 0x52da, + [0x02d7] = 0x52db, [0x02d8] = 0x52dc, [0x02d9] = 0x52dd, [0x02da] = 0x52de, + [0x02db] = 0x52e0, [0x02dc] = 0x52e1, [0x02dd] = 0x52e2, [0x02de] = 0x52e3, + [0x02df] = 0x52e5, [0x02e0] = 0x52e6, [0x02e1] = 0x52e7, [0x02e2] = 0x52e8, + [0x02e3] = 0x52e9, [0x02e4] = 0x52ea, [0x02e5] = 0x52eb, [0x02e6] = 0x52ec, + [0x02e7] = 0x52ed, [0x02e8] = 0x52ee, [0x02e9] = 0x52ef, [0x02ea] = 0x52f1, + [0x02eb] = 0x52f2, [0x02ec] = 0x52f3, [0x02ed] = 0x52f4, [0x02ee] = 0x52f5, + [0x02ef] = 0x52f6, [0x02f0] = 0x52f7, [0x02f1] = 0x52f8, [0x02f2] = 0x52fb, + [0x02f3] = 0x52fc, [0x02f4] = 0x52fd, [0x02f5] = 0x5301, [0x02f6] = 0x5302, + [0x02f7] = 0x5303, [0x02f8] = 0x5304, [0x02f9] = 0x5307, [0x02fa] = 0x5309, + [0x02fb] = 0x530a, [0x02fc] = 0x530b, [0x02fd] = 0x530c, [0x02fe] = 0x530e, + [0x0300] = 0x5311, [0x0301] = 0x5312, [0x0302] = 0x5313, [0x0303] = 0x5314, + [0x0304] = 0x5318, [0x0305] = 0x531b, [0x0306] = 0x531c, [0x0307] = 0x531e, + [0x0308] = 0x531f, [0x0309] = 0x5322, [0x030a] = 0x5324, [0x030b] = 0x5325, + [0x030c] = 0x5327, [0x030d] = 0x5328, [0x030e] = 0x5329, [0x030f] = 0x532b, + [0x0310] = 0x532c, [0x0311] = 0x532d, [0x0312] = 0x532f, [0x0313] = 0x5330, + [0x0314] = 0x5331, [0x0315] = 0x5332, [0x0316] = 0x5333, [0x0317] = 0x5334, + [0x0318] = 0x5335, [0x0319] = 0x5336, [0x031a] = 0x5337, [0x031b] = 0x5338, + [0x031c] = 0x533c, [0x031d] = 0x533d, [0x031e] = 0x5340, [0x031f] = 0x5342, + [0x0320] = 0x5344, [0x0321] = 0x5346, [0x0322] = 0x534b, [0x0323] = 0x534c, + [0x0324] = 0x534d, [0x0325] = 0x5350, [0x0326] = 0x5354, [0x0327] = 0x5358, + [0x0328] = 0x5359, [0x0329] = 0x535b, [0x032a] = 0x535d, [0x032b] = 0x5365, + [0x032c] = 0x5368, [0x032d] = 0x536a, [0x032e] = 0x536c, [0x032f] = 0x536d, + [0x0330] = 0x5372, [0x0331] = 0x5376, [0x0332] = 0x5379, [0x0333] = 0x537b, + [0x0334] = 0x537c, [0x0335] = 0x537d, [0x0336] = 0x537e, [0x0337] = 0x5380, + [0x0338] = 0x5381, [0x0339] = 0x5383, [0x033a] = 0x5387, [0x033b] = 0x5388, + [0x033c] = 0x538a, [0x033d] = 0x538e, [0x033e] = 0x538f, [0x0340] = 0x5390, + [0x0341] = 0x5391, [0x0342] = 0x5392, [0x0343] = 0x5393, [0x0344] = 0x5394, + [0x0345] = 0x5396, [0x0346] = 0x5397, [0x0347] = 0x5399, [0x0348] = 0x539b, + [0x0349] = 0x539c, [0x034a] = 0x539e, [0x034b] = 0x53a0, [0x034c] = 0x53a1, + [0x034d] = 0x53a4, [0x034e] = 0x53a7, [0x034f] = 0x53aa, [0x0350] = 0x53ab, + [0x0351] = 0x53ac, [0x0352] = 0x53ad, [0x0353] = 0x53af, [0x0354] = 0x53b0, + [0x0355] = 0x53b1, [0x0356] = 0x53b2, [0x0357] = 0x53b3, [0x0358] = 0x53b4, + [0x0359] = 0x53b5, [0x035a] = 0x53b7, [0x035b] = 0x53b8, [0x035c] = 0x53b9, + [0x035d] = 0x53ba, [0x035e] = 0x53bc, [0x035f] = 0x53bd, [0x0360] = 0x53be, + [0x0361] = 0x53c0, [0x0362] = 0x53c3, [0x0363] = 0x53c4, [0x0364] = 0x53c5, + [0x0365] = 0x53c6, [0x0366] = 0x53c7, [0x0367] = 0x53ce, [0x0368] = 0x53cf, + [0x0369] = 0x53d0, [0x036a] = 0x53d2, [0x036b] = 0x53d3, [0x036c] = 0x53d5, + [0x036d] = 0x53da, [0x036e] = 0x53dc, [0x036f] = 0x53dd, [0x0370] = 0x53de, + [0x0371] = 0x53e1, [0x0372] = 0x53e2, [0x0373] = 0x53e7, [0x0374] = 0x53f4, + [0x0375] = 0x53fa, [0x0376] = 0x53fe, [0x0377] = 0x53ff, [0x0378] = 0x5400, + [0x0379] = 0x5402, [0x037a] = 0x5405, [0x037b] = 0x5407, [0x037c] = 0x540b, + [0x037d] = 0x5414, [0x037e] = 0x5418, [0x037f] = 0x5419, [0x0380] = 0x541a, + [0x0381] = 0x541c, [0x0382] = 0x5422, [0x0383] = 0x5424, [0x0384] = 0x5425, + [0x0385] = 0x542a, [0x0386] = 0x5430, [0x0387] = 0x5433, [0x0388] = 0x5436, + [0x0389] = 0x5437, [0x038a] = 0x543a, [0x038b] = 0x543d, [0x038c] = 0x543f, + [0x038d] = 0x5441, [0x038e] = 0x5442, [0x038f] = 0x5444, [0x0390] = 0x5445, + [0x0391] = 0x5447, [0x0392] = 0x5449, [0x0393] = 0x544c, [0x0394] = 0x544d, + [0x0395] = 0x544e, [0x0396] = 0x544f, [0x0397] = 0x5451, [0x0398] = 0x545a, + [0x0399] = 0x545d, [0x039a] = 0x545e, [0x039b] = 0x545f, [0x039c] = 0x5460, + [0x039d] = 0x5461, [0x039e] = 0x5463, [0x039f] = 0x5465, [0x03a0] = 0x5467, + [0x03a1] = 0x5469, [0x03a2] = 0x546a, [0x03a3] = 0x546b, [0x03a4] = 0x546c, + [0x03a5] = 0x546d, [0x03a6] = 0x546e, [0x03a7] = 0x546f, [0x03a8] = 0x5470, + [0x03a9] = 0x5474, [0x03aa] = 0x5479, [0x03ab] = 0x547a, [0x03ac] = 0x547e, + [0x03ad] = 0x547f, [0x03ae] = 0x5481, [0x03af] = 0x5483, [0x03b0] = 0x5485, + [0x03b1] = 0x5487, [0x03b2] = 0x5488, [0x03b3] = 0x5489, [0x03b4] = 0x548a, + [0x03b5] = 0x548d, [0x03b6] = 0x5491, [0x03b7] = 0x5493, [0x03b8] = 0x5497, + [0x03b9] = 0x5498, [0x03ba] = 0x549c, [0x03bb] = 0x549e, [0x03bc] = 0x549f, + [0x03bd] = 0x54a0, [0x03be] = 0x54a1, [0x03c0] = 0x54a2, [0x03c1] = 0x54a5, + [0x03c2] = 0x54ae, [0x03c3] = 0x54b0, [0x03c4] = 0x54b2, [0x03c5] = 0x54b5, + [0x03c6] = 0x54b6, [0x03c7] = 0x54b7, [0x03c8] = 0x54b9, [0x03c9] = 0x54ba, + [0x03ca] = 0x54bc, [0x03cb] = 0x54be, [0x03cc] = 0x54c3, [0x03cd] = 0x54c5, + [0x03ce] = 0x54ca, [0x03cf] = 0x54cb, [0x03d0] = 0x54d6, [0x03d1] = 0x54d8, + [0x03d2] = 0x54db, [0x03d3] = 0x54e0, [0x03d4] = 0x54e1, [0x03d5] = 0x54e2, + [0x03d6] = 0x54e3, [0x03d7] = 0x54e4, [0x03d8] = 0x54eb, [0x03d9] = 0x54ec, + [0x03da] = 0x54ef, [0x03db] = 0x54f0, [0x03dc] = 0x54f1, [0x03dd] = 0x54f4, + [0x03de] = 0x54f5, [0x03df] = 0x54f6, [0x03e0] = 0x54f7, [0x03e1] = 0x54f8, + [0x03e2] = 0x54f9, [0x03e3] = 0x54fb, [0x03e4] = 0x54fe, [0x03e5] = 0x5500, + [0x03e6] = 0x5502, [0x03e7] = 0x5503, [0x03e8] = 0x5504, [0x03e9] = 0x5505, + [0x03ea] = 0x5508, [0x03eb] = 0x550a, [0x03ec] = 0x550b, [0x03ed] = 0x550c, + [0x03ee] = 0x550d, [0x03ef] = 0x550e, [0x03f0] = 0x5512, [0x03f1] = 0x5513, + [0x03f2] = 0x5515, [0x03f3] = 0x5516, [0x03f4] = 0x5517, [0x03f5] = 0x5518, + [0x03f6] = 0x5519, [0x03f7] = 0x551a, [0x03f8] = 0x551c, [0x03f9] = 0x551d, + [0x03fa] = 0x551e, [0x03fb] = 0x551f, [0x03fc] = 0x5521, [0x03fd] = 0x5525, + [0x03fe] = 0x5526, [0x0400] = 0x5528, [0x0401] = 0x5529, [0x0402] = 0x552b, + [0x0403] = 0x552d, [0x0404] = 0x5532, [0x0405] = 0x5534, [0x0406] = 0x5535, + [0x0407] = 0x5536, [0x0408] = 0x5538, [0x0409] = 0x5539, [0x040a] = 0x553a, + [0x040b] = 0x553b, [0x040c] = 0x553d, [0x040d] = 0x5540, [0x040e] = 0x5542, + [0x040f] = 0x5545, [0x0410] = 0x5547, [0x0411] = 0x5548, [0x0412] = 0x554b, + [0x0413] = 0x554c, [0x0414] = 0x554d, [0x0415] = 0x554e, [0x0416] = 0x554f, + [0x0417] = 0x5551, [0x0418] = 0x5552, [0x0419] = 0x5553, [0x041a] = 0x5554, + [0x041b] = 0x5557, [0x041c] = 0x5558, [0x041d] = 0x5559, [0x041e] = 0x555a, + [0x041f] = 0x555b, [0x0420] = 0x555d, [0x0421] = 0x555e, [0x0422] = 0x555f, + [0x0423] = 0x5560, [0x0424] = 0x5562, [0x0425] = 0x5563, [0x0426] = 0x5568, + [0x0427] = 0x5569, [0x0428] = 0x556b, [0x0429] = 0x556f, [0x042a] = 0x5570, + [0x042b] = 0x5571, [0x042c] = 0x5572, [0x042d] = 0x5573, [0x042e] = 0x5574, + [0x042f] = 0x5579, [0x0430] = 0x557a, [0x0431] = 0x557d, [0x0432] = 0x557f, + [0x0433] = 0x5585, [0x0434] = 0x5586, [0x0435] = 0x558c, [0x0436] = 0x558d, + [0x0437] = 0x558e, [0x0438] = 0x5590, [0x0439] = 0x5592, [0x043a] = 0x5593, + [0x043b] = 0x5595, [0x043c] = 0x5596, [0x043d] = 0x5597, [0x043e] = 0x559a, + [0x043f] = 0x559b, [0x0440] = 0x559e, [0x0441] = 0x55a0, [0x0442] = 0x55a1, + [0x0443] = 0x55a2, [0x0444] = 0x55a3, [0x0445] = 0x55a4, [0x0446] = 0x55a5, + [0x0447] = 0x55a6, [0x0448] = 0x55a8, [0x0449] = 0x55a9, [0x044a] = 0x55aa, + [0x044b] = 0x55ab, [0x044c] = 0x55ac, [0x044d] = 0x55ad, [0x044e] = 0x55ae, + [0x044f] = 0x55af, [0x0450] = 0x55b0, [0x0451] = 0x55b2, [0x0452] = 0x55b4, + [0x0453] = 0x55b6, [0x0454] = 0x55b8, [0x0455] = 0x55ba, [0x0456] = 0x55bc, + [0x0457] = 0x55bf, [0x0458] = 0x55c0, [0x0459] = 0x55c1, [0x045a] = 0x55c2, + [0x045b] = 0x55c3, [0x045c] = 0x55c6, [0x045d] = 0x55c7, [0x045e] = 0x55c8, + [0x045f] = 0x55ca, [0x0460] = 0x55cb, [0x0461] = 0x55ce, [0x0462] = 0x55cf, + [0x0463] = 0x55d0, [0x0464] = 0x55d5, [0x0465] = 0x55d7, [0x0466] = 0x55d8, + [0x0467] = 0x55d9, [0x0468] = 0x55da, [0x0469] = 0x55db, [0x046a] = 0x55de, + [0x046b] = 0x55e0, [0x046c] = 0x55e2, [0x046d] = 0x55e7, [0x046e] = 0x55e9, + [0x046f] = 0x55ed, [0x0470] = 0x55ee, [0x0471] = 0x55f0, [0x0472] = 0x55f1, + [0x0473] = 0x55f4, [0x0474] = 0x55f6, [0x0475] = 0x55f8, [0x0476] = 0x55f9, + [0x0477] = 0x55fa, [0x0478] = 0x55fb, [0x0479] = 0x55fc, [0x047a] = 0x55ff, + [0x047b] = 0x5602, [0x047c] = 0x5603, [0x047d] = 0x5604, [0x047e] = 0x5605, + [0x0480] = 0x5606, [0x0481] = 0x5607, [0x0482] = 0x560a, [0x0483] = 0x560b, + [0x0484] = 0x560d, [0x0485] = 0x5610, [0x0486] = 0x5611, [0x0487] = 0x5612, + [0x0488] = 0x5613, [0x0489] = 0x5614, [0x048a] = 0x5615, [0x048b] = 0x5616, + [0x048c] = 0x5617, [0x048d] = 0x5619, [0x048e] = 0x561a, [0x048f] = 0x561c, + [0x0490] = 0x561d, [0x0491] = 0x5620, [0x0492] = 0x5621, [0x0493] = 0x5622, + [0x0494] = 0x5625, [0x0495] = 0x5626, [0x0496] = 0x5628, [0x0497] = 0x5629, + [0x0498] = 0x562a, [0x0499] = 0x562b, [0x049a] = 0x562e, [0x049b] = 0x562f, + [0x049c] = 0x5630, [0x049d] = 0x5633, [0x049e] = 0x5635, [0x049f] = 0x5637, + [0x04a0] = 0x5638, [0x04a1] = 0x563a, [0x04a2] = 0x563c, [0x04a3] = 0x563d, + [0x04a4] = 0x563e, [0x04a5] = 0x5640, [0x04a6] = 0x5641, [0x04a7] = 0x5642, + [0x04a8] = 0x5643, [0x04a9] = 0x5644, [0x04aa] = 0x5645, [0x04ab] = 0x5646, + [0x04ac] = 0x5647, [0x04ad] = 0x5648, [0x04ae] = 0x5649, [0x04af] = 0x564a, + [0x04b0] = 0x564b, [0x04b1] = 0x564f, [0x04b2] = 0x5650, [0x04b3] = 0x5651, + [0x04b4] = 0x5652, [0x04b5] = 0x5653, [0x04b6] = 0x5655, [0x04b7] = 0x5656, + [0x04b8] = 0x565a, [0x04b9] = 0x565b, [0x04ba] = 0x565d, [0x04bb] = 0x565e, + [0x04bc] = 0x565f, [0x04bd] = 0x5660, [0x04be] = 0x5661, [0x04c0] = 0x5663, + [0x04c1] = 0x5665, [0x04c2] = 0x5666, [0x04c3] = 0x5667, [0x04c4] = 0x566d, + [0x04c5] = 0x566e, [0x04c6] = 0x566f, [0x04c7] = 0x5670, [0x04c8] = 0x5672, + [0x04c9] = 0x5673, [0x04ca] = 0x5674, [0x04cb] = 0x5675, [0x04cc] = 0x5677, + [0x04cd] = 0x5678, [0x04ce] = 0x5679, [0x04cf] = 0x567a, [0x04d0] = 0x567d, + [0x04d1] = 0x567e, [0x04d2] = 0x567f, [0x04d3] = 0x5680, [0x04d4] = 0x5681, + [0x04d5] = 0x5682, [0x04d6] = 0x5683, [0x04d7] = 0x5684, [0x04d8] = 0x5687, + [0x04d9] = 0x5688, [0x04da] = 0x5689, [0x04db] = 0x568a, [0x04dc] = 0x568b, + [0x04dd] = 0x568c, [0x04de] = 0x568d, [0x04df] = 0x5690, [0x04e0] = 0x5691, + [0x04e1] = 0x5692, [0x04e2] = 0x5694, [0x04e3] = 0x5695, [0x04e4] = 0x5696, + [0x04e5] = 0x5697, [0x04e6] = 0x5698, [0x04e7] = 0x5699, [0x04e8] = 0x569a, + [0x04e9] = 0x569b, [0x04ea] = 0x569c, [0x04eb] = 0x569d, [0x04ec] = 0x569e, + [0x04ed] = 0x569f, [0x04ee] = 0x56a0, [0x04ef] = 0x56a1, [0x04f0] = 0x56a2, + [0x04f1] = 0x56a4, [0x04f2] = 0x56a5, [0x04f3] = 0x56a6, [0x04f4] = 0x56a7, + [0x04f5] = 0x56a8, [0x04f6] = 0x56a9, [0x04f7] = 0x56aa, [0x04f8] = 0x56ab, + [0x04f9] = 0x56ac, [0x04fa] = 0x56ad, [0x04fb] = 0x56ae, [0x04fc] = 0x56b0, + [0x04fd] = 0x56b1, [0x04fe] = 0x56b2, [0x04ff] = 0x56b3, [0x0500] = 0x56b4, + [0x0501] = 0x56b5, [0x0502] = 0x56b6, [0x0503] = 0x56b8, [0x0504] = 0x56b9, + [0x0505] = 0x56ba, [0x0506] = 0x56bb, [0x0507] = 0x56bd, [0x0508] = 0x56be, + [0x0509] = 0x56bf, [0x050a] = 0x56c0, [0x050b] = 0x56c1, [0x050c] = 0x56c2, + [0x050d] = 0x56c3, [0x050e] = 0x56c4, [0x050f] = 0x56c5, [0x0510] = 0x56c6, + [0x0511] = 0x56c7, [0x0512] = 0x56c8, [0x0513] = 0x56c9, [0x0514] = 0x56cb, + [0x0515] = 0x56cc, [0x0516] = 0x56cd, [0x0517] = 0x56ce, [0x0518] = 0x56cf, + [0x0519] = 0x56d0, [0x051a] = 0x56d1, [0x051b] = 0x56d2, [0x051c] = 0x56d3, + [0x051d] = 0x56d5, [0x051e] = 0x56d6, [0x051f] = 0x56d8, [0x0520] = 0x56d9, + [0x0521] = 0x56dc, [0x0522] = 0x56e3, [0x0523] = 0x56e5, [0x0524] = 0x56e6, + [0x0525] = 0x56e7, [0x0526] = 0x56e8, [0x0527] = 0x56e9, [0x0528] = 0x56ea, + [0x0529] = 0x56ec, [0x052a] = 0x56ee, [0x052b] = 0x56ef, [0x052c] = 0x56f2, + [0x052d] = 0x56f3, [0x052e] = 0x56f6, [0x052f] = 0x56f7, [0x0530] = 0x56f8, + [0x0531] = 0x56fb, [0x0532] = 0x56fc, [0x0533] = 0x5700, [0x0534] = 0x5701, + [0x0535] = 0x5702, [0x0536] = 0x5705, [0x0537] = 0x5707, [0x0538] = 0x570b, + [0x0539] = 0x570c, [0x053a] = 0x570d, [0x053b] = 0x570e, [0x053c] = 0x570f, + [0x053d] = 0x5710, [0x053e] = 0x5711, [0x0540] = 0x5712, [0x0541] = 0x5713, + [0x0542] = 0x5714, [0x0543] = 0x5715, [0x0544] = 0x5716, [0x0545] = 0x5717, + [0x0546] = 0x5718, [0x0547] = 0x5719, [0x0548] = 0x571a, [0x0549] = 0x571b, + [0x054a] = 0x571d, [0x054b] = 0x571e, [0x054c] = 0x5720, [0x054d] = 0x5721, + [0x054e] = 0x5722, [0x054f] = 0x5724, [0x0550] = 0x5725, [0x0551] = 0x5726, + [0x0552] = 0x5727, [0x0553] = 0x572b, [0x0554] = 0x5731, [0x0555] = 0x5732, + [0x0556] = 0x5734, [0x0557] = 0x5735, [0x0558] = 0x5736, [0x0559] = 0x5737, + [0x055a] = 0x5738, [0x055b] = 0x573c, [0x055c] = 0x573d, [0x055d] = 0x573f, + [0x055e] = 0x5741, [0x055f] = 0x5743, [0x0560] = 0x5744, [0x0561] = 0x5745, + [0x0562] = 0x5746, [0x0563] = 0x5748, [0x0564] = 0x5749, [0x0565] = 0x574b, + [0x0566] = 0x5752, [0x0567] = 0x5753, [0x0568] = 0x5754, [0x0569] = 0x5755, + [0x056a] = 0x5756, [0x056b] = 0x5758, [0x056c] = 0x5759, [0x056d] = 0x5762, + [0x056e] = 0x5763, [0x056f] = 0x5765, [0x0570] = 0x5767, [0x0571] = 0x576c, + [0x0572] = 0x576e, [0x0573] = 0x5770, [0x0574] = 0x5771, [0x0575] = 0x5772, + [0x0576] = 0x5774, [0x0577] = 0x5775, [0x0578] = 0x5778, [0x0579] = 0x5779, + [0x057a] = 0x577a, [0x057b] = 0x577d, [0x057c] = 0x577e, [0x057d] = 0x577f, + [0x057e] = 0x5780, [0x0580] = 0x5781, [0x0581] = 0x5787, [0x0582] = 0x5788, + [0x0583] = 0x5789, [0x0584] = 0x578a, [0x0585] = 0x578d, [0x0586] = 0x578e, + [0x0587] = 0x578f, [0x0588] = 0x5790, [0x0589] = 0x5791, [0x058a] = 0x5794, + [0x058b] = 0x5795, [0x058c] = 0x5796, [0x058d] = 0x5797, [0x058e] = 0x5798, + [0x058f] = 0x5799, [0x0590] = 0x579a, [0x0591] = 0x579c, [0x0592] = 0x579d, + [0x0593] = 0x579e, [0x0594] = 0x579f, [0x0595] = 0x57a5, [0x0596] = 0x57a8, + [0x0597] = 0x57aa, [0x0598] = 0x57ac, [0x0599] = 0x57af, [0x059a] = 0x57b0, + [0x059b] = 0x57b1, [0x059c] = 0x57b3, [0x059d] = 0x57b5, [0x059e] = 0x57b6, + [0x059f] = 0x57b7, [0x05a0] = 0x57b9, [0x05a1] = 0x57ba, [0x05a2] = 0x57bb, + [0x05a3] = 0x57bc, [0x05a4] = 0x57bd, [0x05a5] = 0x57be, [0x05a6] = 0x57bf, + [0x05a7] = 0x57c0, [0x05a8] = 0x57c1, [0x05a9] = 0x57c4, [0x05aa] = 0x57c5, + [0x05ab] = 0x57c6, [0x05ac] = 0x57c7, [0x05ad] = 0x57c8, [0x05ae] = 0x57c9, + [0x05af] = 0x57ca, [0x05b0] = 0x57cc, [0x05b1] = 0x57cd, [0x05b2] = 0x57d0, + [0x05b3] = 0x57d1, [0x05b4] = 0x57d3, [0x05b5] = 0x57d6, [0x05b6] = 0x57d7, + [0x05b7] = 0x57db, [0x05b8] = 0x57dc, [0x05b9] = 0x57de, [0x05ba] = 0x57e1, + [0x05bb] = 0x57e2, [0x05bc] = 0x57e3, [0x05bd] = 0x57e5, [0x05be] = 0x57e6, + [0x05bf] = 0x57e7, [0x05c0] = 0x57e8, [0x05c1] = 0x57e9, [0x05c2] = 0x57ea, + [0x05c3] = 0x57eb, [0x05c4] = 0x57ec, [0x05c5] = 0x57ee, [0x05c6] = 0x57f0, + [0x05c7] = 0x57f1, [0x05c8] = 0x57f2, [0x05c9] = 0x57f3, [0x05ca] = 0x57f5, + [0x05cb] = 0x57f6, [0x05cc] = 0x57f7, [0x05cd] = 0x57fb, [0x05ce] = 0x57fc, + [0x05cf] = 0x57fe, [0x05d0] = 0x57ff, [0x05d1] = 0x5801, [0x05d2] = 0x5803, + [0x05d3] = 0x5804, [0x05d4] = 0x5805, [0x05d5] = 0x5808, [0x05d6] = 0x5809, + [0x05d7] = 0x580a, [0x05d8] = 0x580c, [0x05d9] = 0x580e, [0x05da] = 0x580f, + [0x05db] = 0x5810, [0x05dc] = 0x5812, [0x05dd] = 0x5813, [0x05de] = 0x5814, + [0x05df] = 0x5816, [0x05e0] = 0x5817, [0x05e1] = 0x5818, [0x05e2] = 0x581a, + [0x05e3] = 0x581b, [0x05e4] = 0x581c, [0x05e5] = 0x581d, [0x05e6] = 0x581f, + [0x05e7] = 0x5822, [0x05e8] = 0x5823, [0x05e9] = 0x5825, [0x05ea] = 0x5826, + [0x05eb] = 0x5827, [0x05ec] = 0x5828, [0x05ed] = 0x5829, [0x05ee] = 0x582b, + [0x05ef] = 0x582c, [0x05f0] = 0x582d, [0x05f1] = 0x582e, [0x05f2] = 0x582f, + [0x05f3] = 0x5831, [0x05f4] = 0x5832, [0x05f5] = 0x5833, [0x05f6] = 0x5834, + [0x05f7] = 0x5836, [0x05f8] = 0x5837, [0x05f9] = 0x5838, [0x05fa] = 0x5839, + [0x05fb] = 0x583a, [0x05fc] = 0x583b, [0x05fd] = 0x583c, [0x05fe] = 0x583d, + [0x0600] = 0x583e, [0x0601] = 0x583f, [0x0602] = 0x5840, [0x0603] = 0x5841, + [0x0604] = 0x5842, [0x0605] = 0x5843, [0x0606] = 0x5845, [0x0607] = 0x5846, + [0x0608] = 0x5847, [0x0609] = 0x5848, [0x060a] = 0x5849, [0x060b] = 0x584a, + [0x060c] = 0x584b, [0x060d] = 0x584e, [0x060e] = 0x584f, [0x060f] = 0x5850, + [0x0610] = 0x5852, [0x0611] = 0x5853, [0x0612] = 0x5855, [0x0613] = 0x5856, + [0x0614] = 0x5857, [0x0615] = 0x5859, [0x0616] = 0x585a, [0x0617] = 0x585b, + [0x0618] = 0x585c, [0x0619] = 0x585d, [0x061a] = 0x585f, [0x061b] = 0x5860, + [0x061c] = 0x5861, [0x061d] = 0x5862, [0x061e] = 0x5863, [0x061f] = 0x5864, + [0x0620] = 0x5866, [0x0621] = 0x5867, [0x0622] = 0x5868, [0x0623] = 0x5869, + [0x0624] = 0x586a, [0x0625] = 0x586d, [0x0626] = 0x586e, [0x0627] = 0x586f, + [0x0628] = 0x5870, [0x0629] = 0x5871, [0x062a] = 0x5872, [0x062b] = 0x5873, + [0x062c] = 0x5874, [0x062d] = 0x5875, [0x062e] = 0x5876, [0x062f] = 0x5877, + [0x0630] = 0x5878, [0x0631] = 0x5879, [0x0632] = 0x587a, [0x0633] = 0x587b, + [0x0634] = 0x587c, [0x0635] = 0x587d, [0x0636] = 0x587f, [0x0637] = 0x5882, + [0x0638] = 0x5884, [0x0639] = 0x5886, [0x063a] = 0x5887, [0x063b] = 0x5888, + [0x063c] = 0x588a, [0x063d] = 0x588b, [0x063e] = 0x588c, [0x0640] = 0x588d, + [0x0641] = 0x588e, [0x0642] = 0x588f, [0x0643] = 0x5890, [0x0644] = 0x5891, + [0x0645] = 0x5894, [0x0646] = 0x5895, [0x0647] = 0x5896, [0x0648] = 0x5897, + [0x0649] = 0x5898, [0x064a] = 0x589b, [0x064b] = 0x589c, [0x064c] = 0x589d, + [0x064d] = 0x58a0, [0x064e] = 0x58a1, [0x064f] = 0x58a2, [0x0650] = 0x58a3, + [0x0651] = 0x58a4, [0x0652] = 0x58a5, [0x0653] = 0x58a6, [0x0654] = 0x58a7, + [0x0655] = 0x58aa, [0x0656] = 0x58ab, [0x0657] = 0x58ac, [0x0658] = 0x58ad, + [0x0659] = 0x58ae, [0x065a] = 0x58af, [0x065b] = 0x58b0, [0x065c] = 0x58b1, + [0x065d] = 0x58b2, [0x065e] = 0x58b3, [0x065f] = 0x58b4, [0x0660] = 0x58b5, + [0x0661] = 0x58b6, [0x0662] = 0x58b7, [0x0663] = 0x58b8, [0x0664] = 0x58b9, + [0x0665] = 0x58ba, [0x0666] = 0x58bb, [0x0667] = 0x58bd, [0x0668] = 0x58be, + [0x0669] = 0x58bf, [0x066a] = 0x58c0, [0x066b] = 0x58c2, [0x066c] = 0x58c3, + [0x066d] = 0x58c4, [0x066e] = 0x58c6, [0x066f] = 0x58c7, [0x0670] = 0x58c8, + [0x0671] = 0x58c9, [0x0672] = 0x58ca, [0x0673] = 0x58cb, [0x0674] = 0x58cc, + [0x0675] = 0x58cd, [0x0676] = 0x58ce, [0x0677] = 0x58cf, [0x0678] = 0x58d0, + [0x0679] = 0x58d2, [0x067a] = 0x58d3, [0x067b] = 0x58d4, [0x067c] = 0x58d6, + [0x067d] = 0x58d7, [0x067e] = 0x58d8, [0x067f] = 0x58d9, [0x0680] = 0x58da, + [0x0681] = 0x58db, [0x0682] = 0x58dc, [0x0683] = 0x58dd, [0x0684] = 0x58de, + [0x0685] = 0x58df, [0x0686] = 0x58e0, [0x0687] = 0x58e1, [0x0688] = 0x58e2, + [0x0689] = 0x58e3, [0x068a] = 0x58e5, [0x068b] = 0x58e6, [0x068c] = 0x58e7, + [0x068d] = 0x58e8, [0x068e] = 0x58e9, [0x068f] = 0x58ea, [0x0690] = 0x58ed, + [0x0691] = 0x58ef, [0x0692] = 0x58f1, [0x0693] = 0x58f2, [0x0694] = 0x58f4, + [0x0695] = 0x58f5, [0x0696] = 0x58f7, [0x0697] = 0x58f8, [0x0698] = 0x58fa, + [0x0699] = 0x58fb, [0x069a] = 0x58fc, [0x069b] = 0x58fd, [0x069c] = 0x58fe, + [0x069d] = 0x58ff, [0x069e] = 0x5900, [0x069f] = 0x5901, [0x06a0] = 0x5903, + [0x06a1] = 0x5905, [0x06a2] = 0x5906, [0x06a3] = 0x5908, [0x06a4] = 0x5909, + [0x06a5] = 0x590a, [0x06a6] = 0x590b, [0x06a7] = 0x590c, [0x06a8] = 0x590e, + [0x06a9] = 0x5910, [0x06aa] = 0x5911, [0x06ab] = 0x5912, [0x06ac] = 0x5913, + [0x06ad] = 0x5917, [0x06ae] = 0x5918, [0x06af] = 0x591b, [0x06b0] = 0x591d, + [0x06b1] = 0x591e, [0x06b2] = 0x5920, [0x06b3] = 0x5921, [0x06b4] = 0x5922, + [0x06b5] = 0x5923, [0x06b6] = 0x5926, [0x06b7] = 0x5928, [0x06b8] = 0x592c, + [0x06b9] = 0x5930, [0x06ba] = 0x5932, [0x06bb] = 0x5933, [0x06bc] = 0x5935, + [0x06bd] = 0x5936, [0x06be] = 0x593b, [0x06c0] = 0x593d, [0x06c1] = 0x593e, + [0x06c2] = 0x593f, [0x06c3] = 0x5940, [0x06c4] = 0x5943, [0x06c5] = 0x5945, + [0x06c6] = 0x5946, [0x06c7] = 0x594a, [0x06c8] = 0x594c, [0x06c9] = 0x594d, + [0x06ca] = 0x5950, [0x06cb] = 0x5952, [0x06cc] = 0x5953, [0x06cd] = 0x5959, + [0x06ce] = 0x595b, [0x06cf] = 0x595c, [0x06d0] = 0x595d, [0x06d1] = 0x595e, + [0x06d2] = 0x595f, [0x06d3] = 0x5961, [0x06d4] = 0x5963, [0x06d5] = 0x5964, + [0x06d6] = 0x5966, [0x06d7] = 0x5967, [0x06d8] = 0x5968, [0x06d9] = 0x5969, + [0x06da] = 0x596a, [0x06db] = 0x596b, [0x06dc] = 0x596c, [0x06dd] = 0x596d, + [0x06de] = 0x596e, [0x06df] = 0x596f, [0x06e0] = 0x5970, [0x06e1] = 0x5971, + [0x06e2] = 0x5972, [0x06e3] = 0x5975, [0x06e4] = 0x5977, [0x06e5] = 0x597a, + [0x06e6] = 0x597b, [0x06e7] = 0x597c, [0x06e8] = 0x597e, [0x06e9] = 0x597f, + [0x06ea] = 0x5980, [0x06eb] = 0x5985, [0x06ec] = 0x5989, [0x06ed] = 0x598b, + [0x06ee] = 0x598c, [0x06ef] = 0x598e, [0x06f0] = 0x598f, [0x06f1] = 0x5990, + [0x06f2] = 0x5991, [0x06f3] = 0x5994, [0x06f4] = 0x5995, [0x06f5] = 0x5998, + [0x06f6] = 0x599a, [0x06f7] = 0x599b, [0x06f8] = 0x599c, [0x06f9] = 0x599d, + [0x06fa] = 0x599f, [0x06fb] = 0x59a0, [0x06fc] = 0x59a1, [0x06fd] = 0x59a2, + [0x06fe] = 0x59a6, [0x0700] = 0x59a7, [0x0701] = 0x59ac, [0x0702] = 0x59ad, + [0x0703] = 0x59b0, [0x0704] = 0x59b1, [0x0705] = 0x59b3, [0x0706] = 0x59b4, + [0x0707] = 0x59b5, [0x0708] = 0x59b6, [0x0709] = 0x59b7, [0x070a] = 0x59b8, + [0x070b] = 0x59ba, [0x070c] = 0x59bc, [0x070d] = 0x59bd, [0x070e] = 0x59bf, + [0x070f] = 0x59c0, [0x0710] = 0x59c1, [0x0711] = 0x59c2, [0x0712] = 0x59c3, + [0x0713] = 0x59c4, [0x0714] = 0x59c5, [0x0715] = 0x59c7, [0x0716] = 0x59c8, + [0x0717] = 0x59c9, [0x0718] = 0x59cc, [0x0719] = 0x59cd, [0x071a] = 0x59ce, + [0x071b] = 0x59cf, [0x071c] = 0x59d5, [0x071d] = 0x59d6, [0x071e] = 0x59d9, + [0x071f] = 0x59db, [0x0720] = 0x59de, [0x0721] = 0x59df, [0x0722] = 0x59e0, + [0x0723] = 0x59e1, [0x0724] = 0x59e2, [0x0725] = 0x59e4, [0x0726] = 0x59e6, + [0x0727] = 0x59e7, [0x0728] = 0x59e9, [0x0729] = 0x59ea, [0x072a] = 0x59eb, + [0x072b] = 0x59ed, [0x072c] = 0x59ee, [0x072d] = 0x59ef, [0x072e] = 0x59f0, + [0x072f] = 0x59f1, [0x0730] = 0x59f2, [0x0731] = 0x59f3, [0x0732] = 0x59f4, + [0x0733] = 0x59f5, [0x0734] = 0x59f6, [0x0735] = 0x59f7, [0x0736] = 0x59f8, + [0x0737] = 0x59fa, [0x0738] = 0x59fc, [0x0739] = 0x59fd, [0x073a] = 0x59fe, + [0x073b] = 0x5a00, [0x073c] = 0x5a02, [0x073d] = 0x5a0a, [0x073e] = 0x5a0b, + [0x073f] = 0x5a0d, [0x0740] = 0x5a0e, [0x0741] = 0x5a0f, [0x0742] = 0x5a10, + [0x0743] = 0x5a12, [0x0744] = 0x5a14, [0x0745] = 0x5a15, [0x0746] = 0x5a16, + [0x0747] = 0x5a17, [0x0748] = 0x5a19, [0x0749] = 0x5a1a, [0x074a] = 0x5a1b, + [0x074b] = 0x5a1d, [0x074c] = 0x5a1e, [0x074d] = 0x5a21, [0x074e] = 0x5a22, + [0x074f] = 0x5a24, [0x0750] = 0x5a26, [0x0751] = 0x5a27, [0x0752] = 0x5a28, + [0x0753] = 0x5a2a, [0x0754] = 0x5a2b, [0x0755] = 0x5a2c, [0x0756] = 0x5a2d, + [0x0757] = 0x5a2e, [0x0758] = 0x5a2f, [0x0759] = 0x5a30, [0x075a] = 0x5a33, + [0x075b] = 0x5a35, [0x075c] = 0x5a37, [0x075d] = 0x5a38, [0x075e] = 0x5a39, + [0x075f] = 0x5a3a, [0x0760] = 0x5a3b, [0x0761] = 0x5a3d, [0x0762] = 0x5a3e, + [0x0763] = 0x5a3f, [0x0764] = 0x5a41, [0x0765] = 0x5a42, [0x0766] = 0x5a43, + [0x0767] = 0x5a44, [0x0768] = 0x5a45, [0x0769] = 0x5a47, [0x076a] = 0x5a48, + [0x076b] = 0x5a4b, [0x076c] = 0x5a4c, [0x076d] = 0x5a4d, [0x076e] = 0x5a4e, + [0x076f] = 0x5a4f, [0x0770] = 0x5a50, [0x0771] = 0x5a51, [0x0772] = 0x5a52, + [0x0773] = 0x5a53, [0x0774] = 0x5a54, [0x0775] = 0x5a56, [0x0776] = 0x5a57, + [0x0777] = 0x5a58, [0x0778] = 0x5a59, [0x0779] = 0x5a5b, [0x077a] = 0x5a5c, + [0x077b] = 0x5a5d, [0x077c] = 0x5a5e, [0x077d] = 0x5a5f, [0x077e] = 0x5a60, + [0x0780] = 0x5a61, [0x0781] = 0x5a63, [0x0782] = 0x5a64, [0x0783] = 0x5a65, + [0x0784] = 0x5a66, [0x0785] = 0x5a68, [0x0786] = 0x5a69, [0x0787] = 0x5a6b, + [0x0788] = 0x5a6c, [0x0789] = 0x5a6d, [0x078a] = 0x5a6e, [0x078b] = 0x5a6f, + [0x078c] = 0x5a70, [0x078d] = 0x5a71, [0x078e] = 0x5a72, [0x078f] = 0x5a73, + [0x0790] = 0x5a78, [0x0791] = 0x5a79, [0x0792] = 0x5a7b, [0x0793] = 0x5a7c, + [0x0794] = 0x5a7d, [0x0795] = 0x5a7e, [0x0796] = 0x5a80, [0x0797] = 0x5a81, + [0x0798] = 0x5a82, [0x0799] = 0x5a83, [0x079a] = 0x5a84, [0x079b] = 0x5a85, + [0x079c] = 0x5a86, [0x079d] = 0x5a87, [0x079e] = 0x5a88, [0x079f] = 0x5a89, + [0x07a0] = 0x5a8a, [0x07a1] = 0x5a8b, [0x07a2] = 0x5a8c, [0x07a3] = 0x5a8d, + [0x07a4] = 0x5a8e, [0x07a5] = 0x5a8f, [0x07a6] = 0x5a90, [0x07a7] = 0x5a91, + [0x07a8] = 0x5a93, [0x07a9] = 0x5a94, [0x07aa] = 0x5a95, [0x07ab] = 0x5a96, + [0x07ac] = 0x5a97, [0x07ad] = 0x5a98, [0x07ae] = 0x5a99, [0x07af] = 0x5a9c, + [0x07b0] = 0x5a9d, [0x07b1] = 0x5a9e, [0x07b2] = 0x5a9f, [0x07b3] = 0x5aa0, + [0x07b4] = 0x5aa1, [0x07b5] = 0x5aa2, [0x07b6] = 0x5aa3, [0x07b7] = 0x5aa4, + [0x07b8] = 0x5aa5, [0x07b9] = 0x5aa6, [0x07ba] = 0x5aa7, [0x07bb] = 0x5aa8, + [0x07bc] = 0x5aa9, [0x07bd] = 0x5aab, [0x07be] = 0x5aac, [0x07c0] = 0x5aad, + [0x07c1] = 0x5aae, [0x07c2] = 0x5aaf, [0x07c3] = 0x5ab0, [0x07c4] = 0x5ab1, + [0x07c5] = 0x5ab4, [0x07c6] = 0x5ab6, [0x07c7] = 0x5ab7, [0x07c8] = 0x5ab9, + [0x07c9] = 0x5aba, [0x07ca] = 0x5abb, [0x07cb] = 0x5abc, [0x07cc] = 0x5abd, + [0x07cd] = 0x5abf, [0x07ce] = 0x5ac0, [0x07cf] = 0x5ac3, [0x07d0] = 0x5ac4, + [0x07d1] = 0x5ac5, [0x07d2] = 0x5ac6, [0x07d3] = 0x5ac7, [0x07d4] = 0x5ac8, + [0x07d5] = 0x5aca, [0x07d6] = 0x5acb, [0x07d7] = 0x5acd, [0x07d8] = 0x5ace, + [0x07d9] = 0x5acf, [0x07da] = 0x5ad0, [0x07db] = 0x5ad1, [0x07dc] = 0x5ad3, + [0x07dd] = 0x5ad5, [0x07de] = 0x5ad7, [0x07df] = 0x5ad9, [0x07e0] = 0x5ada, + [0x07e1] = 0x5adb, [0x07e2] = 0x5add, [0x07e3] = 0x5ade, [0x07e4] = 0x5adf, + [0x07e5] = 0x5ae2, [0x07e6] = 0x5ae4, [0x07e7] = 0x5ae5, [0x07e8] = 0x5ae7, + [0x07e9] = 0x5ae8, [0x07ea] = 0x5aea, [0x07eb] = 0x5aec, [0x07ec] = 0x5aed, + [0x07ed] = 0x5aee, [0x07ee] = 0x5aef, [0x07ef] = 0x5af0, [0x07f0] = 0x5af2, + [0x07f1] = 0x5af3, [0x07f2] = 0x5af4, [0x07f3] = 0x5af5, [0x07f4] = 0x5af6, + [0x07f5] = 0x5af7, [0x07f6] = 0x5af8, [0x07f7] = 0x5af9, [0x07f8] = 0x5afa, + [0x07f9] = 0x5afb, [0x07fa] = 0x5afc, [0x07fb] = 0x5afd, [0x07fc] = 0x5afe, + [0x07fd] = 0x5aff, [0x07fe] = 0x5b00, [0x07ff] = 0x5b01, [0x0800] = 0x5b02, + [0x0801] = 0x5b03, [0x0802] = 0x5b04, [0x0803] = 0x5b05, [0x0804] = 0x5b06, + [0x0805] = 0x5b07, [0x0806] = 0x5b08, [0x0807] = 0x5b0a, [0x0808] = 0x5b0b, + [0x0809] = 0x5b0c, [0x080a] = 0x5b0d, [0x080b] = 0x5b0e, [0x080c] = 0x5b0f, + [0x080d] = 0x5b10, [0x080e] = 0x5b11, [0x080f] = 0x5b12, [0x0810] = 0x5b13, + [0x0811] = 0x5b14, [0x0812] = 0x5b15, [0x0813] = 0x5b18, [0x0814] = 0x5b19, + [0x0815] = 0x5b1a, [0x0816] = 0x5b1b, [0x0817] = 0x5b1c, [0x0818] = 0x5b1d, + [0x0819] = 0x5b1e, [0x081a] = 0x5b1f, [0x081b] = 0x5b20, [0x081c] = 0x5b21, + [0x081d] = 0x5b22, [0x081e] = 0x5b23, [0x081f] = 0x5b24, [0x0820] = 0x5b25, + [0x0821] = 0x5b26, [0x0822] = 0x5b27, [0x0823] = 0x5b28, [0x0824] = 0x5b29, + [0x0825] = 0x5b2a, [0x0826] = 0x5b2b, [0x0827] = 0x5b2c, [0x0828] = 0x5b2d, + [0x0829] = 0x5b2e, [0x082a] = 0x5b2f, [0x082b] = 0x5b30, [0x082c] = 0x5b31, + [0x082d] = 0x5b33, [0x082e] = 0x5b35, [0x082f] = 0x5b36, [0x0830] = 0x5b38, + [0x0831] = 0x5b39, [0x0832] = 0x5b3a, [0x0833] = 0x5b3b, [0x0834] = 0x5b3c, + [0x0835] = 0x5b3d, [0x0836] = 0x5b3e, [0x0837] = 0x5b3f, [0x0838] = 0x5b41, + [0x0839] = 0x5b42, [0x083a] = 0x5b43, [0x083b] = 0x5b44, [0x083c] = 0x5b45, + [0x083d] = 0x5b46, [0x083e] = 0x5b47, [0x0840] = 0x5b48, [0x0841] = 0x5b49, + [0x0842] = 0x5b4a, [0x0843] = 0x5b4b, [0x0844] = 0x5b4c, [0x0845] = 0x5b4d, + [0x0846] = 0x5b4e, [0x0847] = 0x5b4f, [0x0848] = 0x5b52, [0x0849] = 0x5b56, + [0x084a] = 0x5b5e, [0x084b] = 0x5b60, [0x084c] = 0x5b61, [0x084d] = 0x5b67, + [0x084e] = 0x5b68, [0x084f] = 0x5b6b, [0x0850] = 0x5b6d, [0x0851] = 0x5b6e, + [0x0852] = 0x5b6f, [0x0853] = 0x5b72, [0x0854] = 0x5b74, [0x0855] = 0x5b76, + [0x0856] = 0x5b77, [0x0857] = 0x5b78, [0x0858] = 0x5b79, [0x0859] = 0x5b7b, + [0x085a] = 0x5b7c, [0x085b] = 0x5b7e, [0x085c] = 0x5b7f, [0x085d] = 0x5b82, + [0x085e] = 0x5b86, [0x085f] = 0x5b8a, [0x0860] = 0x5b8d, [0x0861] = 0x5b8e, + [0x0862] = 0x5b90, [0x0863] = 0x5b91, [0x0864] = 0x5b92, [0x0865] = 0x5b94, + [0x0866] = 0x5b96, [0x0867] = 0x5b9f, [0x0868] = 0x5ba7, [0x0869] = 0x5ba8, + [0x086a] = 0x5ba9, [0x086b] = 0x5bac, [0x086c] = 0x5bad, [0x086d] = 0x5bae, + [0x086e] = 0x5baf, [0x086f] = 0x5bb1, [0x0870] = 0x5bb2, [0x0871] = 0x5bb7, + [0x0872] = 0x5bba, [0x0873] = 0x5bbb, [0x0874] = 0x5bbc, [0x0875] = 0x5bc0, + [0x0876] = 0x5bc1, [0x0877] = 0x5bc3, [0x0878] = 0x5bc8, [0x0879] = 0x5bc9, + [0x087a] = 0x5bca, [0x087b] = 0x5bcb, [0x087c] = 0x5bcd, [0x087d] = 0x5bce, + [0x087e] = 0x5bcf, [0x0880] = 0x5bd1, [0x0881] = 0x5bd4, [0x0882] = 0x5bd5, + [0x0883] = 0x5bd6, [0x0884] = 0x5bd7, [0x0885] = 0x5bd8, [0x0886] = 0x5bd9, + [0x0887] = 0x5bda, [0x0888] = 0x5bdb, [0x0889] = 0x5bdc, [0x088a] = 0x5be0, + [0x088b] = 0x5be2, [0x088c] = 0x5be3, [0x088d] = 0x5be6, [0x088e] = 0x5be7, + [0x088f] = 0x5be9, [0x0890] = 0x5bea, [0x0891] = 0x5beb, [0x0892] = 0x5bec, + [0x0893] = 0x5bed, [0x0894] = 0x5bef, [0x0895] = 0x5bf1, [0x0896] = 0x5bf2, + [0x0897] = 0x5bf3, [0x0898] = 0x5bf4, [0x0899] = 0x5bf5, [0x089a] = 0x5bf6, + [0x089b] = 0x5bf7, [0x089c] = 0x5bfd, [0x089d] = 0x5bfe, [0x089e] = 0x5c00, + [0x089f] = 0x5c02, [0x08a0] = 0x5c03, [0x08a1] = 0x5c05, [0x08a2] = 0x5c07, + [0x08a3] = 0x5c08, [0x08a4] = 0x5c0b, [0x08a5] = 0x5c0c, [0x08a6] = 0x5c0d, + [0x08a7] = 0x5c0e, [0x08a8] = 0x5c10, [0x08a9] = 0x5c12, [0x08aa] = 0x5c13, + [0x08ab] = 0x5c17, [0x08ac] = 0x5c19, [0x08ad] = 0x5c1b, [0x08ae] = 0x5c1e, + [0x08af] = 0x5c1f, [0x08b0] = 0x5c20, [0x08b1] = 0x5c21, [0x08b2] = 0x5c23, + [0x08b3] = 0x5c26, [0x08b4] = 0x5c28, [0x08b5] = 0x5c29, [0x08b6] = 0x5c2a, + [0x08b7] = 0x5c2b, [0x08b8] = 0x5c2d, [0x08b9] = 0x5c2e, [0x08ba] = 0x5c2f, + [0x08bb] = 0x5c30, [0x08bc] = 0x5c32, [0x08bd] = 0x5c33, [0x08be] = 0x5c35, + [0x08bf] = 0x5c36, [0x08c0] = 0x5c37, [0x08c1] = 0x5c43, [0x08c2] = 0x5c44, + [0x08c3] = 0x5c46, [0x08c4] = 0x5c47, [0x08c5] = 0x5c4c, [0x08c6] = 0x5c4d, + [0x08c7] = 0x5c52, [0x08c8] = 0x5c53, [0x08c9] = 0x5c54, [0x08ca] = 0x5c56, + [0x08cb] = 0x5c57, [0x08cc] = 0x5c58, [0x08cd] = 0x5c5a, [0x08ce] = 0x5c5b, + [0x08cf] = 0x5c5c, [0x08d0] = 0x5c5d, [0x08d1] = 0x5c5f, [0x08d2] = 0x5c62, + [0x08d3] = 0x5c64, [0x08d4] = 0x5c67, [0x08d5] = 0x5c68, [0x08d6] = 0x5c69, + [0x08d7] = 0x5c6a, [0x08d8] = 0x5c6b, [0x08d9] = 0x5c6c, [0x08da] = 0x5c6d, + [0x08db] = 0x5c70, [0x08dc] = 0x5c72, [0x08dd] = 0x5c73, [0x08de] = 0x5c74, + [0x08df] = 0x5c75, [0x08e0] = 0x5c76, [0x08e1] = 0x5c77, [0x08e2] = 0x5c78, + [0x08e3] = 0x5c7b, [0x08e4] = 0x5c7c, [0x08e5] = 0x5c7d, [0x08e6] = 0x5c7e, + [0x08e7] = 0x5c80, [0x08e8] = 0x5c83, [0x08e9] = 0x5c84, [0x08ea] = 0x5c85, + [0x08eb] = 0x5c86, [0x08ec] = 0x5c87, [0x08ed] = 0x5c89, [0x08ee] = 0x5c8a, + [0x08ef] = 0x5c8b, [0x08f0] = 0x5c8e, [0x08f1] = 0x5c8f, [0x08f2] = 0x5c92, + [0x08f3] = 0x5c93, [0x08f4] = 0x5c95, [0x08f5] = 0x5c9d, [0x08f6] = 0x5c9e, + [0x08f7] = 0x5c9f, [0x08f8] = 0x5ca0, [0x08f9] = 0x5ca1, [0x08fa] = 0x5ca4, + [0x08fb] = 0x5ca5, [0x08fc] = 0x5ca6, [0x08fd] = 0x5ca7, [0x08fe] = 0x5ca8, + [0x0900] = 0x5caa, [0x0901] = 0x5cae, [0x0902] = 0x5caf, [0x0903] = 0x5cb0, + [0x0904] = 0x5cb2, [0x0905] = 0x5cb4, [0x0906] = 0x5cb6, [0x0907] = 0x5cb9, + [0x0908] = 0x5cba, [0x0909] = 0x5cbb, [0x090a] = 0x5cbc, [0x090b] = 0x5cbe, + [0x090c] = 0x5cc0, [0x090d] = 0x5cc2, [0x090e] = 0x5cc3, [0x090f] = 0x5cc5, + [0x0910] = 0x5cc6, [0x0911] = 0x5cc7, [0x0912] = 0x5cc8, [0x0913] = 0x5cc9, + [0x0914] = 0x5cca, [0x0915] = 0x5ccc, [0x0916] = 0x5ccd, [0x0917] = 0x5cce, + [0x0918] = 0x5ccf, [0x0919] = 0x5cd0, [0x091a] = 0x5cd1, [0x091b] = 0x5cd3, + [0x091c] = 0x5cd4, [0x091d] = 0x5cd5, [0x091e] = 0x5cd6, [0x091f] = 0x5cd7, + [0x0920] = 0x5cd8, [0x0921] = 0x5cda, [0x0922] = 0x5cdb, [0x0923] = 0x5cdc, + [0x0924] = 0x5cdd, [0x0925] = 0x5cde, [0x0926] = 0x5cdf, [0x0927] = 0x5ce0, + [0x0928] = 0x5ce2, [0x0929] = 0x5ce3, [0x092a] = 0x5ce7, [0x092b] = 0x5ce9, + [0x092c] = 0x5ceb, [0x092d] = 0x5cec, [0x092e] = 0x5cee, [0x092f] = 0x5cef, + [0x0930] = 0x5cf1, [0x0931] = 0x5cf2, [0x0932] = 0x5cf3, [0x0933] = 0x5cf4, + [0x0934] = 0x5cf5, [0x0935] = 0x5cf6, [0x0936] = 0x5cf7, [0x0937] = 0x5cf8, + [0x0938] = 0x5cf9, [0x0939] = 0x5cfa, [0x093a] = 0x5cfc, [0x093b] = 0x5cfd, + [0x093c] = 0x5cfe, [0x093d] = 0x5cff, [0x093e] = 0x5d00, [0x0940] = 0x5d01, + [0x0941] = 0x5d04, [0x0942] = 0x5d05, [0x0943] = 0x5d08, [0x0944] = 0x5d09, + [0x0945] = 0x5d0a, [0x0946] = 0x5d0b, [0x0947] = 0x5d0c, [0x0948] = 0x5d0d, + [0x0949] = 0x5d0f, [0x094a] = 0x5d10, [0x094b] = 0x5d11, [0x094c] = 0x5d12, + [0x094d] = 0x5d13, [0x094e] = 0x5d15, [0x094f] = 0x5d17, [0x0950] = 0x5d18, + [0x0951] = 0x5d19, [0x0952] = 0x5d1a, [0x0953] = 0x5d1c, [0x0954] = 0x5d1d, + [0x0955] = 0x5d1f, [0x0956] = 0x5d20, [0x0957] = 0x5d21, [0x0958] = 0x5d22, + [0x0959] = 0x5d23, [0x095a] = 0x5d25, [0x095b] = 0x5d28, [0x095c] = 0x5d2a, + [0x095d] = 0x5d2b, [0x095e] = 0x5d2c, [0x095f] = 0x5d2f, [0x0960] = 0x5d30, + [0x0961] = 0x5d31, [0x0962] = 0x5d32, [0x0963] = 0x5d33, [0x0964] = 0x5d35, + [0x0965] = 0x5d36, [0x0966] = 0x5d37, [0x0967] = 0x5d38, [0x0968] = 0x5d39, + [0x0969] = 0x5d3a, [0x096a] = 0x5d3b, [0x096b] = 0x5d3c, [0x096c] = 0x5d3f, + [0x096d] = 0x5d40, [0x096e] = 0x5d41, [0x096f] = 0x5d42, [0x0970] = 0x5d43, + [0x0971] = 0x5d44, [0x0972] = 0x5d45, [0x0973] = 0x5d46, [0x0974] = 0x5d48, + [0x0975] = 0x5d49, [0x0976] = 0x5d4d, [0x0977] = 0x5d4e, [0x0978] = 0x5d4f, + [0x0979] = 0x5d50, [0x097a] = 0x5d51, [0x097b] = 0x5d52, [0x097c] = 0x5d53, + [0x097d] = 0x5d54, [0x097e] = 0x5d55, [0x097f] = 0x5d56, [0x0980] = 0x5d57, + [0x0981] = 0x5d59, [0x0982] = 0x5d5a, [0x0983] = 0x5d5c, [0x0984] = 0x5d5e, + [0x0985] = 0x5d5f, [0x0986] = 0x5d60, [0x0987] = 0x5d61, [0x0988] = 0x5d62, + [0x0989] = 0x5d63, [0x098a] = 0x5d64, [0x098b] = 0x5d65, [0x098c] = 0x5d66, + [0x098d] = 0x5d67, [0x098e] = 0x5d68, [0x098f] = 0x5d6a, [0x0990] = 0x5d6d, + [0x0991] = 0x5d6e, [0x0992] = 0x5d70, [0x0993] = 0x5d71, [0x0994] = 0x5d72, + [0x0995] = 0x5d73, [0x0996] = 0x5d75, [0x0997] = 0x5d76, [0x0998] = 0x5d77, + [0x0999] = 0x5d78, [0x099a] = 0x5d79, [0x099b] = 0x5d7a, [0x099c] = 0x5d7b, + [0x099d] = 0x5d7c, [0x099e] = 0x5d7d, [0x099f] = 0x5d7e, [0x09a0] = 0x5d7f, + [0x09a1] = 0x5d80, [0x09a2] = 0x5d81, [0x09a3] = 0x5d83, [0x09a4] = 0x5d84, + [0x09a5] = 0x5d85, [0x09a6] = 0x5d86, [0x09a7] = 0x5d87, [0x09a8] = 0x5d88, + [0x09a9] = 0x5d89, [0x09aa] = 0x5d8a, [0x09ab] = 0x5d8b, [0x09ac] = 0x5d8c, + [0x09ad] = 0x5d8d, [0x09ae] = 0x5d8e, [0x09af] = 0x5d8f, [0x09b0] = 0x5d90, + [0x09b1] = 0x5d91, [0x09b2] = 0x5d92, [0x09b3] = 0x5d93, [0x09b4] = 0x5d94, + [0x09b5] = 0x5d95, [0x09b6] = 0x5d96, [0x09b7] = 0x5d97, [0x09b8] = 0x5d98, + [0x09b9] = 0x5d9a, [0x09ba] = 0x5d9b, [0x09bb] = 0x5d9c, [0x09bc] = 0x5d9e, + [0x09bd] = 0x5d9f, [0x09be] = 0x5da0, [0x09c0] = 0x5da1, [0x09c1] = 0x5da2, + [0x09c2] = 0x5da3, [0x09c3] = 0x5da4, [0x09c4] = 0x5da5, [0x09c5] = 0x5da6, + [0x09c6] = 0x5da7, [0x09c7] = 0x5da8, [0x09c8] = 0x5da9, [0x09c9] = 0x5daa, + [0x09ca] = 0x5dab, [0x09cb] = 0x5dac, [0x09cc] = 0x5dad, [0x09cd] = 0x5dae, + [0x09ce] = 0x5daf, [0x09cf] = 0x5db0, [0x09d0] = 0x5db1, [0x09d1] = 0x5db2, + [0x09d2] = 0x5db3, [0x09d3] = 0x5db4, [0x09d4] = 0x5db5, [0x09d5] = 0x5db6, + [0x09d6] = 0x5db8, [0x09d7] = 0x5db9, [0x09d8] = 0x5dba, [0x09d9] = 0x5dbb, + [0x09da] = 0x5dbc, [0x09db] = 0x5dbd, [0x09dc] = 0x5dbe, [0x09dd] = 0x5dbf, + [0x09de] = 0x5dc0, [0x09df] = 0x5dc1, [0x09e0] = 0x5dc2, [0x09e1] = 0x5dc3, + [0x09e2] = 0x5dc4, [0x09e3] = 0x5dc6, [0x09e4] = 0x5dc7, [0x09e5] = 0x5dc8, + [0x09e6] = 0x5dc9, [0x09e7] = 0x5dca, [0x09e8] = 0x5dcb, [0x09e9] = 0x5dcc, + [0x09ea] = 0x5dce, [0x09eb] = 0x5dcf, [0x09ec] = 0x5dd0, [0x09ed] = 0x5dd1, + [0x09ee] = 0x5dd2, [0x09ef] = 0x5dd3, [0x09f0] = 0x5dd4, [0x09f1] = 0x5dd5, + [0x09f2] = 0x5dd6, [0x09f3] = 0x5dd7, [0x09f4] = 0x5dd8, [0x09f5] = 0x5dd9, + [0x09f6] = 0x5dda, [0x09f7] = 0x5ddc, [0x09f8] = 0x5ddf, [0x09f9] = 0x5de0, + [0x09fa] = 0x5de3, [0x09fb] = 0x5de4, [0x09fc] = 0x5dea, [0x09fd] = 0x5dec, + [0x09fe] = 0x5ded, [0x0a00] = 0x5df0, [0x0a01] = 0x5df5, [0x0a02] = 0x5df6, + [0x0a03] = 0x5df8, [0x0a04] = 0x5df9, [0x0a05] = 0x5dfa, [0x0a06] = 0x5dfb, + [0x0a07] = 0x5dfc, [0x0a08] = 0x5dff, [0x0a09] = 0x5e00, [0x0a0a] = 0x5e04, + [0x0a0b] = 0x5e07, [0x0a0c] = 0x5e09, [0x0a0d] = 0x5e0a, [0x0a0e] = 0x5e0b, + [0x0a0f] = 0x5e0d, [0x0a10] = 0x5e0e, [0x0a11] = 0x5e12, [0x0a12] = 0x5e13, + [0x0a13] = 0x5e17, [0x0a14] = 0x5e1e, [0x0a15] = 0x5e1f, [0x0a16] = 0x5e20, + [0x0a17] = 0x5e21, [0x0a18] = 0x5e22, [0x0a19] = 0x5e23, [0x0a1a] = 0x5e24, + [0x0a1b] = 0x5e25, [0x0a1c] = 0x5e28, [0x0a1d] = 0x5e29, [0x0a1e] = 0x5e2a, + [0x0a1f] = 0x5e2b, [0x0a20] = 0x5e2c, [0x0a21] = 0x5e2f, [0x0a22] = 0x5e30, + [0x0a23] = 0x5e32, [0x0a24] = 0x5e33, [0x0a25] = 0x5e34, [0x0a26] = 0x5e35, + [0x0a27] = 0x5e36, [0x0a28] = 0x5e39, [0x0a29] = 0x5e3a, [0x0a2a] = 0x5e3e, + [0x0a2b] = 0x5e3f, [0x0a2c] = 0x5e40, [0x0a2d] = 0x5e41, [0x0a2e] = 0x5e43, + [0x0a2f] = 0x5e46, [0x0a30] = 0x5e47, [0x0a31] = 0x5e48, [0x0a32] = 0x5e49, + [0x0a33] = 0x5e4a, [0x0a34] = 0x5e4b, [0x0a35] = 0x5e4d, [0x0a36] = 0x5e4e, + [0x0a37] = 0x5e4f, [0x0a38] = 0x5e50, [0x0a39] = 0x5e51, [0x0a3a] = 0x5e52, + [0x0a3b] = 0x5e53, [0x0a3c] = 0x5e56, [0x0a3d] = 0x5e57, [0x0a3e] = 0x5e58, + [0x0a3f] = 0x5e59, [0x0a40] = 0x5e5a, [0x0a41] = 0x5e5c, [0x0a42] = 0x5e5d, + [0x0a43] = 0x5e5f, [0x0a44] = 0x5e60, [0x0a45] = 0x5e63, [0x0a46] = 0x5e64, + [0x0a47] = 0x5e65, [0x0a48] = 0x5e66, [0x0a49] = 0x5e67, [0x0a4a] = 0x5e68, + [0x0a4b] = 0x5e69, [0x0a4c] = 0x5e6a, [0x0a4d] = 0x5e6b, [0x0a4e] = 0x5e6c, + [0x0a4f] = 0x5e6d, [0x0a50] = 0x5e6e, [0x0a51] = 0x5e6f, [0x0a52] = 0x5e70, + [0x0a53] = 0x5e71, [0x0a54] = 0x5e75, [0x0a55] = 0x5e77, [0x0a56] = 0x5e79, + [0x0a57] = 0x5e7e, [0x0a58] = 0x5e81, [0x0a59] = 0x5e82, [0x0a5a] = 0x5e83, + [0x0a5b] = 0x5e85, [0x0a5c] = 0x5e88, [0x0a5d] = 0x5e89, [0x0a5e] = 0x5e8c, + [0x0a5f] = 0x5e8d, [0x0a60] = 0x5e8e, [0x0a61] = 0x5e92, [0x0a62] = 0x5e98, + [0x0a63] = 0x5e9b, [0x0a64] = 0x5e9d, [0x0a65] = 0x5ea1, [0x0a66] = 0x5ea2, + [0x0a67] = 0x5ea3, [0x0a68] = 0x5ea4, [0x0a69] = 0x5ea8, [0x0a6a] = 0x5ea9, + [0x0a6b] = 0x5eaa, [0x0a6c] = 0x5eab, [0x0a6d] = 0x5eac, [0x0a6e] = 0x5eae, + [0x0a6f] = 0x5eaf, [0x0a70] = 0x5eb0, [0x0a71] = 0x5eb1, [0x0a72] = 0x5eb2, + [0x0a73] = 0x5eb4, [0x0a74] = 0x5eba, [0x0a75] = 0x5ebb, [0x0a76] = 0x5ebc, + [0x0a77] = 0x5ebd, [0x0a78] = 0x5ebf, [0x0a79] = 0x5ec0, [0x0a7a] = 0x5ec1, + [0x0a7b] = 0x5ec2, [0x0a7c] = 0x5ec3, [0x0a7d] = 0x5ec4, [0x0a7e] = 0x5ec5, + [0x0a80] = 0x5ec6, [0x0a81] = 0x5ec7, [0x0a82] = 0x5ec8, [0x0a83] = 0x5ecb, + [0x0a84] = 0x5ecc, [0x0a85] = 0x5ecd, [0x0a86] = 0x5ece, [0x0a87] = 0x5ecf, + [0x0a88] = 0x5ed0, [0x0a89] = 0x5ed4, [0x0a8a] = 0x5ed5, [0x0a8b] = 0x5ed7, + [0x0a8c] = 0x5ed8, [0x0a8d] = 0x5ed9, [0x0a8e] = 0x5eda, [0x0a8f] = 0x5edc, + [0x0a90] = 0x5edd, [0x0a91] = 0x5ede, [0x0a92] = 0x5edf, [0x0a93] = 0x5ee0, + [0x0a94] = 0x5ee1, [0x0a95] = 0x5ee2, [0x0a96] = 0x5ee3, [0x0a97] = 0x5ee4, + [0x0a98] = 0x5ee5, [0x0a99] = 0x5ee6, [0x0a9a] = 0x5ee7, [0x0a9b] = 0x5ee9, + [0x0a9c] = 0x5eeb, [0x0a9d] = 0x5eec, [0x0a9e] = 0x5eed, [0x0a9f] = 0x5eee, + [0x0aa0] = 0x5eef, [0x0aa1] = 0x5ef0, [0x0aa2] = 0x5ef1, [0x0aa3] = 0x5ef2, + [0x0aa4] = 0x5ef3, [0x0aa5] = 0x5ef5, [0x0aa6] = 0x5ef8, [0x0aa7] = 0x5ef9, + [0x0aa8] = 0x5efb, [0x0aa9] = 0x5efc, [0x0aaa] = 0x5efd, [0x0aab] = 0x5f05, + [0x0aac] = 0x5f06, [0x0aad] = 0x5f07, [0x0aae] = 0x5f09, [0x0aaf] = 0x5f0c, + [0x0ab0] = 0x5f0d, [0x0ab1] = 0x5f0e, [0x0ab2] = 0x5f10, [0x0ab3] = 0x5f12, + [0x0ab4] = 0x5f14, [0x0ab5] = 0x5f16, [0x0ab6] = 0x5f19, [0x0ab7] = 0x5f1a, + [0x0ab8] = 0x5f1c, [0x0ab9] = 0x5f1d, [0x0aba] = 0x5f1e, [0x0abb] = 0x5f21, + [0x0abc] = 0x5f22, [0x0abd] = 0x5f23, [0x0abe] = 0x5f24, [0x0ac0] = 0x5f28, + [0x0ac1] = 0x5f2b, [0x0ac2] = 0x5f2c, [0x0ac3] = 0x5f2e, [0x0ac4] = 0x5f30, + [0x0ac5] = 0x5f32, [0x0ac6] = 0x5f33, [0x0ac7] = 0x5f34, [0x0ac8] = 0x5f35, + [0x0ac9] = 0x5f36, [0x0aca] = 0x5f37, [0x0acb] = 0x5f38, [0x0acc] = 0x5f3b, + [0x0acd] = 0x5f3d, [0x0ace] = 0x5f3e, [0x0acf] = 0x5f3f, [0x0ad0] = 0x5f41, + [0x0ad1] = 0x5f42, [0x0ad2] = 0x5f43, [0x0ad3] = 0x5f44, [0x0ad4] = 0x5f45, + [0x0ad5] = 0x5f46, [0x0ad6] = 0x5f47, [0x0ad7] = 0x5f48, [0x0ad8] = 0x5f49, + [0x0ad9] = 0x5f4a, [0x0ada] = 0x5f4b, [0x0adb] = 0x5f4c, [0x0adc] = 0x5f4d, + [0x0add] = 0x5f4e, [0x0ade] = 0x5f4f, [0x0adf] = 0x5f51, [0x0ae0] = 0x5f54, + [0x0ae1] = 0x5f59, [0x0ae2] = 0x5f5a, [0x0ae3] = 0x5f5b, [0x0ae4] = 0x5f5c, + [0x0ae5] = 0x5f5e, [0x0ae6] = 0x5f5f, [0x0ae7] = 0x5f60, [0x0ae8] = 0x5f63, + [0x0ae9] = 0x5f65, [0x0aea] = 0x5f67, [0x0aeb] = 0x5f68, [0x0aec] = 0x5f6b, + [0x0aed] = 0x5f6e, [0x0aee] = 0x5f6f, [0x0aef] = 0x5f72, [0x0af0] = 0x5f74, + [0x0af1] = 0x5f75, [0x0af2] = 0x5f76, [0x0af3] = 0x5f78, [0x0af4] = 0x5f7a, + [0x0af5] = 0x5f7d, [0x0af6] = 0x5f7e, [0x0af7] = 0x5f7f, [0x0af8] = 0x5f83, + [0x0af9] = 0x5f86, [0x0afa] = 0x5f8d, [0x0afb] = 0x5f8e, [0x0afc] = 0x5f8f, + [0x0afd] = 0x5f91, [0x0afe] = 0x5f93, [0x0aff] = 0x5f94, [0x0b00] = 0x5f96, + [0x0b01] = 0x5f9a, [0x0b02] = 0x5f9b, [0x0b03] = 0x5f9d, [0x0b04] = 0x5f9e, + [0x0b05] = 0x5f9f, [0x0b06] = 0x5fa0, [0x0b07] = 0x5fa2, [0x0b08] = 0x5fa3, + [0x0b09] = 0x5fa4, [0x0b0a] = 0x5fa5, [0x0b0b] = 0x5fa6, [0x0b0c] = 0x5fa7, + [0x0b0d] = 0x5fa9, [0x0b0e] = 0x5fab, [0x0b0f] = 0x5fac, [0x0b10] = 0x5faf, + [0x0b11] = 0x5fb0, [0x0b12] = 0x5fb1, [0x0b13] = 0x5fb2, [0x0b14] = 0x5fb3, + [0x0b15] = 0x5fb4, [0x0b16] = 0x5fb6, [0x0b17] = 0x5fb8, [0x0b18] = 0x5fb9, + [0x0b19] = 0x5fba, [0x0b1a] = 0x5fbb, [0x0b1b] = 0x5fbe, [0x0b1c] = 0x5fbf, + [0x0b1d] = 0x5fc0, [0x0b1e] = 0x5fc1, [0x0b1f] = 0x5fc2, [0x0b20] = 0x5fc7, + [0x0b21] = 0x5fc8, [0x0b22] = 0x5fca, [0x0b23] = 0x5fcb, [0x0b24] = 0x5fce, + [0x0b25] = 0x5fd3, [0x0b26] = 0x5fd4, [0x0b27] = 0x5fd5, [0x0b28] = 0x5fda, + [0x0b29] = 0x5fdb, [0x0b2a] = 0x5fdc, [0x0b2b] = 0x5fde, [0x0b2c] = 0x5fdf, + [0x0b2d] = 0x5fe2, [0x0b2e] = 0x5fe3, [0x0b2f] = 0x5fe5, [0x0b30] = 0x5fe6, + [0x0b31] = 0x5fe8, [0x0b32] = 0x5fe9, [0x0b33] = 0x5fec, [0x0b34] = 0x5fef, + [0x0b35] = 0x5ff0, [0x0b36] = 0x5ff2, [0x0b37] = 0x5ff3, [0x0b38] = 0x5ff4, + [0x0b39] = 0x5ff6, [0x0b3a] = 0x5ff7, [0x0b3b] = 0x5ff9, [0x0b3c] = 0x5ffa, + [0x0b3d] = 0x5ffc, [0x0b3e] = 0x6007, [0x0b40] = 0x6008, [0x0b41] = 0x6009, + [0x0b42] = 0x600b, [0x0b43] = 0x600c, [0x0b44] = 0x6010, [0x0b45] = 0x6011, + [0x0b46] = 0x6013, [0x0b47] = 0x6017, [0x0b48] = 0x6018, [0x0b49] = 0x601a, + [0x0b4a] = 0x601e, [0x0b4b] = 0x601f, [0x0b4c] = 0x6022, [0x0b4d] = 0x6023, + [0x0b4e] = 0x6024, [0x0b4f] = 0x602c, [0x0b50] = 0x602d, [0x0b51] = 0x602e, + [0x0b52] = 0x6030, [0x0b53] = 0x6031, [0x0b54] = 0x6032, [0x0b55] = 0x6033, + [0x0b56] = 0x6034, [0x0b57] = 0x6036, [0x0b58] = 0x6037, [0x0b59] = 0x6038, + [0x0b5a] = 0x6039, [0x0b5b] = 0x603a, [0x0b5c] = 0x603d, [0x0b5d] = 0x603e, + [0x0b5e] = 0x6040, [0x0b5f] = 0x6044, [0x0b60] = 0x6045, [0x0b61] = 0x6046, + [0x0b62] = 0x6047, [0x0b63] = 0x6048, [0x0b64] = 0x6049, [0x0b65] = 0x604a, + [0x0b66] = 0x604c, [0x0b67] = 0x604e, [0x0b68] = 0x604f, [0x0b69] = 0x6051, + [0x0b6a] = 0x6053, [0x0b6b] = 0x6054, [0x0b6c] = 0x6056, [0x0b6d] = 0x6057, + [0x0b6e] = 0x6058, [0x0b6f] = 0x605b, [0x0b70] = 0x605c, [0x0b71] = 0x605e, + [0x0b72] = 0x605f, [0x0b73] = 0x6060, [0x0b74] = 0x6061, [0x0b75] = 0x6065, + [0x0b76] = 0x6066, [0x0b77] = 0x606e, [0x0b78] = 0x6071, [0x0b79] = 0x6072, + [0x0b7a] = 0x6074, [0x0b7b] = 0x6075, [0x0b7c] = 0x6077, [0x0b7d] = 0x607e, + [0x0b7e] = 0x6080, [0x0b80] = 0x6081, [0x0b81] = 0x6082, [0x0b82] = 0x6085, + [0x0b83] = 0x6086, [0x0b84] = 0x6087, [0x0b85] = 0x6088, [0x0b86] = 0x608a, + [0x0b87] = 0x608b, [0x0b88] = 0x608e, [0x0b89] = 0x608f, [0x0b8a] = 0x6090, + [0x0b8b] = 0x6091, [0x0b8c] = 0x6093, [0x0b8d] = 0x6095, [0x0b8e] = 0x6097, + [0x0b8f] = 0x6098, [0x0b90] = 0x6099, [0x0b91] = 0x609c, [0x0b92] = 0x609e, + [0x0b93] = 0x60a1, [0x0b94] = 0x60a2, [0x0b95] = 0x60a4, [0x0b96] = 0x60a5, + [0x0b97] = 0x60a7, [0x0b98] = 0x60a9, [0x0b99] = 0x60aa, [0x0b9a] = 0x60ae, + [0x0b9b] = 0x60b0, [0x0b9c] = 0x60b3, [0x0b9d] = 0x60b5, [0x0b9e] = 0x60b6, + [0x0b9f] = 0x60b7, [0x0ba0] = 0x60b9, [0x0ba1] = 0x60ba, [0x0ba2] = 0x60bd, + [0x0ba3] = 0x60be, [0x0ba4] = 0x60bf, [0x0ba5] = 0x60c0, [0x0ba6] = 0x60c1, + [0x0ba7] = 0x60c2, [0x0ba8] = 0x60c3, [0x0ba9] = 0x60c4, [0x0baa] = 0x60c7, + [0x0bab] = 0x60c8, [0x0bac] = 0x60c9, [0x0bad] = 0x60cc, [0x0bae] = 0x60cd, + [0x0baf] = 0x60ce, [0x0bb0] = 0x60cf, [0x0bb1] = 0x60d0, [0x0bb2] = 0x60d2, + [0x0bb3] = 0x60d3, [0x0bb4] = 0x60d4, [0x0bb5] = 0x60d6, [0x0bb6] = 0x60d7, + [0x0bb7] = 0x60d9, [0x0bb8] = 0x60db, [0x0bb9] = 0x60de, [0x0bba] = 0x60e1, + [0x0bbb] = 0x60e2, [0x0bbc] = 0x60e3, [0x0bbd] = 0x60e4, [0x0bbe] = 0x60e5, + [0x0bbf] = 0x60ea, [0x0bc0] = 0x60f1, [0x0bc1] = 0x60f2, [0x0bc2] = 0x60f5, + [0x0bc3] = 0x60f7, [0x0bc4] = 0x60f8, [0x0bc5] = 0x60fb, [0x0bc6] = 0x60fc, + [0x0bc7] = 0x60fd, [0x0bc8] = 0x60fe, [0x0bc9] = 0x60ff, [0x0bca] = 0x6102, + [0x0bcb] = 0x6103, [0x0bcc] = 0x6104, [0x0bcd] = 0x6105, [0x0bce] = 0x6107, + [0x0bcf] = 0x610a, [0x0bd0] = 0x610b, [0x0bd1] = 0x610c, [0x0bd2] = 0x6110, + [0x0bd3] = 0x6111, [0x0bd4] = 0x6112, [0x0bd5] = 0x6113, [0x0bd6] = 0x6114, + [0x0bd7] = 0x6116, [0x0bd8] = 0x6117, [0x0bd9] = 0x6118, [0x0bda] = 0x6119, + [0x0bdb] = 0x611b, [0x0bdc] = 0x611c, [0x0bdd] = 0x611d, [0x0bde] = 0x611e, + [0x0bdf] = 0x6121, [0x0be0] = 0x6122, [0x0be1] = 0x6125, [0x0be2] = 0x6128, + [0x0be3] = 0x6129, [0x0be4] = 0x612a, [0x0be5] = 0x612c, [0x0be6] = 0x612d, + [0x0be7] = 0x612e, [0x0be8] = 0x612f, [0x0be9] = 0x6130, [0x0bea] = 0x6131, + [0x0beb] = 0x6132, [0x0bec] = 0x6133, [0x0bed] = 0x6134, [0x0bee] = 0x6135, + [0x0bef] = 0x6136, [0x0bf0] = 0x6137, [0x0bf1] = 0x6138, [0x0bf2] = 0x6139, + [0x0bf3] = 0x613a, [0x0bf4] = 0x613b, [0x0bf5] = 0x613c, [0x0bf6] = 0x613d, + [0x0bf7] = 0x613e, [0x0bf8] = 0x6140, [0x0bf9] = 0x6141, [0x0bfa] = 0x6142, + [0x0bfb] = 0x6143, [0x0bfc] = 0x6144, [0x0bfd] = 0x6145, [0x0bfe] = 0x6146, + [0x0c00] = 0x6147, [0x0c01] = 0x6149, [0x0c02] = 0x614b, [0x0c03] = 0x614d, + [0x0c04] = 0x614f, [0x0c05] = 0x6150, [0x0c06] = 0x6152, [0x0c07] = 0x6153, + [0x0c08] = 0x6154, [0x0c09] = 0x6156, [0x0c0a] = 0x6157, [0x0c0b] = 0x6158, + [0x0c0c] = 0x6159, [0x0c0d] = 0x615a, [0x0c0e] = 0x615b, [0x0c0f] = 0x615c, + [0x0c10] = 0x615e, [0x0c11] = 0x615f, [0x0c12] = 0x6160, [0x0c13] = 0x6161, + [0x0c14] = 0x6163, [0x0c15] = 0x6164, [0x0c16] = 0x6165, [0x0c17] = 0x6166, + [0x0c18] = 0x6169, [0x0c19] = 0x616a, [0x0c1a] = 0x616b, [0x0c1b] = 0x616c, + [0x0c1c] = 0x616d, [0x0c1d] = 0x616e, [0x0c1e] = 0x616f, [0x0c1f] = 0x6171, + [0x0c20] = 0x6172, [0x0c21] = 0x6173, [0x0c22] = 0x6174, [0x0c23] = 0x6176, + [0x0c24] = 0x6178, [0x0c25] = 0x6179, [0x0c26] = 0x617a, [0x0c27] = 0x617b, + [0x0c28] = 0x617c, [0x0c29] = 0x617d, [0x0c2a] = 0x617e, [0x0c2b] = 0x617f, + [0x0c2c] = 0x6180, [0x0c2d] = 0x6181, [0x0c2e] = 0x6182, [0x0c2f] = 0x6183, + [0x0c30] = 0x6184, [0x0c31] = 0x6185, [0x0c32] = 0x6186, [0x0c33] = 0x6187, + [0x0c34] = 0x6188, [0x0c35] = 0x6189, [0x0c36] = 0x618a, [0x0c37] = 0x618c, + [0x0c38] = 0x618d, [0x0c39] = 0x618f, [0x0c3a] = 0x6190, [0x0c3b] = 0x6191, + [0x0c3c] = 0x6192, [0x0c3d] = 0x6193, [0x0c3e] = 0x6195, [0x0c40] = 0x6196, + [0x0c41] = 0x6197, [0x0c42] = 0x6198, [0x0c43] = 0x6199, [0x0c44] = 0x619a, + [0x0c45] = 0x619b, [0x0c46] = 0x619c, [0x0c47] = 0x619e, [0x0c48] = 0x619f, + [0x0c49] = 0x61a0, [0x0c4a] = 0x61a1, [0x0c4b] = 0x61a2, [0x0c4c] = 0x61a3, + [0x0c4d] = 0x61a4, [0x0c4e] = 0x61a5, [0x0c4f] = 0x61a6, [0x0c50] = 0x61aa, + [0x0c51] = 0x61ab, [0x0c52] = 0x61ad, [0x0c53] = 0x61ae, [0x0c54] = 0x61af, + [0x0c55] = 0x61b0, [0x0c56] = 0x61b1, [0x0c57] = 0x61b2, [0x0c58] = 0x61b3, + [0x0c59] = 0x61b4, [0x0c5a] = 0x61b5, [0x0c5b] = 0x61b6, [0x0c5c] = 0x61b8, + [0x0c5d] = 0x61b9, [0x0c5e] = 0x61ba, [0x0c5f] = 0x61bb, [0x0c60] = 0x61bc, + [0x0c61] = 0x61bd, [0x0c62] = 0x61bf, [0x0c63] = 0x61c0, [0x0c64] = 0x61c1, + [0x0c65] = 0x61c3, [0x0c66] = 0x61c4, [0x0c67] = 0x61c5, [0x0c68] = 0x61c6, + [0x0c69] = 0x61c7, [0x0c6a] = 0x61c9, [0x0c6b] = 0x61cc, [0x0c6c] = 0x61cd, + [0x0c6d] = 0x61ce, [0x0c6e] = 0x61cf, [0x0c6f] = 0x61d0, [0x0c70] = 0x61d3, + [0x0c71] = 0x61d5, [0x0c72] = 0x61d6, [0x0c73] = 0x61d7, [0x0c74] = 0x61d8, + [0x0c75] = 0x61d9, [0x0c76] = 0x61da, [0x0c77] = 0x61db, [0x0c78] = 0x61dc, + [0x0c79] = 0x61dd, [0x0c7a] = 0x61de, [0x0c7b] = 0x61df, [0x0c7c] = 0x61e0, + [0x0c7d] = 0x61e1, [0x0c7e] = 0x61e2, [0x0c7f] = 0x61e3, [0x0c80] = 0x61e4, + [0x0c81] = 0x61e5, [0x0c82] = 0x61e7, [0x0c83] = 0x61e8, [0x0c84] = 0x61e9, + [0x0c85] = 0x61ea, [0x0c86] = 0x61eb, [0x0c87] = 0x61ec, [0x0c88] = 0x61ed, + [0x0c89] = 0x61ee, [0x0c8a] = 0x61ef, [0x0c8b] = 0x61f0, [0x0c8c] = 0x61f1, + [0x0c8d] = 0x61f2, [0x0c8e] = 0x61f3, [0x0c8f] = 0x61f4, [0x0c90] = 0x61f6, + [0x0c91] = 0x61f7, [0x0c92] = 0x61f8, [0x0c93] = 0x61f9, [0x0c94] = 0x61fa, + [0x0c95] = 0x61fb, [0x0c96] = 0x61fc, [0x0c97] = 0x61fd, [0x0c98] = 0x61fe, + [0x0c99] = 0x6200, [0x0c9a] = 0x6201, [0x0c9b] = 0x6202, [0x0c9c] = 0x6203, + [0x0c9d] = 0x6204, [0x0c9e] = 0x6205, [0x0c9f] = 0x6207, [0x0ca0] = 0x6209, + [0x0ca1] = 0x6213, [0x0ca2] = 0x6214, [0x0ca3] = 0x6219, [0x0ca4] = 0x621c, + [0x0ca5] = 0x621d, [0x0ca6] = 0x621e, [0x0ca7] = 0x6220, [0x0ca8] = 0x6223, + [0x0ca9] = 0x6226, [0x0caa] = 0x6227, [0x0cab] = 0x6228, [0x0cac] = 0x6229, + [0x0cad] = 0x622b, [0x0cae] = 0x622d, [0x0caf] = 0x622f, [0x0cb0] = 0x6230, + [0x0cb1] = 0x6231, [0x0cb2] = 0x6232, [0x0cb3] = 0x6235, [0x0cb4] = 0x6236, + [0x0cb5] = 0x6238, [0x0cb6] = 0x6239, [0x0cb7] = 0x623a, [0x0cb8] = 0x623b, + [0x0cb9] = 0x623c, [0x0cba] = 0x6242, [0x0cbb] = 0x6244, [0x0cbc] = 0x6245, + [0x0cbd] = 0x6246, [0x0cbe] = 0x624a, [0x0cc0] = 0x624f, [0x0cc1] = 0x6250, + [0x0cc2] = 0x6255, [0x0cc3] = 0x6256, [0x0cc4] = 0x6257, [0x0cc5] = 0x6259, + [0x0cc6] = 0x625a, [0x0cc7] = 0x625c, [0x0cc8] = 0x625d, [0x0cc9] = 0x625e, + [0x0cca] = 0x625f, [0x0ccb] = 0x6260, [0x0ccc] = 0x6261, [0x0ccd] = 0x6262, + [0x0cce] = 0x6264, [0x0ccf] = 0x6265, [0x0cd0] = 0x6268, [0x0cd1] = 0x6271, + [0x0cd2] = 0x6272, [0x0cd3] = 0x6274, [0x0cd4] = 0x6275, [0x0cd5] = 0x6277, + [0x0cd6] = 0x6278, [0x0cd7] = 0x627a, [0x0cd8] = 0x627b, [0x0cd9] = 0x627d, + [0x0cda] = 0x6281, [0x0cdb] = 0x6282, [0x0cdc] = 0x6283, [0x0cdd] = 0x6285, + [0x0cde] = 0x6286, [0x0cdf] = 0x6287, [0x0ce0] = 0x6288, [0x0ce1] = 0x628b, + [0x0ce2] = 0x628c, [0x0ce3] = 0x628d, [0x0ce4] = 0x628e, [0x0ce5] = 0x628f, + [0x0ce6] = 0x6290, [0x0ce7] = 0x6294, [0x0ce8] = 0x6299, [0x0ce9] = 0x629c, + [0x0cea] = 0x629d, [0x0ceb] = 0x629e, [0x0cec] = 0x62a3, [0x0ced] = 0x62a6, + [0x0cee] = 0x62a7, [0x0cef] = 0x62a9, [0x0cf0] = 0x62aa, [0x0cf1] = 0x62ad, + [0x0cf2] = 0x62ae, [0x0cf3] = 0x62af, [0x0cf4] = 0x62b0, [0x0cf5] = 0x62b2, + [0x0cf6] = 0x62b3, [0x0cf7] = 0x62b4, [0x0cf8] = 0x62b6, [0x0cf9] = 0x62b7, + [0x0cfa] = 0x62b8, [0x0cfb] = 0x62ba, [0x0cfc] = 0x62be, [0x0cfd] = 0x62c0, + [0x0cfe] = 0x62c1, [0x0d00] = 0x62c3, [0x0d01] = 0x62cb, [0x0d02] = 0x62cf, + [0x0d03] = 0x62d1, [0x0d04] = 0x62d5, [0x0d05] = 0x62dd, [0x0d06] = 0x62de, + [0x0d07] = 0x62e0, [0x0d08] = 0x62e1, [0x0d09] = 0x62e4, [0x0d0a] = 0x62ea, + [0x0d0b] = 0x62eb, [0x0d0c] = 0x62f0, [0x0d0d] = 0x62f2, [0x0d0e] = 0x62f5, + [0x0d0f] = 0x62f8, [0x0d10] = 0x62f9, [0x0d11] = 0x62fa, [0x0d12] = 0x62fb, + [0x0d13] = 0x6300, [0x0d14] = 0x6303, [0x0d15] = 0x6304, [0x0d16] = 0x6305, + [0x0d17] = 0x6306, [0x0d18] = 0x630a, [0x0d19] = 0x630b, [0x0d1a] = 0x630c, + [0x0d1b] = 0x630d, [0x0d1c] = 0x630f, [0x0d1d] = 0x6310, [0x0d1e] = 0x6312, + [0x0d1f] = 0x6313, [0x0d20] = 0x6314, [0x0d21] = 0x6315, [0x0d22] = 0x6317, + [0x0d23] = 0x6318, [0x0d24] = 0x6319, [0x0d25] = 0x631c, [0x0d26] = 0x6326, + [0x0d27] = 0x6327, [0x0d28] = 0x6329, [0x0d29] = 0x632c, [0x0d2a] = 0x632d, + [0x0d2b] = 0x632e, [0x0d2c] = 0x6330, [0x0d2d] = 0x6331, [0x0d2e] = 0x6333, + [0x0d2f] = 0x6334, [0x0d30] = 0x6335, [0x0d31] = 0x6336, [0x0d32] = 0x6337, + [0x0d33] = 0x6338, [0x0d34] = 0x633b, [0x0d35] = 0x633c, [0x0d36] = 0x633e, + [0x0d37] = 0x633f, [0x0d38] = 0x6340, [0x0d39] = 0x6341, [0x0d3a] = 0x6344, + [0x0d3b] = 0x6347, [0x0d3c] = 0x6348, [0x0d3d] = 0x634a, [0x0d3e] = 0x6351, + [0x0d3f] = 0x6352, [0x0d40] = 0x6353, [0x0d41] = 0x6354, [0x0d42] = 0x6356, + [0x0d43] = 0x6357, [0x0d44] = 0x6358, [0x0d45] = 0x6359, [0x0d46] = 0x635a, + [0x0d47] = 0x635b, [0x0d48] = 0x635c, [0x0d49] = 0x635d, [0x0d4a] = 0x6360, + [0x0d4b] = 0x6364, [0x0d4c] = 0x6365, [0x0d4d] = 0x6366, [0x0d4e] = 0x6368, + [0x0d4f] = 0x636a, [0x0d50] = 0x636b, [0x0d51] = 0x636c, [0x0d52] = 0x636f, + [0x0d53] = 0x6370, [0x0d54] = 0x6372, [0x0d55] = 0x6373, [0x0d56] = 0x6374, + [0x0d57] = 0x6375, [0x0d58] = 0x6378, [0x0d59] = 0x6379, [0x0d5a] = 0x637c, + [0x0d5b] = 0x637d, [0x0d5c] = 0x637e, [0x0d5d] = 0x637f, [0x0d5e] = 0x6381, + [0x0d5f] = 0x6383, [0x0d60] = 0x6384, [0x0d61] = 0x6385, [0x0d62] = 0x6386, + [0x0d63] = 0x638b, [0x0d64] = 0x638d, [0x0d65] = 0x6391, [0x0d66] = 0x6393, + [0x0d67] = 0x6394, [0x0d68] = 0x6395, [0x0d69] = 0x6397, [0x0d6a] = 0x6399, + [0x0d6b] = 0x639a, [0x0d6c] = 0x639b, [0x0d6d] = 0x639c, [0x0d6e] = 0x639d, + [0x0d6f] = 0x639e, [0x0d70] = 0x639f, [0x0d71] = 0x63a1, [0x0d72] = 0x63a4, + [0x0d73] = 0x63a6, [0x0d74] = 0x63ab, [0x0d75] = 0x63af, [0x0d76] = 0x63b1, + [0x0d77] = 0x63b2, [0x0d78] = 0x63b5, [0x0d79] = 0x63b6, [0x0d7a] = 0x63b9, + [0x0d7b] = 0x63bb, [0x0d7c] = 0x63bd, [0x0d7d] = 0x63bf, [0x0d7e] = 0x63c0, + [0x0d80] = 0x63c1, [0x0d81] = 0x63c2, [0x0d82] = 0x63c3, [0x0d83] = 0x63c5, + [0x0d84] = 0x63c7, [0x0d85] = 0x63c8, [0x0d86] = 0x63ca, [0x0d87] = 0x63cb, + [0x0d88] = 0x63cc, [0x0d89] = 0x63d1, [0x0d8a] = 0x63d3, [0x0d8b] = 0x63d4, + [0x0d8c] = 0x63d5, [0x0d8d] = 0x63d7, [0x0d8e] = 0x63d8, [0x0d8f] = 0x63d9, + [0x0d90] = 0x63da, [0x0d91] = 0x63db, [0x0d92] = 0x63dc, [0x0d93] = 0x63dd, + [0x0d94] = 0x63df, [0x0d95] = 0x63e2, [0x0d96] = 0x63e4, [0x0d97] = 0x63e5, + [0x0d98] = 0x63e6, [0x0d99] = 0x63e7, [0x0d9a] = 0x63e8, [0x0d9b] = 0x63eb, + [0x0d9c] = 0x63ec, [0x0d9d] = 0x63ee, [0x0d9e] = 0x63ef, [0x0d9f] = 0x63f0, + [0x0da0] = 0x63f1, [0x0da1] = 0x63f3, [0x0da2] = 0x63f5, [0x0da3] = 0x63f7, + [0x0da4] = 0x63f9, [0x0da5] = 0x63fa, [0x0da6] = 0x63fb, [0x0da7] = 0x63fc, + [0x0da8] = 0x63fe, [0x0da9] = 0x6403, [0x0daa] = 0x6404, [0x0dab] = 0x6406, + [0x0dac] = 0x6407, [0x0dad] = 0x6408, [0x0dae] = 0x6409, [0x0daf] = 0x640a, + [0x0db0] = 0x640d, [0x0db1] = 0x640e, [0x0db2] = 0x6411, [0x0db3] = 0x6412, + [0x0db4] = 0x6415, [0x0db5] = 0x6416, [0x0db6] = 0x6417, [0x0db7] = 0x6418, + [0x0db8] = 0x6419, [0x0db9] = 0x641a, [0x0dba] = 0x641d, [0x0dbb] = 0x641f, + [0x0dbc] = 0x6422, [0x0dbd] = 0x6423, [0x0dbe] = 0x6424, [0x0dc0] = 0x6425, + [0x0dc1] = 0x6427, [0x0dc2] = 0x6428, [0x0dc3] = 0x6429, [0x0dc4] = 0x642b, + [0x0dc5] = 0x642e, [0x0dc6] = 0x642f, [0x0dc7] = 0x6430, [0x0dc8] = 0x6431, + [0x0dc9] = 0x6432, [0x0dca] = 0x6433, [0x0dcb] = 0x6435, [0x0dcc] = 0x6436, + [0x0dcd] = 0x6437, [0x0dce] = 0x6438, [0x0dcf] = 0x6439, [0x0dd0] = 0x643b, + [0x0dd1] = 0x643c, [0x0dd2] = 0x643e, [0x0dd3] = 0x6440, [0x0dd4] = 0x6442, + [0x0dd5] = 0x6443, [0x0dd6] = 0x6449, [0x0dd7] = 0x644b, [0x0dd8] = 0x644c, + [0x0dd9] = 0x644d, [0x0dda] = 0x644e, [0x0ddb] = 0x644f, [0x0ddc] = 0x6450, + [0x0ddd] = 0x6451, [0x0dde] = 0x6453, [0x0ddf] = 0x6455, [0x0de0] = 0x6456, + [0x0de1] = 0x6457, [0x0de2] = 0x6459, [0x0de3] = 0x645a, [0x0de4] = 0x645b, + [0x0de5] = 0x645c, [0x0de6] = 0x645d, [0x0de7] = 0x645f, [0x0de8] = 0x6460, + [0x0de9] = 0x6461, [0x0dea] = 0x6462, [0x0deb] = 0x6463, [0x0dec] = 0x6464, + [0x0ded] = 0x6465, [0x0dee] = 0x6466, [0x0def] = 0x6468, [0x0df0] = 0x646a, + [0x0df1] = 0x646b, [0x0df2] = 0x646c, [0x0df3] = 0x646e, [0x0df4] = 0x646f, + [0x0df5] = 0x6470, [0x0df6] = 0x6471, [0x0df7] = 0x6472, [0x0df8] = 0x6473, + [0x0df9] = 0x6474, [0x0dfa] = 0x6475, [0x0dfb] = 0x6476, [0x0dfc] = 0x6477, + [0x0dfd] = 0x647b, [0x0dfe] = 0x647c, [0x0dff] = 0x647d, [0x0e00] = 0x647e, + [0x0e01] = 0x647f, [0x0e02] = 0x6480, [0x0e03] = 0x6481, [0x0e04] = 0x6483, + [0x0e05] = 0x6486, [0x0e06] = 0x6488, [0x0e07] = 0x6489, [0x0e08] = 0x648a, + [0x0e09] = 0x648b, [0x0e0a] = 0x648c, [0x0e0b] = 0x648d, [0x0e0c] = 0x648e, + [0x0e0d] = 0x648f, [0x0e0e] = 0x6490, [0x0e0f] = 0x6493, [0x0e10] = 0x6494, + [0x0e11] = 0x6497, [0x0e12] = 0x6498, [0x0e13] = 0x649a, [0x0e14] = 0x649b, + [0x0e15] = 0x649c, [0x0e16] = 0x649d, [0x0e17] = 0x649f, [0x0e18] = 0x64a0, + [0x0e19] = 0x64a1, [0x0e1a] = 0x64a2, [0x0e1b] = 0x64a3, [0x0e1c] = 0x64a5, + [0x0e1d] = 0x64a6, [0x0e1e] = 0x64a7, [0x0e1f] = 0x64a8, [0x0e20] = 0x64aa, + [0x0e21] = 0x64ab, [0x0e22] = 0x64af, [0x0e23] = 0x64b1, [0x0e24] = 0x64b2, + [0x0e25] = 0x64b3, [0x0e26] = 0x64b4, [0x0e27] = 0x64b6, [0x0e28] = 0x64b9, + [0x0e29] = 0x64bb, [0x0e2a] = 0x64bd, [0x0e2b] = 0x64be, [0x0e2c] = 0x64bf, + [0x0e2d] = 0x64c1, [0x0e2e] = 0x64c3, [0x0e2f] = 0x64c4, [0x0e30] = 0x64c6, + [0x0e31] = 0x64c7, [0x0e32] = 0x64c8, [0x0e33] = 0x64c9, [0x0e34] = 0x64ca, + [0x0e35] = 0x64cb, [0x0e36] = 0x64cc, [0x0e37] = 0x64cf, [0x0e38] = 0x64d1, + [0x0e39] = 0x64d3, [0x0e3a] = 0x64d4, [0x0e3b] = 0x64d5, [0x0e3c] = 0x64d6, + [0x0e3d] = 0x64d9, [0x0e3e] = 0x64da, [0x0e40] = 0x64db, [0x0e41] = 0x64dc, + [0x0e42] = 0x64dd, [0x0e43] = 0x64df, [0x0e44] = 0x64e0, [0x0e45] = 0x64e1, + [0x0e46] = 0x64e3, [0x0e47] = 0x64e5, [0x0e48] = 0x64e7, [0x0e49] = 0x64e8, + [0x0e4a] = 0x64e9, [0x0e4b] = 0x64ea, [0x0e4c] = 0x64eb, [0x0e4d] = 0x64ec, + [0x0e4e] = 0x64ed, [0x0e4f] = 0x64ee, [0x0e50] = 0x64ef, [0x0e51] = 0x64f0, + [0x0e52] = 0x64f1, [0x0e53] = 0x64f2, [0x0e54] = 0x64f3, [0x0e55] = 0x64f4, + [0x0e56] = 0x64f5, [0x0e57] = 0x64f6, [0x0e58] = 0x64f7, [0x0e59] = 0x64f8, + [0x0e5a] = 0x64f9, [0x0e5b] = 0x64fa, [0x0e5c] = 0x64fb, [0x0e5d] = 0x64fc, + [0x0e5e] = 0x64fd, [0x0e5f] = 0x64fe, [0x0e60] = 0x64ff, [0x0e61] = 0x6501, + [0x0e62] = 0x6502, [0x0e63] = 0x6503, [0x0e64] = 0x6504, [0x0e65] = 0x6505, + [0x0e66] = 0x6506, [0x0e67] = 0x6507, [0x0e68] = 0x6508, [0x0e69] = 0x650a, + [0x0e6a] = 0x650b, [0x0e6b] = 0x650c, [0x0e6c] = 0x650d, [0x0e6d] = 0x650e, + [0x0e6e] = 0x650f, [0x0e6f] = 0x6510, [0x0e70] = 0x6511, [0x0e71] = 0x6513, + [0x0e72] = 0x6514, [0x0e73] = 0x6515, [0x0e74] = 0x6516, [0x0e75] = 0x6517, + [0x0e76] = 0x6519, [0x0e77] = 0x651a, [0x0e78] = 0x651b, [0x0e79] = 0x651c, + [0x0e7a] = 0x651d, [0x0e7b] = 0x651e, [0x0e7c] = 0x651f, [0x0e7d] = 0x6520, + [0x0e7e] = 0x6521, [0x0e80] = 0x6522, [0x0e81] = 0x6523, [0x0e82] = 0x6524, + [0x0e83] = 0x6526, [0x0e84] = 0x6527, [0x0e85] = 0x6528, [0x0e86] = 0x6529, + [0x0e87] = 0x652a, [0x0e88] = 0x652c, [0x0e89] = 0x652d, [0x0e8a] = 0x6530, + [0x0e8b] = 0x6531, [0x0e8c] = 0x6532, [0x0e8d] = 0x6533, [0x0e8e] = 0x6537, + [0x0e8f] = 0x653a, [0x0e90] = 0x653c, [0x0e91] = 0x653d, [0x0e92] = 0x6540, + [0x0e93] = 0x6541, [0x0e94] = 0x6542, [0x0e95] = 0x6543, [0x0e96] = 0x6544, + [0x0e97] = 0x6546, [0x0e98] = 0x6547, [0x0e99] = 0x654a, [0x0e9a] = 0x654b, + [0x0e9b] = 0x654d, [0x0e9c] = 0x654e, [0x0e9d] = 0x6550, [0x0e9e] = 0x6552, + [0x0e9f] = 0x6553, [0x0ea0] = 0x6554, [0x0ea1] = 0x6557, [0x0ea2] = 0x6558, + [0x0ea3] = 0x655a, [0x0ea4] = 0x655c, [0x0ea5] = 0x655f, [0x0ea6] = 0x6560, + [0x0ea7] = 0x6561, [0x0ea8] = 0x6564, [0x0ea9] = 0x6565, [0x0eaa] = 0x6567, + [0x0eab] = 0x6568, [0x0eac] = 0x6569, [0x0ead] = 0x656a, [0x0eae] = 0x656d, + [0x0eaf] = 0x656e, [0x0eb0] = 0x656f, [0x0eb1] = 0x6571, [0x0eb2] = 0x6573, + [0x0eb3] = 0x6575, [0x0eb4] = 0x6576, [0x0eb5] = 0x6578, [0x0eb6] = 0x6579, + [0x0eb7] = 0x657a, [0x0eb8] = 0x657b, [0x0eb9] = 0x657c, [0x0eba] = 0x657d, + [0x0ebb] = 0x657e, [0x0ebc] = 0x657f, [0x0ebd] = 0x6580, [0x0ebe] = 0x6581, + [0x0ebf] = 0x6582, [0x0ec0] = 0x6583, [0x0ec1] = 0x6584, [0x0ec2] = 0x6585, + [0x0ec3] = 0x6586, [0x0ec4] = 0x6588, [0x0ec5] = 0x6589, [0x0ec6] = 0x658a, + [0x0ec7] = 0x658d, [0x0ec8] = 0x658e, [0x0ec9] = 0x658f, [0x0eca] = 0x6592, + [0x0ecb] = 0x6594, [0x0ecc] = 0x6595, [0x0ecd] = 0x6596, [0x0ece] = 0x6598, + [0x0ecf] = 0x659a, [0x0ed0] = 0x659d, [0x0ed1] = 0x659e, [0x0ed2] = 0x65a0, + [0x0ed3] = 0x65a2, [0x0ed4] = 0x65a3, [0x0ed5] = 0x65a6, [0x0ed6] = 0x65a8, + [0x0ed7] = 0x65aa, [0x0ed8] = 0x65ac, [0x0ed9] = 0x65ae, [0x0eda] = 0x65b1, + [0x0edb] = 0x65b2, [0x0edc] = 0x65b3, [0x0edd] = 0x65b4, [0x0ede] = 0x65b5, + [0x0edf] = 0x65b6, [0x0ee0] = 0x65b7, [0x0ee1] = 0x65b8, [0x0ee2] = 0x65ba, + [0x0ee3] = 0x65bb, [0x0ee4] = 0x65be, [0x0ee5] = 0x65bf, [0x0ee6] = 0x65c0, + [0x0ee7] = 0x65c2, [0x0ee8] = 0x65c7, [0x0ee9] = 0x65c8, [0x0eea] = 0x65c9, + [0x0eeb] = 0x65ca, [0x0eec] = 0x65cd, [0x0eed] = 0x65d0, [0x0eee] = 0x65d1, + [0x0eef] = 0x65d3, [0x0ef0] = 0x65d4, [0x0ef1] = 0x65d5, [0x0ef2] = 0x65d8, + [0x0ef3] = 0x65d9, [0x0ef4] = 0x65da, [0x0ef5] = 0x65db, [0x0ef6] = 0x65dc, + [0x0ef7] = 0x65dd, [0x0ef8] = 0x65de, [0x0ef9] = 0x65df, [0x0efa] = 0x65e1, + [0x0efb] = 0x65e3, [0x0efc] = 0x65e4, [0x0efd] = 0x65ea, [0x0efe] = 0x65eb, + [0x0f00] = 0x65f2, [0x0f01] = 0x65f3, [0x0f02] = 0x65f4, [0x0f03] = 0x65f5, + [0x0f04] = 0x65f8, [0x0f05] = 0x65f9, [0x0f06] = 0x65fb, [0x0f07] = 0x65fc, + [0x0f08] = 0x65fd, [0x0f09] = 0x65fe, [0x0f0a] = 0x65ff, [0x0f0b] = 0x6601, + [0x0f0c] = 0x6604, [0x0f0d] = 0x6605, [0x0f0e] = 0x6607, [0x0f0f] = 0x6608, + [0x0f10] = 0x6609, [0x0f11] = 0x660b, [0x0f12] = 0x660d, [0x0f13] = 0x6610, + [0x0f14] = 0x6611, [0x0f15] = 0x6612, [0x0f16] = 0x6616, [0x0f17] = 0x6617, + [0x0f18] = 0x6618, [0x0f19] = 0x661a, [0x0f1a] = 0x661b, [0x0f1b] = 0x661c, + [0x0f1c] = 0x661e, [0x0f1d] = 0x6621, [0x0f1e] = 0x6622, [0x0f1f] = 0x6623, + [0x0f20] = 0x6624, [0x0f21] = 0x6626, [0x0f22] = 0x6629, [0x0f23] = 0x662a, + [0x0f24] = 0x662b, [0x0f25] = 0x662c, [0x0f26] = 0x662e, [0x0f27] = 0x6630, + [0x0f28] = 0x6632, [0x0f29] = 0x6633, [0x0f2a] = 0x6637, [0x0f2b] = 0x6638, + [0x0f2c] = 0x6639, [0x0f2d] = 0x663a, [0x0f2e] = 0x663b, [0x0f2f] = 0x663d, + [0x0f30] = 0x663f, [0x0f31] = 0x6640, [0x0f32] = 0x6642, [0x0f33] = 0x6644, + [0x0f34] = 0x6645, [0x0f35] = 0x6646, [0x0f36] = 0x6647, [0x0f37] = 0x6648, + [0x0f38] = 0x6649, [0x0f39] = 0x664a, [0x0f3a] = 0x664d, [0x0f3b] = 0x664e, + [0x0f3c] = 0x6650, [0x0f3d] = 0x6651, [0x0f3e] = 0x6658, [0x0f40] = 0x6659, + [0x0f41] = 0x665b, [0x0f42] = 0x665c, [0x0f43] = 0x665d, [0x0f44] = 0x665e, + [0x0f45] = 0x6660, [0x0f46] = 0x6662, [0x0f47] = 0x6663, [0x0f48] = 0x6665, + [0x0f49] = 0x6667, [0x0f4a] = 0x6669, [0x0f4b] = 0x666a, [0x0f4c] = 0x666b, + [0x0f4d] = 0x666c, [0x0f4e] = 0x666d, [0x0f4f] = 0x6671, [0x0f50] = 0x6672, + [0x0f51] = 0x6673, [0x0f52] = 0x6675, [0x0f53] = 0x6678, [0x0f54] = 0x6679, + [0x0f55] = 0x667b, [0x0f56] = 0x667c, [0x0f57] = 0x667d, [0x0f58] = 0x667f, + [0x0f59] = 0x6680, [0x0f5a] = 0x6681, [0x0f5b] = 0x6683, [0x0f5c] = 0x6685, + [0x0f5d] = 0x6686, [0x0f5e] = 0x6688, [0x0f5f] = 0x6689, [0x0f60] = 0x668a, + [0x0f61] = 0x668b, [0x0f62] = 0x668d, [0x0f63] = 0x668e, [0x0f64] = 0x668f, + [0x0f65] = 0x6690, [0x0f66] = 0x6692, [0x0f67] = 0x6693, [0x0f68] = 0x6694, + [0x0f69] = 0x6695, [0x0f6a] = 0x6698, [0x0f6b] = 0x6699, [0x0f6c] = 0x669a, + [0x0f6d] = 0x669b, [0x0f6e] = 0x669c, [0x0f6f] = 0x669e, [0x0f70] = 0x669f, + [0x0f71] = 0x66a0, [0x0f72] = 0x66a1, [0x0f73] = 0x66a2, [0x0f74] = 0x66a3, + [0x0f75] = 0x66a4, [0x0f76] = 0x66a5, [0x0f77] = 0x66a6, [0x0f78] = 0x66a9, + [0x0f79] = 0x66aa, [0x0f7a] = 0x66ab, [0x0f7b] = 0x66ac, [0x0f7c] = 0x66ad, + [0x0f7d] = 0x66af, [0x0f7e] = 0x66b0, [0x0f7f] = 0x66b1, [0x0f80] = 0x66b2, + [0x0f81] = 0x66b3, [0x0f82] = 0x66b5, [0x0f83] = 0x66b6, [0x0f84] = 0x66b7, + [0x0f85] = 0x66b8, [0x0f86] = 0x66ba, [0x0f87] = 0x66bb, [0x0f88] = 0x66bc, + [0x0f89] = 0x66bd, [0x0f8a] = 0x66bf, [0x0f8b] = 0x66c0, [0x0f8c] = 0x66c1, + [0x0f8d] = 0x66c2, [0x0f8e] = 0x66c3, [0x0f8f] = 0x66c4, [0x0f90] = 0x66c5, + [0x0f91] = 0x66c6, [0x0f92] = 0x66c7, [0x0f93] = 0x66c8, [0x0f94] = 0x66c9, + [0x0f95] = 0x66ca, [0x0f96] = 0x66cb, [0x0f97] = 0x66cc, [0x0f98] = 0x66cd, + [0x0f99] = 0x66ce, [0x0f9a] = 0x66cf, [0x0f9b] = 0x66d0, [0x0f9c] = 0x66d1, + [0x0f9d] = 0x66d2, [0x0f9e] = 0x66d3, [0x0f9f] = 0x66d4, [0x0fa0] = 0x66d5, + [0x0fa1] = 0x66d6, [0x0fa2] = 0x66d7, [0x0fa3] = 0x66d8, [0x0fa4] = 0x66da, + [0x0fa5] = 0x66de, [0x0fa6] = 0x66df, [0x0fa7] = 0x66e0, [0x0fa8] = 0x66e1, + [0x0fa9] = 0x66e2, [0x0faa] = 0x66e3, [0x0fab] = 0x66e4, [0x0fac] = 0x66e5, + [0x0fad] = 0x66e7, [0x0fae] = 0x66e8, [0x0faf] = 0x66ea, [0x0fb0] = 0x66eb, + [0x0fb1] = 0x66ec, [0x0fb2] = 0x66ed, [0x0fb3] = 0x66ee, [0x0fb4] = 0x66ef, + [0x0fb5] = 0x66f1, [0x0fb6] = 0x66f5, [0x0fb7] = 0x66f6, [0x0fb8] = 0x66f8, + [0x0fb9] = 0x66fa, [0x0fba] = 0x66fb, [0x0fbb] = 0x66fd, [0x0fbc] = 0x6701, + [0x0fbd] = 0x6702, [0x0fbe] = 0x6703, [0x0fc0] = 0x6704, [0x0fc1] = 0x6705, + [0x0fc2] = 0x6706, [0x0fc3] = 0x6707, [0x0fc4] = 0x670c, [0x0fc5] = 0x670e, + [0x0fc6] = 0x670f, [0x0fc7] = 0x6711, [0x0fc8] = 0x6712, [0x0fc9] = 0x6713, + [0x0fca] = 0x6716, [0x0fcb] = 0x6718, [0x0fcc] = 0x6719, [0x0fcd] = 0x671a, + [0x0fce] = 0x671c, [0x0fcf] = 0x671e, [0x0fd0] = 0x6720, [0x0fd1] = 0x6721, + [0x0fd2] = 0x6722, [0x0fd3] = 0x6723, [0x0fd4] = 0x6724, [0x0fd5] = 0x6725, + [0x0fd6] = 0x6727, [0x0fd7] = 0x6729, [0x0fd8] = 0x672e, [0x0fd9] = 0x6730, + [0x0fda] = 0x6732, [0x0fdb] = 0x6733, [0x0fdc] = 0x6736, [0x0fdd] = 0x6737, + [0x0fde] = 0x6738, [0x0fdf] = 0x6739, [0x0fe0] = 0x673b, [0x0fe1] = 0x673c, + [0x0fe2] = 0x673e, [0x0fe3] = 0x673f, [0x0fe4] = 0x6741, [0x0fe5] = 0x6744, + [0x0fe6] = 0x6745, [0x0fe7] = 0x6747, [0x0fe8] = 0x674a, [0x0fe9] = 0x674b, + [0x0fea] = 0x674d, [0x0feb] = 0x6752, [0x0fec] = 0x6754, [0x0fed] = 0x6755, + [0x0fee] = 0x6757, [0x0fef] = 0x6758, [0x0ff0] = 0x6759, [0x0ff1] = 0x675a, + [0x0ff2] = 0x675b, [0x0ff3] = 0x675d, [0x0ff4] = 0x6762, [0x0ff5] = 0x6763, + [0x0ff6] = 0x6764, [0x0ff7] = 0x6766, [0x0ff8] = 0x6767, [0x0ff9] = 0x676b, + [0x0ffa] = 0x676c, [0x0ffb] = 0x676e, [0x0ffc] = 0x6771, [0x0ffd] = 0x6774, + [0x0ffe] = 0x6776, [0x1000] = 0x6778, [0x1001] = 0x6779, [0x1002] = 0x677a, + [0x1003] = 0x677b, [0x1004] = 0x677d, [0x1005] = 0x6780, [0x1006] = 0x6782, + [0x1007] = 0x6783, [0x1008] = 0x6785, [0x1009] = 0x6786, [0x100a] = 0x6788, + [0x100b] = 0x678a, [0x100c] = 0x678c, [0x100d] = 0x678d, [0x100e] = 0x678e, + [0x100f] = 0x678f, [0x1010] = 0x6791, [0x1011] = 0x6792, [0x1012] = 0x6793, + [0x1013] = 0x6794, [0x1014] = 0x6796, [0x1015] = 0x6799, [0x1016] = 0x679b, + [0x1017] = 0x679f, [0x1018] = 0x67a0, [0x1019] = 0x67a1, [0x101a] = 0x67a4, + [0x101b] = 0x67a6, [0x101c] = 0x67a9, [0x101d] = 0x67ac, [0x101e] = 0x67ae, + [0x101f] = 0x67b1, [0x1020] = 0x67b2, [0x1021] = 0x67b4, [0x1022] = 0x67b9, + [0x1023] = 0x67ba, [0x1024] = 0x67bb, [0x1025] = 0x67bc, [0x1026] = 0x67bd, + [0x1027] = 0x67be, [0x1028] = 0x67bf, [0x1029] = 0x67c0, [0x102a] = 0x67c2, + [0x102b] = 0x67c5, [0x102c] = 0x67c6, [0x102d] = 0x67c7, [0x102e] = 0x67c8, + [0x102f] = 0x67c9, [0x1030] = 0x67ca, [0x1031] = 0x67cb, [0x1032] = 0x67cc, + [0x1033] = 0x67cd, [0x1034] = 0x67ce, [0x1035] = 0x67d5, [0x1036] = 0x67d6, + [0x1037] = 0x67d7, [0x1038] = 0x67db, [0x1039] = 0x67df, [0x103a] = 0x67e1, + [0x103b] = 0x67e3, [0x103c] = 0x67e4, [0x103d] = 0x67e6, [0x103e] = 0x67e7, + [0x103f] = 0x67e8, [0x1040] = 0x67ea, [0x1041] = 0x67eb, [0x1042] = 0x67ed, + [0x1043] = 0x67ee, [0x1044] = 0x67f2, [0x1045] = 0x67f5, [0x1046] = 0x67f6, + [0x1047] = 0x67f7, [0x1048] = 0x67f8, [0x1049] = 0x67f9, [0x104a] = 0x67fa, + [0x104b] = 0x67fb, [0x104c] = 0x67fc, [0x104d] = 0x67fe, [0x104e] = 0x6801, + [0x104f] = 0x6802, [0x1050] = 0x6803, [0x1051] = 0x6804, [0x1052] = 0x6806, + [0x1053] = 0x680d, [0x1054] = 0x6810, [0x1055] = 0x6812, [0x1056] = 0x6814, + [0x1057] = 0x6815, [0x1058] = 0x6818, [0x1059] = 0x6819, [0x105a] = 0x681a, + [0x105b] = 0x681b, [0x105c] = 0x681c, [0x105d] = 0x681e, [0x105e] = 0x681f, + [0x105f] = 0x6820, [0x1060] = 0x6822, [0x1061] = 0x6823, [0x1062] = 0x6824, + [0x1063] = 0x6825, [0x1064] = 0x6826, [0x1065] = 0x6827, [0x1066] = 0x6828, + [0x1067] = 0x682b, [0x1068] = 0x682c, [0x1069] = 0x682d, [0x106a] = 0x682e, + [0x106b] = 0x682f, [0x106c] = 0x6830, [0x106d] = 0x6831, [0x106e] = 0x6834, + [0x106f] = 0x6835, [0x1070] = 0x6836, [0x1071] = 0x683a, [0x1072] = 0x683b, + [0x1073] = 0x683f, [0x1074] = 0x6847, [0x1075] = 0x684b, [0x1076] = 0x684d, + [0x1077] = 0x684f, [0x1078] = 0x6852, [0x1079] = 0x6856, [0x107a] = 0x6857, + [0x107b] = 0x6858, [0x107c] = 0x6859, [0x107d] = 0x685a, [0x107e] = 0x685b, + [0x1080] = 0x685c, [0x1081] = 0x685d, [0x1082] = 0x685e, [0x1083] = 0x685f, + [0x1084] = 0x686a, [0x1085] = 0x686c, [0x1086] = 0x686d, [0x1087] = 0x686e, + [0x1088] = 0x686f, [0x1089] = 0x6870, [0x108a] = 0x6871, [0x108b] = 0x6872, + [0x108c] = 0x6873, [0x108d] = 0x6875, [0x108e] = 0x6878, [0x108f] = 0x6879, + [0x1090] = 0x687a, [0x1091] = 0x687b, [0x1092] = 0x687c, [0x1093] = 0x687d, + [0x1094] = 0x687e, [0x1095] = 0x687f, [0x1096] = 0x6880, [0x1097] = 0x6882, + [0x1098] = 0x6884, [0x1099] = 0x6887, [0x109a] = 0x6888, [0x109b] = 0x6889, + [0x109c] = 0x688a, [0x109d] = 0x688b, [0x109e] = 0x688c, [0x109f] = 0x688d, + [0x10a0] = 0x688e, [0x10a1] = 0x6890, [0x10a2] = 0x6891, [0x10a3] = 0x6892, + [0x10a4] = 0x6894, [0x10a5] = 0x6895, [0x10a6] = 0x6896, [0x10a7] = 0x6898, + [0x10a8] = 0x6899, [0x10a9] = 0x689a, [0x10aa] = 0x689b, [0x10ab] = 0x689c, + [0x10ac] = 0x689d, [0x10ad] = 0x689e, [0x10ae] = 0x689f, [0x10af] = 0x68a0, + [0x10b0] = 0x68a1, [0x10b1] = 0x68a3, [0x10b2] = 0x68a4, [0x10b3] = 0x68a5, + [0x10b4] = 0x68a9, [0x10b5] = 0x68aa, [0x10b6] = 0x68ab, [0x10b7] = 0x68ac, + [0x10b8] = 0x68ae, [0x10b9] = 0x68b1, [0x10ba] = 0x68b2, [0x10bb] = 0x68b4, + [0x10bc] = 0x68b6, [0x10bd] = 0x68b7, [0x10be] = 0x68b8, [0x10c0] = 0x68b9, + [0x10c1] = 0x68ba, [0x10c2] = 0x68bb, [0x10c3] = 0x68bc, [0x10c4] = 0x68bd, + [0x10c5] = 0x68be, [0x10c6] = 0x68bf, [0x10c7] = 0x68c1, [0x10c8] = 0x68c3, + [0x10c9] = 0x68c4, [0x10ca] = 0x68c5, [0x10cb] = 0x68c6, [0x10cc] = 0x68c7, + [0x10cd] = 0x68c8, [0x10ce] = 0x68ca, [0x10cf] = 0x68cc, [0x10d0] = 0x68ce, + [0x10d1] = 0x68cf, [0x10d2] = 0x68d0, [0x10d3] = 0x68d1, [0x10d4] = 0x68d3, + [0x10d5] = 0x68d4, [0x10d6] = 0x68d6, [0x10d7] = 0x68d7, [0x10d8] = 0x68d9, + [0x10d9] = 0x68db, [0x10da] = 0x68dc, [0x10db] = 0x68dd, [0x10dc] = 0x68de, + [0x10dd] = 0x68df, [0x10de] = 0x68e1, [0x10df] = 0x68e2, [0x10e0] = 0x68e4, + [0x10e1] = 0x68e5, [0x10e2] = 0x68e6, [0x10e3] = 0x68e7, [0x10e4] = 0x68e8, + [0x10e5] = 0x68e9, [0x10e6] = 0x68ea, [0x10e7] = 0x68eb, [0x10e8] = 0x68ec, + [0x10e9] = 0x68ed, [0x10ea] = 0x68ef, [0x10eb] = 0x68f2, [0x10ec] = 0x68f3, + [0x10ed] = 0x68f4, [0x10ee] = 0x68f6, [0x10ef] = 0x68f7, [0x10f0] = 0x68f8, + [0x10f1] = 0x68fb, [0x10f2] = 0x68fd, [0x10f3] = 0x68fe, [0x10f4] = 0x68ff, + [0x10f5] = 0x6900, [0x10f6] = 0x6902, [0x10f7] = 0x6903, [0x10f8] = 0x6904, + [0x10f9] = 0x6906, [0x10fa] = 0x6907, [0x10fb] = 0x6908, [0x10fc] = 0x6909, + [0x10fd] = 0x690a, [0x10fe] = 0x690c, [0x10ff] = 0x690f, [0x1100] = 0x6911, + [0x1101] = 0x6913, [0x1102] = 0x6914, [0x1103] = 0x6915, [0x1104] = 0x6916, + [0x1105] = 0x6917, [0x1106] = 0x6918, [0x1107] = 0x6919, [0x1108] = 0x691a, + [0x1109] = 0x691b, [0x110a] = 0x691c, [0x110b] = 0x691d, [0x110c] = 0x691e, + [0x110d] = 0x6921, [0x110e] = 0x6922, [0x110f] = 0x6923, [0x1110] = 0x6925, + [0x1111] = 0x6926, [0x1112] = 0x6927, [0x1113] = 0x6928, [0x1114] = 0x6929, + [0x1115] = 0x692a, [0x1116] = 0x692b, [0x1117] = 0x692c, [0x1118] = 0x692e, + [0x1119] = 0x692f, [0x111a] = 0x6931, [0x111b] = 0x6932, [0x111c] = 0x6933, + [0x111d] = 0x6935, [0x111e] = 0x6936, [0x111f] = 0x6937, [0x1120] = 0x6938, + [0x1121] = 0x693a, [0x1122] = 0x693b, [0x1123] = 0x693c, [0x1124] = 0x693e, + [0x1125] = 0x6940, [0x1126] = 0x6941, [0x1127] = 0x6943, [0x1128] = 0x6944, + [0x1129] = 0x6945, [0x112a] = 0x6946, [0x112b] = 0x6947, [0x112c] = 0x6948, + [0x112d] = 0x6949, [0x112e] = 0x694a, [0x112f] = 0x694b, [0x1130] = 0x694c, + [0x1131] = 0x694d, [0x1132] = 0x694e, [0x1133] = 0x694f, [0x1134] = 0x6950, + [0x1135] = 0x6951, [0x1136] = 0x6952, [0x1137] = 0x6953, [0x1138] = 0x6955, + [0x1139] = 0x6956, [0x113a] = 0x6958, [0x113b] = 0x6959, [0x113c] = 0x695b, + [0x113d] = 0x695c, [0x113e] = 0x695f, [0x1140] = 0x6961, [0x1141] = 0x6962, + [0x1142] = 0x6964, [0x1143] = 0x6965, [0x1144] = 0x6967, [0x1145] = 0x6968, + [0x1146] = 0x6969, [0x1147] = 0x696a, [0x1148] = 0x696c, [0x1149] = 0x696d, + [0x114a] = 0x696f, [0x114b] = 0x6970, [0x114c] = 0x6972, [0x114d] = 0x6973, + [0x114e] = 0x6974, [0x114f] = 0x6975, [0x1150] = 0x6976, [0x1151] = 0x697a, + [0x1152] = 0x697b, [0x1153] = 0x697d, [0x1154] = 0x697e, [0x1155] = 0x697f, + [0x1156] = 0x6981, [0x1157] = 0x6983, [0x1158] = 0x6985, [0x1159] = 0x698a, + [0x115a] = 0x698b, [0x115b] = 0x698c, [0x115c] = 0x698e, [0x115d] = 0x698f, + [0x115e] = 0x6990, [0x115f] = 0x6991, [0x1160] = 0x6992, [0x1161] = 0x6993, + [0x1162] = 0x6996, [0x1163] = 0x6997, [0x1164] = 0x6999, [0x1165] = 0x699a, + [0x1166] = 0x699d, [0x1167] = 0x699e, [0x1168] = 0x699f, [0x1169] = 0x69a0, + [0x116a] = 0x69a1, [0x116b] = 0x69a2, [0x116c] = 0x69a3, [0x116d] = 0x69a4, + [0x116e] = 0x69a5, [0x116f] = 0x69a6, [0x1170] = 0x69a9, [0x1171] = 0x69aa, + [0x1172] = 0x69ac, [0x1173] = 0x69ae, [0x1174] = 0x69af, [0x1175] = 0x69b0, + [0x1176] = 0x69b2, [0x1177] = 0x69b3, [0x1178] = 0x69b5, [0x1179] = 0x69b6, + [0x117a] = 0x69b8, [0x117b] = 0x69b9, [0x117c] = 0x69ba, [0x117d] = 0x69bc, + [0x117e] = 0x69bd, [0x1180] = 0x69be, [0x1181] = 0x69bf, [0x1182] = 0x69c0, + [0x1183] = 0x69c2, [0x1184] = 0x69c3, [0x1185] = 0x69c4, [0x1186] = 0x69c5, + [0x1187] = 0x69c6, [0x1188] = 0x69c7, [0x1189] = 0x69c8, [0x118a] = 0x69c9, + [0x118b] = 0x69cb, [0x118c] = 0x69cd, [0x118d] = 0x69cf, [0x118e] = 0x69d1, + [0x118f] = 0x69d2, [0x1190] = 0x69d3, [0x1191] = 0x69d5, [0x1192] = 0x69d6, + [0x1193] = 0x69d7, [0x1194] = 0x69d8, [0x1195] = 0x69d9, [0x1196] = 0x69da, + [0x1197] = 0x69dc, [0x1198] = 0x69dd, [0x1199] = 0x69de, [0x119a] = 0x69e1, + [0x119b] = 0x69e2, [0x119c] = 0x69e3, [0x119d] = 0x69e4, [0x119e] = 0x69e5, + [0x119f] = 0x69e6, [0x11a0] = 0x69e7, [0x11a1] = 0x69e8, [0x11a2] = 0x69e9, + [0x11a3] = 0x69ea, [0x11a4] = 0x69eb, [0x11a5] = 0x69ec, [0x11a6] = 0x69ee, + [0x11a7] = 0x69ef, [0x11a8] = 0x69f0, [0x11a9] = 0x69f1, [0x11aa] = 0x69f3, + [0x11ab] = 0x69f4, [0x11ac] = 0x69f5, [0x11ad] = 0x69f6, [0x11ae] = 0x69f7, + [0x11af] = 0x69f8, [0x11b0] = 0x69f9, [0x11b1] = 0x69fa, [0x11b2] = 0x69fb, + [0x11b3] = 0x69fc, [0x11b4] = 0x69fe, [0x11b5] = 0x6a00, [0x11b6] = 0x6a01, + [0x11b7] = 0x6a02, [0x11b8] = 0x6a03, [0x11b9] = 0x6a04, [0x11ba] = 0x6a05, + [0x11bb] = 0x6a06, [0x11bc] = 0x6a07, [0x11bd] = 0x6a08, [0x11be] = 0x6a09, + [0x11bf] = 0x6a0b, [0x11c0] = 0x6a0c, [0x11c1] = 0x6a0d, [0x11c2] = 0x6a0e, + [0x11c3] = 0x6a0f, [0x11c4] = 0x6a10, [0x11c5] = 0x6a11, [0x11c6] = 0x6a12, + [0x11c7] = 0x6a13, [0x11c8] = 0x6a14, [0x11c9] = 0x6a15, [0x11ca] = 0x6a16, + [0x11cb] = 0x6a19, [0x11cc] = 0x6a1a, [0x11cd] = 0x6a1b, [0x11ce] = 0x6a1c, + [0x11cf] = 0x6a1d, [0x11d0] = 0x6a1e, [0x11d1] = 0x6a20, [0x11d2] = 0x6a22, + [0x11d3] = 0x6a23, [0x11d4] = 0x6a24, [0x11d5] = 0x6a25, [0x11d6] = 0x6a26, + [0x11d7] = 0x6a27, [0x11d8] = 0x6a29, [0x11d9] = 0x6a2b, [0x11da] = 0x6a2c, + [0x11db] = 0x6a2d, [0x11dc] = 0x6a2e, [0x11dd] = 0x6a30, [0x11de] = 0x6a32, + [0x11df] = 0x6a33, [0x11e0] = 0x6a34, [0x11e1] = 0x6a36, [0x11e2] = 0x6a37, + [0x11e3] = 0x6a38, [0x11e4] = 0x6a39, [0x11e5] = 0x6a3a, [0x11e6] = 0x6a3b, + [0x11e7] = 0x6a3c, [0x11e8] = 0x6a3f, [0x11e9] = 0x6a40, [0x11ea] = 0x6a41, + [0x11eb] = 0x6a42, [0x11ec] = 0x6a43, [0x11ed] = 0x6a45, [0x11ee] = 0x6a46, + [0x11ef] = 0x6a48, [0x11f0] = 0x6a49, [0x11f1] = 0x6a4a, [0x11f2] = 0x6a4b, + [0x11f3] = 0x6a4c, [0x11f4] = 0x6a4d, [0x11f5] = 0x6a4e, [0x11f6] = 0x6a4f, + [0x11f7] = 0x6a51, [0x11f8] = 0x6a52, [0x11f9] = 0x6a53, [0x11fa] = 0x6a54, + [0x11fb] = 0x6a55, [0x11fc] = 0x6a56, [0x11fd] = 0x6a57, [0x11fe] = 0x6a5a, + [0x1200] = 0x6a5c, [0x1201] = 0x6a5d, [0x1202] = 0x6a5e, [0x1203] = 0x6a5f, + [0x1204] = 0x6a60, [0x1205] = 0x6a62, [0x1206] = 0x6a63, [0x1207] = 0x6a64, + [0x1208] = 0x6a66, [0x1209] = 0x6a67, [0x120a] = 0x6a68, [0x120b] = 0x6a69, + [0x120c] = 0x6a6a, [0x120d] = 0x6a6b, [0x120e] = 0x6a6c, [0x120f] = 0x6a6d, + [0x1210] = 0x6a6e, [0x1211] = 0x6a6f, [0x1212] = 0x6a70, [0x1213] = 0x6a72, + [0x1214] = 0x6a73, [0x1215] = 0x6a74, [0x1216] = 0x6a75, [0x1217] = 0x6a76, + [0x1218] = 0x6a77, [0x1219] = 0x6a78, [0x121a] = 0x6a7a, [0x121b] = 0x6a7b, + [0x121c] = 0x6a7d, [0x121d] = 0x6a7e, [0x121e] = 0x6a7f, [0x121f] = 0x6a81, + [0x1220] = 0x6a82, [0x1221] = 0x6a83, [0x1222] = 0x6a85, [0x1223] = 0x6a86, + [0x1224] = 0x6a87, [0x1225] = 0x6a88, [0x1226] = 0x6a89, [0x1227] = 0x6a8a, + [0x1228] = 0x6a8b, [0x1229] = 0x6a8c, [0x122a] = 0x6a8d, [0x122b] = 0x6a8f, + [0x122c] = 0x6a92, [0x122d] = 0x6a93, [0x122e] = 0x6a94, [0x122f] = 0x6a95, + [0x1230] = 0x6a96, [0x1231] = 0x6a98, [0x1232] = 0x6a99, [0x1233] = 0x6a9a, + [0x1234] = 0x6a9b, [0x1235] = 0x6a9c, [0x1236] = 0x6a9d, [0x1237] = 0x6a9e, + [0x1238] = 0x6a9f, [0x1239] = 0x6aa1, [0x123a] = 0x6aa2, [0x123b] = 0x6aa3, + [0x123c] = 0x6aa4, [0x123d] = 0x6aa5, [0x123e] = 0x6aa6, [0x1240] = 0x6aa7, + [0x1241] = 0x6aa8, [0x1242] = 0x6aaa, [0x1243] = 0x6aad, [0x1244] = 0x6aae, + [0x1245] = 0x6aaf, [0x1246] = 0x6ab0, [0x1247] = 0x6ab1, [0x1248] = 0x6ab2, + [0x1249] = 0x6ab3, [0x124a] = 0x6ab4, [0x124b] = 0x6ab5, [0x124c] = 0x6ab6, + [0x124d] = 0x6ab7, [0x124e] = 0x6ab8, [0x124f] = 0x6ab9, [0x1250] = 0x6aba, + [0x1251] = 0x6abb, [0x1252] = 0x6abc, [0x1253] = 0x6abd, [0x1254] = 0x6abe, + [0x1255] = 0x6abf, [0x1256] = 0x6ac0, [0x1257] = 0x6ac1, [0x1258] = 0x6ac2, + [0x1259] = 0x6ac3, [0x125a] = 0x6ac4, [0x125b] = 0x6ac5, [0x125c] = 0x6ac6, + [0x125d] = 0x6ac7, [0x125e] = 0x6ac8, [0x125f] = 0x6ac9, [0x1260] = 0x6aca, + [0x1261] = 0x6acb, [0x1262] = 0x6acc, [0x1263] = 0x6acd, [0x1264] = 0x6ace, + [0x1265] = 0x6acf, [0x1266] = 0x6ad0, [0x1267] = 0x6ad1, [0x1268] = 0x6ad2, + [0x1269] = 0x6ad3, [0x126a] = 0x6ad4, [0x126b] = 0x6ad5, [0x126c] = 0x6ad6, + [0x126d] = 0x6ad7, [0x126e] = 0x6ad8, [0x126f] = 0x6ad9, [0x1270] = 0x6ada, + [0x1271] = 0x6adb, [0x1272] = 0x6adc, [0x1273] = 0x6add, [0x1274] = 0x6ade, + [0x1275] = 0x6adf, [0x1276] = 0x6ae0, [0x1277] = 0x6ae1, [0x1278] = 0x6ae2, + [0x1279] = 0x6ae3, [0x127a] = 0x6ae4, [0x127b] = 0x6ae5, [0x127c] = 0x6ae6, + [0x127d] = 0x6ae7, [0x127e] = 0x6ae8, [0x127f] = 0x6ae9, [0x1280] = 0x6aea, + [0x1281] = 0x6aeb, [0x1282] = 0x6aec, [0x1283] = 0x6aed, [0x1284] = 0x6aee, + [0x1285] = 0x6aef, [0x1286] = 0x6af0, [0x1287] = 0x6af1, [0x1288] = 0x6af2, + [0x1289] = 0x6af3, [0x128a] = 0x6af4, [0x128b] = 0x6af5, [0x128c] = 0x6af6, + [0x128d] = 0x6af7, [0x128e] = 0x6af8, [0x128f] = 0x6af9, [0x1290] = 0x6afa, + [0x1291] = 0x6afb, [0x1292] = 0x6afc, [0x1293] = 0x6afd, [0x1294] = 0x6afe, + [0x1295] = 0x6aff, [0x1296] = 0x6b00, [0x1297] = 0x6b01, [0x1298] = 0x6b02, + [0x1299] = 0x6b03, [0x129a] = 0x6b04, [0x129b] = 0x6b05, [0x129c] = 0x6b06, + [0x129d] = 0x6b07, [0x129e] = 0x6b08, [0x129f] = 0x6b09, [0x12a0] = 0x6b0a, + [0x12a1] = 0x6b0b, [0x12a2] = 0x6b0c, [0x12a3] = 0x6b0d, [0x12a4] = 0x6b0e, + [0x12a5] = 0x6b0f, [0x12a6] = 0x6b10, [0x12a7] = 0x6b11, [0x12a8] = 0x6b12, + [0x12a9] = 0x6b13, [0x12aa] = 0x6b14, [0x12ab] = 0x6b15, [0x12ac] = 0x6b16, + [0x12ad] = 0x6b17, [0x12ae] = 0x6b18, [0x12af] = 0x6b19, [0x12b0] = 0x6b1a, + [0x12b1] = 0x6b1b, [0x12b2] = 0x6b1c, [0x12b3] = 0x6b1d, [0x12b4] = 0x6b1e, + [0x12b5] = 0x6b1f, [0x12b6] = 0x6b25, [0x12b7] = 0x6b26, [0x12b8] = 0x6b28, + [0x12b9] = 0x6b29, [0x12ba] = 0x6b2a, [0x12bb] = 0x6b2b, [0x12bc] = 0x6b2c, + [0x12bd] = 0x6b2d, [0x12be] = 0x6b2e, [0x12c0] = 0x6b2f, [0x12c1] = 0x6b30, + [0x12c2] = 0x6b31, [0x12c3] = 0x6b33, [0x12c4] = 0x6b34, [0x12c5] = 0x6b35, + [0x12c6] = 0x6b36, [0x12c7] = 0x6b38, [0x12c8] = 0x6b3b, [0x12c9] = 0x6b3c, + [0x12ca] = 0x6b3d, [0x12cb] = 0x6b3f, [0x12cc] = 0x6b40, [0x12cd] = 0x6b41, + [0x12ce] = 0x6b42, [0x12cf] = 0x6b44, [0x12d0] = 0x6b45, [0x12d1] = 0x6b48, + [0x12d2] = 0x6b4a, [0x12d3] = 0x6b4b, [0x12d4] = 0x6b4d, [0x12d5] = 0x6b4e, + [0x12d6] = 0x6b4f, [0x12d7] = 0x6b50, [0x12d8] = 0x6b51, [0x12d9] = 0x6b52, + [0x12da] = 0x6b53, [0x12db] = 0x6b54, [0x12dc] = 0x6b55, [0x12dd] = 0x6b56, + [0x12de] = 0x6b57, [0x12df] = 0x6b58, [0x12e0] = 0x6b5a, [0x12e1] = 0x6b5b, + [0x12e2] = 0x6b5c, [0x12e3] = 0x6b5d, [0x12e4] = 0x6b5e, [0x12e5] = 0x6b5f, + [0x12e6] = 0x6b60, [0x12e7] = 0x6b61, [0x12e8] = 0x6b68, [0x12e9] = 0x6b69, + [0x12ea] = 0x6b6b, [0x12eb] = 0x6b6c, [0x12ec] = 0x6b6d, [0x12ed] = 0x6b6e, + [0x12ee] = 0x6b6f, [0x12ef] = 0x6b70, [0x12f0] = 0x6b71, [0x12f1] = 0x6b72, + [0x12f2] = 0x6b73, [0x12f3] = 0x6b74, [0x12f4] = 0x6b75, [0x12f5] = 0x6b76, + [0x12f6] = 0x6b77, [0x12f7] = 0x6b78, [0x12f8] = 0x6b7a, [0x12f9] = 0x6b7d, + [0x12fa] = 0x6b7e, [0x12fb] = 0x6b7f, [0x12fc] = 0x6b80, [0x12fd] = 0x6b85, + [0x12fe] = 0x6b88, [0x1300] = 0x6b8c, [0x1301] = 0x6b8e, [0x1302] = 0x6b8f, + [0x1303] = 0x6b90, [0x1304] = 0x6b91, [0x1305] = 0x6b94, [0x1306] = 0x6b95, + [0x1307] = 0x6b97, [0x1308] = 0x6b98, [0x1309] = 0x6b99, [0x130a] = 0x6b9c, + [0x130b] = 0x6b9d, [0x130c] = 0x6b9e, [0x130d] = 0x6b9f, [0x130e] = 0x6ba0, + [0x130f] = 0x6ba2, [0x1310] = 0x6ba3, [0x1311] = 0x6ba4, [0x1312] = 0x6ba5, + [0x1313] = 0x6ba6, [0x1314] = 0x6ba7, [0x1315] = 0x6ba8, [0x1316] = 0x6ba9, + [0x1317] = 0x6bab, [0x1318] = 0x6bac, [0x1319] = 0x6bad, [0x131a] = 0x6bae, + [0x131b] = 0x6baf, [0x131c] = 0x6bb0, [0x131d] = 0x6bb1, [0x131e] = 0x6bb2, + [0x131f] = 0x6bb6, [0x1320] = 0x6bb8, [0x1321] = 0x6bb9, [0x1322] = 0x6bba, + [0x1323] = 0x6bbb, [0x1324] = 0x6bbc, [0x1325] = 0x6bbd, [0x1326] = 0x6bbe, + [0x1327] = 0x6bc0, [0x1328] = 0x6bc3, [0x1329] = 0x6bc4, [0x132a] = 0x6bc6, + [0x132b] = 0x6bc7, [0x132c] = 0x6bc8, [0x132d] = 0x6bc9, [0x132e] = 0x6bca, + [0x132f] = 0x6bcc, [0x1330] = 0x6bce, [0x1331] = 0x6bd0, [0x1332] = 0x6bd1, + [0x1333] = 0x6bd8, [0x1334] = 0x6bda, [0x1335] = 0x6bdc, [0x1336] = 0x6bdd, + [0x1337] = 0x6bde, [0x1338] = 0x6bdf, [0x1339] = 0x6be0, [0x133a] = 0x6be2, + [0x133b] = 0x6be3, [0x133c] = 0x6be4, [0x133d] = 0x6be5, [0x133e] = 0x6be6, + [0x133f] = 0x6be7, [0x1340] = 0x6be8, [0x1341] = 0x6be9, [0x1342] = 0x6bec, + [0x1343] = 0x6bed, [0x1344] = 0x6bee, [0x1345] = 0x6bf0, [0x1346] = 0x6bf1, + [0x1347] = 0x6bf2, [0x1348] = 0x6bf4, [0x1349] = 0x6bf6, [0x134a] = 0x6bf7, + [0x134b] = 0x6bf8, [0x134c] = 0x6bfa, [0x134d] = 0x6bfb, [0x134e] = 0x6bfc, + [0x134f] = 0x6bfe, [0x1350] = 0x6bff, [0x1351] = 0x6c00, [0x1352] = 0x6c01, + [0x1353] = 0x6c02, [0x1354] = 0x6c03, [0x1355] = 0x6c04, [0x1356] = 0x6c08, + [0x1357] = 0x6c09, [0x1358] = 0x6c0a, [0x1359] = 0x6c0b, [0x135a] = 0x6c0c, + [0x135b] = 0x6c0e, [0x135c] = 0x6c12, [0x135d] = 0x6c17, [0x135e] = 0x6c1c, + [0x135f] = 0x6c1d, [0x1360] = 0x6c1e, [0x1361] = 0x6c20, [0x1362] = 0x6c23, + [0x1363] = 0x6c25, [0x1364] = 0x6c2b, [0x1365] = 0x6c2c, [0x1366] = 0x6c2d, + [0x1367] = 0x6c31, [0x1368] = 0x6c33, [0x1369] = 0x6c36, [0x136a] = 0x6c37, + [0x136b] = 0x6c39, [0x136c] = 0x6c3a, [0x136d] = 0x6c3b, [0x136e] = 0x6c3c, + [0x136f] = 0x6c3e, [0x1370] = 0x6c3f, [0x1371] = 0x6c43, [0x1372] = 0x6c44, + [0x1373] = 0x6c45, [0x1374] = 0x6c48, [0x1375] = 0x6c4b, [0x1376] = 0x6c4c, + [0x1377] = 0x6c4d, [0x1378] = 0x6c4e, [0x1379] = 0x6c4f, [0x137a] = 0x6c51, + [0x137b] = 0x6c52, [0x137c] = 0x6c53, [0x137d] = 0x6c56, [0x137e] = 0x6c58, + [0x1380] = 0x6c59, [0x1381] = 0x6c5a, [0x1382] = 0x6c62, [0x1383] = 0x6c63, + [0x1384] = 0x6c65, [0x1385] = 0x6c66, [0x1386] = 0x6c67, [0x1387] = 0x6c6b, + [0x1388] = 0x6c6c, [0x1389] = 0x6c6d, [0x138a] = 0x6c6e, [0x138b] = 0x6c6f, + [0x138c] = 0x6c71, [0x138d] = 0x6c73, [0x138e] = 0x6c75, [0x138f] = 0x6c77, + [0x1390] = 0x6c78, [0x1391] = 0x6c7a, [0x1392] = 0x6c7b, [0x1393] = 0x6c7c, + [0x1394] = 0x6c7f, [0x1395] = 0x6c80, [0x1396] = 0x6c84, [0x1397] = 0x6c87, + [0x1398] = 0x6c8a, [0x1399] = 0x6c8b, [0x139a] = 0x6c8d, [0x139b] = 0x6c8e, + [0x139c] = 0x6c91, [0x139d] = 0x6c92, [0x139e] = 0x6c95, [0x139f] = 0x6c96, + [0x13a0] = 0x6c97, [0x13a1] = 0x6c98, [0x13a2] = 0x6c9a, [0x13a3] = 0x6c9c, + [0x13a4] = 0x6c9d, [0x13a5] = 0x6c9e, [0x13a6] = 0x6ca0, [0x13a7] = 0x6ca2, + [0x13a8] = 0x6ca8, [0x13a9] = 0x6cac, [0x13aa] = 0x6caf, [0x13ab] = 0x6cb0, + [0x13ac] = 0x6cb4, [0x13ad] = 0x6cb5, [0x13ae] = 0x6cb6, [0x13af] = 0x6cb7, + [0x13b0] = 0x6cba, [0x13b1] = 0x6cc0, [0x13b2] = 0x6cc1, [0x13b3] = 0x6cc2, + [0x13b4] = 0x6cc3, [0x13b5] = 0x6cc6, [0x13b6] = 0x6cc7, [0x13b7] = 0x6cc8, + [0x13b8] = 0x6ccb, [0x13b9] = 0x6ccd, [0x13ba] = 0x6cce, [0x13bb] = 0x6ccf, + [0x13bc] = 0x6cd1, [0x13bd] = 0x6cd2, [0x13be] = 0x6cd8, [0x13c0] = 0x6cd9, + [0x13c1] = 0x6cda, [0x13c2] = 0x6cdc, [0x13c3] = 0x6cdd, [0x13c4] = 0x6cdf, + [0x13c5] = 0x6ce4, [0x13c6] = 0x6ce6, [0x13c7] = 0x6ce7, [0x13c8] = 0x6ce9, + [0x13c9] = 0x6cec, [0x13ca] = 0x6ced, [0x13cb] = 0x6cf2, [0x13cc] = 0x6cf4, + [0x13cd] = 0x6cf9, [0x13ce] = 0x6cff, [0x13cf] = 0x6d00, [0x13d0] = 0x6d02, + [0x13d1] = 0x6d03, [0x13d2] = 0x6d05, [0x13d3] = 0x6d06, [0x13d4] = 0x6d08, + [0x13d5] = 0x6d09, [0x13d6] = 0x6d0a, [0x13d7] = 0x6d0d, [0x13d8] = 0x6d0f, + [0x13d9] = 0x6d10, [0x13da] = 0x6d11, [0x13db] = 0x6d13, [0x13dc] = 0x6d14, + [0x13dd] = 0x6d15, [0x13de] = 0x6d16, [0x13df] = 0x6d18, [0x13e0] = 0x6d1c, + [0x13e1] = 0x6d1d, [0x13e2] = 0x6d1f, [0x13e3] = 0x6d20, [0x13e4] = 0x6d21, + [0x13e5] = 0x6d22, [0x13e6] = 0x6d23, [0x13e7] = 0x6d24, [0x13e8] = 0x6d26, + [0x13e9] = 0x6d28, [0x13ea] = 0x6d29, [0x13eb] = 0x6d2c, [0x13ec] = 0x6d2d, + [0x13ed] = 0x6d2f, [0x13ee] = 0x6d30, [0x13ef] = 0x6d34, [0x13f0] = 0x6d36, + [0x13f1] = 0x6d37, [0x13f2] = 0x6d38, [0x13f3] = 0x6d3a, [0x13f4] = 0x6d3f, + [0x13f5] = 0x6d40, [0x13f6] = 0x6d42, [0x13f7] = 0x6d44, [0x13f8] = 0x6d49, + [0x13f9] = 0x6d4c, [0x13fa] = 0x6d50, [0x13fb] = 0x6d55, [0x13fc] = 0x6d56, + [0x13fd] = 0x6d57, [0x13fe] = 0x6d58, [0x13ff] = 0x6d5b, [0x1400] = 0x6d5d, + [0x1401] = 0x6d5f, [0x1402] = 0x6d61, [0x1403] = 0x6d62, [0x1404] = 0x6d64, + [0x1405] = 0x6d65, [0x1406] = 0x6d67, [0x1407] = 0x6d68, [0x1408] = 0x6d6b, + [0x1409] = 0x6d6c, [0x140a] = 0x6d6d, [0x140b] = 0x6d70, [0x140c] = 0x6d71, + [0x140d] = 0x6d72, [0x140e] = 0x6d73, [0x140f] = 0x6d75, [0x1410] = 0x6d76, + [0x1411] = 0x6d79, [0x1412] = 0x6d7a, [0x1413] = 0x6d7b, [0x1414] = 0x6d7d, + [0x1415] = 0x6d7e, [0x1416] = 0x6d7f, [0x1417] = 0x6d80, [0x1418] = 0x6d81, + [0x1419] = 0x6d83, [0x141a] = 0x6d84, [0x141b] = 0x6d86, [0x141c] = 0x6d87, + [0x141d] = 0x6d8a, [0x141e] = 0x6d8b, [0x141f] = 0x6d8d, [0x1420] = 0x6d8f, + [0x1421] = 0x6d90, [0x1422] = 0x6d92, [0x1423] = 0x6d96, [0x1424] = 0x6d97, + [0x1425] = 0x6d98, [0x1426] = 0x6d99, [0x1427] = 0x6d9a, [0x1428] = 0x6d9c, + [0x1429] = 0x6da2, [0x142a] = 0x6da5, [0x142b] = 0x6dac, [0x142c] = 0x6dad, + [0x142d] = 0x6db0, [0x142e] = 0x6db1, [0x142f] = 0x6db3, [0x1430] = 0x6db4, + [0x1431] = 0x6db6, [0x1432] = 0x6db7, [0x1433] = 0x6db9, [0x1434] = 0x6dba, + [0x1435] = 0x6dbb, [0x1436] = 0x6dbc, [0x1437] = 0x6dbd, [0x1438] = 0x6dbe, + [0x1439] = 0x6dc1, [0x143a] = 0x6dc2, [0x143b] = 0x6dc3, [0x143c] = 0x6dc8, + [0x143d] = 0x6dc9, [0x143e] = 0x6dca, [0x1440] = 0x6dcd, [0x1441] = 0x6dce, + [0x1442] = 0x6dcf, [0x1443] = 0x6dd0, [0x1444] = 0x6dd2, [0x1445] = 0x6dd3, + [0x1446] = 0x6dd4, [0x1447] = 0x6dd5, [0x1448] = 0x6dd7, [0x1449] = 0x6dda, + [0x144a] = 0x6ddb, [0x144b] = 0x6ddc, [0x144c] = 0x6ddf, [0x144d] = 0x6de2, + [0x144e] = 0x6de3, [0x144f] = 0x6de5, [0x1450] = 0x6de7, [0x1451] = 0x6de8, + [0x1452] = 0x6de9, [0x1453] = 0x6dea, [0x1454] = 0x6ded, [0x1455] = 0x6def, + [0x1456] = 0x6df0, [0x1457] = 0x6df2, [0x1458] = 0x6df4, [0x1459] = 0x6df5, + [0x145a] = 0x6df6, [0x145b] = 0x6df8, [0x145c] = 0x6dfa, [0x145d] = 0x6dfd, + [0x145e] = 0x6dfe, [0x145f] = 0x6dff, [0x1460] = 0x6e00, [0x1461] = 0x6e01, + [0x1462] = 0x6e02, [0x1463] = 0x6e03, [0x1464] = 0x6e04, [0x1465] = 0x6e06, + [0x1466] = 0x6e07, [0x1467] = 0x6e08, [0x1468] = 0x6e09, [0x1469] = 0x6e0b, + [0x146a] = 0x6e0f, [0x146b] = 0x6e12, [0x146c] = 0x6e13, [0x146d] = 0x6e15, + [0x146e] = 0x6e18, [0x146f] = 0x6e19, [0x1470] = 0x6e1b, [0x1471] = 0x6e1c, + [0x1472] = 0x6e1e, [0x1473] = 0x6e1f, [0x1474] = 0x6e22, [0x1475] = 0x6e26, + [0x1476] = 0x6e27, [0x1477] = 0x6e28, [0x1478] = 0x6e2a, [0x1479] = 0x6e2c, + [0x147a] = 0x6e2e, [0x147b] = 0x6e30, [0x147c] = 0x6e31, [0x147d] = 0x6e33, + [0x147e] = 0x6e35, [0x1480] = 0x6e36, [0x1481] = 0x6e37, [0x1482] = 0x6e39, + [0x1483] = 0x6e3b, [0x1484] = 0x6e3c, [0x1485] = 0x6e3d, [0x1486] = 0x6e3e, + [0x1487] = 0x6e3f, [0x1488] = 0x6e40, [0x1489] = 0x6e41, [0x148a] = 0x6e42, + [0x148b] = 0x6e45, [0x148c] = 0x6e46, [0x148d] = 0x6e47, [0x148e] = 0x6e48, + [0x148f] = 0x6e49, [0x1490] = 0x6e4a, [0x1491] = 0x6e4b, [0x1492] = 0x6e4c, + [0x1493] = 0x6e4f, [0x1494] = 0x6e50, [0x1495] = 0x6e51, [0x1496] = 0x6e52, + [0x1497] = 0x6e55, [0x1498] = 0x6e57, [0x1499] = 0x6e59, [0x149a] = 0x6e5a, + [0x149b] = 0x6e5c, [0x149c] = 0x6e5d, [0x149d] = 0x6e5e, [0x149e] = 0x6e60, + [0x149f] = 0x6e61, [0x14a0] = 0x6e62, [0x14a1] = 0x6e63, [0x14a2] = 0x6e64, + [0x14a3] = 0x6e65, [0x14a4] = 0x6e66, [0x14a5] = 0x6e67, [0x14a6] = 0x6e68, + [0x14a7] = 0x6e69, [0x14a8] = 0x6e6a, [0x14a9] = 0x6e6c, [0x14aa] = 0x6e6d, + [0x14ab] = 0x6e6f, [0x14ac] = 0x6e70, [0x14ad] = 0x6e71, [0x14ae] = 0x6e72, + [0x14af] = 0x6e73, [0x14b0] = 0x6e74, [0x14b1] = 0x6e75, [0x14b2] = 0x6e76, + [0x14b3] = 0x6e77, [0x14b4] = 0x6e78, [0x14b5] = 0x6e79, [0x14b6] = 0x6e7a, + [0x14b7] = 0x6e7b, [0x14b8] = 0x6e7c, [0x14b9] = 0x6e7d, [0x14ba] = 0x6e80, + [0x14bb] = 0x6e81, [0x14bc] = 0x6e82, [0x14bd] = 0x6e84, [0x14be] = 0x6e87, + [0x14bf] = 0x6e88, [0x14c0] = 0x6e8a, [0x14c1] = 0x6e8b, [0x14c2] = 0x6e8c, + [0x14c3] = 0x6e8d, [0x14c4] = 0x6e8e, [0x14c5] = 0x6e91, [0x14c6] = 0x6e92, + [0x14c7] = 0x6e93, [0x14c8] = 0x6e94, [0x14c9] = 0x6e95, [0x14ca] = 0x6e96, + [0x14cb] = 0x6e97, [0x14cc] = 0x6e99, [0x14cd] = 0x6e9a, [0x14ce] = 0x6e9b, + [0x14cf] = 0x6e9d, [0x14d0] = 0x6e9e, [0x14d1] = 0x6ea0, [0x14d2] = 0x6ea1, + [0x14d3] = 0x6ea3, [0x14d4] = 0x6ea4, [0x14d5] = 0x6ea6, [0x14d6] = 0x6ea8, + [0x14d7] = 0x6ea9, [0x14d8] = 0x6eab, [0x14d9] = 0x6eac, [0x14da] = 0x6ead, + [0x14db] = 0x6eae, [0x14dc] = 0x6eb0, [0x14dd] = 0x6eb3, [0x14de] = 0x6eb5, + [0x14df] = 0x6eb8, [0x14e0] = 0x6eb9, [0x14e1] = 0x6ebc, [0x14e2] = 0x6ebe, + [0x14e3] = 0x6ebf, [0x14e4] = 0x6ec0, [0x14e5] = 0x6ec3, [0x14e6] = 0x6ec4, + [0x14e7] = 0x6ec5, [0x14e8] = 0x6ec6, [0x14e9] = 0x6ec8, [0x14ea] = 0x6ec9, + [0x14eb] = 0x6eca, [0x14ec] = 0x6ecc, [0x14ed] = 0x6ecd, [0x14ee] = 0x6ece, + [0x14ef] = 0x6ed0, [0x14f0] = 0x6ed2, [0x14f1] = 0x6ed6, [0x14f2] = 0x6ed8, + [0x14f3] = 0x6ed9, [0x14f4] = 0x6edb, [0x14f5] = 0x6edc, [0x14f6] = 0x6edd, + [0x14f7] = 0x6ee3, [0x14f8] = 0x6ee7, [0x14f9] = 0x6eea, [0x14fa] = 0x6eeb, + [0x14fb] = 0x6eec, [0x14fc] = 0x6eed, [0x14fd] = 0x6eee, [0x14fe] = 0x6eef, + [0x1500] = 0x6ef0, [0x1501] = 0x6ef1, [0x1502] = 0x6ef2, [0x1503] = 0x6ef3, + [0x1504] = 0x6ef5, [0x1505] = 0x6ef6, [0x1506] = 0x6ef7, [0x1507] = 0x6ef8, + [0x1508] = 0x6efa, [0x1509] = 0x6efb, [0x150a] = 0x6efc, [0x150b] = 0x6efd, + [0x150c] = 0x6efe, [0x150d] = 0x6eff, [0x150e] = 0x6f00, [0x150f] = 0x6f01, + [0x1510] = 0x6f03, [0x1511] = 0x6f04, [0x1512] = 0x6f05, [0x1513] = 0x6f07, + [0x1514] = 0x6f08, [0x1515] = 0x6f0a, [0x1516] = 0x6f0b, [0x1517] = 0x6f0c, + [0x1518] = 0x6f0d, [0x1519] = 0x6f0e, [0x151a] = 0x6f10, [0x151b] = 0x6f11, + [0x151c] = 0x6f12, [0x151d] = 0x6f16, [0x151e] = 0x6f17, [0x151f] = 0x6f18, + [0x1520] = 0x6f19, [0x1521] = 0x6f1a, [0x1522] = 0x6f1b, [0x1523] = 0x6f1c, + [0x1524] = 0x6f1d, [0x1525] = 0x6f1e, [0x1526] = 0x6f1f, [0x1527] = 0x6f21, + [0x1528] = 0x6f22, [0x1529] = 0x6f23, [0x152a] = 0x6f25, [0x152b] = 0x6f26, + [0x152c] = 0x6f27, [0x152d] = 0x6f28, [0x152e] = 0x6f2c, [0x152f] = 0x6f2e, + [0x1530] = 0x6f30, [0x1531] = 0x6f32, [0x1532] = 0x6f34, [0x1533] = 0x6f35, + [0x1534] = 0x6f37, [0x1535] = 0x6f38, [0x1536] = 0x6f39, [0x1537] = 0x6f3a, + [0x1538] = 0x6f3b, [0x1539] = 0x6f3c, [0x153a] = 0x6f3d, [0x153b] = 0x6f3f, + [0x153c] = 0x6f40, [0x153d] = 0x6f41, [0x153e] = 0x6f42, [0x1540] = 0x6f43, + [0x1541] = 0x6f44, [0x1542] = 0x6f45, [0x1543] = 0x6f48, [0x1544] = 0x6f49, + [0x1545] = 0x6f4a, [0x1546] = 0x6f4c, [0x1547] = 0x6f4e, [0x1548] = 0x6f4f, + [0x1549] = 0x6f50, [0x154a] = 0x6f51, [0x154b] = 0x6f52, [0x154c] = 0x6f53, + [0x154d] = 0x6f54, [0x154e] = 0x6f55, [0x154f] = 0x6f56, [0x1550] = 0x6f57, + [0x1551] = 0x6f59, [0x1552] = 0x6f5a, [0x1553] = 0x6f5b, [0x1554] = 0x6f5d, + [0x1555] = 0x6f5f, [0x1556] = 0x6f60, [0x1557] = 0x6f61, [0x1558] = 0x6f63, + [0x1559] = 0x6f64, [0x155a] = 0x6f65, [0x155b] = 0x6f67, [0x155c] = 0x6f68, + [0x155d] = 0x6f69, [0x155e] = 0x6f6a, [0x155f] = 0x6f6b, [0x1560] = 0x6f6c, + [0x1561] = 0x6f6f, [0x1562] = 0x6f70, [0x1563] = 0x6f71, [0x1564] = 0x6f73, + [0x1565] = 0x6f75, [0x1566] = 0x6f76, [0x1567] = 0x6f77, [0x1568] = 0x6f79, + [0x1569] = 0x6f7b, [0x156a] = 0x6f7d, [0x156b] = 0x6f7e, [0x156c] = 0x6f7f, + [0x156d] = 0x6f80, [0x156e] = 0x6f81, [0x156f] = 0x6f82, [0x1570] = 0x6f83, + [0x1571] = 0x6f85, [0x1572] = 0x6f86, [0x1573] = 0x6f87, [0x1574] = 0x6f8a, + [0x1575] = 0x6f8b, [0x1576] = 0x6f8f, [0x1577] = 0x6f90, [0x1578] = 0x6f91, + [0x1579] = 0x6f92, [0x157a] = 0x6f93, [0x157b] = 0x6f94, [0x157c] = 0x6f95, + [0x157d] = 0x6f96, [0x157e] = 0x6f97, [0x157f] = 0x6f98, [0x1580] = 0x6f99, + [0x1581] = 0x6f9a, [0x1582] = 0x6f9b, [0x1583] = 0x6f9d, [0x1584] = 0x6f9e, + [0x1585] = 0x6f9f, [0x1586] = 0x6fa0, [0x1587] = 0x6fa2, [0x1588] = 0x6fa3, + [0x1589] = 0x6fa4, [0x158a] = 0x6fa5, [0x158b] = 0x6fa6, [0x158c] = 0x6fa8, + [0x158d] = 0x6fa9, [0x158e] = 0x6faa, [0x158f] = 0x6fab, [0x1590] = 0x6fac, + [0x1591] = 0x6fad, [0x1592] = 0x6fae, [0x1593] = 0x6faf, [0x1594] = 0x6fb0, + [0x1595] = 0x6fb1, [0x1596] = 0x6fb2, [0x1597] = 0x6fb4, [0x1598] = 0x6fb5, + [0x1599] = 0x6fb7, [0x159a] = 0x6fb8, [0x159b] = 0x6fba, [0x159c] = 0x6fbb, + [0x159d] = 0x6fbc, [0x159e] = 0x6fbd, [0x159f] = 0x6fbe, [0x15a0] = 0x6fbf, + [0x15a1] = 0x6fc1, [0x15a2] = 0x6fc3, [0x15a3] = 0x6fc4, [0x15a4] = 0x6fc5, + [0x15a5] = 0x6fc6, [0x15a6] = 0x6fc7, [0x15a7] = 0x6fc8, [0x15a8] = 0x6fca, + [0x15a9] = 0x6fcb, [0x15aa] = 0x6fcc, [0x15ab] = 0x6fcd, [0x15ac] = 0x6fce, + [0x15ad] = 0x6fcf, [0x15ae] = 0x6fd0, [0x15af] = 0x6fd3, [0x15b0] = 0x6fd4, + [0x15b1] = 0x6fd5, [0x15b2] = 0x6fd6, [0x15b3] = 0x6fd7, [0x15b4] = 0x6fd8, + [0x15b5] = 0x6fd9, [0x15b6] = 0x6fda, [0x15b7] = 0x6fdb, [0x15b8] = 0x6fdc, + [0x15b9] = 0x6fdd, [0x15ba] = 0x6fdf, [0x15bb] = 0x6fe2, [0x15bc] = 0x6fe3, + [0x15bd] = 0x6fe4, [0x15be] = 0x6fe5, [0x15c0] = 0x6fe6, [0x15c1] = 0x6fe7, + [0x15c2] = 0x6fe8, [0x15c3] = 0x6fe9, [0x15c4] = 0x6fea, [0x15c5] = 0x6feb, + [0x15c6] = 0x6fec, [0x15c7] = 0x6fed, [0x15c8] = 0x6ff0, [0x15c9] = 0x6ff1, + [0x15ca] = 0x6ff2, [0x15cb] = 0x6ff3, [0x15cc] = 0x6ff4, [0x15cd] = 0x6ff5, + [0x15ce] = 0x6ff6, [0x15cf] = 0x6ff7, [0x15d0] = 0x6ff8, [0x15d1] = 0x6ff9, + [0x15d2] = 0x6ffa, [0x15d3] = 0x6ffb, [0x15d4] = 0x6ffc, [0x15d5] = 0x6ffd, + [0x15d6] = 0x6ffe, [0x15d7] = 0x6fff, [0x15d8] = 0x7000, [0x15d9] = 0x7001, + [0x15da] = 0x7002, [0x15db] = 0x7003, [0x15dc] = 0x7004, [0x15dd] = 0x7005, + [0x15de] = 0x7006, [0x15df] = 0x7007, [0x15e0] = 0x7008, [0x15e1] = 0x7009, + [0x15e2] = 0x700a, [0x15e3] = 0x700b, [0x15e4] = 0x700c, [0x15e5] = 0x700d, + [0x15e6] = 0x700e, [0x15e7] = 0x700f, [0x15e8] = 0x7010, [0x15e9] = 0x7012, + [0x15ea] = 0x7013, [0x15eb] = 0x7014, [0x15ec] = 0x7015, [0x15ed] = 0x7016, + [0x15ee] = 0x7017, [0x15ef] = 0x7018, [0x15f0] = 0x7019, [0x15f1] = 0x701c, + [0x15f2] = 0x701d, [0x15f3] = 0x701e, [0x15f4] = 0x701f, [0x15f5] = 0x7020, + [0x15f6] = 0x7021, [0x15f7] = 0x7022, [0x15f8] = 0x7024, [0x15f9] = 0x7025, + [0x15fa] = 0x7026, [0x15fb] = 0x7027, [0x15fc] = 0x7028, [0x15fd] = 0x7029, + [0x15fe] = 0x702a, [0x1600] = 0x702b, [0x1601] = 0x702c, [0x1602] = 0x702d, + [0x1603] = 0x702e, [0x1604] = 0x702f, [0x1605] = 0x7030, [0x1606] = 0x7031, + [0x1607] = 0x7032, [0x1608] = 0x7033, [0x1609] = 0x7034, [0x160a] = 0x7036, + [0x160b] = 0x7037, [0x160c] = 0x7038, [0x160d] = 0x703a, [0x160e] = 0x703b, + [0x160f] = 0x703c, [0x1610] = 0x703d, [0x1611] = 0x703e, [0x1612] = 0x703f, + [0x1613] = 0x7040, [0x1614] = 0x7041, [0x1615] = 0x7042, [0x1616] = 0x7043, + [0x1617] = 0x7044, [0x1618] = 0x7045, [0x1619] = 0x7046, [0x161a] = 0x7047, + [0x161b] = 0x7048, [0x161c] = 0x7049, [0x161d] = 0x704a, [0x161e] = 0x704b, + [0x161f] = 0x704d, [0x1620] = 0x704e, [0x1621] = 0x7050, [0x1622] = 0x7051, + [0x1623] = 0x7052, [0x1624] = 0x7053, [0x1625] = 0x7054, [0x1626] = 0x7055, + [0x1627] = 0x7056, [0x1628] = 0x7057, [0x1629] = 0x7058, [0x162a] = 0x7059, + [0x162b] = 0x705a, [0x162c] = 0x705b, [0x162d] = 0x705c, [0x162e] = 0x705d, + [0x162f] = 0x705f, [0x1630] = 0x7060, [0x1631] = 0x7061, [0x1632] = 0x7062, + [0x1633] = 0x7063, [0x1634] = 0x7064, [0x1635] = 0x7065, [0x1636] = 0x7066, + [0x1637] = 0x7067, [0x1638] = 0x7068, [0x1639] = 0x7069, [0x163a] = 0x706a, + [0x163b] = 0x706e, [0x163c] = 0x7071, [0x163d] = 0x7072, [0x163e] = 0x7073, + [0x163f] = 0x7074, [0x1640] = 0x7077, [0x1641] = 0x7079, [0x1642] = 0x707a, + [0x1643] = 0x707b, [0x1644] = 0x707d, [0x1645] = 0x7081, [0x1646] = 0x7082, + [0x1647] = 0x7083, [0x1648] = 0x7084, [0x1649] = 0x7086, [0x164a] = 0x7087, + [0x164b] = 0x7088, [0x164c] = 0x708b, [0x164d] = 0x708c, [0x164e] = 0x708d, + [0x164f] = 0x708f, [0x1650] = 0x7090, [0x1651] = 0x7091, [0x1652] = 0x7093, + [0x1653] = 0x7097, [0x1654] = 0x7098, [0x1655] = 0x709a, [0x1656] = 0x709b, + [0x1657] = 0x709e, [0x1658] = 0x709f, [0x1659] = 0x70a0, [0x165a] = 0x70a1, + [0x165b] = 0x70a2, [0x165c] = 0x70a3, [0x165d] = 0x70a4, [0x165e] = 0x70a5, + [0x165f] = 0x70a6, [0x1660] = 0x70a7, [0x1661] = 0x70a8, [0x1662] = 0x70a9, + [0x1663] = 0x70aa, [0x1664] = 0x70b0, [0x1665] = 0x70b2, [0x1666] = 0x70b4, + [0x1667] = 0x70b5, [0x1668] = 0x70b6, [0x1669] = 0x70ba, [0x166a] = 0x70be, + [0x166b] = 0x70bf, [0x166c] = 0x70c4, [0x166d] = 0x70c5, [0x166e] = 0x70c6, + [0x166f] = 0x70c7, [0x1670] = 0x70c9, [0x1671] = 0x70cb, [0x1672] = 0x70cc, + [0x1673] = 0x70cd, [0x1674] = 0x70ce, [0x1675] = 0x70cf, [0x1676] = 0x70d0, + [0x1677] = 0x70d1, [0x1678] = 0x70d2, [0x1679] = 0x70d3, [0x167a] = 0x70d4, + [0x167b] = 0x70d5, [0x167c] = 0x70d6, [0x167d] = 0x70d7, [0x167e] = 0x70da, + [0x1680] = 0x70dc, [0x1681] = 0x70dd, [0x1682] = 0x70de, [0x1683] = 0x70e0, + [0x1684] = 0x70e1, [0x1685] = 0x70e2, [0x1686] = 0x70e3, [0x1687] = 0x70e5, + [0x1688] = 0x70ea, [0x1689] = 0x70ee, [0x168a] = 0x70f0, [0x168b] = 0x70f1, + [0x168c] = 0x70f2, [0x168d] = 0x70f3, [0x168e] = 0x70f4, [0x168f] = 0x70f5, + [0x1690] = 0x70f6, [0x1691] = 0x70f8, [0x1692] = 0x70fa, [0x1693] = 0x70fb, + [0x1694] = 0x70fc, [0x1695] = 0x70fe, [0x1696] = 0x70ff, [0x1697] = 0x7100, + [0x1698] = 0x7101, [0x1699] = 0x7102, [0x169a] = 0x7103, [0x169b] = 0x7104, + [0x169c] = 0x7105, [0x169d] = 0x7106, [0x169e] = 0x7107, [0x169f] = 0x7108, + [0x16a0] = 0x710b, [0x16a1] = 0x710c, [0x16a2] = 0x710d, [0x16a3] = 0x710e, + [0x16a4] = 0x710f, [0x16a5] = 0x7111, [0x16a6] = 0x7112, [0x16a7] = 0x7114, + [0x16a8] = 0x7117, [0x16a9] = 0x711b, [0x16aa] = 0x711c, [0x16ab] = 0x711d, + [0x16ac] = 0x711e, [0x16ad] = 0x711f, [0x16ae] = 0x7120, [0x16af] = 0x7121, + [0x16b0] = 0x7122, [0x16b1] = 0x7123, [0x16b2] = 0x7124, [0x16b3] = 0x7125, + [0x16b4] = 0x7127, [0x16b5] = 0x7128, [0x16b6] = 0x7129, [0x16b7] = 0x712a, + [0x16b8] = 0x712b, [0x16b9] = 0x712c, [0x16ba] = 0x712d, [0x16bb] = 0x712e, + [0x16bc] = 0x7132, [0x16bd] = 0x7133, [0x16be] = 0x7134, [0x16c0] = 0x7135, + [0x16c1] = 0x7137, [0x16c2] = 0x7138, [0x16c3] = 0x7139, [0x16c4] = 0x713a, + [0x16c5] = 0x713b, [0x16c6] = 0x713c, [0x16c7] = 0x713d, [0x16c8] = 0x713e, + [0x16c9] = 0x713f, [0x16ca] = 0x7140, [0x16cb] = 0x7141, [0x16cc] = 0x7142, + [0x16cd] = 0x7143, [0x16ce] = 0x7144, [0x16cf] = 0x7146, [0x16d0] = 0x7147, + [0x16d1] = 0x7148, [0x16d2] = 0x7149, [0x16d3] = 0x714b, [0x16d4] = 0x714d, + [0x16d5] = 0x714f, [0x16d6] = 0x7150, [0x16d7] = 0x7151, [0x16d8] = 0x7152, + [0x16d9] = 0x7153, [0x16da] = 0x7154, [0x16db] = 0x7155, [0x16dc] = 0x7156, + [0x16dd] = 0x7157, [0x16de] = 0x7158, [0x16df] = 0x7159, [0x16e0] = 0x715a, + [0x16e1] = 0x715b, [0x16e2] = 0x715d, [0x16e3] = 0x715f, [0x16e4] = 0x7160, + [0x16e5] = 0x7161, [0x16e6] = 0x7162, [0x16e7] = 0x7163, [0x16e8] = 0x7165, + [0x16e9] = 0x7169, [0x16ea] = 0x716a, [0x16eb] = 0x716b, [0x16ec] = 0x716c, + [0x16ed] = 0x716d, [0x16ee] = 0x716f, [0x16ef] = 0x7170, [0x16f0] = 0x7171, + [0x16f1] = 0x7174, [0x16f2] = 0x7175, [0x16f3] = 0x7176, [0x16f4] = 0x7177, + [0x16f5] = 0x7179, [0x16f6] = 0x717b, [0x16f7] = 0x717c, [0x16f8] = 0x717e, + [0x16f9] = 0x717f, [0x16fa] = 0x7180, [0x16fb] = 0x7181, [0x16fc] = 0x7182, + [0x16fd] = 0x7183, [0x16fe] = 0x7185, [0x16ff] = 0x7186, [0x1700] = 0x7187, + [0x1701] = 0x7188, [0x1702] = 0x7189, [0x1703] = 0x718b, [0x1704] = 0x718c, + [0x1705] = 0x718d, [0x1706] = 0x718e, [0x1707] = 0x7190, [0x1708] = 0x7191, + [0x1709] = 0x7192, [0x170a] = 0x7193, [0x170b] = 0x7195, [0x170c] = 0x7196, + [0x170d] = 0x7197, [0x170e] = 0x719a, [0x170f] = 0x719b, [0x1710] = 0x719c, + [0x1711] = 0x719d, [0x1712] = 0x719e, [0x1713] = 0x71a1, [0x1714] = 0x71a2, + [0x1715] = 0x71a3, [0x1716] = 0x71a4, [0x1717] = 0x71a5, [0x1718] = 0x71a6, + [0x1719] = 0x71a7, [0x171a] = 0x71a9, [0x171b] = 0x71aa, [0x171c] = 0x71ab, + [0x171d] = 0x71ad, [0x171e] = 0x71ae, [0x171f] = 0x71af, [0x1720] = 0x71b0, + [0x1721] = 0x71b1, [0x1722] = 0x71b2, [0x1723] = 0x71b4, [0x1724] = 0x71b6, + [0x1725] = 0x71b7, [0x1726] = 0x71b8, [0x1727] = 0x71ba, [0x1728] = 0x71bb, + [0x1729] = 0x71bc, [0x172a] = 0x71bd, [0x172b] = 0x71be, [0x172c] = 0x71bf, + [0x172d] = 0x71c0, [0x172e] = 0x71c1, [0x172f] = 0x71c2, [0x1730] = 0x71c4, + [0x1731] = 0x71c5, [0x1732] = 0x71c6, [0x1733] = 0x71c7, [0x1734] = 0x71c8, + [0x1735] = 0x71c9, [0x1736] = 0x71ca, [0x1737] = 0x71cb, [0x1738] = 0x71cc, + [0x1739] = 0x71cd, [0x173a] = 0x71cf, [0x173b] = 0x71d0, [0x173c] = 0x71d1, + [0x173d] = 0x71d2, [0x173e] = 0x71d3, [0x1740] = 0x71d6, [0x1741] = 0x71d7, + [0x1742] = 0x71d8, [0x1743] = 0x71d9, [0x1744] = 0x71da, [0x1745] = 0x71db, + [0x1746] = 0x71dc, [0x1747] = 0x71dd, [0x1748] = 0x71de, [0x1749] = 0x71df, + [0x174a] = 0x71e1, [0x174b] = 0x71e2, [0x174c] = 0x71e3, [0x174d] = 0x71e4, + [0x174e] = 0x71e6, [0x174f] = 0x71e8, [0x1750] = 0x71e9, [0x1751] = 0x71ea, + [0x1752] = 0x71eb, [0x1753] = 0x71ec, [0x1754] = 0x71ed, [0x1755] = 0x71ef, + [0x1756] = 0x71f0, [0x1757] = 0x71f1, [0x1758] = 0x71f2, [0x1759] = 0x71f3, + [0x175a] = 0x71f4, [0x175b] = 0x71f5, [0x175c] = 0x71f6, [0x175d] = 0x71f7, + [0x175e] = 0x71f8, [0x175f] = 0x71fa, [0x1760] = 0x71fb, [0x1761] = 0x71fc, + [0x1762] = 0x71fd, [0x1763] = 0x71fe, [0x1764] = 0x71ff, [0x1765] = 0x7200, + [0x1766] = 0x7201, [0x1767] = 0x7202, [0x1768] = 0x7203, [0x1769] = 0x7204, + [0x176a] = 0x7205, [0x176b] = 0x7207, [0x176c] = 0x7208, [0x176d] = 0x7209, + [0x176e] = 0x720a, [0x176f] = 0x720b, [0x1770] = 0x720c, [0x1771] = 0x720d, + [0x1772] = 0x720e, [0x1773] = 0x720f, [0x1774] = 0x7210, [0x1775] = 0x7211, + [0x1776] = 0x7212, [0x1777] = 0x7213, [0x1778] = 0x7214, [0x1779] = 0x7215, + [0x177a] = 0x7216, [0x177b] = 0x7217, [0x177c] = 0x7218, [0x177d] = 0x7219, + [0x177e] = 0x721a, [0x1780] = 0x721b, [0x1781] = 0x721c, [0x1782] = 0x721e, + [0x1783] = 0x721f, [0x1784] = 0x7220, [0x1785] = 0x7221, [0x1786] = 0x7222, + [0x1787] = 0x7223, [0x1788] = 0x7224, [0x1789] = 0x7225, [0x178a] = 0x7226, + [0x178b] = 0x7227, [0x178c] = 0x7229, [0x178d] = 0x722b, [0x178e] = 0x722d, + [0x178f] = 0x722e, [0x1790] = 0x722f, [0x1791] = 0x7232, [0x1792] = 0x7233, + [0x1793] = 0x7234, [0x1794] = 0x723a, [0x1795] = 0x723c, [0x1796] = 0x723e, + [0x1797] = 0x7240, [0x1798] = 0x7241, [0x1799] = 0x7242, [0x179a] = 0x7243, + [0x179b] = 0x7244, [0x179c] = 0x7245, [0x179d] = 0x7246, [0x179e] = 0x7249, + [0x179f] = 0x724a, [0x17a0] = 0x724b, [0x17a1] = 0x724e, [0x17a2] = 0x724f, + [0x17a3] = 0x7250, [0x17a4] = 0x7251, [0x17a5] = 0x7253, [0x17a6] = 0x7254, + [0x17a7] = 0x7255, [0x17a8] = 0x7257, [0x17a9] = 0x7258, [0x17aa] = 0x725a, + [0x17ab] = 0x725c, [0x17ac] = 0x725e, [0x17ad] = 0x7260, [0x17ae] = 0x7263, + [0x17af] = 0x7264, [0x17b0] = 0x7265, [0x17b1] = 0x7268, [0x17b2] = 0x726a, + [0x17b3] = 0x726b, [0x17b4] = 0x726c, [0x17b5] = 0x726d, [0x17b6] = 0x7270, + [0x17b7] = 0x7271, [0x17b8] = 0x7273, [0x17b9] = 0x7274, [0x17ba] = 0x7276, + [0x17bb] = 0x7277, [0x17bc] = 0x7278, [0x17bd] = 0x727b, [0x17be] = 0x727c, + [0x17bf] = 0x727d, [0x17c0] = 0x7282, [0x17c1] = 0x7283, [0x17c2] = 0x7285, + [0x17c3] = 0x7286, [0x17c4] = 0x7287, [0x17c5] = 0x7288, [0x17c6] = 0x7289, + [0x17c7] = 0x728c, [0x17c8] = 0x728e, [0x17c9] = 0x7290, [0x17ca] = 0x7291, + [0x17cb] = 0x7293, [0x17cc] = 0x7294, [0x17cd] = 0x7295, [0x17ce] = 0x7296, + [0x17cf] = 0x7297, [0x17d0] = 0x7298, [0x17d1] = 0x7299, [0x17d2] = 0x729a, + [0x17d3] = 0x729b, [0x17d4] = 0x729c, [0x17d5] = 0x729d, [0x17d6] = 0x729e, + [0x17d7] = 0x72a0, [0x17d8] = 0x72a1, [0x17d9] = 0x72a2, [0x17da] = 0x72a3, + [0x17db] = 0x72a4, [0x17dc] = 0x72a5, [0x17dd] = 0x72a6, [0x17de] = 0x72a7, + [0x17df] = 0x72a8, [0x17e0] = 0x72a9, [0x17e1] = 0x72aa, [0x17e2] = 0x72ab, + [0x17e3] = 0x72ae, [0x17e4] = 0x72b1, [0x17e5] = 0x72b2, [0x17e6] = 0x72b3, + [0x17e7] = 0x72b5, [0x17e8] = 0x72ba, [0x17e9] = 0x72bb, [0x17ea] = 0x72bc, + [0x17eb] = 0x72bd, [0x17ec] = 0x72be, [0x17ed] = 0x72bf, [0x17ee] = 0x72c0, + [0x17ef] = 0x72c5, [0x17f0] = 0x72c6, [0x17f1] = 0x72c7, [0x17f2] = 0x72c9, + [0x17f3] = 0x72ca, [0x17f4] = 0x72cb, [0x17f5] = 0x72cc, [0x17f6] = 0x72cf, + [0x17f7] = 0x72d1, [0x17f8] = 0x72d3, [0x17f9] = 0x72d4, [0x17fa] = 0x72d5, + [0x17fb] = 0x72d6, [0x17fc] = 0x72d8, [0x17fd] = 0x72da, [0x17fe] = 0x72db, + [0x1861] = 0x3000, [0x1862] = 0x3001, [0x1863] = 0x3002, [0x1864] = 0x00b7, + [0x1865] = 0x02c9, [0x1866] = 0x02c7, [0x1867] = 0x00a8, [0x1868] = 0x3003, + [0x1869] = 0x3005, [0x186a] = 0x2015, [0x186b] = 0xff5e, [0x186c] = 0x2016, + [0x186d] = 0x2026, [0x186e] = 0x2018, [0x186f] = 0x2019, [0x1870] = 0x201c, + [0x1871] = 0x201d, [0x1872] = 0x3014, [0x1873] = 0x3015, [0x1874] = 0x3008, + [0x1875] = 0x3009, [0x1876] = 0x300a, [0x1877] = 0x300b, [0x1878] = 0x300c, + [0x1879] = 0x300d, [0x187a] = 0x300e, [0x187b] = 0x300f, [0x187c] = 0x3016, + [0x187d] = 0x3017, [0x187e] = 0x3010, [0x187f] = 0x3011, [0x1880] = 0x00b1, + [0x1881] = 0x00d7, [0x1882] = 0x00f7, [0x1883] = 0x2236, [0x1884] = 0x2227, + [0x1885] = 0x2228, [0x1886] = 0x2211, [0x1887] = 0x220f, [0x1888] = 0x222a, + [0x1889] = 0x2229, [0x188a] = 0x2208, [0x188b] = 0x2237, [0x188c] = 0x221a, + [0x188d] = 0x22a5, [0x188e] = 0x2225, [0x188f] = 0x2220, [0x1890] = 0x2312, + [0x1891] = 0x2299, [0x1892] = 0x222b, [0x1893] = 0x222e, [0x1894] = 0x2261, + [0x1895] = 0x224c, [0x1896] = 0x2248, [0x1897] = 0x223d, [0x1898] = 0x221d, + [0x1899] = 0x2260, [0x189a] = 0x226e, [0x189b] = 0x226f, [0x189c] = 0x2264, + [0x189d] = 0x2265, [0x189e] = 0x221e, [0x189f] = 0x2235, [0x18a0] = 0x2234, + [0x18a1] = 0x2642, [0x18a2] = 0x2640, [0x18a3] = 0x00b0, [0x18a4] = 0x2032, + [0x18a5] = 0x2033, [0x18a6] = 0x2103, [0x18a7] = 0xff04, [0x18a8] = 0x00a4, + [0x18a9] = 0xffe0, [0x18aa] = 0xffe1, [0x18ab] = 0x2030, [0x18ac] = 0x00a7, + [0x18ad] = 0x2116, [0x18ae] = 0x2606, [0x18af] = 0x2605, [0x18b0] = 0x25cb, + [0x18b1] = 0x25cf, [0x18b2] = 0x25ce, [0x18b3] = 0x25c7, [0x18b4] = 0x25c6, + [0x18b5] = 0x25a1, [0x18b6] = 0x25a0, [0x18b7] = 0x25b3, [0x18b8] = 0x25b2, + [0x18b9] = 0x203b, [0x18ba] = 0x2192, [0x18bb] = 0x2190, [0x18bc] = 0x2191, + [0x18bd] = 0x2193, [0x18be] = 0x3013, [0x1921] = 0x2170, [0x1922] = 0x2171, + [0x1923] = 0x2172, [0x1924] = 0x2173, [0x1925] = 0x2174, [0x1926] = 0x2175, + [0x1927] = 0x2176, [0x1928] = 0x2177, [0x1929] = 0x2178, [0x192a] = 0x2179, + [0x1931] = 0x2488, [0x1932] = 0x2489, [0x1933] = 0x248a, [0x1934] = 0x248b, + [0x1935] = 0x248c, [0x1936] = 0x248d, [0x1937] = 0x248e, [0x1938] = 0x248f, + [0x1939] = 0x2490, [0x193a] = 0x2491, [0x193b] = 0x2492, [0x193c] = 0x2493, + [0x193d] = 0x2494, [0x193e] = 0x2495, [0x193f] = 0x2496, [0x1940] = 0x2497, + [0x1941] = 0x2498, [0x1942] = 0x2499, [0x1943] = 0x249a, [0x1944] = 0x249b, + [0x1945] = 0x2474, [0x1946] = 0x2475, [0x1947] = 0x2476, [0x1948] = 0x2477, + [0x1949] = 0x2478, [0x194a] = 0x2479, [0x194b] = 0x247a, [0x194c] = 0x247b, + [0x194d] = 0x247c, [0x194e] = 0x247d, [0x194f] = 0x247e, [0x1950] = 0x247f, + [0x1951] = 0x2480, [0x1952] = 0x2481, [0x1953] = 0x2482, [0x1954] = 0x2483, + [0x1955] = 0x2484, [0x1956] = 0x2485, [0x1957] = 0x2486, [0x1958] = 0x2487, + [0x1959] = 0x2460, [0x195a] = 0x2461, [0x195b] = 0x2462, [0x195c] = 0x2463, + [0x195d] = 0x2464, [0x195e] = 0x2465, [0x195f] = 0x2466, [0x1960] = 0x2467, + [0x1961] = 0x2468, [0x1962] = 0x2469, [0x1965] = 0x3220, [0x1966] = 0x3221, + [0x1967] = 0x3222, [0x1968] = 0x3223, [0x1969] = 0x3224, [0x196a] = 0x3225, + [0x196b] = 0x3226, [0x196c] = 0x3227, [0x196d] = 0x3228, [0x196e] = 0x3229, + [0x1971] = 0x2160, [0x1972] = 0x2161, [0x1973] = 0x2162, [0x1974] = 0x2163, + [0x1975] = 0x2164, [0x1976] = 0x2165, [0x1977] = 0x2166, [0x1978] = 0x2167, + [0x1979] = 0x2168, [0x197a] = 0x2169, [0x197b] = 0x216a, [0x197c] = 0x216b, + [0x19e1] = 0xff01, [0x19e2] = 0xff02, [0x19e3] = 0xff03, [0x19e4] = 0xffe5, + [0x19e5] = 0xff05, [0x19e6] = 0xff06, [0x19e7] = 0xff07, [0x19e8] = 0xff08, + [0x19e9] = 0xff09, [0x19ea] = 0xff0a, [0x19eb] = 0xff0b, [0x19ec] = 0xff0c, + [0x19ed] = 0xff0d, [0x19ee] = 0xff0e, [0x19ef] = 0xff0f, [0x19f0] = 0xff10, + [0x19f1] = 0xff11, [0x19f2] = 0xff12, [0x19f3] = 0xff13, [0x19f4] = 0xff14, + [0x19f5] = 0xff15, [0x19f6] = 0xff16, [0x19f7] = 0xff17, [0x19f8] = 0xff18, + [0x19f9] = 0xff19, [0x19fa] = 0xff1a, [0x19fb] = 0xff1b, [0x19fc] = 0xff1c, + [0x19fd] = 0xff1d, [0x19fe] = 0xff1e, [0x19ff] = 0xff1f, [0x1a00] = 0xff20, + [0x1a01] = 0xff21, [0x1a02] = 0xff22, [0x1a03] = 0xff23, [0x1a04] = 0xff24, + [0x1a05] = 0xff25, [0x1a06] = 0xff26, [0x1a07] = 0xff27, [0x1a08] = 0xff28, + [0x1a09] = 0xff29, [0x1a0a] = 0xff2a, [0x1a0b] = 0xff2b, [0x1a0c] = 0xff2c, + [0x1a0d] = 0xff2d, [0x1a0e] = 0xff2e, [0x1a0f] = 0xff2f, [0x1a10] = 0xff30, + [0x1a11] = 0xff31, [0x1a12] = 0xff32, [0x1a13] = 0xff33, [0x1a14] = 0xff34, + [0x1a15] = 0xff35, [0x1a16] = 0xff36, [0x1a17] = 0xff37, [0x1a18] = 0xff38, + [0x1a19] = 0xff39, [0x1a1a] = 0xff3a, [0x1a1b] = 0xff3b, [0x1a1c] = 0xff3c, + [0x1a1d] = 0xff3d, [0x1a1e] = 0xff3e, [0x1a1f] = 0xff3f, [0x1a20] = 0xff40, + [0x1a21] = 0xff41, [0x1a22] = 0xff42, [0x1a23] = 0xff43, [0x1a24] = 0xff44, + [0x1a25] = 0xff45, [0x1a26] = 0xff46, [0x1a27] = 0xff47, [0x1a28] = 0xff48, + [0x1a29] = 0xff49, [0x1a2a] = 0xff4a, [0x1a2b] = 0xff4b, [0x1a2c] = 0xff4c, + [0x1a2d] = 0xff4d, [0x1a2e] = 0xff4e, [0x1a2f] = 0xff4f, [0x1a30] = 0xff50, + [0x1a31] = 0xff51, [0x1a32] = 0xff52, [0x1a33] = 0xff53, [0x1a34] = 0xff54, + [0x1a35] = 0xff55, [0x1a36] = 0xff56, [0x1a37] = 0xff57, [0x1a38] = 0xff58, + [0x1a39] = 0xff59, [0x1a3a] = 0xff5a, [0x1a3b] = 0xff5b, [0x1a3c] = 0xff5c, + [0x1a3d] = 0xff5d, [0x1a3e] = 0xffe3, [0x1aa1] = 0x3041, [0x1aa2] = 0x3042, + [0x1aa3] = 0x3043, [0x1aa4] = 0x3044, [0x1aa5] = 0x3045, [0x1aa6] = 0x3046, + [0x1aa7] = 0x3047, [0x1aa8] = 0x3048, [0x1aa9] = 0x3049, [0x1aaa] = 0x304a, + [0x1aab] = 0x304b, [0x1aac] = 0x304c, [0x1aad] = 0x304d, [0x1aae] = 0x304e, + [0x1aaf] = 0x304f, [0x1ab0] = 0x3050, [0x1ab1] = 0x3051, [0x1ab2] = 0x3052, + [0x1ab3] = 0x3053, [0x1ab4] = 0x3054, [0x1ab5] = 0x3055, [0x1ab6] = 0x3056, + [0x1ab7] = 0x3057, [0x1ab8] = 0x3058, [0x1ab9] = 0x3059, [0x1aba] = 0x305a, + [0x1abb] = 0x305b, [0x1abc] = 0x305c, [0x1abd] = 0x305d, [0x1abe] = 0x305e, + [0x1abf] = 0x305f, [0x1ac0] = 0x3060, [0x1ac1] = 0x3061, [0x1ac2] = 0x3062, + [0x1ac3] = 0x3063, [0x1ac4] = 0x3064, [0x1ac5] = 0x3065, [0x1ac6] = 0x3066, + [0x1ac7] = 0x3067, [0x1ac8] = 0x3068, [0x1ac9] = 0x3069, [0x1aca] = 0x306a, + [0x1acb] = 0x306b, [0x1acc] = 0x306c, [0x1acd] = 0x306d, [0x1ace] = 0x306e, + [0x1acf] = 0x306f, [0x1ad0] = 0x3070, [0x1ad1] = 0x3071, [0x1ad2] = 0x3072, + [0x1ad3] = 0x3073, [0x1ad4] = 0x3074, [0x1ad5] = 0x3075, [0x1ad6] = 0x3076, + [0x1ad7] = 0x3077, [0x1ad8] = 0x3078, [0x1ad9] = 0x3079, [0x1ada] = 0x307a, + [0x1adb] = 0x307b, [0x1adc] = 0x307c, [0x1add] = 0x307d, [0x1ade] = 0x307e, + [0x1adf] = 0x307f, [0x1ae0] = 0x3080, [0x1ae1] = 0x3081, [0x1ae2] = 0x3082, + [0x1ae3] = 0x3083, [0x1ae4] = 0x3084, [0x1ae5] = 0x3085, [0x1ae6] = 0x3086, + [0x1ae7] = 0x3087, [0x1ae8] = 0x3088, [0x1ae9] = 0x3089, [0x1aea] = 0x308a, + [0x1aeb] = 0x308b, [0x1aec] = 0x308c, [0x1aed] = 0x308d, [0x1aee] = 0x308e, + [0x1aef] = 0x308f, [0x1af0] = 0x3090, [0x1af1] = 0x3091, [0x1af2] = 0x3092, + [0x1af3] = 0x3093, [0x1b61] = 0x30a1, [0x1b62] = 0x30a2, [0x1b63] = 0x30a3, + [0x1b64] = 0x30a4, [0x1b65] = 0x30a5, [0x1b66] = 0x30a6, [0x1b67] = 0x30a7, + [0x1b68] = 0x30a8, [0x1b69] = 0x30a9, [0x1b6a] = 0x30aa, [0x1b6b] = 0x30ab, + [0x1b6c] = 0x30ac, [0x1b6d] = 0x30ad, [0x1b6e] = 0x30ae, [0x1b6f] = 0x30af, + [0x1b70] = 0x30b0, [0x1b71] = 0x30b1, [0x1b72] = 0x30b2, [0x1b73] = 0x30b3, + [0x1b74] = 0x30b4, [0x1b75] = 0x30b5, [0x1b76] = 0x30b6, [0x1b77] = 0x30b7, + [0x1b78] = 0x30b8, [0x1b79] = 0x30b9, [0x1b7a] = 0x30ba, [0x1b7b] = 0x30bb, + [0x1b7c] = 0x30bc, [0x1b7d] = 0x30bd, [0x1b7e] = 0x30be, [0x1b7f] = 0x30bf, + [0x1b80] = 0x30c0, [0x1b81] = 0x30c1, [0x1b82] = 0x30c2, [0x1b83] = 0x30c3, + [0x1b84] = 0x30c4, [0x1b85] = 0x30c5, [0x1b86] = 0x30c6, [0x1b87] = 0x30c7, + [0x1b88] = 0x30c8, [0x1b89] = 0x30c9, [0x1b8a] = 0x30ca, [0x1b8b] = 0x30cb, + [0x1b8c] = 0x30cc, [0x1b8d] = 0x30cd, [0x1b8e] = 0x30ce, [0x1b8f] = 0x30cf, + [0x1b90] = 0x30d0, [0x1b91] = 0x30d1, [0x1b92] = 0x30d2, [0x1b93] = 0x30d3, + [0x1b94] = 0x30d4, [0x1b95] = 0x30d5, [0x1b96] = 0x30d6, [0x1b97] = 0x30d7, + [0x1b98] = 0x30d8, [0x1b99] = 0x30d9, [0x1b9a] = 0x30da, [0x1b9b] = 0x30db, + [0x1b9c] = 0x30dc, [0x1b9d] = 0x30dd, [0x1b9e] = 0x30de, [0x1b9f] = 0x30df, + [0x1ba0] = 0x30e0, [0x1ba1] = 0x30e1, [0x1ba2] = 0x30e2, [0x1ba3] = 0x30e3, + [0x1ba4] = 0x30e4, [0x1ba5] = 0x30e5, [0x1ba6] = 0x30e6, [0x1ba7] = 0x30e7, + [0x1ba8] = 0x30e8, [0x1ba9] = 0x30e9, [0x1baa] = 0x30ea, [0x1bab] = 0x30eb, + [0x1bac] = 0x30ec, [0x1bad] = 0x30ed, [0x1bae] = 0x30ee, [0x1baf] = 0x30ef, + [0x1bb0] = 0x30f0, [0x1bb1] = 0x30f1, [0x1bb2] = 0x30f2, [0x1bb3] = 0x30f3, + [0x1bb4] = 0x30f4, [0x1bb5] = 0x30f5, [0x1bb6] = 0x30f6, [0x1c21] = 0x0391, + [0x1c22] = 0x0392, [0x1c23] = 0x0393, [0x1c24] = 0x0394, [0x1c25] = 0x0395, + [0x1c26] = 0x0396, [0x1c27] = 0x0397, [0x1c28] = 0x0398, [0x1c29] = 0x0399, + [0x1c2a] = 0x039a, [0x1c2b] = 0x039b, [0x1c2c] = 0x039c, [0x1c2d] = 0x039d, + [0x1c2e] = 0x039e, [0x1c2f] = 0x039f, [0x1c30] = 0x03a0, [0x1c31] = 0x03a1, + [0x1c32] = 0x03a3, [0x1c33] = 0x03a4, [0x1c34] = 0x03a5, [0x1c35] = 0x03a6, + [0x1c36] = 0x03a7, [0x1c37] = 0x03a8, [0x1c38] = 0x03a9, [0x1c41] = 0x03b1, + [0x1c42] = 0x03b2, [0x1c43] = 0x03b3, [0x1c44] = 0x03b4, [0x1c45] = 0x03b5, + [0x1c46] = 0x03b6, [0x1c47] = 0x03b7, [0x1c48] = 0x03b8, [0x1c49] = 0x03b9, + [0x1c4a] = 0x03ba, [0x1c4b] = 0x03bb, [0x1c4c] = 0x03bc, [0x1c4d] = 0x03bd, + [0x1c4e] = 0x03be, [0x1c4f] = 0x03bf, [0x1c50] = 0x03c0, [0x1c51] = 0x03c1, + [0x1c52] = 0x03c3, [0x1c53] = 0x03c4, [0x1c54] = 0x03c5, [0x1c55] = 0x03c6, + [0x1c56] = 0x03c7, [0x1c57] = 0x03c8, [0x1c58] = 0x03c9, [0x1c60] = 0xfe35, + [0x1c61] = 0xfe36, [0x1c62] = 0xfe39, [0x1c63] = 0xfe3a, [0x1c64] = 0xfe3f, + [0x1c65] = 0xfe40, [0x1c66] = 0xfe3d, [0x1c67] = 0xfe3e, [0x1c68] = 0xfe41, + [0x1c69] = 0xfe42, [0x1c6a] = 0xfe43, [0x1c6b] = 0xfe44, [0x1c6e] = 0xfe3b, + [0x1c6f] = 0xfe3c, [0x1c70] = 0xfe37, [0x1c71] = 0xfe38, [0x1c72] = 0xfe31, + [0x1c74] = 0xfe33, [0x1c75] = 0xfe34, [0x1ce1] = 0x0410, [0x1ce2] = 0x0411, + [0x1ce3] = 0x0412, [0x1ce4] = 0x0413, [0x1ce5] = 0x0414, [0x1ce6] = 0x0415, + [0x1ce7] = 0x0401, [0x1ce8] = 0x0416, [0x1ce9] = 0x0417, [0x1cea] = 0x0418, + [0x1ceb] = 0x0419, [0x1cec] = 0x041a, [0x1ced] = 0x041b, [0x1cee] = 0x041c, + [0x1cef] = 0x041d, [0x1cf0] = 0x041e, [0x1cf1] = 0x041f, [0x1cf2] = 0x0420, + [0x1cf3] = 0x0421, [0x1cf4] = 0x0422, [0x1cf5] = 0x0423, [0x1cf6] = 0x0424, + [0x1cf7] = 0x0425, [0x1cf8] = 0x0426, [0x1cf9] = 0x0427, [0x1cfa] = 0x0428, + [0x1cfb] = 0x0429, [0x1cfc] = 0x042a, [0x1cfd] = 0x042b, [0x1cfe] = 0x042c, + [0x1cff] = 0x042d, [0x1d00] = 0x042e, [0x1d01] = 0x042f, [0x1d11] = 0x0430, + [0x1d12] = 0x0431, [0x1d13] = 0x0432, [0x1d14] = 0x0433, [0x1d15] = 0x0434, + [0x1d16] = 0x0435, [0x1d17] = 0x0451, [0x1d18] = 0x0436, [0x1d19] = 0x0437, + [0x1d1a] = 0x0438, [0x1d1b] = 0x0439, [0x1d1c] = 0x043a, [0x1d1d] = 0x043b, + [0x1d1e] = 0x043c, [0x1d1f] = 0x043d, [0x1d20] = 0x043e, [0x1d21] = 0x043f, + [0x1d22] = 0x0440, [0x1d23] = 0x0441, [0x1d24] = 0x0442, [0x1d25] = 0x0443, + [0x1d26] = 0x0444, [0x1d27] = 0x0445, [0x1d28] = 0x0446, [0x1d29] = 0x0447, + [0x1d2a] = 0x0448, [0x1d2b] = 0x0449, [0x1d2c] = 0x044a, [0x1d2d] = 0x044b, + [0x1d2e] = 0x044c, [0x1d2f] = 0x044d, [0x1d30] = 0x044e, [0x1d31] = 0x044f, + [0x1d40] = 0x02ca, [0x1d41] = 0x02cb, [0x1d42] = 0x02d9, [0x1d43] = 0x2013, + [0x1d44] = 0x2014, [0x1d45] = 0x2025, [0x1d46] = 0x2035, [0x1d47] = 0x2105, + [0x1d48] = 0x2109, [0x1d49] = 0x2196, [0x1d4a] = 0x2197, [0x1d4b] = 0x2198, + [0x1d4c] = 0x2199, [0x1d4d] = 0x2215, [0x1d4e] = 0x221f, [0x1d4f] = 0x2223, + [0x1d50] = 0x2252, [0x1d51] = 0x2266, [0x1d52] = 0x2267, [0x1d53] = 0x22bf, + [0x1d54] = 0x2550, [0x1d55] = 0x2551, [0x1d56] = 0x2552, [0x1d57] = 0x2553, + [0x1d58] = 0x2554, [0x1d59] = 0x2555, [0x1d5a] = 0x2556, [0x1d5b] = 0x2557, + [0x1d5c] = 0x2558, [0x1d5d] = 0x2559, [0x1d5e] = 0x255a, [0x1d5f] = 0x255b, + [0x1d60] = 0x255c, [0x1d61] = 0x255d, [0x1d62] = 0x255e, [0x1d63] = 0x255f, + [0x1d64] = 0x2560, [0x1d65] = 0x2561, [0x1d66] = 0x2562, [0x1d67] = 0x2563, + [0x1d68] = 0x2564, [0x1d69] = 0x2565, [0x1d6a] = 0x2566, [0x1d6b] = 0x2567, + [0x1d6c] = 0x2568, [0x1d6d] = 0x2569, [0x1d6e] = 0x256a, [0x1d6f] = 0x256b, + [0x1d70] = 0x256c, [0x1d71] = 0x256d, [0x1d72] = 0x256e, [0x1d73] = 0x256f, + [0x1d74] = 0x2570, [0x1d75] = 0x2571, [0x1d76] = 0x2572, [0x1d77] = 0x2573, + [0x1d78] = 0x2581, [0x1d79] = 0x2582, [0x1d7a] = 0x2583, [0x1d7b] = 0x2584, + [0x1d7c] = 0x2585, [0x1d7d] = 0x2586, [0x1d7e] = 0x2587, [0x1d80] = 0x2588, + [0x1d81] = 0x2589, [0x1d82] = 0x258a, [0x1d83] = 0x258b, [0x1d84] = 0x258c, + [0x1d85] = 0x258d, [0x1d86] = 0x258e, [0x1d87] = 0x258f, [0x1d88] = 0x2593, + [0x1d89] = 0x2594, [0x1d8a] = 0x2595, [0x1d8b] = 0x25bc, [0x1d8c] = 0x25bd, + [0x1d8d] = 0x25e2, [0x1d8e] = 0x25e3, [0x1d8f] = 0x25e4, [0x1d90] = 0x25e5, + [0x1d91] = 0x2609, [0x1d92] = 0x2295, [0x1d93] = 0x3012, [0x1d94] = 0x301d, + [0x1d95] = 0x301e, [0x1da1] = 0x0101, [0x1da2] = 0x00e1, [0x1da3] = 0x01ce, + [0x1da4] = 0x00e0, [0x1da5] = 0x0113, [0x1da6] = 0x00e9, [0x1da7] = 0x011b, + [0x1da8] = 0x00e8, [0x1da9] = 0x012b, [0x1daa] = 0x00ed, [0x1dab] = 0x01d0, + [0x1dac] = 0x00ec, [0x1dad] = 0x014d, [0x1dae] = 0x00f3, [0x1daf] = 0x01d2, + [0x1db0] = 0x00f2, [0x1db1] = 0x016b, [0x1db2] = 0x00fa, [0x1db3] = 0x01d4, + [0x1db4] = 0x00f9, [0x1db5] = 0x01d6, [0x1db6] = 0x01d8, [0x1db7] = 0x01da, + [0x1db8] = 0x01dc, [0x1db9] = 0x00fc, [0x1dba] = 0x00ea, [0x1dbb] = 0x0251, + [0x1dbc] = 0xe7c7, [0x1dbd] = 0x0144, [0x1dbe] = 0x0148, [0x1dbf] = 0xe7c8, + [0x1dc0] = 0x0261, [0x1dc5] = 0x3105, [0x1dc6] = 0x3106, [0x1dc7] = 0x3107, + [0x1dc8] = 0x3108, [0x1dc9] = 0x3109, [0x1dca] = 0x310a, [0x1dcb] = 0x310b, + [0x1dcc] = 0x310c, [0x1dcd] = 0x310d, [0x1dce] = 0x310e, [0x1dcf] = 0x310f, + [0x1dd0] = 0x3110, [0x1dd1] = 0x3111, [0x1dd2] = 0x3112, [0x1dd3] = 0x3113, + [0x1dd4] = 0x3114, [0x1dd5] = 0x3115, [0x1dd6] = 0x3116, [0x1dd7] = 0x3117, + [0x1dd8] = 0x3118, [0x1dd9] = 0x3119, [0x1dda] = 0x311a, [0x1ddb] = 0x311b, + [0x1ddc] = 0x311c, [0x1ddd] = 0x311d, [0x1dde] = 0x311e, [0x1ddf] = 0x311f, + [0x1de0] = 0x3120, [0x1de1] = 0x3121, [0x1de2] = 0x3122, [0x1de3] = 0x3123, + [0x1de4] = 0x3124, [0x1de5] = 0x3125, [0x1de6] = 0x3126, [0x1de7] = 0x3127, + [0x1de8] = 0x3128, [0x1de9] = 0x3129, [0x1e00] = 0x3021, [0x1e01] = 0x3022, + [0x1e02] = 0x3023, [0x1e03] = 0x3024, [0x1e04] = 0x3025, [0x1e05] = 0x3026, + [0x1e06] = 0x3027, [0x1e07] = 0x3028, [0x1e08] = 0x3029, [0x1e09] = 0x32a3, + [0x1e0a] = 0x338e, [0x1e0b] = 0x338f, [0x1e0c] = 0x339c, [0x1e0d] = 0x339d, + [0x1e0e] = 0x339e, [0x1e0f] = 0x33a1, [0x1e10] = 0x33c4, [0x1e11] = 0x33ce, + [0x1e12] = 0x33d1, [0x1e13] = 0x33d2, [0x1e14] = 0x33d5, [0x1e15] = 0xfe30, + [0x1e16] = 0xffe2, [0x1e17] = 0xffe4, [0x1e19] = 0x2121, [0x1e1a] = 0x3231, + [0x1e1c] = 0x2010, [0x1e20] = 0x30fc, [0x1e21] = 0x309b, [0x1e22] = 0x309c, + [0x1e23] = 0x30fd, [0x1e24] = 0x30fe, [0x1e25] = 0x3006, [0x1e26] = 0x309d, + [0x1e27] = 0x309e, [0x1e28] = 0xfe49, [0x1e29] = 0xfe4a, [0x1e2a] = 0xfe4b, + [0x1e2b] = 0xfe4c, [0x1e2c] = 0xfe4d, [0x1e2d] = 0xfe4e, [0x1e2e] = 0xfe4f, + [0x1e2f] = 0xfe50, [0x1e30] = 0xfe51, [0x1e31] = 0xfe52, [0x1e32] = 0xfe54, + [0x1e33] = 0xfe55, [0x1e34] = 0xfe56, [0x1e35] = 0xfe57, [0x1e36] = 0xfe59, + [0x1e37] = 0xfe5a, [0x1e38] = 0xfe5b, [0x1e39] = 0xfe5c, [0x1e3a] = 0xfe5d, + [0x1e3b] = 0xfe5e, [0x1e3c] = 0xfe5f, [0x1e3d] = 0xfe60, [0x1e3e] = 0xfe61, + [0x1e40] = 0xfe62, [0x1e41] = 0xfe63, [0x1e42] = 0xfe64, [0x1e43] = 0xfe65, + [0x1e44] = 0xfe66, [0x1e45] = 0xfe68, [0x1e46] = 0xfe69, [0x1e47] = 0xfe6a, + [0x1e48] = 0xfe6b, [0x1e49] = 0xe7e7, [0x1e4a] = 0xe7e8, [0x1e4b] = 0xe7e9, + [0x1e4c] = 0xe7ea, [0x1e4d] = 0xe7eb, [0x1e4e] = 0xe7ec, [0x1e4f] = 0xe7ed, + [0x1e50] = 0xe7ee, [0x1e51] = 0xe7ef, [0x1e52] = 0xe7f0, [0x1e53] = 0xe7f1, + [0x1e54] = 0xe7f2, [0x1e55] = 0xe7f3, [0x1e56] = 0x3007, [0x1e64] = 0x2500, + [0x1e65] = 0x2501, [0x1e66] = 0x2502, [0x1e67] = 0x2503, [0x1e68] = 0x2504, + [0x1e69] = 0x2505, [0x1e6a] = 0x2506, [0x1e6b] = 0x2507, [0x1e6c] = 0x2508, + [0x1e6d] = 0x2509, [0x1e6e] = 0x250a, [0x1e6f] = 0x250b, [0x1e70] = 0x250c, + [0x1e71] = 0x250d, [0x1e72] = 0x250e, [0x1e73] = 0x250f, [0x1e74] = 0x2510, + [0x1e75] = 0x2511, [0x1e76] = 0x2512, [0x1e77] = 0x2513, [0x1e78] = 0x2514, + [0x1e79] = 0x2515, [0x1e7a] = 0x2516, [0x1e7b] = 0x2517, [0x1e7c] = 0x2518, + [0x1e7d] = 0x2519, [0x1e7e] = 0x251a, [0x1e7f] = 0x251b, [0x1e80] = 0x251c, + [0x1e81] = 0x251d, [0x1e82] = 0x251e, [0x1e83] = 0x251f, [0x1e84] = 0x2520, + [0x1e85] = 0x2521, [0x1e86] = 0x2522, [0x1e87] = 0x2523, [0x1e88] = 0x2524, + [0x1e89] = 0x2525, [0x1e8a] = 0x2526, [0x1e8b] = 0x2527, [0x1e8c] = 0x2528, + [0x1e8d] = 0x2529, [0x1e8e] = 0x252a, [0x1e8f] = 0x252b, [0x1e90] = 0x252c, + [0x1e91] = 0x252d, [0x1e92] = 0x252e, [0x1e93] = 0x252f, [0x1e94] = 0x2530, + [0x1e95] = 0x2531, [0x1e96] = 0x2532, [0x1e97] = 0x2533, [0x1e98] = 0x2534, + [0x1e99] = 0x2535, [0x1e9a] = 0x2536, [0x1e9b] = 0x2537, [0x1e9c] = 0x2538, + [0x1e9d] = 0x2539, [0x1e9e] = 0x253a, [0x1e9f] = 0x253b, [0x1ea0] = 0x253c, + [0x1ea1] = 0x253d, [0x1ea2] = 0x253e, [0x1ea3] = 0x253f, [0x1ea4] = 0x2540, + [0x1ea5] = 0x2541, [0x1ea6] = 0x2542, [0x1ea7] = 0x2543, [0x1ea8] = 0x2544, + [0x1ea9] = 0x2545, [0x1eaa] = 0x2546, [0x1eab] = 0x2547, [0x1eac] = 0x2548, + [0x1ead] = 0x2549, [0x1eae] = 0x254a, [0x1eaf] = 0x254b, [0x1ec0] = 0x72dc, + [0x1ec1] = 0x72dd, [0x1ec2] = 0x72df, [0x1ec3] = 0x72e2, [0x1ec4] = 0x72e3, + [0x1ec5] = 0x72e4, [0x1ec6] = 0x72e5, [0x1ec7] = 0x72e6, [0x1ec8] = 0x72e7, + [0x1ec9] = 0x72ea, [0x1eca] = 0x72eb, [0x1ecb] = 0x72f5, [0x1ecc] = 0x72f6, + [0x1ecd] = 0x72f9, [0x1ece] = 0x72fd, [0x1ecf] = 0x72fe, [0x1ed0] = 0x72ff, + [0x1ed1] = 0x7300, [0x1ed2] = 0x7302, [0x1ed3] = 0x7304, [0x1ed4] = 0x7305, + [0x1ed5] = 0x7306, [0x1ed6] = 0x7307, [0x1ed7] = 0x7308, [0x1ed8] = 0x7309, + [0x1ed9] = 0x730b, [0x1eda] = 0x730c, [0x1edb] = 0x730d, [0x1edc] = 0x730f, + [0x1edd] = 0x7310, [0x1ede] = 0x7311, [0x1edf] = 0x7312, [0x1ee0] = 0x7314, + [0x1ee1] = 0x7318, [0x1ee2] = 0x7319, [0x1ee3] = 0x731a, [0x1ee4] = 0x731f, + [0x1ee5] = 0x7320, [0x1ee6] = 0x7323, [0x1ee7] = 0x7324, [0x1ee8] = 0x7326, + [0x1ee9] = 0x7327, [0x1eea] = 0x7328, [0x1eeb] = 0x732d, [0x1eec] = 0x732f, + [0x1eed] = 0x7330, [0x1eee] = 0x7332, [0x1eef] = 0x7333, [0x1ef0] = 0x7335, + [0x1ef1] = 0x7336, [0x1ef2] = 0x733a, [0x1ef3] = 0x733b, [0x1ef4] = 0x733c, + [0x1ef5] = 0x733d, [0x1ef6] = 0x7340, [0x1ef7] = 0x7341, [0x1ef8] = 0x7342, + [0x1ef9] = 0x7343, [0x1efa] = 0x7344, [0x1efb] = 0x7345, [0x1efc] = 0x7346, + [0x1efd] = 0x7347, [0x1efe] = 0x7348, [0x1f00] = 0x7349, [0x1f01] = 0x734a, + [0x1f02] = 0x734b, [0x1f03] = 0x734c, [0x1f04] = 0x734e, [0x1f05] = 0x734f, + [0x1f06] = 0x7351, [0x1f07] = 0x7353, [0x1f08] = 0x7354, [0x1f09] = 0x7355, + [0x1f0a] = 0x7356, [0x1f0b] = 0x7358, [0x1f0c] = 0x7359, [0x1f0d] = 0x735a, + [0x1f0e] = 0x735b, [0x1f0f] = 0x735c, [0x1f10] = 0x735d, [0x1f11] = 0x735e, + [0x1f12] = 0x735f, [0x1f13] = 0x7361, [0x1f14] = 0x7362, [0x1f15] = 0x7363, + [0x1f16] = 0x7364, [0x1f17] = 0x7365, [0x1f18] = 0x7366, [0x1f19] = 0x7367, + [0x1f1a] = 0x7368, [0x1f1b] = 0x7369, [0x1f1c] = 0x736a, [0x1f1d] = 0x736b, + [0x1f1e] = 0x736e, [0x1f1f] = 0x7370, [0x1f20] = 0x7371, [0x1f80] = 0x7372, + [0x1f81] = 0x7373, [0x1f82] = 0x7374, [0x1f83] = 0x7375, [0x1f84] = 0x7376, + [0x1f85] = 0x7377, [0x1f86] = 0x7378, [0x1f87] = 0x7379, [0x1f88] = 0x737a, + [0x1f89] = 0x737b, [0x1f8a] = 0x737c, [0x1f8b] = 0x737d, [0x1f8c] = 0x737f, + [0x1f8d] = 0x7380, [0x1f8e] = 0x7381, [0x1f8f] = 0x7382, [0x1f90] = 0x7383, + [0x1f91] = 0x7385, [0x1f92] = 0x7386, [0x1f93] = 0x7388, [0x1f94] = 0x738a, + [0x1f95] = 0x738c, [0x1f96] = 0x738d, [0x1f97] = 0x738f, [0x1f98] = 0x7390, + [0x1f99] = 0x7392, [0x1f9a] = 0x7393, [0x1f9b] = 0x7394, [0x1f9c] = 0x7395, + [0x1f9d] = 0x7397, [0x1f9e] = 0x7398, [0x1f9f] = 0x7399, [0x1fa0] = 0x739a, + [0x1fa1] = 0x739c, [0x1fa2] = 0x739d, [0x1fa3] = 0x739e, [0x1fa4] = 0x73a0, + [0x1fa5] = 0x73a1, [0x1fa6] = 0x73a3, [0x1fa7] = 0x73a4, [0x1fa8] = 0x73a5, + [0x1fa9] = 0x73a6, [0x1faa] = 0x73a7, [0x1fab] = 0x73a8, [0x1fac] = 0x73aa, + [0x1fad] = 0x73ac, [0x1fae] = 0x73ad, [0x1faf] = 0x73b1, [0x1fb0] = 0x73b4, + [0x1fb1] = 0x73b5, [0x1fb2] = 0x73b6, [0x1fb3] = 0x73b8, [0x1fb4] = 0x73b9, + [0x1fb5] = 0x73bc, [0x1fb6] = 0x73bd, [0x1fb7] = 0x73be, [0x1fb8] = 0x73bf, + [0x1fb9] = 0x73c1, [0x1fba] = 0x73c3, [0x1fbb] = 0x73c4, [0x1fbc] = 0x73c5, + [0x1fbd] = 0x73c6, [0x1fbe] = 0x73c7, [0x1fc0] = 0x73cb, [0x1fc1] = 0x73cc, + [0x1fc2] = 0x73ce, [0x1fc3] = 0x73d2, [0x1fc4] = 0x73d3, [0x1fc5] = 0x73d4, + [0x1fc6] = 0x73d5, [0x1fc7] = 0x73d6, [0x1fc8] = 0x73d7, [0x1fc9] = 0x73d8, + [0x1fca] = 0x73da, [0x1fcb] = 0x73db, [0x1fcc] = 0x73dc, [0x1fcd] = 0x73dd, + [0x1fce] = 0x73df, [0x1fcf] = 0x73e1, [0x1fd0] = 0x73e2, [0x1fd1] = 0x73e3, + [0x1fd2] = 0x73e4, [0x1fd3] = 0x73e6, [0x1fd4] = 0x73e8, [0x1fd5] = 0x73ea, + [0x1fd6] = 0x73eb, [0x1fd7] = 0x73ec, [0x1fd8] = 0x73ee, [0x1fd9] = 0x73ef, + [0x1fda] = 0x73f0, [0x1fdb] = 0x73f1, [0x1fdc] = 0x73f3, [0x1fdd] = 0x73f4, + [0x1fde] = 0x73f5, [0x1fdf] = 0x73f6, [0x1fe0] = 0x73f7, [0x2040] = 0x73f8, + [0x2041] = 0x73f9, [0x2042] = 0x73fa, [0x2043] = 0x73fb, [0x2044] = 0x73fc, + [0x2045] = 0x73fd, [0x2046] = 0x73fe, [0x2047] = 0x73ff, [0x2048] = 0x7400, + [0x2049] = 0x7401, [0x204a] = 0x7402, [0x204b] = 0x7404, [0x204c] = 0x7407, + [0x204d] = 0x7408, [0x204e] = 0x740b, [0x204f] = 0x740c, [0x2050] = 0x740d, + [0x2051] = 0x740e, [0x2052] = 0x7411, [0x2053] = 0x7412, [0x2054] = 0x7413, + [0x2055] = 0x7414, [0x2056] = 0x7415, [0x2057] = 0x7416, [0x2058] = 0x7417, + [0x2059] = 0x7418, [0x205a] = 0x7419, [0x205b] = 0x741c, [0x205c] = 0x741d, + [0x205d] = 0x741e, [0x205e] = 0x741f, [0x205f] = 0x7420, [0x2060] = 0x7421, + [0x2061] = 0x7423, [0x2062] = 0x7424, [0x2063] = 0x7427, [0x2064] = 0x7429, + [0x2065] = 0x742b, [0x2066] = 0x742d, [0x2067] = 0x742f, [0x2068] = 0x7431, + [0x2069] = 0x7432, [0x206a] = 0x7437, [0x206b] = 0x7438, [0x206c] = 0x7439, + [0x206d] = 0x743a, [0x206e] = 0x743b, [0x206f] = 0x743d, [0x2070] = 0x743e, + [0x2071] = 0x743f, [0x2072] = 0x7440, [0x2073] = 0x7442, [0x2074] = 0x7443, + [0x2075] = 0x7444, [0x2076] = 0x7445, [0x2077] = 0x7446, [0x2078] = 0x7447, + [0x2079] = 0x7448, [0x207a] = 0x7449, [0x207b] = 0x744a, [0x207c] = 0x744b, + [0x207d] = 0x744c, [0x207e] = 0x744d, [0x2080] = 0x744e, [0x2081] = 0x744f, + [0x2082] = 0x7450, [0x2083] = 0x7451, [0x2084] = 0x7452, [0x2085] = 0x7453, + [0x2086] = 0x7454, [0x2087] = 0x7456, [0x2088] = 0x7458, [0x2089] = 0x745d, + [0x208a] = 0x7460, [0x208b] = 0x7461, [0x208c] = 0x7462, [0x208d] = 0x7463, + [0x208e] = 0x7464, [0x208f] = 0x7465, [0x2090] = 0x7466, [0x2091] = 0x7467, + [0x2092] = 0x7468, [0x2093] = 0x7469, [0x2094] = 0x746a, [0x2095] = 0x746b, + [0x2096] = 0x746c, [0x2097] = 0x746e, [0x2098] = 0x746f, [0x2099] = 0x7471, + [0x209a] = 0x7472, [0x209b] = 0x7473, [0x209c] = 0x7474, [0x209d] = 0x7475, + [0x209e] = 0x7478, [0x209f] = 0x7479, [0x20a0] = 0x747a, [0x2100] = 0x747b, + [0x2101] = 0x747c, [0x2102] = 0x747d, [0x2103] = 0x747f, [0x2104] = 0x7482, + [0x2105] = 0x7484, [0x2106] = 0x7485, [0x2107] = 0x7486, [0x2108] = 0x7488, + [0x2109] = 0x7489, [0x210a] = 0x748a, [0x210b] = 0x748c, [0x210c] = 0x748d, + [0x210d] = 0x748f, [0x210e] = 0x7491, [0x210f] = 0x7492, [0x2110] = 0x7493, + [0x2111] = 0x7494, [0x2112] = 0x7495, [0x2113] = 0x7496, [0x2114] = 0x7497, + [0x2115] = 0x7498, [0x2116] = 0x7499, [0x2117] = 0x749a, [0x2118] = 0x749b, + [0x2119] = 0x749d, [0x211a] = 0x749f, [0x211b] = 0x74a0, [0x211c] = 0x74a1, + [0x211d] = 0x74a2, [0x211e] = 0x74a3, [0x211f] = 0x74a4, [0x2120] = 0x74a5, + [0x2121] = 0x74a6, [0x2122] = 0x74aa, [0x2123] = 0x74ab, [0x2124] = 0x74ac, + [0x2125] = 0x74ad, [0x2126] = 0x74ae, [0x2127] = 0x74af, [0x2128] = 0x74b0, + [0x2129] = 0x74b1, [0x212a] = 0x74b2, [0x212b] = 0x74b3, [0x212c] = 0x74b4, + [0x212d] = 0x74b5, [0x212e] = 0x74b6, [0x212f] = 0x74b7, [0x2130] = 0x74b8, + [0x2131] = 0x74b9, [0x2132] = 0x74bb, [0x2133] = 0x74bc, [0x2134] = 0x74bd, + [0x2135] = 0x74be, [0x2136] = 0x74bf, [0x2137] = 0x74c0, [0x2138] = 0x74c1, + [0x2139] = 0x74c2, [0x213a] = 0x74c3, [0x213b] = 0x74c4, [0x213c] = 0x74c5, + [0x213d] = 0x74c6, [0x213e] = 0x74c7, [0x2140] = 0x74c8, [0x2141] = 0x74c9, + [0x2142] = 0x74ca, [0x2143] = 0x74cb, [0x2144] = 0x74cc, [0x2145] = 0x74cd, + [0x2146] = 0x74ce, [0x2147] = 0x74cf, [0x2148] = 0x74d0, [0x2149] = 0x74d1, + [0x214a] = 0x74d3, [0x214b] = 0x74d4, [0x214c] = 0x74d5, [0x214d] = 0x74d6, + [0x214e] = 0x74d7, [0x214f] = 0x74d8, [0x2150] = 0x74d9, [0x2151] = 0x74da, + [0x2152] = 0x74db, [0x2153] = 0x74dd, [0x2154] = 0x74df, [0x2155] = 0x74e1, + [0x2156] = 0x74e5, [0x2157] = 0x74e7, [0x2158] = 0x74e8, [0x2159] = 0x74e9, + [0x215a] = 0x74ea, [0x215b] = 0x74eb, [0x215c] = 0x74ec, [0x215d] = 0x74ed, + [0x215e] = 0x74f0, [0x215f] = 0x74f1, [0x2160] = 0x74f2, [0x21c0] = 0x74f3, + [0x21c1] = 0x74f5, [0x21c2] = 0x74f8, [0x21c3] = 0x74f9, [0x21c4] = 0x74fa, + [0x21c5] = 0x74fb, [0x21c6] = 0x74fc, [0x21c7] = 0x74fd, [0x21c8] = 0x74fe, + [0x21c9] = 0x7500, [0x21ca] = 0x7501, [0x21cb] = 0x7502, [0x21cc] = 0x7503, + [0x21cd] = 0x7505, [0x21ce] = 0x7506, [0x21cf] = 0x7507, [0x21d0] = 0x7508, + [0x21d1] = 0x7509, [0x21d2] = 0x750a, [0x21d3] = 0x750b, [0x21d4] = 0x750c, + [0x21d5] = 0x750e, [0x21d6] = 0x7510, [0x21d7] = 0x7512, [0x21d8] = 0x7514, + [0x21d9] = 0x7515, [0x21da] = 0x7516, [0x21db] = 0x7517, [0x21dc] = 0x751b, + [0x21dd] = 0x751d, [0x21de] = 0x751e, [0x21df] = 0x7520, [0x21e0] = 0x7521, + [0x21e1] = 0x7522, [0x21e2] = 0x7523, [0x21e3] = 0x7524, [0x21e4] = 0x7526, + [0x21e5] = 0x7527, [0x21e6] = 0x752a, [0x21e7] = 0x752e, [0x21e8] = 0x7534, + [0x21e9] = 0x7536, [0x21ea] = 0x7539, [0x21eb] = 0x753c, [0x21ec] = 0x753d, + [0x21ed] = 0x753f, [0x21ee] = 0x7541, [0x21ef] = 0x7542, [0x21f0] = 0x7543, + [0x21f1] = 0x7544, [0x21f2] = 0x7546, [0x21f3] = 0x7547, [0x21f4] = 0x7549, + [0x21f5] = 0x754a, [0x21f6] = 0x754d, [0x21f7] = 0x7550, [0x21f8] = 0x7551, + [0x21f9] = 0x7552, [0x21fa] = 0x7553, [0x21fb] = 0x7555, [0x21fc] = 0x7556, + [0x21fd] = 0x7557, [0x21fe] = 0x7558, [0x2200] = 0x755d, [0x2201] = 0x755e, + [0x2202] = 0x755f, [0x2203] = 0x7560, [0x2204] = 0x7561, [0x2205] = 0x7562, + [0x2206] = 0x7563, [0x2207] = 0x7564, [0x2208] = 0x7567, [0x2209] = 0x7568, + [0x220a] = 0x7569, [0x220b] = 0x756b, [0x220c] = 0x756c, [0x220d] = 0x756d, + [0x220e] = 0x756e, [0x220f] = 0x756f, [0x2210] = 0x7570, [0x2211] = 0x7571, + [0x2212] = 0x7573, [0x2213] = 0x7575, [0x2214] = 0x7576, [0x2215] = 0x7577, + [0x2216] = 0x757a, [0x2217] = 0x757b, [0x2218] = 0x757c, [0x2219] = 0x757d, + [0x221a] = 0x757e, [0x221b] = 0x7580, [0x221c] = 0x7581, [0x221d] = 0x7582, + [0x221e] = 0x7584, [0x221f] = 0x7585, [0x2220] = 0x7587, [0x2280] = 0x7588, + [0x2281] = 0x7589, [0x2282] = 0x758a, [0x2283] = 0x758c, [0x2284] = 0x758d, + [0x2285] = 0x758e, [0x2286] = 0x7590, [0x2287] = 0x7593, [0x2288] = 0x7595, + [0x2289] = 0x7598, [0x228a] = 0x759b, [0x228b] = 0x759c, [0x228c] = 0x759e, + [0x228d] = 0x75a2, [0x228e] = 0x75a6, [0x228f] = 0x75a7, [0x2290] = 0x75a8, + [0x2291] = 0x75a9, [0x2292] = 0x75aa, [0x2293] = 0x75ad, [0x2294] = 0x75b6, + [0x2295] = 0x75b7, [0x2296] = 0x75ba, [0x2297] = 0x75bb, [0x2298] = 0x75bf, + [0x2299] = 0x75c0, [0x229a] = 0x75c1, [0x229b] = 0x75c6, [0x229c] = 0x75cb, + [0x229d] = 0x75cc, [0x229e] = 0x75ce, [0x229f] = 0x75cf, [0x22a0] = 0x75d0, + [0x22a1] = 0x75d1, [0x22a2] = 0x75d3, [0x22a3] = 0x75d7, [0x22a4] = 0x75d9, + [0x22a5] = 0x75da, [0x22a6] = 0x75dc, [0x22a7] = 0x75dd, [0x22a8] = 0x75df, + [0x22a9] = 0x75e0, [0x22aa] = 0x75e1, [0x22ab] = 0x75e5, [0x22ac] = 0x75e9, + [0x22ad] = 0x75ec, [0x22ae] = 0x75ed, [0x22af] = 0x75ee, [0x22b0] = 0x75ef, + [0x22b1] = 0x75f2, [0x22b2] = 0x75f3, [0x22b3] = 0x75f5, [0x22b4] = 0x75f6, + [0x22b5] = 0x75f7, [0x22b6] = 0x75f8, [0x22b7] = 0x75fa, [0x22b8] = 0x75fb, + [0x22b9] = 0x75fd, [0x22ba] = 0x75fe, [0x22bb] = 0x7602, [0x22bc] = 0x7604, + [0x22bd] = 0x7606, [0x22be] = 0x7607, [0x22c0] = 0x7608, [0x22c1] = 0x7609, + [0x22c2] = 0x760b, [0x22c3] = 0x760d, [0x22c4] = 0x760e, [0x22c5] = 0x760f, + [0x22c6] = 0x7611, [0x22c7] = 0x7612, [0x22c8] = 0x7613, [0x22c9] = 0x7614, + [0x22ca] = 0x7616, [0x22cb] = 0x761a, [0x22cc] = 0x761c, [0x22cd] = 0x761d, + [0x22ce] = 0x761e, [0x22cf] = 0x7621, [0x22d0] = 0x7623, [0x22d1] = 0x7627, + [0x22d2] = 0x7628, [0x22d3] = 0x762c, [0x22d4] = 0x762e, [0x22d5] = 0x762f, + [0x22d6] = 0x7631, [0x22d7] = 0x7632, [0x22d8] = 0x7636, [0x22d9] = 0x7637, + [0x22da] = 0x7639, [0x22db] = 0x763a, [0x22dc] = 0x763b, [0x22dd] = 0x763d, + [0x22de] = 0x7641, [0x22df] = 0x7642, [0x22e0] = 0x7644, [0x2340] = 0x7645, + [0x2341] = 0x7646, [0x2342] = 0x7647, [0x2343] = 0x7648, [0x2344] = 0x7649, + [0x2345] = 0x764a, [0x2346] = 0x764b, [0x2347] = 0x764e, [0x2348] = 0x764f, + [0x2349] = 0x7650, [0x234a] = 0x7651, [0x234b] = 0x7652, [0x234c] = 0x7653, + [0x234d] = 0x7655, [0x234e] = 0x7657, [0x234f] = 0x7658, [0x2350] = 0x7659, + [0x2351] = 0x765a, [0x2352] = 0x765b, [0x2353] = 0x765d, [0x2354] = 0x765f, + [0x2355] = 0x7660, [0x2356] = 0x7661, [0x2357] = 0x7662, [0x2358] = 0x7664, + [0x2359] = 0x7665, [0x235a] = 0x7666, [0x235b] = 0x7667, [0x235c] = 0x7668, + [0x235d] = 0x7669, [0x235e] = 0x766a, [0x235f] = 0x766c, [0x2360] = 0x766d, + [0x2361] = 0x766e, [0x2362] = 0x7670, [0x2363] = 0x7671, [0x2364] = 0x7672, + [0x2365] = 0x7673, [0x2366] = 0x7674, [0x2367] = 0x7675, [0x2368] = 0x7676, + [0x2369] = 0x7677, [0x236a] = 0x7679, [0x236b] = 0x767a, [0x236c] = 0x767c, + [0x236d] = 0x767f, [0x236e] = 0x7680, [0x236f] = 0x7681, [0x2370] = 0x7683, + [0x2371] = 0x7685, [0x2372] = 0x7689, [0x2373] = 0x768a, [0x2374] = 0x768c, + [0x2375] = 0x768d, [0x2376] = 0x768f, [0x2377] = 0x7690, [0x2378] = 0x7692, + [0x2379] = 0x7694, [0x237a] = 0x7695, [0x237b] = 0x7697, [0x237c] = 0x7698, + [0x237d] = 0x769a, [0x237e] = 0x769b, [0x2380] = 0x769c, [0x2381] = 0x769d, + [0x2382] = 0x769e, [0x2383] = 0x769f, [0x2384] = 0x76a0, [0x2385] = 0x76a1, + [0x2386] = 0x76a2, [0x2387] = 0x76a3, [0x2388] = 0x76a5, [0x2389] = 0x76a6, + [0x238a] = 0x76a7, [0x238b] = 0x76a8, [0x238c] = 0x76a9, [0x238d] = 0x76aa, + [0x238e] = 0x76ab, [0x238f] = 0x76ac, [0x2390] = 0x76ad, [0x2391] = 0x76af, + [0x2392] = 0x76b0, [0x2393] = 0x76b3, [0x2394] = 0x76b5, [0x2395] = 0x76b6, + [0x2396] = 0x76b7, [0x2397] = 0x76b8, [0x2398] = 0x76b9, [0x2399] = 0x76ba, + [0x239a] = 0x76bb, [0x239b] = 0x76bc, [0x239c] = 0x76bd, [0x239d] = 0x76be, + [0x239e] = 0x76c0, [0x239f] = 0x76c1, [0x23a0] = 0x76c3, [0x23a1] = 0x554a, + [0x23a2] = 0x963f, [0x23a3] = 0x57c3, [0x23a4] = 0x6328, [0x23a5] = 0x54ce, + [0x23a6] = 0x5509, [0x23a7] = 0x54c0, [0x23a8] = 0x7691, [0x23a9] = 0x764c, + [0x23aa] = 0x853c, [0x23ab] = 0x77ee, [0x23ac] = 0x827e, [0x23ad] = 0x788d, + [0x23ae] = 0x7231, [0x23af] = 0x9698, [0x23b0] = 0x978d, [0x23b1] = 0x6c28, + [0x23b2] = 0x5b89, [0x23b3] = 0x4ffa, [0x23b4] = 0x6309, [0x23b5] = 0x6697, + [0x23b6] = 0x5cb8, [0x23b7] = 0x80fa, [0x23b8] = 0x6848, [0x23b9] = 0x80ae, + [0x23ba] = 0x6602, [0x23bb] = 0x76ce, [0x23bc] = 0x51f9, [0x23bd] = 0x6556, + [0x23be] = 0x71ac, [0x23bf] = 0x7ff1, [0x23c0] = 0x8884, [0x23c1] = 0x50b2, + [0x23c2] = 0x5965, [0x23c3] = 0x61ca, [0x23c4] = 0x6fb3, [0x23c5] = 0x82ad, + [0x23c6] = 0x634c, [0x23c7] = 0x6252, [0x23c8] = 0x53ed, [0x23c9] = 0x5427, + [0x23ca] = 0x7b06, [0x23cb] = 0x516b, [0x23cc] = 0x75a4, [0x23cd] = 0x5df4, + [0x23ce] = 0x62d4, [0x23cf] = 0x8dcb, [0x23d0] = 0x9776, [0x23d1] = 0x628a, + [0x23d2] = 0x8019, [0x23d3] = 0x575d, [0x23d4] = 0x9738, [0x23d5] = 0x7f62, + [0x23d6] = 0x7238, [0x23d7] = 0x767d, [0x23d8] = 0x67cf, [0x23d9] = 0x767e, + [0x23da] = 0x6446, [0x23db] = 0x4f70, [0x23dc] = 0x8d25, [0x23dd] = 0x62dc, + [0x23de] = 0x7a17, [0x23df] = 0x6591, [0x23e0] = 0x73ed, [0x23e1] = 0x642c, + [0x23e2] = 0x6273, [0x23e3] = 0x822c, [0x23e4] = 0x9881, [0x23e5] = 0x677f, + [0x23e6] = 0x7248, [0x23e7] = 0x626e, [0x23e8] = 0x62cc, [0x23e9] = 0x4f34, + [0x23ea] = 0x74e3, [0x23eb] = 0x534a, [0x23ec] = 0x529e, [0x23ed] = 0x7eca, + [0x23ee] = 0x90a6, [0x23ef] = 0x5e2e, [0x23f0] = 0x6886, [0x23f1] = 0x699c, + [0x23f2] = 0x8180, [0x23f3] = 0x7ed1, [0x23f4] = 0x68d2, [0x23f5] = 0x78c5, + [0x23f6] = 0x868c, [0x23f7] = 0x9551, [0x23f8] = 0x508d, [0x23f9] = 0x8c24, + [0x23fa] = 0x82de, [0x23fb] = 0x80de, [0x23fc] = 0x5305, [0x23fd] = 0x8912, + [0x23fe] = 0x5265, [0x2400] = 0x76c4, [0x2401] = 0x76c7, [0x2402] = 0x76c9, + [0x2403] = 0x76cb, [0x2404] = 0x76cc, [0x2405] = 0x76d3, [0x2406] = 0x76d5, + [0x2407] = 0x76d9, [0x2408] = 0x76da, [0x2409] = 0x76dc, [0x240a] = 0x76dd, + [0x240b] = 0x76de, [0x240c] = 0x76e0, [0x240d] = 0x76e1, [0x240e] = 0x76e2, + [0x240f] = 0x76e3, [0x2410] = 0x76e4, [0x2411] = 0x76e6, [0x2412] = 0x76e7, + [0x2413] = 0x76e8, [0x2414] = 0x76e9, [0x2415] = 0x76ea, [0x2416] = 0x76eb, + [0x2417] = 0x76ec, [0x2418] = 0x76ed, [0x2419] = 0x76f0, [0x241a] = 0x76f3, + [0x241b] = 0x76f5, [0x241c] = 0x76f6, [0x241d] = 0x76f7, [0x241e] = 0x76fa, + [0x241f] = 0x76fb, [0x2420] = 0x76fd, [0x2421] = 0x76ff, [0x2422] = 0x7700, + [0x2423] = 0x7702, [0x2424] = 0x7703, [0x2425] = 0x7705, [0x2426] = 0x7706, + [0x2427] = 0x770a, [0x2428] = 0x770c, [0x2429] = 0x770e, [0x242a] = 0x770f, + [0x242b] = 0x7710, [0x242c] = 0x7711, [0x242d] = 0x7712, [0x242e] = 0x7713, + [0x242f] = 0x7714, [0x2430] = 0x7715, [0x2431] = 0x7716, [0x2432] = 0x7717, + [0x2433] = 0x7718, [0x2434] = 0x771b, [0x2435] = 0x771c, [0x2436] = 0x771d, + [0x2437] = 0x771e, [0x2438] = 0x7721, [0x2439] = 0x7723, [0x243a] = 0x7724, + [0x243b] = 0x7725, [0x243c] = 0x7727, [0x243d] = 0x772a, [0x243e] = 0x772b, + [0x2440] = 0x772c, [0x2441] = 0x772e, [0x2442] = 0x7730, [0x2443] = 0x7731, + [0x2444] = 0x7732, [0x2445] = 0x7733, [0x2446] = 0x7734, [0x2447] = 0x7739, + [0x2448] = 0x773b, [0x2449] = 0x773d, [0x244a] = 0x773e, [0x244b] = 0x773f, + [0x244c] = 0x7742, [0x244d] = 0x7744, [0x244e] = 0x7745, [0x244f] = 0x7746, + [0x2450] = 0x7748, [0x2451] = 0x7749, [0x2452] = 0x774a, [0x2453] = 0x774b, + [0x2454] = 0x774c, [0x2455] = 0x774d, [0x2456] = 0x774e, [0x2457] = 0x774f, + [0x2458] = 0x7752, [0x2459] = 0x7753, [0x245a] = 0x7754, [0x245b] = 0x7755, + [0x245c] = 0x7756, [0x245d] = 0x7757, [0x245e] = 0x7758, [0x245f] = 0x7759, + [0x2460] = 0x775c, [0x2461] = 0x8584, [0x2462] = 0x96f9, [0x2463] = 0x4fdd, + [0x2464] = 0x5821, [0x2465] = 0x9971, [0x2466] = 0x5b9d, [0x2467] = 0x62b1, + [0x2468] = 0x62a5, [0x2469] = 0x66b4, [0x246a] = 0x8c79, [0x246b] = 0x9c8d, + [0x246c] = 0x7206, [0x246d] = 0x676f, [0x246e] = 0x7891, [0x246f] = 0x60b2, + [0x2470] = 0x5351, [0x2471] = 0x5317, [0x2472] = 0x8f88, [0x2473] = 0x80cc, + [0x2474] = 0x8d1d, [0x2475] = 0x94a1, [0x2476] = 0x500d, [0x2477] = 0x72c8, + [0x2478] = 0x5907, [0x2479] = 0x60eb, [0x247a] = 0x7119, [0x247b] = 0x88ab, + [0x247c] = 0x5954, [0x247d] = 0x82ef, [0x247e] = 0x672c, [0x247f] = 0x7b28, + [0x2480] = 0x5d29, [0x2481] = 0x7ef7, [0x2482] = 0x752d, [0x2483] = 0x6cf5, + [0x2484] = 0x8e66, [0x2485] = 0x8ff8, [0x2486] = 0x903c, [0x2487] = 0x9f3b, + [0x2488] = 0x6bd4, [0x2489] = 0x9119, [0x248a] = 0x7b14, [0x248b] = 0x5f7c, + [0x248c] = 0x78a7, [0x248d] = 0x84d6, [0x248e] = 0x853d, [0x248f] = 0x6bd5, + [0x2490] = 0x6bd9, [0x2491] = 0x6bd6, [0x2492] = 0x5e01, [0x2493] = 0x5e87, + [0x2494] = 0x75f9, [0x2495] = 0x95ed, [0x2496] = 0x655d, [0x2497] = 0x5f0a, + [0x2498] = 0x5fc5, [0x2499] = 0x8f9f, [0x249a] = 0x58c1, [0x249b] = 0x81c2, + [0x249c] = 0x907f, [0x249d] = 0x965b, [0x249e] = 0x97ad, [0x249f] = 0x8fb9, + [0x24a0] = 0x7f16, [0x24a1] = 0x8d2c, [0x24a2] = 0x6241, [0x24a3] = 0x4fbf, + [0x24a4] = 0x53d8, [0x24a5] = 0x535e, [0x24a6] = 0x8fa8, [0x24a7] = 0x8fa9, + [0x24a8] = 0x8fab, [0x24a9] = 0x904d, [0x24aa] = 0x6807, [0x24ab] = 0x5f6a, + [0x24ac] = 0x8198, [0x24ad] = 0x8868, [0x24ae] = 0x9cd6, [0x24af] = 0x618b, + [0x24b0] = 0x522b, [0x24b1] = 0x762a, [0x24b2] = 0x5f6c, [0x24b3] = 0x658c, + [0x24b4] = 0x6fd2, [0x24b5] = 0x6ee8, [0x24b6] = 0x5bbe, [0x24b7] = 0x6448, + [0x24b8] = 0x5175, [0x24b9] = 0x51b0, [0x24ba] = 0x67c4, [0x24bb] = 0x4e19, + [0x24bc] = 0x79c9, [0x24bd] = 0x997c, [0x24be] = 0x70b3, [0x24c0] = 0x775d, + [0x24c1] = 0x775e, [0x24c2] = 0x775f, [0x24c3] = 0x7760, [0x24c4] = 0x7764, + [0x24c5] = 0x7767, [0x24c6] = 0x7769, [0x24c7] = 0x776a, [0x24c8] = 0x776d, + [0x24c9] = 0x776e, [0x24ca] = 0x776f, [0x24cb] = 0x7770, [0x24cc] = 0x7771, + [0x24cd] = 0x7772, [0x24ce] = 0x7773, [0x24cf] = 0x7774, [0x24d0] = 0x7775, + [0x24d1] = 0x7776, [0x24d2] = 0x7777, [0x24d3] = 0x7778, [0x24d4] = 0x777a, + [0x24d5] = 0x777b, [0x24d6] = 0x777c, [0x24d7] = 0x7781, [0x24d8] = 0x7782, + [0x24d9] = 0x7783, [0x24da] = 0x7786, [0x24db] = 0x7787, [0x24dc] = 0x7788, + [0x24dd] = 0x7789, [0x24de] = 0x778a, [0x24df] = 0x778b, [0x24e0] = 0x778f, + [0x24e1] = 0x7790, [0x24e2] = 0x7793, [0x24e3] = 0x7794, [0x24e4] = 0x7795, + [0x24e5] = 0x7796, [0x24e6] = 0x7797, [0x24e7] = 0x7798, [0x24e8] = 0x7799, + [0x24e9] = 0x779a, [0x24ea] = 0x779b, [0x24eb] = 0x779c, [0x24ec] = 0x779d, + [0x24ed] = 0x779e, [0x24ee] = 0x77a1, [0x24ef] = 0x77a3, [0x24f0] = 0x77a4, + [0x24f1] = 0x77a6, [0x24f2] = 0x77a8, [0x24f3] = 0x77ab, [0x24f4] = 0x77ad, + [0x24f5] = 0x77ae, [0x24f6] = 0x77af, [0x24f7] = 0x77b1, [0x24f8] = 0x77b2, + [0x24f9] = 0x77b4, [0x24fa] = 0x77b6, [0x24fb] = 0x77b7, [0x24fc] = 0x77b8, + [0x24fd] = 0x77b9, [0x24fe] = 0x77ba, [0x2500] = 0x77bc, [0x2501] = 0x77be, + [0x2502] = 0x77c0, [0x2503] = 0x77c1, [0x2504] = 0x77c2, [0x2505] = 0x77c3, + [0x2506] = 0x77c4, [0x2507] = 0x77c5, [0x2508] = 0x77c6, [0x2509] = 0x77c7, + [0x250a] = 0x77c8, [0x250b] = 0x77c9, [0x250c] = 0x77ca, [0x250d] = 0x77cb, + [0x250e] = 0x77cc, [0x250f] = 0x77ce, [0x2510] = 0x77cf, [0x2511] = 0x77d0, + [0x2512] = 0x77d1, [0x2513] = 0x77d2, [0x2514] = 0x77d3, [0x2515] = 0x77d4, + [0x2516] = 0x77d5, [0x2517] = 0x77d6, [0x2518] = 0x77d8, [0x2519] = 0x77d9, + [0x251a] = 0x77da, [0x251b] = 0x77dd, [0x251c] = 0x77de, [0x251d] = 0x77df, + [0x251e] = 0x77e0, [0x251f] = 0x77e1, [0x2520] = 0x77e4, [0x2521] = 0x75c5, + [0x2522] = 0x5e76, [0x2523] = 0x73bb, [0x2524] = 0x83e0, [0x2525] = 0x64ad, + [0x2526] = 0x62e8, [0x2527] = 0x94b5, [0x2528] = 0x6ce2, [0x2529] = 0x535a, + [0x252a] = 0x52c3, [0x252b] = 0x640f, [0x252c] = 0x94c2, [0x252d] = 0x7b94, + [0x252e] = 0x4f2f, [0x252f] = 0x5e1b, [0x2530] = 0x8236, [0x2531] = 0x8116, + [0x2532] = 0x818a, [0x2533] = 0x6e24, [0x2534] = 0x6cca, [0x2535] = 0x9a73, + [0x2536] = 0x6355, [0x2537] = 0x535c, [0x2538] = 0x54fa, [0x2539] = 0x8865, + [0x253a] = 0x57e0, [0x253b] = 0x4e0d, [0x253c] = 0x5e03, [0x253d] = 0x6b65, + [0x253e] = 0x7c3f, [0x253f] = 0x90e8, [0x2540] = 0x6016, [0x2541] = 0x64e6, + [0x2542] = 0x731c, [0x2543] = 0x88c1, [0x2544] = 0x6750, [0x2545] = 0x624d, + [0x2546] = 0x8d22, [0x2547] = 0x776c, [0x2548] = 0x8e29, [0x2549] = 0x91c7, + [0x254a] = 0x5f69, [0x254b] = 0x83dc, [0x254c] = 0x8521, [0x254d] = 0x9910, + [0x254e] = 0x53c2, [0x254f] = 0x8695, [0x2550] = 0x6b8b, [0x2551] = 0x60ed, + [0x2552] = 0x60e8, [0x2553] = 0x707f, [0x2554] = 0x82cd, [0x2555] = 0x8231, + [0x2556] = 0x4ed3, [0x2557] = 0x6ca7, [0x2558] = 0x85cf, [0x2559] = 0x64cd, + [0x255a] = 0x7cd9, [0x255b] = 0x69fd, [0x255c] = 0x66f9, [0x255d] = 0x8349, + [0x255e] = 0x5395, [0x255f] = 0x7b56, [0x2560] = 0x4fa7, [0x2561] = 0x518c, + [0x2562] = 0x6d4b, [0x2563] = 0x5c42, [0x2564] = 0x8e6d, [0x2565] = 0x63d2, + [0x2566] = 0x53c9, [0x2567] = 0x832c, [0x2568] = 0x8336, [0x2569] = 0x67e5, + [0x256a] = 0x78b4, [0x256b] = 0x643d, [0x256c] = 0x5bdf, [0x256d] = 0x5c94, + [0x256e] = 0x5dee, [0x256f] = 0x8be7, [0x2570] = 0x62c6, [0x2571] = 0x67f4, + [0x2572] = 0x8c7a, [0x2573] = 0x6400, [0x2574] = 0x63ba, [0x2575] = 0x8749, + [0x2576] = 0x998b, [0x2577] = 0x8c17, [0x2578] = 0x7f20, [0x2579] = 0x94f2, + [0x257a] = 0x4ea7, [0x257b] = 0x9610, [0x257c] = 0x98a4, [0x257d] = 0x660c, + [0x257e] = 0x7316, [0x2580] = 0x77e6, [0x2581] = 0x77e8, [0x2582] = 0x77ea, + [0x2583] = 0x77ef, [0x2584] = 0x77f0, [0x2585] = 0x77f1, [0x2586] = 0x77f2, + [0x2587] = 0x77f4, [0x2588] = 0x77f5, [0x2589] = 0x77f7, [0x258a] = 0x77f9, + [0x258b] = 0x77fa, [0x258c] = 0x77fb, [0x258d] = 0x77fc, [0x258e] = 0x7803, + [0x258f] = 0x7804, [0x2590] = 0x7805, [0x2591] = 0x7806, [0x2592] = 0x7807, + [0x2593] = 0x7808, [0x2594] = 0x780a, [0x2595] = 0x780b, [0x2596] = 0x780e, + [0x2597] = 0x780f, [0x2598] = 0x7810, [0x2599] = 0x7813, [0x259a] = 0x7815, + [0x259b] = 0x7819, [0x259c] = 0x781b, [0x259d] = 0x781e, [0x259e] = 0x7820, + [0x259f] = 0x7821, [0x25a0] = 0x7822, [0x25a1] = 0x7824, [0x25a2] = 0x7828, + [0x25a3] = 0x782a, [0x25a4] = 0x782b, [0x25a5] = 0x782e, [0x25a6] = 0x782f, + [0x25a7] = 0x7831, [0x25a8] = 0x7832, [0x25a9] = 0x7833, [0x25aa] = 0x7835, + [0x25ab] = 0x7836, [0x25ac] = 0x783d, [0x25ad] = 0x783f, [0x25ae] = 0x7841, + [0x25af] = 0x7842, [0x25b0] = 0x7843, [0x25b1] = 0x7844, [0x25b2] = 0x7846, + [0x25b3] = 0x7848, [0x25b4] = 0x7849, [0x25b5] = 0x784a, [0x25b6] = 0x784b, + [0x25b7] = 0x784d, [0x25b8] = 0x784f, [0x25b9] = 0x7851, [0x25ba] = 0x7853, + [0x25bb] = 0x7854, [0x25bc] = 0x7858, [0x25bd] = 0x7859, [0x25be] = 0x785a, + [0x25c0] = 0x785b, [0x25c1] = 0x785c, [0x25c2] = 0x785e, [0x25c3] = 0x785f, + [0x25c4] = 0x7860, [0x25c5] = 0x7861, [0x25c6] = 0x7862, [0x25c7] = 0x7863, + [0x25c8] = 0x7864, [0x25c9] = 0x7865, [0x25ca] = 0x7866, [0x25cb] = 0x7867, + [0x25cc] = 0x7868, [0x25cd] = 0x7869, [0x25ce] = 0x786f, [0x25cf] = 0x7870, + [0x25d0] = 0x7871, [0x25d1] = 0x7872, [0x25d2] = 0x7873, [0x25d3] = 0x7874, + [0x25d4] = 0x7875, [0x25d5] = 0x7876, [0x25d6] = 0x7878, [0x25d7] = 0x7879, + [0x25d8] = 0x787a, [0x25d9] = 0x787b, [0x25da] = 0x787d, [0x25db] = 0x787e, + [0x25dc] = 0x787f, [0x25dd] = 0x7880, [0x25de] = 0x7881, [0x25df] = 0x7882, + [0x25e0] = 0x7883, [0x25e1] = 0x573a, [0x25e2] = 0x5c1d, [0x25e3] = 0x5e38, + [0x25e4] = 0x957f, [0x25e5] = 0x507f, [0x25e6] = 0x80a0, [0x25e7] = 0x5382, + [0x25e8] = 0x655e, [0x25e9] = 0x7545, [0x25ea] = 0x5531, [0x25eb] = 0x5021, + [0x25ec] = 0x8d85, [0x25ed] = 0x6284, [0x25ee] = 0x949e, [0x25ef] = 0x671d, + [0x25f0] = 0x5632, [0x25f1] = 0x6f6e, [0x25f2] = 0x5de2, [0x25f3] = 0x5435, + [0x25f4] = 0x7092, [0x25f5] = 0x8f66, [0x25f6] = 0x626f, [0x25f7] = 0x64a4, + [0x25f8] = 0x63a3, [0x25f9] = 0x5f7b, [0x25fa] = 0x6f88, [0x25fb] = 0x90f4, + [0x25fc] = 0x81e3, [0x25fd] = 0x8fb0, [0x25fe] = 0x5c18, [0x25ff] = 0x6668, + [0x2600] = 0x5ff1, [0x2601] = 0x6c89, [0x2602] = 0x9648, [0x2603] = 0x8d81, + [0x2604] = 0x886c, [0x2605] = 0x6491, [0x2606] = 0x79f0, [0x2607] = 0x57ce, + [0x2608] = 0x6a59, [0x2609] = 0x6210, [0x260a] = 0x5448, [0x260b] = 0x4e58, + [0x260c] = 0x7a0b, [0x260d] = 0x60e9, [0x260e] = 0x6f84, [0x260f] = 0x8bda, + [0x2610] = 0x627f, [0x2611] = 0x901e, [0x2612] = 0x9a8b, [0x2613] = 0x79e4, + [0x2614] = 0x5403, [0x2615] = 0x75f4, [0x2616] = 0x6301, [0x2617] = 0x5319, + [0x2618] = 0x6c60, [0x2619] = 0x8fdf, [0x261a] = 0x5f1b, [0x261b] = 0x9a70, + [0x261c] = 0x803b, [0x261d] = 0x9f7f, [0x261e] = 0x4f88, [0x261f] = 0x5c3a, + [0x2620] = 0x8d64, [0x2621] = 0x7fc5, [0x2622] = 0x65a5, [0x2623] = 0x70bd, + [0x2624] = 0x5145, [0x2625] = 0x51b2, [0x2626] = 0x866b, [0x2627] = 0x5d07, + [0x2628] = 0x5ba0, [0x2629] = 0x62bd, [0x262a] = 0x916c, [0x262b] = 0x7574, + [0x262c] = 0x8e0c, [0x262d] = 0x7a20, [0x262e] = 0x6101, [0x262f] = 0x7b79, + [0x2630] = 0x4ec7, [0x2631] = 0x7ef8, [0x2632] = 0x7785, [0x2633] = 0x4e11, + [0x2634] = 0x81ed, [0x2635] = 0x521d, [0x2636] = 0x51fa, [0x2637] = 0x6a71, + [0x2638] = 0x53a8, [0x2639] = 0x8e87, [0x263a] = 0x9504, [0x263b] = 0x96cf, + [0x263c] = 0x6ec1, [0x263d] = 0x9664, [0x263e] = 0x695a, [0x2640] = 0x7884, + [0x2641] = 0x7885, [0x2642] = 0x7886, [0x2643] = 0x7888, [0x2644] = 0x788a, + [0x2645] = 0x788b, [0x2646] = 0x788f, [0x2647] = 0x7890, [0x2648] = 0x7892, + [0x2649] = 0x7894, [0x264a] = 0x7895, [0x264b] = 0x7896, [0x264c] = 0x7899, + [0x264d] = 0x789d, [0x264e] = 0x789e, [0x264f] = 0x78a0, [0x2650] = 0x78a2, + [0x2651] = 0x78a4, [0x2652] = 0x78a6, [0x2653] = 0x78a8, [0x2654] = 0x78a9, + [0x2655] = 0x78aa, [0x2656] = 0x78ab, [0x2657] = 0x78ac, [0x2658] = 0x78ad, + [0x2659] = 0x78ae, [0x265a] = 0x78af, [0x265b] = 0x78b5, [0x265c] = 0x78b6, + [0x265d] = 0x78b7, [0x265e] = 0x78b8, [0x265f] = 0x78ba, [0x2660] = 0x78bb, + [0x2661] = 0x78bc, [0x2662] = 0x78bd, [0x2663] = 0x78bf, [0x2664] = 0x78c0, + [0x2665] = 0x78c2, [0x2666] = 0x78c3, [0x2667] = 0x78c4, [0x2668] = 0x78c6, + [0x2669] = 0x78c7, [0x266a] = 0x78c8, [0x266b] = 0x78cc, [0x266c] = 0x78cd, + [0x266d] = 0x78ce, [0x266e] = 0x78cf, [0x266f] = 0x78d1, [0x2670] = 0x78d2, + [0x2671] = 0x78d3, [0x2672] = 0x78d6, [0x2673] = 0x78d7, [0x2674] = 0x78d8, + [0x2675] = 0x78da, [0x2676] = 0x78db, [0x2677] = 0x78dc, [0x2678] = 0x78dd, + [0x2679] = 0x78de, [0x267a] = 0x78df, [0x267b] = 0x78e0, [0x267c] = 0x78e1, + [0x267d] = 0x78e2, [0x267e] = 0x78e3, [0x2680] = 0x78e4, [0x2681] = 0x78e5, + [0x2682] = 0x78e6, [0x2683] = 0x78e7, [0x2684] = 0x78e9, [0x2685] = 0x78ea, + [0x2686] = 0x78eb, [0x2687] = 0x78ed, [0x2688] = 0x78ee, [0x2689] = 0x78ef, + [0x268a] = 0x78f0, [0x268b] = 0x78f1, [0x268c] = 0x78f3, [0x268d] = 0x78f5, + [0x268e] = 0x78f6, [0x268f] = 0x78f8, [0x2690] = 0x78f9, [0x2691] = 0x78fb, + [0x2692] = 0x78fc, [0x2693] = 0x78fd, [0x2694] = 0x78fe, [0x2695] = 0x78ff, + [0x2696] = 0x7900, [0x2697] = 0x7902, [0x2698] = 0x7903, [0x2699] = 0x7904, + [0x269a] = 0x7906, [0x269b] = 0x7907, [0x269c] = 0x7908, [0x269d] = 0x7909, + [0x269e] = 0x790a, [0x269f] = 0x790b, [0x26a0] = 0x790c, [0x26a1] = 0x7840, + [0x26a2] = 0x50a8, [0x26a3] = 0x77d7, [0x26a4] = 0x6410, [0x26a5] = 0x89e6, + [0x26a6] = 0x5904, [0x26a7] = 0x63e3, [0x26a8] = 0x5ddd, [0x26a9] = 0x7a7f, + [0x26aa] = 0x693d, [0x26ab] = 0x4f20, [0x26ac] = 0x8239, [0x26ad] = 0x5598, + [0x26ae] = 0x4e32, [0x26af] = 0x75ae, [0x26b0] = 0x7a97, [0x26b1] = 0x5e62, + [0x26b2] = 0x5e8a, [0x26b3] = 0x95ef, [0x26b4] = 0x521b, [0x26b5] = 0x5439, + [0x26b6] = 0x708a, [0x26b7] = 0x6376, [0x26b8] = 0x9524, [0x26b9] = 0x5782, + [0x26ba] = 0x6625, [0x26bb] = 0x693f, [0x26bc] = 0x9187, [0x26bd] = 0x5507, + [0x26be] = 0x6df3, [0x26bf] = 0x7eaf, [0x26c0] = 0x8822, [0x26c1] = 0x6233, + [0x26c2] = 0x7ef0, [0x26c3] = 0x75b5, [0x26c4] = 0x8328, [0x26c5] = 0x78c1, + [0x26c6] = 0x96cc, [0x26c7] = 0x8f9e, [0x26c8] = 0x6148, [0x26c9] = 0x74f7, + [0x26ca] = 0x8bcd, [0x26cb] = 0x6b64, [0x26cc] = 0x523a, [0x26cd] = 0x8d50, + [0x26ce] = 0x6b21, [0x26cf] = 0x806a, [0x26d0] = 0x8471, [0x26d1] = 0x56f1, + [0x26d2] = 0x5306, [0x26d3] = 0x4ece, [0x26d4] = 0x4e1b, [0x26d5] = 0x51d1, + [0x26d6] = 0x7c97, [0x26d7] = 0x918b, [0x26d8] = 0x7c07, [0x26d9] = 0x4fc3, + [0x26da] = 0x8e7f, [0x26db] = 0x7be1, [0x26dc] = 0x7a9c, [0x26dd] = 0x6467, + [0x26de] = 0x5d14, [0x26df] = 0x50ac, [0x26e0] = 0x8106, [0x26e1] = 0x7601, + [0x26e2] = 0x7cb9, [0x26e3] = 0x6dec, [0x26e4] = 0x7fe0, [0x26e5] = 0x6751, + [0x26e6] = 0x5b58, [0x26e7] = 0x5bf8, [0x26e8] = 0x78cb, [0x26e9] = 0x64ae, + [0x26ea] = 0x6413, [0x26eb] = 0x63aa, [0x26ec] = 0x632b, [0x26ed] = 0x9519, + [0x26ee] = 0x642d, [0x26ef] = 0x8fbe, [0x26f0] = 0x7b54, [0x26f1] = 0x7629, + [0x26f2] = 0x6253, [0x26f3] = 0x5927, [0x26f4] = 0x5446, [0x26f5] = 0x6b79, + [0x26f6] = 0x50a3, [0x26f7] = 0x6234, [0x26f8] = 0x5e26, [0x26f9] = 0x6b86, + [0x26fa] = 0x4ee3, [0x26fb] = 0x8d37, [0x26fc] = 0x888b, [0x26fd] = 0x5f85, + [0x26fe] = 0x902e, [0x2700] = 0x790d, [0x2701] = 0x790e, [0x2702] = 0x790f, + [0x2703] = 0x7910, [0x2704] = 0x7911, [0x2705] = 0x7912, [0x2706] = 0x7914, + [0x2707] = 0x7915, [0x2708] = 0x7916, [0x2709] = 0x7917, [0x270a] = 0x7918, + [0x270b] = 0x7919, [0x270c] = 0x791a, [0x270d] = 0x791b, [0x270e] = 0x791c, + [0x270f] = 0x791d, [0x2710] = 0x791f, [0x2711] = 0x7920, [0x2712] = 0x7921, + [0x2713] = 0x7922, [0x2714] = 0x7923, [0x2715] = 0x7925, [0x2716] = 0x7926, + [0x2717] = 0x7927, [0x2718] = 0x7928, [0x2719] = 0x7929, [0x271a] = 0x792a, + [0x271b] = 0x792b, [0x271c] = 0x792c, [0x271d] = 0x792d, [0x271e] = 0x792e, + [0x271f] = 0x792f, [0x2720] = 0x7930, [0x2721] = 0x7931, [0x2722] = 0x7932, + [0x2723] = 0x7933, [0x2724] = 0x7935, [0x2725] = 0x7936, [0x2726] = 0x7937, + [0x2727] = 0x7938, [0x2728] = 0x7939, [0x2729] = 0x793d, [0x272a] = 0x793f, + [0x272b] = 0x7942, [0x272c] = 0x7943, [0x272d] = 0x7944, [0x272e] = 0x7945, + [0x272f] = 0x7947, [0x2730] = 0x794a, [0x2731] = 0x794b, [0x2732] = 0x794c, + [0x2733] = 0x794d, [0x2734] = 0x794e, [0x2735] = 0x794f, [0x2736] = 0x7950, + [0x2737] = 0x7951, [0x2738] = 0x7952, [0x2739] = 0x7954, [0x273a] = 0x7955, + [0x273b] = 0x7958, [0x273c] = 0x7959, [0x273d] = 0x7961, [0x273e] = 0x7963, + [0x2740] = 0x7964, [0x2741] = 0x7966, [0x2742] = 0x7969, [0x2743] = 0x796a, + [0x2744] = 0x796b, [0x2745] = 0x796c, [0x2746] = 0x796e, [0x2747] = 0x7970, + [0x2748] = 0x7971, [0x2749] = 0x7972, [0x274a] = 0x7973, [0x274b] = 0x7974, + [0x274c] = 0x7975, [0x274d] = 0x7976, [0x274e] = 0x7979, [0x274f] = 0x797b, + [0x2750] = 0x797c, [0x2751] = 0x797d, [0x2752] = 0x797e, [0x2753] = 0x797f, + [0x2754] = 0x7982, [0x2755] = 0x7983, [0x2756] = 0x7986, [0x2757] = 0x7987, + [0x2758] = 0x7988, [0x2759] = 0x7989, [0x275a] = 0x798b, [0x275b] = 0x798c, + [0x275c] = 0x798d, [0x275d] = 0x798e, [0x275e] = 0x7990, [0x275f] = 0x7991, + [0x2760] = 0x7992, [0x2761] = 0x6020, [0x2762] = 0x803d, [0x2763] = 0x62c5, + [0x2764] = 0x4e39, [0x2765] = 0x5355, [0x2766] = 0x90f8, [0x2767] = 0x63b8, + [0x2768] = 0x80c6, [0x2769] = 0x65e6, [0x276a] = 0x6c2e, [0x276b] = 0x4f46, + [0x276c] = 0x60ee, [0x276d] = 0x6de1, [0x276e] = 0x8bde, [0x276f] = 0x5f39, + [0x2770] = 0x86cb, [0x2771] = 0x5f53, [0x2772] = 0x6321, [0x2773] = 0x515a, + [0x2774] = 0x8361, [0x2775] = 0x6863, [0x2776] = 0x5200, [0x2777] = 0x6363, + [0x2778] = 0x8e48, [0x2779] = 0x5012, [0x277a] = 0x5c9b, [0x277b] = 0x7977, + [0x277c] = 0x5bfc, [0x277d] = 0x5230, [0x277e] = 0x7a3b, [0x277f] = 0x60bc, + [0x2780] = 0x9053, [0x2781] = 0x76d7, [0x2782] = 0x5fb7, [0x2783] = 0x5f97, + [0x2784] = 0x7684, [0x2785] = 0x8e6c, [0x2786] = 0x706f, [0x2787] = 0x767b, + [0x2788] = 0x7b49, [0x2789] = 0x77aa, [0x278a] = 0x51f3, [0x278b] = 0x9093, + [0x278c] = 0x5824, [0x278d] = 0x4f4e, [0x278e] = 0x6ef4, [0x278f] = 0x8fea, + [0x2790] = 0x654c, [0x2791] = 0x7b1b, [0x2792] = 0x72c4, [0x2793] = 0x6da4, + [0x2794] = 0x7fdf, [0x2795] = 0x5ae1, [0x2796] = 0x62b5, [0x2797] = 0x5e95, + [0x2798] = 0x5730, [0x2799] = 0x8482, [0x279a] = 0x7b2c, [0x279b] = 0x5e1d, + [0x279c] = 0x5f1f, [0x279d] = 0x9012, [0x279e] = 0x7f14, [0x279f] = 0x98a0, + [0x27a0] = 0x6382, [0x27a1] = 0x6ec7, [0x27a2] = 0x7898, [0x27a3] = 0x70b9, + [0x27a4] = 0x5178, [0x27a5] = 0x975b, [0x27a6] = 0x57ab, [0x27a7] = 0x7535, + [0x27a8] = 0x4f43, [0x27a9] = 0x7538, [0x27aa] = 0x5e97, [0x27ab] = 0x60e6, + [0x27ac] = 0x5960, [0x27ad] = 0x6dc0, [0x27ae] = 0x6bbf, [0x27af] = 0x7889, + [0x27b0] = 0x53fc, [0x27b1] = 0x96d5, [0x27b2] = 0x51cb, [0x27b3] = 0x5201, + [0x27b4] = 0x6389, [0x27b5] = 0x540a, [0x27b6] = 0x9493, [0x27b7] = 0x8c03, + [0x27b8] = 0x8dcc, [0x27b9] = 0x7239, [0x27ba] = 0x789f, [0x27bb] = 0x8776, + [0x27bc] = 0x8fed, [0x27bd] = 0x8c0d, [0x27be] = 0x53e0, [0x27c0] = 0x7993, + [0x27c1] = 0x7994, [0x27c2] = 0x7995, [0x27c3] = 0x7996, [0x27c4] = 0x7997, + [0x27c5] = 0x7998, [0x27c6] = 0x7999, [0x27c7] = 0x799b, [0x27c8] = 0x799c, + [0x27c9] = 0x799d, [0x27ca] = 0x799e, [0x27cb] = 0x799f, [0x27cc] = 0x79a0, + [0x27cd] = 0x79a1, [0x27ce] = 0x79a2, [0x27cf] = 0x79a3, [0x27d0] = 0x79a4, + [0x27d1] = 0x79a5, [0x27d2] = 0x79a6, [0x27d3] = 0x79a8, [0x27d4] = 0x79a9, + [0x27d5] = 0x79aa, [0x27d6] = 0x79ab, [0x27d7] = 0x79ac, [0x27d8] = 0x79ad, + [0x27d9] = 0x79ae, [0x27da] = 0x79af, [0x27db] = 0x79b0, [0x27dc] = 0x79b1, + [0x27dd] = 0x79b2, [0x27de] = 0x79b4, [0x27df] = 0x79b5, [0x27e0] = 0x79b6, + [0x27e1] = 0x79b7, [0x27e2] = 0x79b8, [0x27e3] = 0x79bc, [0x27e4] = 0x79bf, + [0x27e5] = 0x79c2, [0x27e6] = 0x79c4, [0x27e7] = 0x79c5, [0x27e8] = 0x79c7, + [0x27e9] = 0x79c8, [0x27ea] = 0x79ca, [0x27eb] = 0x79cc, [0x27ec] = 0x79ce, + [0x27ed] = 0x79cf, [0x27ee] = 0x79d0, [0x27ef] = 0x79d3, [0x27f0] = 0x79d4, + [0x27f1] = 0x79d6, [0x27f2] = 0x79d7, [0x27f3] = 0x79d9, [0x27f4] = 0x79da, + [0x27f5] = 0x79db, [0x27f6] = 0x79dc, [0x27f7] = 0x79dd, [0x27f8] = 0x79de, + [0x27f9] = 0x79e0, [0x27fa] = 0x79e1, [0x27fb] = 0x79e2, [0x27fc] = 0x79e5, + [0x27fd] = 0x79e8, [0x27fe] = 0x79ea, [0x2800] = 0x79ec, [0x2801] = 0x79ee, + [0x2802] = 0x79f1, [0x2803] = 0x79f2, [0x2804] = 0x79f3, [0x2805] = 0x79f4, + [0x2806] = 0x79f5, [0x2807] = 0x79f6, [0x2808] = 0x79f7, [0x2809] = 0x79f9, + [0x280a] = 0x79fa, [0x280b] = 0x79fc, [0x280c] = 0x79fe, [0x280d] = 0x79ff, + [0x280e] = 0x7a01, [0x280f] = 0x7a04, [0x2810] = 0x7a05, [0x2811] = 0x7a07, + [0x2812] = 0x7a08, [0x2813] = 0x7a09, [0x2814] = 0x7a0a, [0x2815] = 0x7a0c, + [0x2816] = 0x7a0f, [0x2817] = 0x7a10, [0x2818] = 0x7a11, [0x2819] = 0x7a12, + [0x281a] = 0x7a13, [0x281b] = 0x7a15, [0x281c] = 0x7a16, [0x281d] = 0x7a18, + [0x281e] = 0x7a19, [0x281f] = 0x7a1b, [0x2820] = 0x7a1c, [0x2821] = 0x4e01, + [0x2822] = 0x76ef, [0x2823] = 0x53ee, [0x2824] = 0x9489, [0x2825] = 0x9876, + [0x2826] = 0x9f0e, [0x2827] = 0x952d, [0x2828] = 0x5b9a, [0x2829] = 0x8ba2, + [0x282a] = 0x4e22, [0x282b] = 0x4e1c, [0x282c] = 0x51ac, [0x282d] = 0x8463, + [0x282e] = 0x61c2, [0x282f] = 0x52a8, [0x2830] = 0x680b, [0x2831] = 0x4f97, + [0x2832] = 0x606b, [0x2833] = 0x51bb, [0x2834] = 0x6d1e, [0x2835] = 0x515c, + [0x2836] = 0x6296, [0x2837] = 0x6597, [0x2838] = 0x9661, [0x2839] = 0x8c46, + [0x283a] = 0x9017, [0x283b] = 0x75d8, [0x283c] = 0x90fd, [0x283d] = 0x7763, + [0x283e] = 0x6bd2, [0x283f] = 0x728a, [0x2840] = 0x72ec, [0x2841] = 0x8bfb, + [0x2842] = 0x5835, [0x2843] = 0x7779, [0x2844] = 0x8d4c, [0x2845] = 0x675c, + [0x2846] = 0x9540, [0x2847] = 0x809a, [0x2848] = 0x5ea6, [0x2849] = 0x6e21, + [0x284a] = 0x5992, [0x284b] = 0x7aef, [0x284c] = 0x77ed, [0x284d] = 0x953b, + [0x284e] = 0x6bb5, [0x284f] = 0x65ad, [0x2850] = 0x7f0e, [0x2851] = 0x5806, + [0x2852] = 0x5151, [0x2853] = 0x961f, [0x2854] = 0x5bf9, [0x2855] = 0x58a9, + [0x2856] = 0x5428, [0x2857] = 0x8e72, [0x2858] = 0x6566, [0x2859] = 0x987f, + [0x285a] = 0x56e4, [0x285b] = 0x949d, [0x285c] = 0x76fe, [0x285d] = 0x9041, + [0x285e] = 0x6387, [0x285f] = 0x54c6, [0x2860] = 0x591a, [0x2861] = 0x593a, + [0x2862] = 0x579b, [0x2863] = 0x8eb2, [0x2864] = 0x6735, [0x2865] = 0x8dfa, + [0x2866] = 0x8235, [0x2867] = 0x5241, [0x2868] = 0x60f0, [0x2869] = 0x5815, + [0x286a] = 0x86fe, [0x286b] = 0x5ce8, [0x286c] = 0x9e45, [0x286d] = 0x4fc4, + [0x286e] = 0x989d, [0x286f] = 0x8bb9, [0x2870] = 0x5a25, [0x2871] = 0x6076, + [0x2872] = 0x5384, [0x2873] = 0x627c, [0x2874] = 0x904f, [0x2875] = 0x9102, + [0x2876] = 0x997f, [0x2877] = 0x6069, [0x2878] = 0x800c, [0x2879] = 0x513f, + [0x287a] = 0x8033, [0x287b] = 0x5c14, [0x287c] = 0x9975, [0x287d] = 0x6d31, + [0x287e] = 0x4e8c, [0x2880] = 0x7a1d, [0x2881] = 0x7a1f, [0x2882] = 0x7a21, + [0x2883] = 0x7a22, [0x2884] = 0x7a24, [0x2885] = 0x7a25, [0x2886] = 0x7a26, + [0x2887] = 0x7a27, [0x2888] = 0x7a28, [0x2889] = 0x7a29, [0x288a] = 0x7a2a, + [0x288b] = 0x7a2b, [0x288c] = 0x7a2c, [0x288d] = 0x7a2d, [0x288e] = 0x7a2e, + [0x288f] = 0x7a2f, [0x2890] = 0x7a30, [0x2891] = 0x7a31, [0x2892] = 0x7a32, + [0x2893] = 0x7a34, [0x2894] = 0x7a35, [0x2895] = 0x7a36, [0x2896] = 0x7a38, + [0x2897] = 0x7a3a, [0x2898] = 0x7a3e, [0x2899] = 0x7a40, [0x289a] = 0x7a41, + [0x289b] = 0x7a42, [0x289c] = 0x7a43, [0x289d] = 0x7a44, [0x289e] = 0x7a45, + [0x289f] = 0x7a47, [0x28a0] = 0x7a48, [0x28a1] = 0x7a49, [0x28a2] = 0x7a4a, + [0x28a3] = 0x7a4b, [0x28a4] = 0x7a4c, [0x28a5] = 0x7a4d, [0x28a6] = 0x7a4e, + [0x28a7] = 0x7a4f, [0x28a8] = 0x7a50, [0x28a9] = 0x7a52, [0x28aa] = 0x7a53, + [0x28ab] = 0x7a54, [0x28ac] = 0x7a55, [0x28ad] = 0x7a56, [0x28ae] = 0x7a58, + [0x28af] = 0x7a59, [0x28b0] = 0x7a5a, [0x28b1] = 0x7a5b, [0x28b2] = 0x7a5c, + [0x28b3] = 0x7a5d, [0x28b4] = 0x7a5e, [0x28b5] = 0x7a5f, [0x28b6] = 0x7a60, + [0x28b7] = 0x7a61, [0x28b8] = 0x7a62, [0x28b9] = 0x7a63, [0x28ba] = 0x7a64, + [0x28bb] = 0x7a65, [0x28bc] = 0x7a66, [0x28bd] = 0x7a67, [0x28be] = 0x7a68, + [0x28c0] = 0x7a69, [0x28c1] = 0x7a6a, [0x28c2] = 0x7a6b, [0x28c3] = 0x7a6c, + [0x28c4] = 0x7a6d, [0x28c5] = 0x7a6e, [0x28c6] = 0x7a6f, [0x28c7] = 0x7a71, + [0x28c8] = 0x7a72, [0x28c9] = 0x7a73, [0x28ca] = 0x7a75, [0x28cb] = 0x7a7b, + [0x28cc] = 0x7a7c, [0x28cd] = 0x7a7d, [0x28ce] = 0x7a7e, [0x28cf] = 0x7a82, + [0x28d0] = 0x7a85, [0x28d1] = 0x7a87, [0x28d2] = 0x7a89, [0x28d3] = 0x7a8a, + [0x28d4] = 0x7a8b, [0x28d5] = 0x7a8c, [0x28d6] = 0x7a8e, [0x28d7] = 0x7a8f, + [0x28d8] = 0x7a90, [0x28d9] = 0x7a93, [0x28da] = 0x7a94, [0x28db] = 0x7a99, + [0x28dc] = 0x7a9a, [0x28dd] = 0x7a9b, [0x28de] = 0x7a9e, [0x28df] = 0x7aa1, + [0x28e0] = 0x7aa2, [0x28e1] = 0x8d30, [0x28e2] = 0x53d1, [0x28e3] = 0x7f5a, + [0x28e4] = 0x7b4f, [0x28e5] = 0x4f10, [0x28e6] = 0x4e4f, [0x28e7] = 0x9600, + [0x28e8] = 0x6cd5, [0x28e9] = 0x73d0, [0x28ea] = 0x85e9, [0x28eb] = 0x5e06, + [0x28ec] = 0x756a, [0x28ed] = 0x7ffb, [0x28ee] = 0x6a0a, [0x28ef] = 0x77fe, + [0x28f0] = 0x9492, [0x28f1] = 0x7e41, [0x28f2] = 0x51e1, [0x28f3] = 0x70e6, + [0x28f4] = 0x53cd, [0x28f5] = 0x8fd4, [0x28f6] = 0x8303, [0x28f7] = 0x8d29, + [0x28f8] = 0x72af, [0x28f9] = 0x996d, [0x28fa] = 0x6cdb, [0x28fb] = 0x574a, + [0x28fc] = 0x82b3, [0x28fd] = 0x65b9, [0x28fe] = 0x80aa, [0x28ff] = 0x623f, + [0x2900] = 0x9632, [0x2901] = 0x59a8, [0x2902] = 0x4eff, [0x2903] = 0x8bbf, + [0x2904] = 0x7eba, [0x2905] = 0x653e, [0x2906] = 0x83f2, [0x2907] = 0x975e, + [0x2908] = 0x5561, [0x2909] = 0x98de, [0x290a] = 0x80a5, [0x290b] = 0x532a, + [0x290c] = 0x8bfd, [0x290d] = 0x5420, [0x290e] = 0x80ba, [0x290f] = 0x5e9f, + [0x2910] = 0x6cb8, [0x2911] = 0x8d39, [0x2912] = 0x82ac, [0x2913] = 0x915a, + [0x2914] = 0x5429, [0x2915] = 0x6c1b, [0x2916] = 0x5206, [0x2917] = 0x7eb7, + [0x2918] = 0x575f, [0x2919] = 0x711a, [0x291a] = 0x6c7e, [0x291b] = 0x7c89, + [0x291c] = 0x594b, [0x291d] = 0x4efd, [0x291e] = 0x5fff, [0x291f] = 0x6124, + [0x2920] = 0x7caa, [0x2921] = 0x4e30, [0x2922] = 0x5c01, [0x2923] = 0x67ab, + [0x2924] = 0x8702, [0x2925] = 0x5cf0, [0x2926] = 0x950b, [0x2927] = 0x98ce, + [0x2928] = 0x75af, [0x2929] = 0x70fd, [0x292a] = 0x9022, [0x292b] = 0x51af, + [0x292c] = 0x7f1d, [0x292d] = 0x8bbd, [0x292e] = 0x5949, [0x292f] = 0x51e4, + [0x2930] = 0x4f5b, [0x2931] = 0x5426, [0x2932] = 0x592b, [0x2933] = 0x6577, + [0x2934] = 0x80a4, [0x2935] = 0x5b75, [0x2936] = 0x6276, [0x2937] = 0x62c2, + [0x2938] = 0x8f90, [0x2939] = 0x5e45, [0x293a] = 0x6c1f, [0x293b] = 0x7b26, + [0x293c] = 0x4f0f, [0x293d] = 0x4fd8, [0x293e] = 0x670d, [0x2940] = 0x7aa3, + [0x2941] = 0x7aa4, [0x2942] = 0x7aa7, [0x2943] = 0x7aa9, [0x2944] = 0x7aaa, + [0x2945] = 0x7aab, [0x2946] = 0x7aae, [0x2947] = 0x7aaf, [0x2948] = 0x7ab0, + [0x2949] = 0x7ab1, [0x294a] = 0x7ab2, [0x294b] = 0x7ab4, [0x294c] = 0x7ab5, + [0x294d] = 0x7ab6, [0x294e] = 0x7ab7, [0x294f] = 0x7ab8, [0x2950] = 0x7ab9, + [0x2951] = 0x7aba, [0x2952] = 0x7abb, [0x2953] = 0x7abc, [0x2954] = 0x7abd, + [0x2955] = 0x7abe, [0x2956] = 0x7ac0, [0x2957] = 0x7ac1, [0x2958] = 0x7ac2, + [0x2959] = 0x7ac3, [0x295a] = 0x7ac4, [0x295b] = 0x7ac5, [0x295c] = 0x7ac6, + [0x295d] = 0x7ac7, [0x295e] = 0x7ac8, [0x295f] = 0x7ac9, [0x2960] = 0x7aca, + [0x2961] = 0x7acc, [0x2962] = 0x7acd, [0x2963] = 0x7ace, [0x2964] = 0x7acf, + [0x2965] = 0x7ad0, [0x2966] = 0x7ad1, [0x2967] = 0x7ad2, [0x2968] = 0x7ad3, + [0x2969] = 0x7ad4, [0x296a] = 0x7ad5, [0x296b] = 0x7ad7, [0x296c] = 0x7ad8, + [0x296d] = 0x7ada, [0x296e] = 0x7adb, [0x296f] = 0x7adc, [0x2970] = 0x7add, + [0x2971] = 0x7ae1, [0x2972] = 0x7ae2, [0x2973] = 0x7ae4, [0x2974] = 0x7ae7, + [0x2975] = 0x7ae8, [0x2976] = 0x7ae9, [0x2977] = 0x7aea, [0x2978] = 0x7aeb, + [0x2979] = 0x7aec, [0x297a] = 0x7aee, [0x297b] = 0x7af0, [0x297c] = 0x7af1, + [0x297d] = 0x7af2, [0x297e] = 0x7af3, [0x2980] = 0x7af4, [0x2981] = 0x7af5, + [0x2982] = 0x7af6, [0x2983] = 0x7af7, [0x2984] = 0x7af8, [0x2985] = 0x7afb, + [0x2986] = 0x7afc, [0x2987] = 0x7afe, [0x2988] = 0x7b00, [0x2989] = 0x7b01, + [0x298a] = 0x7b02, [0x298b] = 0x7b05, [0x298c] = 0x7b07, [0x298d] = 0x7b09, + [0x298e] = 0x7b0c, [0x298f] = 0x7b0d, [0x2990] = 0x7b0e, [0x2991] = 0x7b10, + [0x2992] = 0x7b12, [0x2993] = 0x7b13, [0x2994] = 0x7b16, [0x2995] = 0x7b17, + [0x2996] = 0x7b18, [0x2997] = 0x7b1a, [0x2998] = 0x7b1c, [0x2999] = 0x7b1d, + [0x299a] = 0x7b1f, [0x299b] = 0x7b21, [0x299c] = 0x7b22, [0x299d] = 0x7b23, + [0x299e] = 0x7b27, [0x299f] = 0x7b29, [0x29a0] = 0x7b2d, [0x29a1] = 0x6d6e, + [0x29a2] = 0x6daa, [0x29a3] = 0x798f, [0x29a4] = 0x88b1, [0x29a5] = 0x5f17, + [0x29a6] = 0x752b, [0x29a7] = 0x629a, [0x29a8] = 0x8f85, [0x29a9] = 0x4fef, + [0x29aa] = 0x91dc, [0x29ab] = 0x65a7, [0x29ac] = 0x812f, [0x29ad] = 0x8151, + [0x29ae] = 0x5e9c, [0x29af] = 0x8150, [0x29b0] = 0x8d74, [0x29b1] = 0x526f, + [0x29b2] = 0x8986, [0x29b3] = 0x8d4b, [0x29b4] = 0x590d, [0x29b5] = 0x5085, + [0x29b6] = 0x4ed8, [0x29b7] = 0x961c, [0x29b8] = 0x7236, [0x29b9] = 0x8179, + [0x29ba] = 0x8d1f, [0x29bb] = 0x5bcc, [0x29bc] = 0x8ba3, [0x29bd] = 0x9644, + [0x29be] = 0x5987, [0x29bf] = 0x7f1a, [0x29c0] = 0x5490, [0x29c1] = 0x5676, + [0x29c2] = 0x560e, [0x29c3] = 0x8be5, [0x29c4] = 0x6539, [0x29c5] = 0x6982, + [0x29c6] = 0x9499, [0x29c7] = 0x76d6, [0x29c8] = 0x6e89, [0x29c9] = 0x5e72, + [0x29ca] = 0x7518, [0x29cb] = 0x6746, [0x29cc] = 0x67d1, [0x29cd] = 0x7aff, + [0x29ce] = 0x809d, [0x29cf] = 0x8d76, [0x29d0] = 0x611f, [0x29d1] = 0x79c6, + [0x29d2] = 0x6562, [0x29d3] = 0x8d63, [0x29d4] = 0x5188, [0x29d5] = 0x521a, + [0x29d6] = 0x94a2, [0x29d7] = 0x7f38, [0x29d8] = 0x809b, [0x29d9] = 0x7eb2, + [0x29da] = 0x5c97, [0x29db] = 0x6e2f, [0x29dc] = 0x6760, [0x29dd] = 0x7bd9, + [0x29de] = 0x768b, [0x29df] = 0x9ad8, [0x29e0] = 0x818f, [0x29e1] = 0x7f94, + [0x29e2] = 0x7cd5, [0x29e3] = 0x641e, [0x29e4] = 0x9550, [0x29e5] = 0x7a3f, + [0x29e6] = 0x544a, [0x29e7] = 0x54e5, [0x29e8] = 0x6b4c, [0x29e9] = 0x6401, + [0x29ea] = 0x6208, [0x29eb] = 0x9e3d, [0x29ec] = 0x80f3, [0x29ed] = 0x7599, + [0x29ee] = 0x5272, [0x29ef] = 0x9769, [0x29f0] = 0x845b, [0x29f1] = 0x683c, + [0x29f2] = 0x86e4, [0x29f3] = 0x9601, [0x29f4] = 0x9694, [0x29f5] = 0x94ec, + [0x29f6] = 0x4e2a, [0x29f7] = 0x5404, [0x29f8] = 0x7ed9, [0x29f9] = 0x6839, + [0x29fa] = 0x8ddf, [0x29fb] = 0x8015, [0x29fc] = 0x66f4, [0x29fd] = 0x5e9a, + [0x29fe] = 0x7fb9, [0x2a00] = 0x7b2f, [0x2a01] = 0x7b30, [0x2a02] = 0x7b32, + [0x2a03] = 0x7b34, [0x2a04] = 0x7b35, [0x2a05] = 0x7b36, [0x2a06] = 0x7b37, + [0x2a07] = 0x7b39, [0x2a08] = 0x7b3b, [0x2a09] = 0x7b3d, [0x2a0a] = 0x7b3f, + [0x2a0b] = 0x7b40, [0x2a0c] = 0x7b41, [0x2a0d] = 0x7b42, [0x2a0e] = 0x7b43, + [0x2a0f] = 0x7b44, [0x2a10] = 0x7b46, [0x2a11] = 0x7b48, [0x2a12] = 0x7b4a, + [0x2a13] = 0x7b4d, [0x2a14] = 0x7b4e, [0x2a15] = 0x7b53, [0x2a16] = 0x7b55, + [0x2a17] = 0x7b57, [0x2a18] = 0x7b59, [0x2a19] = 0x7b5c, [0x2a1a] = 0x7b5e, + [0x2a1b] = 0x7b5f, [0x2a1c] = 0x7b61, [0x2a1d] = 0x7b63, [0x2a1e] = 0x7b64, + [0x2a1f] = 0x7b65, [0x2a20] = 0x7b66, [0x2a21] = 0x7b67, [0x2a22] = 0x7b68, + [0x2a23] = 0x7b69, [0x2a24] = 0x7b6a, [0x2a25] = 0x7b6b, [0x2a26] = 0x7b6c, + [0x2a27] = 0x7b6d, [0x2a28] = 0x7b6f, [0x2a29] = 0x7b70, [0x2a2a] = 0x7b73, + [0x2a2b] = 0x7b74, [0x2a2c] = 0x7b76, [0x2a2d] = 0x7b78, [0x2a2e] = 0x7b7a, + [0x2a2f] = 0x7b7c, [0x2a30] = 0x7b7d, [0x2a31] = 0x7b7f, [0x2a32] = 0x7b81, + [0x2a33] = 0x7b82, [0x2a34] = 0x7b83, [0x2a35] = 0x7b84, [0x2a36] = 0x7b86, + [0x2a37] = 0x7b87, [0x2a38] = 0x7b88, [0x2a39] = 0x7b89, [0x2a3a] = 0x7b8a, + [0x2a3b] = 0x7b8b, [0x2a3c] = 0x7b8c, [0x2a3d] = 0x7b8e, [0x2a3e] = 0x7b8f, + [0x2a40] = 0x7b91, [0x2a41] = 0x7b92, [0x2a42] = 0x7b93, [0x2a43] = 0x7b96, + [0x2a44] = 0x7b98, [0x2a45] = 0x7b99, [0x2a46] = 0x7b9a, [0x2a47] = 0x7b9b, + [0x2a48] = 0x7b9e, [0x2a49] = 0x7b9f, [0x2a4a] = 0x7ba0, [0x2a4b] = 0x7ba3, + [0x2a4c] = 0x7ba4, [0x2a4d] = 0x7ba5, [0x2a4e] = 0x7bae, [0x2a4f] = 0x7baf, + [0x2a50] = 0x7bb0, [0x2a51] = 0x7bb2, [0x2a52] = 0x7bb3, [0x2a53] = 0x7bb5, + [0x2a54] = 0x7bb6, [0x2a55] = 0x7bb7, [0x2a56] = 0x7bb9, [0x2a57] = 0x7bba, + [0x2a58] = 0x7bbb, [0x2a59] = 0x7bbc, [0x2a5a] = 0x7bbd, [0x2a5b] = 0x7bbe, + [0x2a5c] = 0x7bbf, [0x2a5d] = 0x7bc0, [0x2a5e] = 0x7bc2, [0x2a5f] = 0x7bc3, + [0x2a60] = 0x7bc4, [0x2a61] = 0x57c2, [0x2a62] = 0x803f, [0x2a63] = 0x6897, + [0x2a64] = 0x5de5, [0x2a65] = 0x653b, [0x2a66] = 0x529f, [0x2a67] = 0x606d, + [0x2a68] = 0x9f9a, [0x2a69] = 0x4f9b, [0x2a6a] = 0x8eac, [0x2a6b] = 0x516c, + [0x2a6c] = 0x5bab, [0x2a6d] = 0x5f13, [0x2a6e] = 0x5de9, [0x2a6f] = 0x6c5e, + [0x2a70] = 0x62f1, [0x2a71] = 0x8d21, [0x2a72] = 0x5171, [0x2a73] = 0x94a9, + [0x2a74] = 0x52fe, [0x2a75] = 0x6c9f, [0x2a76] = 0x82df, [0x2a77] = 0x72d7, + [0x2a78] = 0x57a2, [0x2a79] = 0x6784, [0x2a7a] = 0x8d2d, [0x2a7b] = 0x591f, + [0x2a7c] = 0x8f9c, [0x2a7d] = 0x83c7, [0x2a7e] = 0x5495, [0x2a7f] = 0x7b8d, + [0x2a80] = 0x4f30, [0x2a81] = 0x6cbd, [0x2a82] = 0x5b64, [0x2a83] = 0x59d1, + [0x2a84] = 0x9f13, [0x2a85] = 0x53e4, [0x2a86] = 0x86ca, [0x2a87] = 0x9aa8, + [0x2a88] = 0x8c37, [0x2a89] = 0x80a1, [0x2a8a] = 0x6545, [0x2a8b] = 0x987e, + [0x2a8c] = 0x56fa, [0x2a8d] = 0x96c7, [0x2a8e] = 0x522e, [0x2a8f] = 0x74dc, + [0x2a90] = 0x5250, [0x2a91] = 0x5be1, [0x2a92] = 0x6302, [0x2a93] = 0x8902, + [0x2a94] = 0x4e56, [0x2a95] = 0x62d0, [0x2a96] = 0x602a, [0x2a97] = 0x68fa, + [0x2a98] = 0x5173, [0x2a99] = 0x5b98, [0x2a9a] = 0x51a0, [0x2a9b] = 0x89c2, + [0x2a9c] = 0x7ba1, [0x2a9d] = 0x9986, [0x2a9e] = 0x7f50, [0x2a9f] = 0x60ef, + [0x2aa0] = 0x704c, [0x2aa1] = 0x8d2f, [0x2aa2] = 0x5149, [0x2aa3] = 0x5e7f, + [0x2aa4] = 0x901b, [0x2aa5] = 0x7470, [0x2aa6] = 0x89c4, [0x2aa7] = 0x572d, + [0x2aa8] = 0x7845, [0x2aa9] = 0x5f52, [0x2aaa] = 0x9f9f, [0x2aab] = 0x95fa, + [0x2aac] = 0x8f68, [0x2aad] = 0x9b3c, [0x2aae] = 0x8be1, [0x2aaf] = 0x7678, + [0x2ab0] = 0x6842, [0x2ab1] = 0x67dc, [0x2ab2] = 0x8dea, [0x2ab3] = 0x8d35, + [0x2ab4] = 0x523d, [0x2ab5] = 0x8f8a, [0x2ab6] = 0x6eda, [0x2ab7] = 0x68cd, + [0x2ab8] = 0x9505, [0x2ab9] = 0x90ed, [0x2aba] = 0x56fd, [0x2abb] = 0x679c, + [0x2abc] = 0x88f9, [0x2abd] = 0x8fc7, [0x2abe] = 0x54c8, [0x2ac0] = 0x7bc5, + [0x2ac1] = 0x7bc8, [0x2ac2] = 0x7bc9, [0x2ac3] = 0x7bca, [0x2ac4] = 0x7bcb, + [0x2ac5] = 0x7bcd, [0x2ac6] = 0x7bce, [0x2ac7] = 0x7bcf, [0x2ac8] = 0x7bd0, + [0x2ac9] = 0x7bd2, [0x2aca] = 0x7bd4, [0x2acb] = 0x7bd5, [0x2acc] = 0x7bd6, + [0x2acd] = 0x7bd7, [0x2ace] = 0x7bd8, [0x2acf] = 0x7bdb, [0x2ad0] = 0x7bdc, + [0x2ad1] = 0x7bde, [0x2ad2] = 0x7bdf, [0x2ad3] = 0x7be0, [0x2ad4] = 0x7be2, + [0x2ad5] = 0x7be3, [0x2ad6] = 0x7be4, [0x2ad7] = 0x7be7, [0x2ad8] = 0x7be8, + [0x2ad9] = 0x7be9, [0x2ada] = 0x7beb, [0x2adb] = 0x7bec, [0x2adc] = 0x7bed, + [0x2add] = 0x7bef, [0x2ade] = 0x7bf0, [0x2adf] = 0x7bf2, [0x2ae0] = 0x7bf3, + [0x2ae1] = 0x7bf4, [0x2ae2] = 0x7bf5, [0x2ae3] = 0x7bf6, [0x2ae4] = 0x7bf8, + [0x2ae5] = 0x7bf9, [0x2ae6] = 0x7bfa, [0x2ae7] = 0x7bfb, [0x2ae8] = 0x7bfd, + [0x2ae9] = 0x7bff, [0x2aea] = 0x7c00, [0x2aeb] = 0x7c01, [0x2aec] = 0x7c02, + [0x2aed] = 0x7c03, [0x2aee] = 0x7c04, [0x2aef] = 0x7c05, [0x2af0] = 0x7c06, + [0x2af1] = 0x7c08, [0x2af2] = 0x7c09, [0x2af3] = 0x7c0a, [0x2af4] = 0x7c0d, + [0x2af5] = 0x7c0e, [0x2af6] = 0x7c10, [0x2af7] = 0x7c11, [0x2af8] = 0x7c12, + [0x2af9] = 0x7c13, [0x2afa] = 0x7c14, [0x2afb] = 0x7c15, [0x2afc] = 0x7c17, + [0x2afd] = 0x7c18, [0x2afe] = 0x7c19, [0x2b00] = 0x7c1a, [0x2b01] = 0x7c1b, + [0x2b02] = 0x7c1c, [0x2b03] = 0x7c1d, [0x2b04] = 0x7c1e, [0x2b05] = 0x7c20, + [0x2b06] = 0x7c21, [0x2b07] = 0x7c22, [0x2b08] = 0x7c23, [0x2b09] = 0x7c24, + [0x2b0a] = 0x7c25, [0x2b0b] = 0x7c28, [0x2b0c] = 0x7c29, [0x2b0d] = 0x7c2b, + [0x2b0e] = 0x7c2c, [0x2b0f] = 0x7c2d, [0x2b10] = 0x7c2e, [0x2b11] = 0x7c2f, + [0x2b12] = 0x7c30, [0x2b13] = 0x7c31, [0x2b14] = 0x7c32, [0x2b15] = 0x7c33, + [0x2b16] = 0x7c34, [0x2b17] = 0x7c35, [0x2b18] = 0x7c36, [0x2b19] = 0x7c37, + [0x2b1a] = 0x7c39, [0x2b1b] = 0x7c3a, [0x2b1c] = 0x7c3b, [0x2b1d] = 0x7c3c, + [0x2b1e] = 0x7c3d, [0x2b1f] = 0x7c3e, [0x2b20] = 0x7c42, [0x2b21] = 0x9ab8, + [0x2b22] = 0x5b69, [0x2b23] = 0x6d77, [0x2b24] = 0x6c26, [0x2b25] = 0x4ea5, + [0x2b26] = 0x5bb3, [0x2b27] = 0x9a87, [0x2b28] = 0x9163, [0x2b29] = 0x61a8, + [0x2b2a] = 0x90af, [0x2b2b] = 0x97e9, [0x2b2c] = 0x542b, [0x2b2d] = 0x6db5, + [0x2b2e] = 0x5bd2, [0x2b2f] = 0x51fd, [0x2b30] = 0x558a, [0x2b31] = 0x7f55, + [0x2b32] = 0x7ff0, [0x2b33] = 0x64bc, [0x2b34] = 0x634d, [0x2b35] = 0x65f1, + [0x2b36] = 0x61be, [0x2b37] = 0x608d, [0x2b38] = 0x710a, [0x2b39] = 0x6c57, + [0x2b3a] = 0x6c49, [0x2b3b] = 0x592f, [0x2b3c] = 0x676d, [0x2b3d] = 0x822a, + [0x2b3e] = 0x58d5, [0x2b3f] = 0x568e, [0x2b40] = 0x8c6a, [0x2b41] = 0x6beb, + [0x2b42] = 0x90dd, [0x2b43] = 0x597d, [0x2b44] = 0x8017, [0x2b45] = 0x53f7, + [0x2b46] = 0x6d69, [0x2b47] = 0x5475, [0x2b48] = 0x559d, [0x2b49] = 0x8377, + [0x2b4a] = 0x83cf, [0x2b4b] = 0x6838, [0x2b4c] = 0x79be, [0x2b4d] = 0x548c, + [0x2b4e] = 0x4f55, [0x2b4f] = 0x5408, [0x2b50] = 0x76d2, [0x2b51] = 0x8c89, + [0x2b52] = 0x9602, [0x2b53] = 0x6cb3, [0x2b54] = 0x6db8, [0x2b55] = 0x8d6b, + [0x2b56] = 0x8910, [0x2b57] = 0x9e64, [0x2b58] = 0x8d3a, [0x2b59] = 0x563f, + [0x2b5a] = 0x9ed1, [0x2b5b] = 0x75d5, [0x2b5c] = 0x5f88, [0x2b5d] = 0x72e0, + [0x2b5e] = 0x6068, [0x2b5f] = 0x54fc, [0x2b60] = 0x4ea8, [0x2b61] = 0x6a2a, + [0x2b62] = 0x8861, [0x2b63] = 0x6052, [0x2b64] = 0x8f70, [0x2b65] = 0x54c4, + [0x2b66] = 0x70d8, [0x2b67] = 0x8679, [0x2b68] = 0x9e3f, [0x2b69] = 0x6d2a, + [0x2b6a] = 0x5b8f, [0x2b6b] = 0x5f18, [0x2b6c] = 0x7ea2, [0x2b6d] = 0x5589, + [0x2b6e] = 0x4faf, [0x2b6f] = 0x7334, [0x2b70] = 0x543c, [0x2b71] = 0x539a, + [0x2b72] = 0x5019, [0x2b73] = 0x540e, [0x2b74] = 0x547c, [0x2b75] = 0x4e4e, + [0x2b76] = 0x5ffd, [0x2b77] = 0x745a, [0x2b78] = 0x58f6, [0x2b79] = 0x846b, + [0x2b7a] = 0x80e1, [0x2b7b] = 0x8774, [0x2b7c] = 0x72d0, [0x2b7d] = 0x7cca, + [0x2b7e] = 0x6e56, [0x2b80] = 0x7c43, [0x2b81] = 0x7c44, [0x2b82] = 0x7c45, + [0x2b83] = 0x7c46, [0x2b84] = 0x7c47, [0x2b85] = 0x7c48, [0x2b86] = 0x7c49, + [0x2b87] = 0x7c4a, [0x2b88] = 0x7c4b, [0x2b89] = 0x7c4c, [0x2b8a] = 0x7c4e, + [0x2b8b] = 0x7c4f, [0x2b8c] = 0x7c50, [0x2b8d] = 0x7c51, [0x2b8e] = 0x7c52, + [0x2b8f] = 0x7c53, [0x2b90] = 0x7c54, [0x2b91] = 0x7c55, [0x2b92] = 0x7c56, + [0x2b93] = 0x7c57, [0x2b94] = 0x7c58, [0x2b95] = 0x7c59, [0x2b96] = 0x7c5a, + [0x2b97] = 0x7c5b, [0x2b98] = 0x7c5c, [0x2b99] = 0x7c5d, [0x2b9a] = 0x7c5e, + [0x2b9b] = 0x7c5f, [0x2b9c] = 0x7c60, [0x2b9d] = 0x7c61, [0x2b9e] = 0x7c62, + [0x2b9f] = 0x7c63, [0x2ba0] = 0x7c64, [0x2ba1] = 0x7c65, [0x2ba2] = 0x7c66, + [0x2ba3] = 0x7c67, [0x2ba4] = 0x7c68, [0x2ba5] = 0x7c69, [0x2ba6] = 0x7c6a, + [0x2ba7] = 0x7c6b, [0x2ba8] = 0x7c6c, [0x2ba9] = 0x7c6d, [0x2baa] = 0x7c6e, + [0x2bab] = 0x7c6f, [0x2bac] = 0x7c70, [0x2bad] = 0x7c71, [0x2bae] = 0x7c72, + [0x2baf] = 0x7c75, [0x2bb0] = 0x7c76, [0x2bb1] = 0x7c77, [0x2bb2] = 0x7c78, + [0x2bb3] = 0x7c79, [0x2bb4] = 0x7c7a, [0x2bb5] = 0x7c7e, [0x2bb6] = 0x7c7f, + [0x2bb7] = 0x7c80, [0x2bb8] = 0x7c81, [0x2bb9] = 0x7c82, [0x2bba] = 0x7c83, + [0x2bbb] = 0x7c84, [0x2bbc] = 0x7c85, [0x2bbd] = 0x7c86, [0x2bbe] = 0x7c87, + [0x2bc0] = 0x7c88, [0x2bc1] = 0x7c8a, [0x2bc2] = 0x7c8b, [0x2bc3] = 0x7c8c, + [0x2bc4] = 0x7c8d, [0x2bc5] = 0x7c8e, [0x2bc6] = 0x7c8f, [0x2bc7] = 0x7c90, + [0x2bc8] = 0x7c93, [0x2bc9] = 0x7c94, [0x2bca] = 0x7c96, [0x2bcb] = 0x7c99, + [0x2bcc] = 0x7c9a, [0x2bcd] = 0x7c9b, [0x2bce] = 0x7ca0, [0x2bcf] = 0x7ca1, + [0x2bd0] = 0x7ca3, [0x2bd1] = 0x7ca6, [0x2bd2] = 0x7ca7, [0x2bd3] = 0x7ca8, + [0x2bd4] = 0x7ca9, [0x2bd5] = 0x7cab, [0x2bd6] = 0x7cac, [0x2bd7] = 0x7cad, + [0x2bd8] = 0x7caf, [0x2bd9] = 0x7cb0, [0x2bda] = 0x7cb4, [0x2bdb] = 0x7cb5, + [0x2bdc] = 0x7cb6, [0x2bdd] = 0x7cb7, [0x2bde] = 0x7cb8, [0x2bdf] = 0x7cba, + [0x2be0] = 0x7cbb, [0x2be1] = 0x5f27, [0x2be2] = 0x864e, [0x2be3] = 0x552c, + [0x2be4] = 0x62a4, [0x2be5] = 0x4e92, [0x2be6] = 0x6caa, [0x2be7] = 0x6237, + [0x2be8] = 0x82b1, [0x2be9] = 0x54d7, [0x2bea] = 0x534e, [0x2beb] = 0x733e, + [0x2bec] = 0x6ed1, [0x2bed] = 0x753b, [0x2bee] = 0x5212, [0x2bef] = 0x5316, + [0x2bf0] = 0x8bdd, [0x2bf1] = 0x69d0, [0x2bf2] = 0x5f8a, [0x2bf3] = 0x6000, + [0x2bf4] = 0x6dee, [0x2bf5] = 0x574f, [0x2bf6] = 0x6b22, [0x2bf7] = 0x73af, + [0x2bf8] = 0x6853, [0x2bf9] = 0x8fd8, [0x2bfa] = 0x7f13, [0x2bfb] = 0x6362, + [0x2bfc] = 0x60a3, [0x2bfd] = 0x5524, [0x2bfe] = 0x75ea, [0x2bff] = 0x8c62, + [0x2c00] = 0x7115, [0x2c01] = 0x6da3, [0x2c02] = 0x5ba6, [0x2c03] = 0x5e7b, + [0x2c04] = 0x8352, [0x2c05] = 0x614c, [0x2c06] = 0x9ec4, [0x2c07] = 0x78fa, + [0x2c08] = 0x8757, [0x2c09] = 0x7c27, [0x2c0a] = 0x7687, [0x2c0b] = 0x51f0, + [0x2c0c] = 0x60f6, [0x2c0d] = 0x714c, [0x2c0e] = 0x6643, [0x2c0f] = 0x5e4c, + [0x2c10] = 0x604d, [0x2c11] = 0x8c0e, [0x2c12] = 0x7070, [0x2c13] = 0x6325, + [0x2c14] = 0x8f89, [0x2c15] = 0x5fbd, [0x2c16] = 0x6062, [0x2c17] = 0x86d4, + [0x2c18] = 0x56de, [0x2c19] = 0x6bc1, [0x2c1a] = 0x6094, [0x2c1b] = 0x6167, + [0x2c1c] = 0x5349, [0x2c1d] = 0x60e0, [0x2c1e] = 0x6666, [0x2c1f] = 0x8d3f, + [0x2c20] = 0x79fd, [0x2c21] = 0x4f1a, [0x2c22] = 0x70e9, [0x2c23] = 0x6c47, + [0x2c24] = 0x8bb3, [0x2c25] = 0x8bf2, [0x2c26] = 0x7ed8, [0x2c27] = 0x8364, + [0x2c28] = 0x660f, [0x2c29] = 0x5a5a, [0x2c2a] = 0x9b42, [0x2c2b] = 0x6d51, + [0x2c2c] = 0x6df7, [0x2c2d] = 0x8c41, [0x2c2e] = 0x6d3b, [0x2c2f] = 0x4f19, + [0x2c30] = 0x706b, [0x2c31] = 0x83b7, [0x2c32] = 0x6216, [0x2c33] = 0x60d1, + [0x2c34] = 0x970d, [0x2c35] = 0x8d27, [0x2c36] = 0x7978, [0x2c37] = 0x51fb, + [0x2c38] = 0x573e, [0x2c39] = 0x57fa, [0x2c3a] = 0x673a, [0x2c3b] = 0x7578, + [0x2c3c] = 0x7a3d, [0x2c3d] = 0x79ef, [0x2c3e] = 0x7b95, [0x2c40] = 0x7cbf, + [0x2c41] = 0x7cc0, [0x2c42] = 0x7cc2, [0x2c43] = 0x7cc3, [0x2c44] = 0x7cc4, + [0x2c45] = 0x7cc6, [0x2c46] = 0x7cc9, [0x2c47] = 0x7ccb, [0x2c48] = 0x7cce, + [0x2c49] = 0x7ccf, [0x2c4a] = 0x7cd0, [0x2c4b] = 0x7cd1, [0x2c4c] = 0x7cd2, + [0x2c4d] = 0x7cd3, [0x2c4e] = 0x7cd4, [0x2c4f] = 0x7cd8, [0x2c50] = 0x7cda, + [0x2c51] = 0x7cdb, [0x2c52] = 0x7cdd, [0x2c53] = 0x7cde, [0x2c54] = 0x7ce1, + [0x2c55] = 0x7ce2, [0x2c56] = 0x7ce3, [0x2c57] = 0x7ce4, [0x2c58] = 0x7ce5, + [0x2c59] = 0x7ce6, [0x2c5a] = 0x7ce7, [0x2c5b] = 0x7ce9, [0x2c5c] = 0x7cea, + [0x2c5d] = 0x7ceb, [0x2c5e] = 0x7cec, [0x2c5f] = 0x7ced, [0x2c60] = 0x7cee, + [0x2c61] = 0x7cf0, [0x2c62] = 0x7cf1, [0x2c63] = 0x7cf2, [0x2c64] = 0x7cf3, + [0x2c65] = 0x7cf4, [0x2c66] = 0x7cf5, [0x2c67] = 0x7cf6, [0x2c68] = 0x7cf7, + [0x2c69] = 0x7cf9, [0x2c6a] = 0x7cfa, [0x2c6b] = 0x7cfc, [0x2c6c] = 0x7cfd, + [0x2c6d] = 0x7cfe, [0x2c6e] = 0x7cff, [0x2c6f] = 0x7d00, [0x2c70] = 0x7d01, + [0x2c71] = 0x7d02, [0x2c72] = 0x7d03, [0x2c73] = 0x7d04, [0x2c74] = 0x7d05, + [0x2c75] = 0x7d06, [0x2c76] = 0x7d07, [0x2c77] = 0x7d08, [0x2c78] = 0x7d09, + [0x2c79] = 0x7d0b, [0x2c7a] = 0x7d0c, [0x2c7b] = 0x7d0d, [0x2c7c] = 0x7d0e, + [0x2c7d] = 0x7d0f, [0x2c7e] = 0x7d10, [0x2c80] = 0x7d11, [0x2c81] = 0x7d12, + [0x2c82] = 0x7d13, [0x2c83] = 0x7d14, [0x2c84] = 0x7d15, [0x2c85] = 0x7d16, + [0x2c86] = 0x7d17, [0x2c87] = 0x7d18, [0x2c88] = 0x7d19, [0x2c89] = 0x7d1a, + [0x2c8a] = 0x7d1b, [0x2c8b] = 0x7d1c, [0x2c8c] = 0x7d1d, [0x2c8d] = 0x7d1e, + [0x2c8e] = 0x7d1f, [0x2c8f] = 0x7d21, [0x2c90] = 0x7d23, [0x2c91] = 0x7d24, + [0x2c92] = 0x7d25, [0x2c93] = 0x7d26, [0x2c94] = 0x7d28, [0x2c95] = 0x7d29, + [0x2c96] = 0x7d2a, [0x2c97] = 0x7d2c, [0x2c98] = 0x7d2d, [0x2c99] = 0x7d2e, + [0x2c9a] = 0x7d30, [0x2c9b] = 0x7d31, [0x2c9c] = 0x7d32, [0x2c9d] = 0x7d33, + [0x2c9e] = 0x7d34, [0x2c9f] = 0x7d35, [0x2ca0] = 0x7d36, [0x2ca1] = 0x808c, + [0x2ca2] = 0x9965, [0x2ca3] = 0x8ff9, [0x2ca4] = 0x6fc0, [0x2ca5] = 0x8ba5, + [0x2ca6] = 0x9e21, [0x2ca7] = 0x59ec, [0x2ca8] = 0x7ee9, [0x2ca9] = 0x7f09, + [0x2caa] = 0x5409, [0x2cab] = 0x6781, [0x2cac] = 0x68d8, [0x2cad] = 0x8f91, + [0x2cae] = 0x7c4d, [0x2caf] = 0x96c6, [0x2cb0] = 0x53ca, [0x2cb1] = 0x6025, + [0x2cb2] = 0x75be, [0x2cb3] = 0x6c72, [0x2cb4] = 0x5373, [0x2cb5] = 0x5ac9, + [0x2cb6] = 0x7ea7, [0x2cb7] = 0x6324, [0x2cb8] = 0x51e0, [0x2cb9] = 0x810a, + [0x2cba] = 0x5df1, [0x2cbb] = 0x84df, [0x2cbc] = 0x6280, [0x2cbd] = 0x5180, + [0x2cbe] = 0x5b63, [0x2cbf] = 0x4f0e, [0x2cc0] = 0x796d, [0x2cc1] = 0x5242, + [0x2cc2] = 0x60b8, [0x2cc3] = 0x6d4e, [0x2cc4] = 0x5bc4, [0x2cc5] = 0x5bc2, + [0x2cc6] = 0x8ba1, [0x2cc7] = 0x8bb0, [0x2cc8] = 0x65e2, [0x2cc9] = 0x5fcc, + [0x2cca] = 0x9645, [0x2ccb] = 0x5993, [0x2ccc] = 0x7ee7, [0x2ccd] = 0x7eaa, + [0x2cce] = 0x5609, [0x2ccf] = 0x67b7, [0x2cd0] = 0x5939, [0x2cd1] = 0x4f73, + [0x2cd2] = 0x5bb6, [0x2cd3] = 0x52a0, [0x2cd4] = 0x835a, [0x2cd5] = 0x988a, + [0x2cd6] = 0x8d3e, [0x2cd7] = 0x7532, [0x2cd8] = 0x94be, [0x2cd9] = 0x5047, + [0x2cda] = 0x7a3c, [0x2cdb] = 0x4ef7, [0x2cdc] = 0x67b6, [0x2cdd] = 0x9a7e, + [0x2cde] = 0x5ac1, [0x2cdf] = 0x6b7c, [0x2ce0] = 0x76d1, [0x2ce1] = 0x575a, + [0x2ce2] = 0x5c16, [0x2ce3] = 0x7b3a, [0x2ce4] = 0x95f4, [0x2ce5] = 0x714e, + [0x2ce6] = 0x517c, [0x2ce7] = 0x80a9, [0x2ce8] = 0x8270, [0x2ce9] = 0x5978, + [0x2cea] = 0x7f04, [0x2ceb] = 0x8327, [0x2cec] = 0x68c0, [0x2ced] = 0x67ec, + [0x2cee] = 0x78b1, [0x2cef] = 0x7877, [0x2cf0] = 0x62e3, [0x2cf1] = 0x6361, + [0x2cf2] = 0x7b80, [0x2cf3] = 0x4fed, [0x2cf4] = 0x526a, [0x2cf5] = 0x51cf, + [0x2cf6] = 0x8350, [0x2cf7] = 0x69db, [0x2cf8] = 0x9274, [0x2cf9] = 0x8df5, + [0x2cfa] = 0x8d31, [0x2cfb] = 0x89c1, [0x2cfc] = 0x952e, [0x2cfd] = 0x7bad, + [0x2cfe] = 0x4ef6, [0x2d00] = 0x7d37, [0x2d01] = 0x7d38, [0x2d02] = 0x7d39, + [0x2d03] = 0x7d3a, [0x2d04] = 0x7d3b, [0x2d05] = 0x7d3c, [0x2d06] = 0x7d3d, + [0x2d07] = 0x7d3e, [0x2d08] = 0x7d3f, [0x2d09] = 0x7d40, [0x2d0a] = 0x7d41, + [0x2d0b] = 0x7d42, [0x2d0c] = 0x7d43, [0x2d0d] = 0x7d44, [0x2d0e] = 0x7d45, + [0x2d0f] = 0x7d46, [0x2d10] = 0x7d47, [0x2d11] = 0x7d48, [0x2d12] = 0x7d49, + [0x2d13] = 0x7d4a, [0x2d14] = 0x7d4b, [0x2d15] = 0x7d4c, [0x2d16] = 0x7d4d, + [0x2d17] = 0x7d4e, [0x2d18] = 0x7d4f, [0x2d19] = 0x7d50, [0x2d1a] = 0x7d51, + [0x2d1b] = 0x7d52, [0x2d1c] = 0x7d53, [0x2d1d] = 0x7d54, [0x2d1e] = 0x7d55, + [0x2d1f] = 0x7d56, [0x2d20] = 0x7d57, [0x2d21] = 0x7d58, [0x2d22] = 0x7d59, + [0x2d23] = 0x7d5a, [0x2d24] = 0x7d5b, [0x2d25] = 0x7d5c, [0x2d26] = 0x7d5d, + [0x2d27] = 0x7d5e, [0x2d28] = 0x7d5f, [0x2d29] = 0x7d60, [0x2d2a] = 0x7d61, + [0x2d2b] = 0x7d62, [0x2d2c] = 0x7d63, [0x2d2d] = 0x7d64, [0x2d2e] = 0x7d65, + [0x2d2f] = 0x7d66, [0x2d30] = 0x7d67, [0x2d31] = 0x7d68, [0x2d32] = 0x7d69, + [0x2d33] = 0x7d6a, [0x2d34] = 0x7d6b, [0x2d35] = 0x7d6c, [0x2d36] = 0x7d6d, + [0x2d37] = 0x7d6f, [0x2d38] = 0x7d70, [0x2d39] = 0x7d71, [0x2d3a] = 0x7d72, + [0x2d3b] = 0x7d73, [0x2d3c] = 0x7d74, [0x2d3d] = 0x7d75, [0x2d3e] = 0x7d76, + [0x2d40] = 0x7d78, [0x2d41] = 0x7d79, [0x2d42] = 0x7d7a, [0x2d43] = 0x7d7b, + [0x2d44] = 0x7d7c, [0x2d45] = 0x7d7d, [0x2d46] = 0x7d7e, [0x2d47] = 0x7d7f, + [0x2d48] = 0x7d80, [0x2d49] = 0x7d81, [0x2d4a] = 0x7d82, [0x2d4b] = 0x7d83, + [0x2d4c] = 0x7d84, [0x2d4d] = 0x7d85, [0x2d4e] = 0x7d86, [0x2d4f] = 0x7d87, + [0x2d50] = 0x7d88, [0x2d51] = 0x7d89, [0x2d52] = 0x7d8a, [0x2d53] = 0x7d8b, + [0x2d54] = 0x7d8c, [0x2d55] = 0x7d8d, [0x2d56] = 0x7d8e, [0x2d57] = 0x7d8f, + [0x2d58] = 0x7d90, [0x2d59] = 0x7d91, [0x2d5a] = 0x7d92, [0x2d5b] = 0x7d93, + [0x2d5c] = 0x7d94, [0x2d5d] = 0x7d95, [0x2d5e] = 0x7d96, [0x2d5f] = 0x7d97, + [0x2d60] = 0x7d98, [0x2d61] = 0x5065, [0x2d62] = 0x8230, [0x2d63] = 0x5251, + [0x2d64] = 0x996f, [0x2d65] = 0x6e10, [0x2d66] = 0x6e85, [0x2d67] = 0x6da7, + [0x2d68] = 0x5efa, [0x2d69] = 0x50f5, [0x2d6a] = 0x59dc, [0x2d6b] = 0x5c06, + [0x2d6c] = 0x6d46, [0x2d6d] = 0x6c5f, [0x2d6e] = 0x7586, [0x2d6f] = 0x848b, + [0x2d70] = 0x6868, [0x2d71] = 0x5956, [0x2d72] = 0x8bb2, [0x2d73] = 0x5320, + [0x2d74] = 0x9171, [0x2d75] = 0x964d, [0x2d76] = 0x8549, [0x2d77] = 0x6912, + [0x2d78] = 0x7901, [0x2d79] = 0x7126, [0x2d7a] = 0x80f6, [0x2d7b] = 0x4ea4, + [0x2d7c] = 0x90ca, [0x2d7d] = 0x6d47, [0x2d7e] = 0x9a84, [0x2d7f] = 0x5a07, + [0x2d80] = 0x56bc, [0x2d81] = 0x6405, [0x2d82] = 0x94f0, [0x2d83] = 0x77eb, + [0x2d84] = 0x4fa5, [0x2d85] = 0x811a, [0x2d86] = 0x72e1, [0x2d87] = 0x89d2, + [0x2d88] = 0x997a, [0x2d89] = 0x7f34, [0x2d8a] = 0x7ede, [0x2d8b] = 0x527f, + [0x2d8c] = 0x6559, [0x2d8d] = 0x9175, [0x2d8e] = 0x8f7f, [0x2d8f] = 0x8f83, + [0x2d90] = 0x53eb, [0x2d91] = 0x7a96, [0x2d92] = 0x63ed, [0x2d93] = 0x63a5, + [0x2d94] = 0x7686, [0x2d95] = 0x79f8, [0x2d96] = 0x8857, [0x2d97] = 0x9636, + [0x2d98] = 0x622a, [0x2d99] = 0x52ab, [0x2d9a] = 0x8282, [0x2d9b] = 0x6854, + [0x2d9c] = 0x6770, [0x2d9d] = 0x6377, [0x2d9e] = 0x776b, [0x2d9f] = 0x7aed, + [0x2da0] = 0x6d01, [0x2da1] = 0x7ed3, [0x2da2] = 0x89e3, [0x2da3] = 0x59d0, + [0x2da4] = 0x6212, [0x2da5] = 0x85c9, [0x2da6] = 0x82a5, [0x2da7] = 0x754c, + [0x2da8] = 0x501f, [0x2da9] = 0x4ecb, [0x2daa] = 0x75a5, [0x2dab] = 0x8beb, + [0x2dac] = 0x5c4a, [0x2dad] = 0x5dfe, [0x2dae] = 0x7b4b, [0x2daf] = 0x65a4, + [0x2db0] = 0x91d1, [0x2db1] = 0x4eca, [0x2db2] = 0x6d25, [0x2db3] = 0x895f, + [0x2db4] = 0x7d27, [0x2db5] = 0x9526, [0x2db6] = 0x4ec5, [0x2db7] = 0x8c28, + [0x2db8] = 0x8fdb, [0x2db9] = 0x9773, [0x2dba] = 0x664b, [0x2dbb] = 0x7981, + [0x2dbc] = 0x8fd1, [0x2dbd] = 0x70ec, [0x2dbe] = 0x6d78, [0x2dc0] = 0x7d99, + [0x2dc1] = 0x7d9a, [0x2dc2] = 0x7d9b, [0x2dc3] = 0x7d9c, [0x2dc4] = 0x7d9d, + [0x2dc5] = 0x7d9e, [0x2dc6] = 0x7d9f, [0x2dc7] = 0x7da0, [0x2dc8] = 0x7da1, + [0x2dc9] = 0x7da2, [0x2dca] = 0x7da3, [0x2dcb] = 0x7da4, [0x2dcc] = 0x7da5, + [0x2dcd] = 0x7da7, [0x2dce] = 0x7da8, [0x2dcf] = 0x7da9, [0x2dd0] = 0x7daa, + [0x2dd1] = 0x7dab, [0x2dd2] = 0x7dac, [0x2dd3] = 0x7dad, [0x2dd4] = 0x7daf, + [0x2dd5] = 0x7db0, [0x2dd6] = 0x7db1, [0x2dd7] = 0x7db2, [0x2dd8] = 0x7db3, + [0x2dd9] = 0x7db4, [0x2dda] = 0x7db5, [0x2ddb] = 0x7db6, [0x2ddc] = 0x7db7, + [0x2ddd] = 0x7db8, [0x2dde] = 0x7db9, [0x2ddf] = 0x7dba, [0x2de0] = 0x7dbb, + [0x2de1] = 0x7dbc, [0x2de2] = 0x7dbd, [0x2de3] = 0x7dbe, [0x2de4] = 0x7dbf, + [0x2de5] = 0x7dc0, [0x2de6] = 0x7dc1, [0x2de7] = 0x7dc2, [0x2de8] = 0x7dc3, + [0x2de9] = 0x7dc4, [0x2dea] = 0x7dc5, [0x2deb] = 0x7dc6, [0x2dec] = 0x7dc7, + [0x2ded] = 0x7dc8, [0x2dee] = 0x7dc9, [0x2def] = 0x7dca, [0x2df0] = 0x7dcb, + [0x2df1] = 0x7dcc, [0x2df2] = 0x7dcd, [0x2df3] = 0x7dce, [0x2df4] = 0x7dcf, + [0x2df5] = 0x7dd0, [0x2df6] = 0x7dd1, [0x2df7] = 0x7dd2, [0x2df8] = 0x7dd3, + [0x2df9] = 0x7dd4, [0x2dfa] = 0x7dd5, [0x2dfb] = 0x7dd6, [0x2dfc] = 0x7dd7, + [0x2dfd] = 0x7dd8, [0x2dfe] = 0x7dd9, [0x2e00] = 0x7dda, [0x2e01] = 0x7ddb, + [0x2e02] = 0x7ddc, [0x2e03] = 0x7ddd, [0x2e04] = 0x7dde, [0x2e05] = 0x7ddf, + [0x2e06] = 0x7de0, [0x2e07] = 0x7de1, [0x2e08] = 0x7de2, [0x2e09] = 0x7de3, + [0x2e0a] = 0x7de4, [0x2e0b] = 0x7de5, [0x2e0c] = 0x7de6, [0x2e0d] = 0x7de7, + [0x2e0e] = 0x7de8, [0x2e0f] = 0x7de9, [0x2e10] = 0x7dea, [0x2e11] = 0x7deb, + [0x2e12] = 0x7dec, [0x2e13] = 0x7ded, [0x2e14] = 0x7dee, [0x2e15] = 0x7def, + [0x2e16] = 0x7df0, [0x2e17] = 0x7df1, [0x2e18] = 0x7df2, [0x2e19] = 0x7df3, + [0x2e1a] = 0x7df4, [0x2e1b] = 0x7df5, [0x2e1c] = 0x7df6, [0x2e1d] = 0x7df7, + [0x2e1e] = 0x7df8, [0x2e1f] = 0x7df9, [0x2e20] = 0x7dfa, [0x2e21] = 0x5c3d, + [0x2e22] = 0x52b2, [0x2e23] = 0x8346, [0x2e24] = 0x5162, [0x2e25] = 0x830e, + [0x2e26] = 0x775b, [0x2e27] = 0x6676, [0x2e28] = 0x9cb8, [0x2e29] = 0x4eac, + [0x2e2a] = 0x60ca, [0x2e2b] = 0x7cbe, [0x2e2c] = 0x7cb3, [0x2e2d] = 0x7ecf, + [0x2e2e] = 0x4e95, [0x2e2f] = 0x8b66, [0x2e30] = 0x666f, [0x2e31] = 0x9888, + [0x2e32] = 0x9759, [0x2e33] = 0x5883, [0x2e34] = 0x656c, [0x2e35] = 0x955c, + [0x2e36] = 0x5f84, [0x2e37] = 0x75c9, [0x2e38] = 0x9756, [0x2e39] = 0x7adf, + [0x2e3a] = 0x7ade, [0x2e3b] = 0x51c0, [0x2e3c] = 0x70af, [0x2e3d] = 0x7a98, + [0x2e3e] = 0x63ea, [0x2e3f] = 0x7a76, [0x2e40] = 0x7ea0, [0x2e41] = 0x7396, + [0x2e42] = 0x97ed, [0x2e43] = 0x4e45, [0x2e44] = 0x7078, [0x2e45] = 0x4e5d, + [0x2e46] = 0x9152, [0x2e47] = 0x53a9, [0x2e48] = 0x6551, [0x2e49] = 0x65e7, + [0x2e4a] = 0x81fc, [0x2e4b] = 0x8205, [0x2e4c] = 0x548e, [0x2e4d] = 0x5c31, + [0x2e4e] = 0x759a, [0x2e4f] = 0x97a0, [0x2e50] = 0x62d8, [0x2e51] = 0x72d9, + [0x2e52] = 0x75bd, [0x2e53] = 0x5c45, [0x2e54] = 0x9a79, [0x2e55] = 0x83ca, + [0x2e56] = 0x5c40, [0x2e57] = 0x5480, [0x2e58] = 0x77e9, [0x2e59] = 0x4e3e, + [0x2e5a] = 0x6cae, [0x2e5b] = 0x805a, [0x2e5c] = 0x62d2, [0x2e5d] = 0x636e, + [0x2e5e] = 0x5de8, [0x2e5f] = 0x5177, [0x2e60] = 0x8ddd, [0x2e61] = 0x8e1e, + [0x2e62] = 0x952f, [0x2e63] = 0x4ff1, [0x2e64] = 0x53e5, [0x2e65] = 0x60e7, + [0x2e66] = 0x70ac, [0x2e67] = 0x5267, [0x2e68] = 0x6350, [0x2e69] = 0x9e43, + [0x2e6a] = 0x5a1f, [0x2e6b] = 0x5026, [0x2e6c] = 0x7737, [0x2e6d] = 0x5377, + [0x2e6e] = 0x7ee2, [0x2e6f] = 0x6485, [0x2e70] = 0x652b, [0x2e71] = 0x6289, + [0x2e72] = 0x6398, [0x2e73] = 0x5014, [0x2e74] = 0x7235, [0x2e75] = 0x89c9, + [0x2e76] = 0x51b3, [0x2e77] = 0x8bc0, [0x2e78] = 0x7edd, [0x2e79] = 0x5747, + [0x2e7a] = 0x83cc, [0x2e7b] = 0x94a7, [0x2e7c] = 0x519b, [0x2e7d] = 0x541b, + [0x2e7e] = 0x5cfb, [0x2e80] = 0x7dfb, [0x2e81] = 0x7dfc, [0x2e82] = 0x7dfd, + [0x2e83] = 0x7dfe, [0x2e84] = 0x7dff, [0x2e85] = 0x7e00, [0x2e86] = 0x7e01, + [0x2e87] = 0x7e02, [0x2e88] = 0x7e03, [0x2e89] = 0x7e04, [0x2e8a] = 0x7e05, + [0x2e8b] = 0x7e06, [0x2e8c] = 0x7e07, [0x2e8d] = 0x7e08, [0x2e8e] = 0x7e09, + [0x2e8f] = 0x7e0a, [0x2e90] = 0x7e0b, [0x2e91] = 0x7e0c, [0x2e92] = 0x7e0d, + [0x2e93] = 0x7e0e, [0x2e94] = 0x7e0f, [0x2e95] = 0x7e10, [0x2e96] = 0x7e11, + [0x2e97] = 0x7e12, [0x2e98] = 0x7e13, [0x2e99] = 0x7e14, [0x2e9a] = 0x7e15, + [0x2e9b] = 0x7e16, [0x2e9c] = 0x7e17, [0x2e9d] = 0x7e18, [0x2e9e] = 0x7e19, + [0x2e9f] = 0x7e1a, [0x2ea0] = 0x7e1b, [0x2ea1] = 0x7e1c, [0x2ea2] = 0x7e1d, + [0x2ea3] = 0x7e1e, [0x2ea4] = 0x7e1f, [0x2ea5] = 0x7e20, [0x2ea6] = 0x7e21, + [0x2ea7] = 0x7e22, [0x2ea8] = 0x7e23, [0x2ea9] = 0x7e24, [0x2eaa] = 0x7e25, + [0x2eab] = 0x7e26, [0x2eac] = 0x7e27, [0x2ead] = 0x7e28, [0x2eae] = 0x7e29, + [0x2eaf] = 0x7e2a, [0x2eb0] = 0x7e2b, [0x2eb1] = 0x7e2c, [0x2eb2] = 0x7e2d, + [0x2eb3] = 0x7e2e, [0x2eb4] = 0x7e2f, [0x2eb5] = 0x7e30, [0x2eb6] = 0x7e31, + [0x2eb7] = 0x7e32, [0x2eb8] = 0x7e33, [0x2eb9] = 0x7e34, [0x2eba] = 0x7e35, + [0x2ebb] = 0x7e36, [0x2ebc] = 0x7e37, [0x2ebd] = 0x7e38, [0x2ebe] = 0x7e39, + [0x2ec0] = 0x7e3a, [0x2ec1] = 0x7e3c, [0x2ec2] = 0x7e3d, [0x2ec3] = 0x7e3e, + [0x2ec4] = 0x7e3f, [0x2ec5] = 0x7e40, [0x2ec6] = 0x7e42, [0x2ec7] = 0x7e43, + [0x2ec8] = 0x7e44, [0x2ec9] = 0x7e45, [0x2eca] = 0x7e46, [0x2ecb] = 0x7e48, + [0x2ecc] = 0x7e49, [0x2ecd] = 0x7e4a, [0x2ece] = 0x7e4b, [0x2ecf] = 0x7e4c, + [0x2ed0] = 0x7e4d, [0x2ed1] = 0x7e4e, [0x2ed2] = 0x7e4f, [0x2ed3] = 0x7e50, + [0x2ed4] = 0x7e51, [0x2ed5] = 0x7e52, [0x2ed6] = 0x7e53, [0x2ed7] = 0x7e54, + [0x2ed8] = 0x7e55, [0x2ed9] = 0x7e56, [0x2eda] = 0x7e57, [0x2edb] = 0x7e58, + [0x2edc] = 0x7e59, [0x2edd] = 0x7e5a, [0x2ede] = 0x7e5b, [0x2edf] = 0x7e5c, + [0x2ee0] = 0x7e5d, [0x2ee1] = 0x4fca, [0x2ee2] = 0x7ae3, [0x2ee3] = 0x6d5a, + [0x2ee4] = 0x90e1, [0x2ee5] = 0x9a8f, [0x2ee6] = 0x5580, [0x2ee7] = 0x5496, + [0x2ee8] = 0x5361, [0x2ee9] = 0x54af, [0x2eea] = 0x5f00, [0x2eeb] = 0x63e9, + [0x2eec] = 0x6977, [0x2eed] = 0x51ef, [0x2eee] = 0x6168, [0x2eef] = 0x520a, + [0x2ef0] = 0x582a, [0x2ef1] = 0x52d8, [0x2ef2] = 0x574e, [0x2ef3] = 0x780d, + [0x2ef4] = 0x770b, [0x2ef5] = 0x5eb7, [0x2ef6] = 0x6177, [0x2ef7] = 0x7ce0, + [0x2ef8] = 0x625b, [0x2ef9] = 0x6297, [0x2efa] = 0x4ea2, [0x2efb] = 0x7095, + [0x2efc] = 0x8003, [0x2efd] = 0x62f7, [0x2efe] = 0x70e4, [0x2eff] = 0x9760, + [0x2f00] = 0x5777, [0x2f01] = 0x82db, [0x2f02] = 0x67ef, [0x2f03] = 0x68f5, + [0x2f04] = 0x78d5, [0x2f05] = 0x9897, [0x2f06] = 0x79d1, [0x2f07] = 0x58f3, + [0x2f08] = 0x54b3, [0x2f09] = 0x53ef, [0x2f0a] = 0x6e34, [0x2f0b] = 0x514b, + [0x2f0c] = 0x523b, [0x2f0d] = 0x5ba2, [0x2f0e] = 0x8bfe, [0x2f0f] = 0x80af, + [0x2f10] = 0x5543, [0x2f11] = 0x57a6, [0x2f12] = 0x6073, [0x2f13] = 0x5751, + [0x2f14] = 0x542d, [0x2f15] = 0x7a7a, [0x2f16] = 0x6050, [0x2f17] = 0x5b54, + [0x2f18] = 0x63a7, [0x2f19] = 0x62a0, [0x2f1a] = 0x53e3, [0x2f1b] = 0x6263, + [0x2f1c] = 0x5bc7, [0x2f1d] = 0x67af, [0x2f1e] = 0x54ed, [0x2f1f] = 0x7a9f, + [0x2f20] = 0x82e6, [0x2f21] = 0x9177, [0x2f22] = 0x5e93, [0x2f23] = 0x88e4, + [0x2f24] = 0x5938, [0x2f25] = 0x57ae, [0x2f26] = 0x630e, [0x2f27] = 0x8de8, + [0x2f28] = 0x80ef, [0x2f29] = 0x5757, [0x2f2a] = 0x7b77, [0x2f2b] = 0x4fa9, + [0x2f2c] = 0x5feb, [0x2f2d] = 0x5bbd, [0x2f2e] = 0x6b3e, [0x2f2f] = 0x5321, + [0x2f30] = 0x7b50, [0x2f31] = 0x72c2, [0x2f32] = 0x6846, [0x2f33] = 0x77ff, + [0x2f34] = 0x7736, [0x2f35] = 0x65f7, [0x2f36] = 0x51b5, [0x2f37] = 0x4e8f, + [0x2f38] = 0x76d4, [0x2f39] = 0x5cbf, [0x2f3a] = 0x7aa5, [0x2f3b] = 0x8475, + [0x2f3c] = 0x594e, [0x2f3d] = 0x9b41, [0x2f3e] = 0x5080, [0x2f40] = 0x7e5e, + [0x2f41] = 0x7e5f, [0x2f42] = 0x7e60, [0x2f43] = 0x7e61, [0x2f44] = 0x7e62, + [0x2f45] = 0x7e63, [0x2f46] = 0x7e64, [0x2f47] = 0x7e65, [0x2f48] = 0x7e66, + [0x2f49] = 0x7e67, [0x2f4a] = 0x7e68, [0x2f4b] = 0x7e69, [0x2f4c] = 0x7e6a, + [0x2f4d] = 0x7e6b, [0x2f4e] = 0x7e6c, [0x2f4f] = 0x7e6d, [0x2f50] = 0x7e6e, + [0x2f51] = 0x7e6f, [0x2f52] = 0x7e70, [0x2f53] = 0x7e71, [0x2f54] = 0x7e72, + [0x2f55] = 0x7e73, [0x2f56] = 0x7e74, [0x2f57] = 0x7e75, [0x2f58] = 0x7e76, + [0x2f59] = 0x7e77, [0x2f5a] = 0x7e78, [0x2f5b] = 0x7e79, [0x2f5c] = 0x7e7a, + [0x2f5d] = 0x7e7b, [0x2f5e] = 0x7e7c, [0x2f5f] = 0x7e7d, [0x2f60] = 0x7e7e, + [0x2f61] = 0x7e7f, [0x2f62] = 0x7e80, [0x2f63] = 0x7e81, [0x2f64] = 0x7e83, + [0x2f65] = 0x7e84, [0x2f66] = 0x7e85, [0x2f67] = 0x7e86, [0x2f68] = 0x7e87, + [0x2f69] = 0x7e88, [0x2f6a] = 0x7e89, [0x2f6b] = 0x7e8a, [0x2f6c] = 0x7e8b, + [0x2f6d] = 0x7e8c, [0x2f6e] = 0x7e8d, [0x2f6f] = 0x7e8e, [0x2f70] = 0x7e8f, + [0x2f71] = 0x7e90, [0x2f72] = 0x7e91, [0x2f73] = 0x7e92, [0x2f74] = 0x7e93, + [0x2f75] = 0x7e94, [0x2f76] = 0x7e95, [0x2f77] = 0x7e96, [0x2f78] = 0x7e97, + [0x2f79] = 0x7e98, [0x2f7a] = 0x7e99, [0x2f7b] = 0x7e9a, [0x2f7c] = 0x7e9c, + [0x2f7d] = 0x7e9d, [0x2f7e] = 0x7e9e, [0x2f80] = 0x7eae, [0x2f81] = 0x7eb4, + [0x2f82] = 0x7ebb, [0x2f83] = 0x7ebc, [0x2f84] = 0x7ed6, [0x2f85] = 0x7ee4, + [0x2f86] = 0x7eec, [0x2f87] = 0x7ef9, [0x2f88] = 0x7f0a, [0x2f89] = 0x7f10, + [0x2f8a] = 0x7f1e, [0x2f8b] = 0x7f37, [0x2f8c] = 0x7f39, [0x2f8d] = 0x7f3b, + [0x2f8e] = 0x7f3c, [0x2f8f] = 0x7f3d, [0x2f90] = 0x7f3e, [0x2f91] = 0x7f3f, + [0x2f92] = 0x7f40, [0x2f93] = 0x7f41, [0x2f94] = 0x7f43, [0x2f95] = 0x7f46, + [0x2f96] = 0x7f47, [0x2f97] = 0x7f48, [0x2f98] = 0x7f49, [0x2f99] = 0x7f4a, + [0x2f9a] = 0x7f4b, [0x2f9b] = 0x7f4c, [0x2f9c] = 0x7f4d, [0x2f9d] = 0x7f4e, + [0x2f9e] = 0x7f4f, [0x2f9f] = 0x7f52, [0x2fa0] = 0x7f53, [0x2fa1] = 0x9988, + [0x2fa2] = 0x6127, [0x2fa3] = 0x6e83, [0x2fa4] = 0x5764, [0x2fa5] = 0x6606, + [0x2fa6] = 0x6346, [0x2fa7] = 0x56f0, [0x2fa8] = 0x62ec, [0x2fa9] = 0x6269, + [0x2faa] = 0x5ed3, [0x2fab] = 0x9614, [0x2fac] = 0x5783, [0x2fad] = 0x62c9, + [0x2fae] = 0x5587, [0x2faf] = 0x8721, [0x2fb0] = 0x814a, [0x2fb1] = 0x8fa3, + [0x2fb2] = 0x5566, [0x2fb3] = 0x83b1, [0x2fb4] = 0x6765, [0x2fb5] = 0x8d56, + [0x2fb6] = 0x84dd, [0x2fb7] = 0x5a6a, [0x2fb8] = 0x680f, [0x2fb9] = 0x62e6, + [0x2fba] = 0x7bee, [0x2fbb] = 0x9611, [0x2fbc] = 0x5170, [0x2fbd] = 0x6f9c, + [0x2fbe] = 0x8c30, [0x2fbf] = 0x63fd, [0x2fc0] = 0x89c8, [0x2fc1] = 0x61d2, + [0x2fc2] = 0x7f06, [0x2fc3] = 0x70c2, [0x2fc4] = 0x6ee5, [0x2fc5] = 0x7405, + [0x2fc6] = 0x6994, [0x2fc7] = 0x72fc, [0x2fc8] = 0x5eca, [0x2fc9] = 0x90ce, + [0x2fca] = 0x6717, [0x2fcb] = 0x6d6a, [0x2fcc] = 0x635e, [0x2fcd] = 0x52b3, + [0x2fce] = 0x7262, [0x2fcf] = 0x8001, [0x2fd0] = 0x4f6c, [0x2fd1] = 0x59e5, + [0x2fd2] = 0x916a, [0x2fd3] = 0x70d9, [0x2fd4] = 0x6d9d, [0x2fd5] = 0x52d2, + [0x2fd6] = 0x4e50, [0x2fd7] = 0x96f7, [0x2fd8] = 0x956d, [0x2fd9] = 0x857e, + [0x2fda] = 0x78ca, [0x2fdb] = 0x7d2f, [0x2fdc] = 0x5121, [0x2fdd] = 0x5792, + [0x2fde] = 0x64c2, [0x2fdf] = 0x808b, [0x2fe0] = 0x7c7b, [0x2fe1] = 0x6cea, + [0x2fe2] = 0x68f1, [0x2fe3] = 0x695e, [0x2fe4] = 0x51b7, [0x2fe5] = 0x5398, + [0x2fe6] = 0x68a8, [0x2fe7] = 0x7281, [0x2fe8] = 0x9ece, [0x2fe9] = 0x7bf1, + [0x2fea] = 0x72f8, [0x2feb] = 0x79bb, [0x2fec] = 0x6f13, [0x2fed] = 0x7406, + [0x2fee] = 0x674e, [0x2fef] = 0x91cc, [0x2ff0] = 0x9ca4, [0x2ff1] = 0x793c, + [0x2ff2] = 0x8389, [0x2ff3] = 0x8354, [0x2ff4] = 0x540f, [0x2ff5] = 0x6817, + [0x2ff6] = 0x4e3d, [0x2ff7] = 0x5389, [0x2ff8] = 0x52b1, [0x2ff9] = 0x783e, + [0x2ffa] = 0x5386, [0x2ffb] = 0x5229, [0x2ffc] = 0x5088, [0x2ffd] = 0x4f8b, + [0x2ffe] = 0x4fd0, [0x3000] = 0x7f56, [0x3001] = 0x7f59, [0x3002] = 0x7f5b, + [0x3003] = 0x7f5c, [0x3004] = 0x7f5d, [0x3005] = 0x7f5e, [0x3006] = 0x7f60, + [0x3007] = 0x7f63, [0x3008] = 0x7f64, [0x3009] = 0x7f65, [0x300a] = 0x7f66, + [0x300b] = 0x7f67, [0x300c] = 0x7f6b, [0x300d] = 0x7f6c, [0x300e] = 0x7f6d, + [0x300f] = 0x7f6f, [0x3010] = 0x7f70, [0x3011] = 0x7f73, [0x3012] = 0x7f75, + [0x3013] = 0x7f76, [0x3014] = 0x7f77, [0x3015] = 0x7f78, [0x3016] = 0x7f7a, + [0x3017] = 0x7f7b, [0x3018] = 0x7f7c, [0x3019] = 0x7f7d, [0x301a] = 0x7f7f, + [0x301b] = 0x7f80, [0x301c] = 0x7f82, [0x301d] = 0x7f83, [0x301e] = 0x7f84, + [0x301f] = 0x7f85, [0x3020] = 0x7f86, [0x3021] = 0x7f87, [0x3022] = 0x7f88, + [0x3023] = 0x7f89, [0x3024] = 0x7f8b, [0x3025] = 0x7f8d, [0x3026] = 0x7f8f, + [0x3027] = 0x7f90, [0x3028] = 0x7f91, [0x3029] = 0x7f92, [0x302a] = 0x7f93, + [0x302b] = 0x7f95, [0x302c] = 0x7f96, [0x302d] = 0x7f97, [0x302e] = 0x7f98, + [0x302f] = 0x7f99, [0x3030] = 0x7f9b, [0x3031] = 0x7f9c, [0x3032] = 0x7fa0, + [0x3033] = 0x7fa2, [0x3034] = 0x7fa3, [0x3035] = 0x7fa5, [0x3036] = 0x7fa6, + [0x3037] = 0x7fa8, [0x3038] = 0x7fa9, [0x3039] = 0x7faa, [0x303a] = 0x7fab, + [0x303b] = 0x7fac, [0x303c] = 0x7fad, [0x303d] = 0x7fae, [0x303e] = 0x7fb1, + [0x3040] = 0x7fb3, [0x3041] = 0x7fb4, [0x3042] = 0x7fb5, [0x3043] = 0x7fb6, + [0x3044] = 0x7fb7, [0x3045] = 0x7fba, [0x3046] = 0x7fbb, [0x3047] = 0x7fbe, + [0x3048] = 0x7fc0, [0x3049] = 0x7fc2, [0x304a] = 0x7fc3, [0x304b] = 0x7fc4, + [0x304c] = 0x7fc6, [0x304d] = 0x7fc7, [0x304e] = 0x7fc8, [0x304f] = 0x7fc9, + [0x3050] = 0x7fcb, [0x3051] = 0x7fcd, [0x3052] = 0x7fcf, [0x3053] = 0x7fd0, + [0x3054] = 0x7fd1, [0x3055] = 0x7fd2, [0x3056] = 0x7fd3, [0x3057] = 0x7fd6, + [0x3058] = 0x7fd7, [0x3059] = 0x7fd9, [0x305a] = 0x7fda, [0x305b] = 0x7fdb, + [0x305c] = 0x7fdc, [0x305d] = 0x7fdd, [0x305e] = 0x7fde, [0x305f] = 0x7fe2, + [0x3060] = 0x7fe3, [0x3061] = 0x75e2, [0x3062] = 0x7acb, [0x3063] = 0x7c92, + [0x3064] = 0x6ca5, [0x3065] = 0x96b6, [0x3066] = 0x529b, [0x3067] = 0x7483, + [0x3068] = 0x54e9, [0x3069] = 0x4fe9, [0x306a] = 0x8054, [0x306b] = 0x83b2, + [0x306c] = 0x8fde, [0x306d] = 0x9570, [0x306e] = 0x5ec9, [0x306f] = 0x601c, + [0x3070] = 0x6d9f, [0x3071] = 0x5e18, [0x3072] = 0x655b, [0x3073] = 0x8138, + [0x3074] = 0x94fe, [0x3075] = 0x604b, [0x3076] = 0x70bc, [0x3077] = 0x7ec3, + [0x3078] = 0x7cae, [0x3079] = 0x51c9, [0x307a] = 0x6881, [0x307b] = 0x7cb1, + [0x307c] = 0x826f, [0x307d] = 0x4e24, [0x307e] = 0x8f86, [0x307f] = 0x91cf, + [0x3080] = 0x667e, [0x3081] = 0x4eae, [0x3082] = 0x8c05, [0x3083] = 0x64a9, + [0x3084] = 0x804a, [0x3085] = 0x50da, [0x3086] = 0x7597, [0x3087] = 0x71ce, + [0x3088] = 0x5be5, [0x3089] = 0x8fbd, [0x308a] = 0x6f66, [0x308b] = 0x4e86, + [0x308c] = 0x6482, [0x308d] = 0x9563, [0x308e] = 0x5ed6, [0x308f] = 0x6599, + [0x3090] = 0x5217, [0x3091] = 0x88c2, [0x3092] = 0x70c8, [0x3093] = 0x52a3, + [0x3094] = 0x730e, [0x3095] = 0x7433, [0x3096] = 0x6797, [0x3097] = 0x78f7, + [0x3098] = 0x9716, [0x3099] = 0x4e34, [0x309a] = 0x90bb, [0x309b] = 0x9cde, + [0x309c] = 0x6dcb, [0x309d] = 0x51db, [0x309e] = 0x8d41, [0x309f] = 0x541d, + [0x30a0] = 0x62ce, [0x30a1] = 0x73b2, [0x30a2] = 0x83f1, [0x30a3] = 0x96f6, + [0x30a4] = 0x9f84, [0x30a5] = 0x94c3, [0x30a6] = 0x4f36, [0x30a7] = 0x7f9a, + [0x30a8] = 0x51cc, [0x30a9] = 0x7075, [0x30aa] = 0x9675, [0x30ab] = 0x5cad, + [0x30ac] = 0x9886, [0x30ad] = 0x53e6, [0x30ae] = 0x4ee4, [0x30af] = 0x6e9c, + [0x30b0] = 0x7409, [0x30b1] = 0x69b4, [0x30b2] = 0x786b, [0x30b3] = 0x998f, + [0x30b4] = 0x7559, [0x30b5] = 0x5218, [0x30b6] = 0x7624, [0x30b7] = 0x6d41, + [0x30b8] = 0x67f3, [0x30b9] = 0x516d, [0x30ba] = 0x9f99, [0x30bb] = 0x804b, + [0x30bc] = 0x5499, [0x30bd] = 0x7b3c, [0x30be] = 0x7abf, [0x30c0] = 0x7fe4, + [0x30c1] = 0x7fe7, [0x30c2] = 0x7fe8, [0x30c3] = 0x7fea, [0x30c4] = 0x7feb, + [0x30c5] = 0x7fec, [0x30c6] = 0x7fed, [0x30c7] = 0x7fef, [0x30c8] = 0x7ff2, + [0x30c9] = 0x7ff4, [0x30ca] = 0x7ff5, [0x30cb] = 0x7ff6, [0x30cc] = 0x7ff7, + [0x30cd] = 0x7ff8, [0x30ce] = 0x7ff9, [0x30cf] = 0x7ffa, [0x30d0] = 0x7ffd, + [0x30d1] = 0x7ffe, [0x30d2] = 0x7fff, [0x30d3] = 0x8002, [0x30d4] = 0x8007, + [0x30d5] = 0x8008, [0x30d6] = 0x8009, [0x30d7] = 0x800a, [0x30d8] = 0x800e, + [0x30d9] = 0x800f, [0x30da] = 0x8011, [0x30db] = 0x8013, [0x30dc] = 0x801a, + [0x30dd] = 0x801b, [0x30de] = 0x801d, [0x30df] = 0x801e, [0x30e0] = 0x801f, + [0x30e1] = 0x8021, [0x30e2] = 0x8023, [0x30e3] = 0x8024, [0x30e4] = 0x802b, + [0x30e5] = 0x802c, [0x30e6] = 0x802d, [0x30e7] = 0x802e, [0x30e8] = 0x802f, + [0x30e9] = 0x8030, [0x30ea] = 0x8032, [0x30eb] = 0x8034, [0x30ec] = 0x8039, + [0x30ed] = 0x803a, [0x30ee] = 0x803c, [0x30ef] = 0x803e, [0x30f0] = 0x8040, + [0x30f1] = 0x8041, [0x30f2] = 0x8044, [0x30f3] = 0x8045, [0x30f4] = 0x8047, + [0x30f5] = 0x8048, [0x30f6] = 0x8049, [0x30f7] = 0x804e, [0x30f8] = 0x804f, + [0x30f9] = 0x8050, [0x30fa] = 0x8051, [0x30fb] = 0x8053, [0x30fc] = 0x8055, + [0x30fd] = 0x8056, [0x30fe] = 0x8057, [0x3100] = 0x8059, [0x3101] = 0x805b, + [0x3102] = 0x805c, [0x3103] = 0x805d, [0x3104] = 0x805e, [0x3105] = 0x805f, + [0x3106] = 0x8060, [0x3107] = 0x8061, [0x3108] = 0x8062, [0x3109] = 0x8063, + [0x310a] = 0x8064, [0x310b] = 0x8065, [0x310c] = 0x8066, [0x310d] = 0x8067, + [0x310e] = 0x8068, [0x310f] = 0x806b, [0x3110] = 0x806c, [0x3111] = 0x806d, + [0x3112] = 0x806e, [0x3113] = 0x806f, [0x3114] = 0x8070, [0x3115] = 0x8072, + [0x3116] = 0x8073, [0x3117] = 0x8074, [0x3118] = 0x8075, [0x3119] = 0x8076, + [0x311a] = 0x8077, [0x311b] = 0x8078, [0x311c] = 0x8079, [0x311d] = 0x807a, + [0x311e] = 0x807b, [0x311f] = 0x807c, [0x3120] = 0x807d, [0x3121] = 0x9686, + [0x3122] = 0x5784, [0x3123] = 0x62e2, [0x3124] = 0x9647, [0x3125] = 0x697c, + [0x3126] = 0x5a04, [0x3127] = 0x6402, [0x3128] = 0x7bd3, [0x3129] = 0x6f0f, + [0x312a] = 0x964b, [0x312b] = 0x82a6, [0x312c] = 0x5362, [0x312d] = 0x9885, + [0x312e] = 0x5e90, [0x312f] = 0x7089, [0x3130] = 0x63b3, [0x3131] = 0x5364, + [0x3132] = 0x864f, [0x3133] = 0x9c81, [0x3134] = 0x9e93, [0x3135] = 0x788c, + [0x3136] = 0x9732, [0x3137] = 0x8def, [0x3138] = 0x8d42, [0x3139] = 0x9e7f, + [0x313a] = 0x6f5e, [0x313b] = 0x7984, [0x313c] = 0x5f55, [0x313d] = 0x9646, + [0x313e] = 0x622e, [0x313f] = 0x9a74, [0x3140] = 0x5415, [0x3141] = 0x94dd, + [0x3142] = 0x4fa3, [0x3143] = 0x65c5, [0x3144] = 0x5c65, [0x3145] = 0x5c61, + [0x3146] = 0x7f15, [0x3147] = 0x8651, [0x3148] = 0x6c2f, [0x3149] = 0x5f8b, + [0x314a] = 0x7387, [0x314b] = 0x6ee4, [0x314c] = 0x7eff, [0x314d] = 0x5ce6, + [0x314e] = 0x631b, [0x314f] = 0x5b6a, [0x3150] = 0x6ee6, [0x3151] = 0x5375, + [0x3152] = 0x4e71, [0x3153] = 0x63a0, [0x3154] = 0x7565, [0x3155] = 0x62a1, + [0x3156] = 0x8f6e, [0x3157] = 0x4f26, [0x3158] = 0x4ed1, [0x3159] = 0x6ca6, + [0x315a] = 0x7eb6, [0x315b] = 0x8bba, [0x315c] = 0x841d, [0x315d] = 0x87ba, + [0x315e] = 0x7f57, [0x315f] = 0x903b, [0x3160] = 0x9523, [0x3161] = 0x7ba9, + [0x3162] = 0x9aa1, [0x3163] = 0x88f8, [0x3164] = 0x843d, [0x3165] = 0x6d1b, + [0x3166] = 0x9a86, [0x3167] = 0x7edc, [0x3168] = 0x5988, [0x3169] = 0x9ebb, + [0x316a] = 0x739b, [0x316b] = 0x7801, [0x316c] = 0x8682, [0x316d] = 0x9a6c, + [0x316e] = 0x9a82, [0x316f] = 0x561b, [0x3170] = 0x5417, [0x3171] = 0x57cb, + [0x3172] = 0x4e70, [0x3173] = 0x9ea6, [0x3174] = 0x5356, [0x3175] = 0x8fc8, + [0x3176] = 0x8109, [0x3177] = 0x7792, [0x3178] = 0x9992, [0x3179] = 0x86ee, + [0x317a] = 0x6ee1, [0x317b] = 0x8513, [0x317c] = 0x66fc, [0x317d] = 0x6162, + [0x317e] = 0x6f2b, [0x3180] = 0x807e, [0x3181] = 0x8081, [0x3182] = 0x8082, + [0x3183] = 0x8085, [0x3184] = 0x8088, [0x3185] = 0x808a, [0x3186] = 0x808d, + [0x3187] = 0x808e, [0x3188] = 0x808f, [0x3189] = 0x8090, [0x318a] = 0x8091, + [0x318b] = 0x8092, [0x318c] = 0x8094, [0x318d] = 0x8095, [0x318e] = 0x8097, + [0x318f] = 0x8099, [0x3190] = 0x809e, [0x3191] = 0x80a3, [0x3192] = 0x80a6, + [0x3193] = 0x80a7, [0x3194] = 0x80a8, [0x3195] = 0x80ac, [0x3196] = 0x80b0, + [0x3197] = 0x80b3, [0x3198] = 0x80b5, [0x3199] = 0x80b6, [0x319a] = 0x80b8, + [0x319b] = 0x80b9, [0x319c] = 0x80bb, [0x319d] = 0x80c5, [0x319e] = 0x80c7, + [0x319f] = 0x80c8, [0x31a0] = 0x80c9, [0x31a1] = 0x80ca, [0x31a2] = 0x80cb, + [0x31a3] = 0x80cf, [0x31a4] = 0x80d0, [0x31a5] = 0x80d1, [0x31a6] = 0x80d2, + [0x31a7] = 0x80d3, [0x31a8] = 0x80d4, [0x31a9] = 0x80d5, [0x31aa] = 0x80d8, + [0x31ab] = 0x80df, [0x31ac] = 0x80e0, [0x31ad] = 0x80e2, [0x31ae] = 0x80e3, + [0x31af] = 0x80e6, [0x31b0] = 0x80ee, [0x31b1] = 0x80f5, [0x31b2] = 0x80f7, + [0x31b3] = 0x80f9, [0x31b4] = 0x80fb, [0x31b5] = 0x80fe, [0x31b6] = 0x80ff, + [0x31b7] = 0x8100, [0x31b8] = 0x8101, [0x31b9] = 0x8103, [0x31ba] = 0x8104, + [0x31bb] = 0x8105, [0x31bc] = 0x8107, [0x31bd] = 0x8108, [0x31be] = 0x810b, + [0x31c0] = 0x810c, [0x31c1] = 0x8115, [0x31c2] = 0x8117, [0x31c3] = 0x8119, + [0x31c4] = 0x811b, [0x31c5] = 0x811c, [0x31c6] = 0x811d, [0x31c7] = 0x811f, + [0x31c8] = 0x8120, [0x31c9] = 0x8121, [0x31ca] = 0x8122, [0x31cb] = 0x8123, + [0x31cc] = 0x8124, [0x31cd] = 0x8125, [0x31ce] = 0x8126, [0x31cf] = 0x8127, + [0x31d0] = 0x8128, [0x31d1] = 0x8129, [0x31d2] = 0x812a, [0x31d3] = 0x812b, + [0x31d4] = 0x812d, [0x31d5] = 0x812e, [0x31d6] = 0x8130, [0x31d7] = 0x8133, + [0x31d8] = 0x8134, [0x31d9] = 0x8135, [0x31da] = 0x8137, [0x31db] = 0x8139, + [0x31dc] = 0x813a, [0x31dd] = 0x813b, [0x31de] = 0x813c, [0x31df] = 0x813d, + [0x31e0] = 0x813f, [0x31e1] = 0x8c29, [0x31e2] = 0x8292, [0x31e3] = 0x832b, + [0x31e4] = 0x76f2, [0x31e5] = 0x6c13, [0x31e6] = 0x5fd9, [0x31e7] = 0x83bd, + [0x31e8] = 0x732b, [0x31e9] = 0x8305, [0x31ea] = 0x951a, [0x31eb] = 0x6bdb, + [0x31ec] = 0x77db, [0x31ed] = 0x94c6, [0x31ee] = 0x536f, [0x31ef] = 0x8302, + [0x31f0] = 0x5192, [0x31f1] = 0x5e3d, [0x31f2] = 0x8c8c, [0x31f3] = 0x8d38, + [0x31f4] = 0x4e48, [0x31f5] = 0x73ab, [0x31f6] = 0x679a, [0x31f7] = 0x6885, + [0x31f8] = 0x9176, [0x31f9] = 0x9709, [0x31fa] = 0x7164, [0x31fb] = 0x6ca1, + [0x31fc] = 0x7709, [0x31fd] = 0x5a92, [0x31fe] = 0x9541, [0x31ff] = 0x6bcf, + [0x3200] = 0x7f8e, [0x3201] = 0x6627, [0x3202] = 0x5bd0, [0x3203] = 0x59b9, + [0x3204] = 0x5a9a, [0x3205] = 0x95e8, [0x3206] = 0x95f7, [0x3207] = 0x4eec, + [0x3208] = 0x840c, [0x3209] = 0x8499, [0x320a] = 0x6aac, [0x320b] = 0x76df, + [0x320c] = 0x9530, [0x320d] = 0x731b, [0x320e] = 0x68a6, [0x320f] = 0x5b5f, + [0x3210] = 0x772f, [0x3211] = 0x919a, [0x3212] = 0x9761, [0x3213] = 0x7cdc, + [0x3214] = 0x8ff7, [0x3215] = 0x8c1c, [0x3216] = 0x5f25, [0x3217] = 0x7c73, + [0x3218] = 0x79d8, [0x3219] = 0x89c5, [0x321a] = 0x6ccc, [0x321b] = 0x871c, + [0x321c] = 0x5bc6, [0x321d] = 0x5e42, [0x321e] = 0x68c9, [0x321f] = 0x7720, + [0x3220] = 0x7ef5, [0x3221] = 0x5195, [0x3222] = 0x514d, [0x3223] = 0x52c9, + [0x3224] = 0x5a29, [0x3225] = 0x7f05, [0x3226] = 0x9762, [0x3227] = 0x82d7, + [0x3228] = 0x63cf, [0x3229] = 0x7784, [0x322a] = 0x85d0, [0x322b] = 0x79d2, + [0x322c] = 0x6e3a, [0x322d] = 0x5e99, [0x322e] = 0x5999, [0x322f] = 0x8511, + [0x3230] = 0x706d, [0x3231] = 0x6c11, [0x3232] = 0x62bf, [0x3233] = 0x76bf, + [0x3234] = 0x654f, [0x3235] = 0x60af, [0x3236] = 0x95fd, [0x3237] = 0x660e, + [0x3238] = 0x879f, [0x3239] = 0x9e23, [0x323a] = 0x94ed, [0x323b] = 0x540d, + [0x323c] = 0x547d, [0x323d] = 0x8c2c, [0x323e] = 0x6478, [0x3240] = 0x8140, + [0x3241] = 0x8141, [0x3242] = 0x8142, [0x3243] = 0x8143, [0x3244] = 0x8144, + [0x3245] = 0x8145, [0x3246] = 0x8147, [0x3247] = 0x8149, [0x3248] = 0x814d, + [0x3249] = 0x814e, [0x324a] = 0x814f, [0x324b] = 0x8152, [0x324c] = 0x8156, + [0x324d] = 0x8157, [0x324e] = 0x8158, [0x324f] = 0x815b, [0x3250] = 0x815c, + [0x3251] = 0x815d, [0x3252] = 0x815e, [0x3253] = 0x815f, [0x3254] = 0x8161, + [0x3255] = 0x8162, [0x3256] = 0x8163, [0x3257] = 0x8164, [0x3258] = 0x8166, + [0x3259] = 0x8168, [0x325a] = 0x816a, [0x325b] = 0x816b, [0x325c] = 0x816c, + [0x325d] = 0x816f, [0x325e] = 0x8172, [0x325f] = 0x8173, [0x3260] = 0x8175, + [0x3261] = 0x8176, [0x3262] = 0x8177, [0x3263] = 0x8178, [0x3264] = 0x8181, + [0x3265] = 0x8183, [0x3266] = 0x8184, [0x3267] = 0x8185, [0x3268] = 0x8186, + [0x3269] = 0x8187, [0x326a] = 0x8189, [0x326b] = 0x818b, [0x326c] = 0x818c, + [0x326d] = 0x818d, [0x326e] = 0x818e, [0x326f] = 0x8190, [0x3270] = 0x8192, + [0x3271] = 0x8193, [0x3272] = 0x8194, [0x3273] = 0x8195, [0x3274] = 0x8196, + [0x3275] = 0x8197, [0x3276] = 0x8199, [0x3277] = 0x819a, [0x3278] = 0x819e, + [0x3279] = 0x819f, [0x327a] = 0x81a0, [0x327b] = 0x81a1, [0x327c] = 0x81a2, + [0x327d] = 0x81a4, [0x327e] = 0x81a5, [0x3280] = 0x81a7, [0x3281] = 0x81a9, + [0x3282] = 0x81ab, [0x3283] = 0x81ac, [0x3284] = 0x81ad, [0x3285] = 0x81ae, + [0x3286] = 0x81af, [0x3287] = 0x81b0, [0x3288] = 0x81b1, [0x3289] = 0x81b2, + [0x328a] = 0x81b4, [0x328b] = 0x81b5, [0x328c] = 0x81b6, [0x328d] = 0x81b7, + [0x328e] = 0x81b8, [0x328f] = 0x81b9, [0x3290] = 0x81bc, [0x3291] = 0x81bd, + [0x3292] = 0x81be, [0x3293] = 0x81bf, [0x3294] = 0x81c4, [0x3295] = 0x81c5, + [0x3296] = 0x81c7, [0x3297] = 0x81c8, [0x3298] = 0x81c9, [0x3299] = 0x81cb, + [0x329a] = 0x81cd, [0x329b] = 0x81ce, [0x329c] = 0x81cf, [0x329d] = 0x81d0, + [0x329e] = 0x81d1, [0x329f] = 0x81d2, [0x32a0] = 0x81d3, [0x32a1] = 0x6479, + [0x32a2] = 0x8611, [0x32a3] = 0x6a21, [0x32a4] = 0x819c, [0x32a5] = 0x78e8, + [0x32a6] = 0x6469, [0x32a7] = 0x9b54, [0x32a8] = 0x62b9, [0x32a9] = 0x672b, + [0x32aa] = 0x83ab, [0x32ab] = 0x58a8, [0x32ac] = 0x9ed8, [0x32ad] = 0x6cab, + [0x32ae] = 0x6f20, [0x32af] = 0x5bde, [0x32b0] = 0x964c, [0x32b1] = 0x8c0b, + [0x32b2] = 0x725f, [0x32b3] = 0x67d0, [0x32b4] = 0x62c7, [0x32b5] = 0x7261, + [0x32b6] = 0x4ea9, [0x32b7] = 0x59c6, [0x32b8] = 0x6bcd, [0x32b9] = 0x5893, + [0x32ba] = 0x66ae, [0x32bb] = 0x5e55, [0x32bc] = 0x52df, [0x32bd] = 0x6155, + [0x32be] = 0x6728, [0x32bf] = 0x76ee, [0x32c0] = 0x7766, [0x32c1] = 0x7267, + [0x32c2] = 0x7a46, [0x32c3] = 0x62ff, [0x32c4] = 0x54ea, [0x32c5] = 0x5450, + [0x32c6] = 0x94a0, [0x32c7] = 0x90a3, [0x32c8] = 0x5a1c, [0x32c9] = 0x7eb3, + [0x32ca] = 0x6c16, [0x32cb] = 0x4e43, [0x32cc] = 0x5976, [0x32cd] = 0x8010, + [0x32ce] = 0x5948, [0x32cf] = 0x5357, [0x32d0] = 0x7537, [0x32d1] = 0x96be, + [0x32d2] = 0x56ca, [0x32d3] = 0x6320, [0x32d4] = 0x8111, [0x32d5] = 0x607c, + [0x32d6] = 0x95f9, [0x32d7] = 0x6dd6, [0x32d8] = 0x5462, [0x32d9] = 0x9981, + [0x32da] = 0x5185, [0x32db] = 0x5ae9, [0x32dc] = 0x80fd, [0x32dd] = 0x59ae, + [0x32de] = 0x9713, [0x32df] = 0x502a, [0x32e0] = 0x6ce5, [0x32e1] = 0x5c3c, + [0x32e2] = 0x62df, [0x32e3] = 0x4f60, [0x32e4] = 0x533f, [0x32e5] = 0x817b, + [0x32e6] = 0x9006, [0x32e7] = 0x6eba, [0x32e8] = 0x852b, [0x32e9] = 0x62c8, + [0x32ea] = 0x5e74, [0x32eb] = 0x78be, [0x32ec] = 0x64b5, [0x32ed] = 0x637b, + [0x32ee] = 0x5ff5, [0x32ef] = 0x5a18, [0x32f0] = 0x917f, [0x32f1] = 0x9e1f, + [0x32f2] = 0x5c3f, [0x32f3] = 0x634f, [0x32f4] = 0x8042, [0x32f5] = 0x5b7d, + [0x32f6] = 0x556e, [0x32f7] = 0x954a, [0x32f8] = 0x954d, [0x32f9] = 0x6d85, + [0x32fa] = 0x60a8, [0x32fb] = 0x67e0, [0x32fc] = 0x72de, [0x32fd] = 0x51dd, + [0x32fe] = 0x5b81, [0x3300] = 0x81d4, [0x3301] = 0x81d5, [0x3302] = 0x81d6, + [0x3303] = 0x81d7, [0x3304] = 0x81d8, [0x3305] = 0x81d9, [0x3306] = 0x81da, + [0x3307] = 0x81db, [0x3308] = 0x81dc, [0x3309] = 0x81dd, [0x330a] = 0x81de, + [0x330b] = 0x81df, [0x330c] = 0x81e0, [0x330d] = 0x81e1, [0x330e] = 0x81e2, + [0x330f] = 0x81e4, [0x3310] = 0x81e5, [0x3311] = 0x81e6, [0x3312] = 0x81e8, + [0x3313] = 0x81e9, [0x3314] = 0x81eb, [0x3315] = 0x81ee, [0x3316] = 0x81ef, + [0x3317] = 0x81f0, [0x3318] = 0x81f1, [0x3319] = 0x81f2, [0x331a] = 0x81f5, + [0x331b] = 0x81f6, [0x331c] = 0x81f7, [0x331d] = 0x81f8, [0x331e] = 0x81f9, + [0x331f] = 0x81fa, [0x3320] = 0x81fd, [0x3321] = 0x81ff, [0x3322] = 0x8203, + [0x3323] = 0x8207, [0x3324] = 0x8208, [0x3325] = 0x8209, [0x3326] = 0x820a, + [0x3327] = 0x820b, [0x3328] = 0x820e, [0x3329] = 0x820f, [0x332a] = 0x8211, + [0x332b] = 0x8213, [0x332c] = 0x8215, [0x332d] = 0x8216, [0x332e] = 0x8217, + [0x332f] = 0x8218, [0x3330] = 0x8219, [0x3331] = 0x821a, [0x3332] = 0x821d, + [0x3333] = 0x8220, [0x3334] = 0x8224, [0x3335] = 0x8225, [0x3336] = 0x8226, + [0x3337] = 0x8227, [0x3338] = 0x8229, [0x3339] = 0x822e, [0x333a] = 0x8232, + [0x333b] = 0x823a, [0x333c] = 0x823c, [0x333d] = 0x823d, [0x333e] = 0x823f, + [0x3340] = 0x8240, [0x3341] = 0x8241, [0x3342] = 0x8242, [0x3343] = 0x8243, + [0x3344] = 0x8245, [0x3345] = 0x8246, [0x3346] = 0x8248, [0x3347] = 0x824a, + [0x3348] = 0x824c, [0x3349] = 0x824d, [0x334a] = 0x824e, [0x334b] = 0x8250, + [0x334c] = 0x8251, [0x334d] = 0x8252, [0x334e] = 0x8253, [0x334f] = 0x8254, + [0x3350] = 0x8255, [0x3351] = 0x8256, [0x3352] = 0x8257, [0x3353] = 0x8259, + [0x3354] = 0x825b, [0x3355] = 0x825c, [0x3356] = 0x825d, [0x3357] = 0x825e, + [0x3358] = 0x8260, [0x3359] = 0x8261, [0x335a] = 0x8262, [0x335b] = 0x8263, + [0x335c] = 0x8264, [0x335d] = 0x8265, [0x335e] = 0x8266, [0x335f] = 0x8267, + [0x3360] = 0x8269, [0x3361] = 0x62e7, [0x3362] = 0x6cde, [0x3363] = 0x725b, + [0x3364] = 0x626d, [0x3365] = 0x94ae, [0x3366] = 0x7ebd, [0x3367] = 0x8113, + [0x3368] = 0x6d53, [0x3369] = 0x519c, [0x336a] = 0x5f04, [0x336b] = 0x5974, + [0x336c] = 0x52aa, [0x336d] = 0x6012, [0x336e] = 0x5973, [0x336f] = 0x6696, + [0x3370] = 0x8650, [0x3371] = 0x759f, [0x3372] = 0x632a, [0x3373] = 0x61e6, + [0x3374] = 0x7cef, [0x3375] = 0x8bfa, [0x3376] = 0x54e6, [0x3377] = 0x6b27, + [0x3378] = 0x9e25, [0x3379] = 0x6bb4, [0x337a] = 0x85d5, [0x337b] = 0x5455, + [0x337c] = 0x5076, [0x337d] = 0x6ca4, [0x337e] = 0x556a, [0x337f] = 0x8db4, + [0x3380] = 0x722c, [0x3381] = 0x5e15, [0x3382] = 0x6015, [0x3383] = 0x7436, + [0x3384] = 0x62cd, [0x3385] = 0x6392, [0x3386] = 0x724c, [0x3387] = 0x5f98, + [0x3388] = 0x6e43, [0x3389] = 0x6d3e, [0x338a] = 0x6500, [0x338b] = 0x6f58, + [0x338c] = 0x76d8, [0x338d] = 0x78d0, [0x338e] = 0x76fc, [0x338f] = 0x7554, + [0x3390] = 0x5224, [0x3391] = 0x53db, [0x3392] = 0x4e53, [0x3393] = 0x5e9e, + [0x3394] = 0x65c1, [0x3395] = 0x802a, [0x3396] = 0x80d6, [0x3397] = 0x629b, + [0x3398] = 0x5486, [0x3399] = 0x5228, [0x339a] = 0x70ae, [0x339b] = 0x888d, + [0x339c] = 0x8dd1, [0x339d] = 0x6ce1, [0x339e] = 0x5478, [0x339f] = 0x80da, + [0x33a0] = 0x57f9, [0x33a1] = 0x88f4, [0x33a2] = 0x8d54, [0x33a3] = 0x966a, + [0x33a4] = 0x914d, [0x33a5] = 0x4f69, [0x33a6] = 0x6c9b, [0x33a7] = 0x55b7, + [0x33a8] = 0x76c6, [0x33a9] = 0x7830, [0x33aa] = 0x62a8, [0x33ab] = 0x70f9, + [0x33ac] = 0x6f8e, [0x33ad] = 0x5f6d, [0x33ae] = 0x84ec, [0x33af] = 0x68da, + [0x33b0] = 0x787c, [0x33b1] = 0x7bf7, [0x33b2] = 0x81a8, [0x33b3] = 0x670b, + [0x33b4] = 0x9e4f, [0x33b5] = 0x6367, [0x33b6] = 0x78b0, [0x33b7] = 0x576f, + [0x33b8] = 0x7812, [0x33b9] = 0x9739, [0x33ba] = 0x6279, [0x33bb] = 0x62ab, + [0x33bc] = 0x5288, [0x33bd] = 0x7435, [0x33be] = 0x6bd7, [0x33c0] = 0x826a, + [0x33c1] = 0x826b, [0x33c2] = 0x826c, [0x33c3] = 0x826d, [0x33c4] = 0x8271, + [0x33c5] = 0x8275, [0x33c6] = 0x8276, [0x33c7] = 0x8277, [0x33c8] = 0x8278, + [0x33c9] = 0x827b, [0x33ca] = 0x827c, [0x33cb] = 0x8280, [0x33cc] = 0x8281, + [0x33cd] = 0x8283, [0x33ce] = 0x8285, [0x33cf] = 0x8286, [0x33d0] = 0x8287, + [0x33d1] = 0x8289, [0x33d2] = 0x828c, [0x33d3] = 0x8290, [0x33d4] = 0x8293, + [0x33d5] = 0x8294, [0x33d6] = 0x8295, [0x33d7] = 0x8296, [0x33d8] = 0x829a, + [0x33d9] = 0x829b, [0x33da] = 0x829e, [0x33db] = 0x82a0, [0x33dc] = 0x82a2, + [0x33dd] = 0x82a3, [0x33de] = 0x82a7, [0x33df] = 0x82b2, [0x33e0] = 0x82b5, + [0x33e1] = 0x82b6, [0x33e2] = 0x82ba, [0x33e3] = 0x82bb, [0x33e4] = 0x82bc, + [0x33e5] = 0x82bf, [0x33e6] = 0x82c0, [0x33e7] = 0x82c2, [0x33e8] = 0x82c3, + [0x33e9] = 0x82c5, [0x33ea] = 0x82c6, [0x33eb] = 0x82c9, [0x33ec] = 0x82d0, + [0x33ed] = 0x82d6, [0x33ee] = 0x82d9, [0x33ef] = 0x82da, [0x33f0] = 0x82dd, + [0x33f1] = 0x82e2, [0x33f2] = 0x82e7, [0x33f3] = 0x82e8, [0x33f4] = 0x82e9, + [0x33f5] = 0x82ea, [0x33f6] = 0x82ec, [0x33f7] = 0x82ed, [0x33f8] = 0x82ee, + [0x33f9] = 0x82f0, [0x33fa] = 0x82f2, [0x33fb] = 0x82f3, [0x33fc] = 0x82f5, + [0x33fd] = 0x82f6, [0x33fe] = 0x82f8, [0x3400] = 0x82fa, [0x3401] = 0x82fc, + [0x3402] = 0x82fd, [0x3403] = 0x82fe, [0x3404] = 0x82ff, [0x3405] = 0x8300, + [0x3406] = 0x830a, [0x3407] = 0x830b, [0x3408] = 0x830d, [0x3409] = 0x8310, + [0x340a] = 0x8312, [0x340b] = 0x8313, [0x340c] = 0x8316, [0x340d] = 0x8318, + [0x340e] = 0x8319, [0x340f] = 0x831d, [0x3410] = 0x831e, [0x3411] = 0x831f, + [0x3412] = 0x8320, [0x3413] = 0x8321, [0x3414] = 0x8322, [0x3415] = 0x8323, + [0x3416] = 0x8324, [0x3417] = 0x8325, [0x3418] = 0x8326, [0x3419] = 0x8329, + [0x341a] = 0x832a, [0x341b] = 0x832e, [0x341c] = 0x8330, [0x341d] = 0x8332, + [0x341e] = 0x8337, [0x341f] = 0x833b, [0x3420] = 0x833d, [0x3421] = 0x5564, + [0x3422] = 0x813e, [0x3423] = 0x75b2, [0x3424] = 0x76ae, [0x3425] = 0x5339, + [0x3426] = 0x75de, [0x3427] = 0x50fb, [0x3428] = 0x5c41, [0x3429] = 0x8b6c, + [0x342a] = 0x7bc7, [0x342b] = 0x504f, [0x342c] = 0x7247, [0x342d] = 0x9a97, + [0x342e] = 0x98d8, [0x342f] = 0x6f02, [0x3430] = 0x74e2, [0x3431] = 0x7968, + [0x3432] = 0x6487, [0x3433] = 0x77a5, [0x3434] = 0x62fc, [0x3435] = 0x9891, + [0x3436] = 0x8d2b, [0x3437] = 0x54c1, [0x3438] = 0x8058, [0x3439] = 0x4e52, + [0x343a] = 0x576a, [0x343b] = 0x82f9, [0x343c] = 0x840d, [0x343d] = 0x5e73, + [0x343e] = 0x51ed, [0x343f] = 0x74f6, [0x3440] = 0x8bc4, [0x3441] = 0x5c4f, + [0x3442] = 0x5761, [0x3443] = 0x6cfc, [0x3444] = 0x9887, [0x3445] = 0x5a46, + [0x3446] = 0x7834, [0x3447] = 0x9b44, [0x3448] = 0x8feb, [0x3449] = 0x7c95, + [0x344a] = 0x5256, [0x344b] = 0x6251, [0x344c] = 0x94fa, [0x344d] = 0x4ec6, + [0x344e] = 0x8386, [0x344f] = 0x8461, [0x3450] = 0x83e9, [0x3451] = 0x84b2, + [0x3452] = 0x57d4, [0x3453] = 0x6734, [0x3454] = 0x5703, [0x3455] = 0x666e, + [0x3456] = 0x6d66, [0x3457] = 0x8c31, [0x3458] = 0x66dd, [0x3459] = 0x7011, + [0x345a] = 0x671f, [0x345b] = 0x6b3a, [0x345c] = 0x6816, [0x345d] = 0x621a, + [0x345e] = 0x59bb, [0x345f] = 0x4e03, [0x3460] = 0x51c4, [0x3461] = 0x6f06, + [0x3462] = 0x67d2, [0x3463] = 0x6c8f, [0x3464] = 0x5176, [0x3465] = 0x68cb, + [0x3466] = 0x5947, [0x3467] = 0x6b67, [0x3468] = 0x7566, [0x3469] = 0x5d0e, + [0x346a] = 0x8110, [0x346b] = 0x9f50, [0x346c] = 0x65d7, [0x346d] = 0x7948, + [0x346e] = 0x7941, [0x346f] = 0x9a91, [0x3470] = 0x8d77, [0x3471] = 0x5c82, + [0x3472] = 0x4e5e, [0x3473] = 0x4f01, [0x3474] = 0x542f, [0x3475] = 0x5951, + [0x3476] = 0x780c, [0x3477] = 0x5668, [0x3478] = 0x6c14, [0x3479] = 0x8fc4, + [0x347a] = 0x5f03, [0x347b] = 0x6c7d, [0x347c] = 0x6ce3, [0x347d] = 0x8bab, + [0x347e] = 0x6390, [0x3480] = 0x833e, [0x3481] = 0x833f, [0x3482] = 0x8341, + [0x3483] = 0x8342, [0x3484] = 0x8344, [0x3485] = 0x8345, [0x3486] = 0x8348, + [0x3487] = 0x834a, [0x3488] = 0x834b, [0x3489] = 0x834c, [0x348a] = 0x834d, + [0x348b] = 0x834e, [0x348c] = 0x8353, [0x348d] = 0x8355, [0x348e] = 0x8356, + [0x348f] = 0x8357, [0x3490] = 0x8358, [0x3491] = 0x8359, [0x3492] = 0x835d, + [0x3493] = 0x8362, [0x3494] = 0x8370, [0x3495] = 0x8371, [0x3496] = 0x8372, + [0x3497] = 0x8373, [0x3498] = 0x8374, [0x3499] = 0x8375, [0x349a] = 0x8376, + [0x349b] = 0x8379, [0x349c] = 0x837a, [0x349d] = 0x837e, [0x349e] = 0x837f, + [0x349f] = 0x8380, [0x34a0] = 0x8381, [0x34a1] = 0x8382, [0x34a2] = 0x8383, + [0x34a3] = 0x8384, [0x34a4] = 0x8387, [0x34a5] = 0x8388, [0x34a6] = 0x838a, + [0x34a7] = 0x838b, [0x34a8] = 0x838c, [0x34a9] = 0x838d, [0x34aa] = 0x838f, + [0x34ab] = 0x8390, [0x34ac] = 0x8391, [0x34ad] = 0x8394, [0x34ae] = 0x8395, + [0x34af] = 0x8396, [0x34b0] = 0x8397, [0x34b1] = 0x8399, [0x34b2] = 0x839a, + [0x34b3] = 0x839d, [0x34b4] = 0x839f, [0x34b5] = 0x83a1, [0x34b6] = 0x83a2, + [0x34b7] = 0x83a3, [0x34b8] = 0x83a4, [0x34b9] = 0x83a5, [0x34ba] = 0x83a6, + [0x34bb] = 0x83a7, [0x34bc] = 0x83ac, [0x34bd] = 0x83ad, [0x34be] = 0x83ae, + [0x34c0] = 0x83af, [0x34c1] = 0x83b5, [0x34c2] = 0x83bb, [0x34c3] = 0x83be, + [0x34c4] = 0x83bf, [0x34c5] = 0x83c2, [0x34c6] = 0x83c3, [0x34c7] = 0x83c4, + [0x34c8] = 0x83c6, [0x34c9] = 0x83c8, [0x34ca] = 0x83c9, [0x34cb] = 0x83cb, + [0x34cc] = 0x83cd, [0x34cd] = 0x83ce, [0x34ce] = 0x83d0, [0x34cf] = 0x83d1, + [0x34d0] = 0x83d2, [0x34d1] = 0x83d3, [0x34d2] = 0x83d5, [0x34d3] = 0x83d7, + [0x34d4] = 0x83d9, [0x34d5] = 0x83da, [0x34d6] = 0x83db, [0x34d7] = 0x83de, + [0x34d8] = 0x83e2, [0x34d9] = 0x83e3, [0x34da] = 0x83e4, [0x34db] = 0x83e6, + [0x34dc] = 0x83e7, [0x34dd] = 0x83e8, [0x34de] = 0x83eb, [0x34df] = 0x83ec, + [0x34e0] = 0x83ed, [0x34e1] = 0x6070, [0x34e2] = 0x6d3d, [0x34e3] = 0x7275, + [0x34e4] = 0x6266, [0x34e5] = 0x948e, [0x34e6] = 0x94c5, [0x34e7] = 0x5343, + [0x34e8] = 0x8fc1, [0x34e9] = 0x7b7e, [0x34ea] = 0x4edf, [0x34eb] = 0x8c26, + [0x34ec] = 0x4e7e, [0x34ed] = 0x9ed4, [0x34ee] = 0x94b1, [0x34ef] = 0x94b3, + [0x34f0] = 0x524d, [0x34f1] = 0x6f5c, [0x34f2] = 0x9063, [0x34f3] = 0x6d45, + [0x34f4] = 0x8c34, [0x34f5] = 0x5811, [0x34f6] = 0x5d4c, [0x34f7] = 0x6b20, + [0x34f8] = 0x6b49, [0x34f9] = 0x67aa, [0x34fa] = 0x545b, [0x34fb] = 0x8154, + [0x34fc] = 0x7f8c, [0x34fd] = 0x5899, [0x34fe] = 0x8537, [0x34ff] = 0x5f3a, + [0x3500] = 0x62a2, [0x3501] = 0x6a47, [0x3502] = 0x9539, [0x3503] = 0x6572, + [0x3504] = 0x6084, [0x3505] = 0x6865, [0x3506] = 0x77a7, [0x3507] = 0x4e54, + [0x3508] = 0x4fa8, [0x3509] = 0x5de7, [0x350a] = 0x9798, [0x350b] = 0x64ac, + [0x350c] = 0x7fd8, [0x350d] = 0x5ced, [0x350e] = 0x4fcf, [0x350f] = 0x7a8d, + [0x3510] = 0x5207, [0x3511] = 0x8304, [0x3512] = 0x4e14, [0x3513] = 0x602f, + [0x3514] = 0x7a83, [0x3515] = 0x94a6, [0x3516] = 0x4fb5, [0x3517] = 0x4eb2, + [0x3518] = 0x79e6, [0x3519] = 0x7434, [0x351a] = 0x52e4, [0x351b] = 0x82b9, + [0x351c] = 0x64d2, [0x351d] = 0x79bd, [0x351e] = 0x5bdd, [0x351f] = 0x6c81, + [0x3520] = 0x9752, [0x3521] = 0x8f7b, [0x3522] = 0x6c22, [0x3523] = 0x503e, + [0x3524] = 0x537f, [0x3525] = 0x6e05, [0x3526] = 0x64ce, [0x3527] = 0x6674, + [0x3528] = 0x6c30, [0x3529] = 0x60c5, [0x352a] = 0x9877, [0x352b] = 0x8bf7, + [0x352c] = 0x5e86, [0x352d] = 0x743c, [0x352e] = 0x7a77, [0x352f] = 0x79cb, + [0x3530] = 0x4e18, [0x3531] = 0x90b1, [0x3532] = 0x7403, [0x3533] = 0x6c42, + [0x3534] = 0x56da, [0x3535] = 0x914b, [0x3536] = 0x6cc5, [0x3537] = 0x8d8b, + [0x3538] = 0x533a, [0x3539] = 0x86c6, [0x353a] = 0x66f2, [0x353b] = 0x8eaf, + [0x353c] = 0x5c48, [0x353d] = 0x9a71, [0x353e] = 0x6e20, [0x3540] = 0x83ee, + [0x3541] = 0x83ef, [0x3542] = 0x83f3, [0x3543] = 0x83f4, [0x3544] = 0x83f5, + [0x3545] = 0x83f6, [0x3546] = 0x83f7, [0x3547] = 0x83fa, [0x3548] = 0x83fb, + [0x3549] = 0x83fc, [0x354a] = 0x83fe, [0x354b] = 0x83ff, [0x354c] = 0x8400, + [0x354d] = 0x8402, [0x354e] = 0x8405, [0x354f] = 0x8407, [0x3550] = 0x8408, + [0x3551] = 0x8409, [0x3552] = 0x840a, [0x3553] = 0x8410, [0x3554] = 0x8412, + [0x3555] = 0x8413, [0x3556] = 0x8414, [0x3557] = 0x8415, [0x3558] = 0x8416, + [0x3559] = 0x8417, [0x355a] = 0x8419, [0x355b] = 0x841a, [0x355c] = 0x841b, + [0x355d] = 0x841e, [0x355e] = 0x841f, [0x355f] = 0x8420, [0x3560] = 0x8421, + [0x3561] = 0x8422, [0x3562] = 0x8423, [0x3563] = 0x8429, [0x3564] = 0x842a, + [0x3565] = 0x842b, [0x3566] = 0x842c, [0x3567] = 0x842d, [0x3568] = 0x842e, + [0x3569] = 0x842f, [0x356a] = 0x8430, [0x356b] = 0x8432, [0x356c] = 0x8433, + [0x356d] = 0x8434, [0x356e] = 0x8435, [0x356f] = 0x8436, [0x3570] = 0x8437, + [0x3571] = 0x8439, [0x3572] = 0x843a, [0x3573] = 0x843b, [0x3574] = 0x843e, + [0x3575] = 0x843f, [0x3576] = 0x8440, [0x3577] = 0x8441, [0x3578] = 0x8442, + [0x3579] = 0x8443, [0x357a] = 0x8444, [0x357b] = 0x8445, [0x357c] = 0x8447, + [0x357d] = 0x8448, [0x357e] = 0x8449, [0x3580] = 0x844a, [0x3581] = 0x844b, + [0x3582] = 0x844c, [0x3583] = 0x844d, [0x3584] = 0x844e, [0x3585] = 0x844f, + [0x3586] = 0x8450, [0x3587] = 0x8452, [0x3588] = 0x8453, [0x3589] = 0x8454, + [0x358a] = 0x8455, [0x358b] = 0x8456, [0x358c] = 0x8458, [0x358d] = 0x845d, + [0x358e] = 0x845e, [0x358f] = 0x845f, [0x3590] = 0x8460, [0x3591] = 0x8462, + [0x3592] = 0x8464, [0x3593] = 0x8465, [0x3594] = 0x8466, [0x3595] = 0x8467, + [0x3596] = 0x8468, [0x3597] = 0x846a, [0x3598] = 0x846e, [0x3599] = 0x846f, + [0x359a] = 0x8470, [0x359b] = 0x8472, [0x359c] = 0x8474, [0x359d] = 0x8477, + [0x359e] = 0x8479, [0x359f] = 0x847b, [0x35a0] = 0x847c, [0x35a1] = 0x53d6, + [0x35a2] = 0x5a36, [0x35a3] = 0x9f8b, [0x35a4] = 0x8da3, [0x35a5] = 0x53bb, + [0x35a6] = 0x5708, [0x35a7] = 0x98a7, [0x35a8] = 0x6743, [0x35a9] = 0x919b, + [0x35aa] = 0x6cc9, [0x35ab] = 0x5168, [0x35ac] = 0x75ca, [0x35ad] = 0x62f3, + [0x35ae] = 0x72ac, [0x35af] = 0x5238, [0x35b0] = 0x529d, [0x35b1] = 0x7f3a, + [0x35b2] = 0x7094, [0x35b3] = 0x7638, [0x35b4] = 0x5374, [0x35b5] = 0x9e4a, + [0x35b6] = 0x69b7, [0x35b7] = 0x786e, [0x35b8] = 0x96c0, [0x35b9] = 0x88d9, + [0x35ba] = 0x7fa4, [0x35bb] = 0x7136, [0x35bc] = 0x71c3, [0x35bd] = 0x5189, + [0x35be] = 0x67d3, [0x35bf] = 0x74e4, [0x35c0] = 0x58e4, [0x35c1] = 0x6518, + [0x35c2] = 0x56b7, [0x35c3] = 0x8ba9, [0x35c4] = 0x9976, [0x35c5] = 0x6270, + [0x35c6] = 0x7ed5, [0x35c7] = 0x60f9, [0x35c8] = 0x70ed, [0x35c9] = 0x58ec, + [0x35ca] = 0x4ec1, [0x35cb] = 0x4eba, [0x35cc] = 0x5fcd, [0x35cd] = 0x97e7, + [0x35ce] = 0x4efb, [0x35cf] = 0x8ba4, [0x35d0] = 0x5203, [0x35d1] = 0x598a, + [0x35d2] = 0x7eab, [0x35d3] = 0x6254, [0x35d4] = 0x4ecd, [0x35d5] = 0x65e5, + [0x35d6] = 0x620e, [0x35d7] = 0x8338, [0x35d8] = 0x84c9, [0x35d9] = 0x8363, + [0x35da] = 0x878d, [0x35db] = 0x7194, [0x35dc] = 0x6eb6, [0x35dd] = 0x5bb9, + [0x35de] = 0x7ed2, [0x35df] = 0x5197, [0x35e0] = 0x63c9, [0x35e1] = 0x67d4, + [0x35e2] = 0x8089, [0x35e3] = 0x8339, [0x35e4] = 0x8815, [0x35e5] = 0x5112, + [0x35e6] = 0x5b7a, [0x35e7] = 0x5982, [0x35e8] = 0x8fb1, [0x35e9] = 0x4e73, + [0x35ea] = 0x6c5d, [0x35eb] = 0x5165, [0x35ec] = 0x8925, [0x35ed] = 0x8f6f, + [0x35ee] = 0x962e, [0x35ef] = 0x854a, [0x35f0] = 0x745e, [0x35f1] = 0x9510, + [0x35f2] = 0x95f0, [0x35f3] = 0x6da6, [0x35f4] = 0x82e5, [0x35f5] = 0x5f31, + [0x35f6] = 0x6492, [0x35f7] = 0x6d12, [0x35f8] = 0x8428, [0x35f9] = 0x816e, + [0x35fa] = 0x9cc3, [0x35fb] = 0x585e, [0x35fc] = 0x8d5b, [0x35fd] = 0x4e09, + [0x35fe] = 0x53c1, [0x3600] = 0x847d, [0x3601] = 0x847e, [0x3602] = 0x847f, + [0x3603] = 0x8480, [0x3604] = 0x8481, [0x3605] = 0x8483, [0x3606] = 0x8484, + [0x3607] = 0x8485, [0x3608] = 0x8486, [0x3609] = 0x848a, [0x360a] = 0x848d, + [0x360b] = 0x848f, [0x360c] = 0x8490, [0x360d] = 0x8491, [0x360e] = 0x8492, + [0x360f] = 0x8493, [0x3610] = 0x8494, [0x3611] = 0x8495, [0x3612] = 0x8496, + [0x3613] = 0x8498, [0x3614] = 0x849a, [0x3615] = 0x849b, [0x3616] = 0x849d, + [0x3617] = 0x849e, [0x3618] = 0x849f, [0x3619] = 0x84a0, [0x361a] = 0x84a2, + [0x361b] = 0x84a3, [0x361c] = 0x84a4, [0x361d] = 0x84a5, [0x361e] = 0x84a6, + [0x361f] = 0x84a7, [0x3620] = 0x84a8, [0x3621] = 0x84a9, [0x3622] = 0x84aa, + [0x3623] = 0x84ab, [0x3624] = 0x84ac, [0x3625] = 0x84ad, [0x3626] = 0x84ae, + [0x3627] = 0x84b0, [0x3628] = 0x84b1, [0x3629] = 0x84b3, [0x362a] = 0x84b5, + [0x362b] = 0x84b6, [0x362c] = 0x84b7, [0x362d] = 0x84bb, [0x362e] = 0x84bc, + [0x362f] = 0x84be, [0x3630] = 0x84c0, [0x3631] = 0x84c2, [0x3632] = 0x84c3, + [0x3633] = 0x84c5, [0x3634] = 0x84c6, [0x3635] = 0x84c7, [0x3636] = 0x84c8, + [0x3637] = 0x84cb, [0x3638] = 0x84cc, [0x3639] = 0x84ce, [0x363a] = 0x84cf, + [0x363b] = 0x84d2, [0x363c] = 0x84d4, [0x363d] = 0x84d5, [0x363e] = 0x84d7, + [0x3640] = 0x84d8, [0x3641] = 0x84d9, [0x3642] = 0x84da, [0x3643] = 0x84db, + [0x3644] = 0x84dc, [0x3645] = 0x84de, [0x3646] = 0x84e1, [0x3647] = 0x84e2, + [0x3648] = 0x84e4, [0x3649] = 0x84e7, [0x364a] = 0x84e8, [0x364b] = 0x84e9, + [0x364c] = 0x84ea, [0x364d] = 0x84eb, [0x364e] = 0x84ed, [0x364f] = 0x84ee, + [0x3650] = 0x84ef, [0x3651] = 0x84f1, [0x3652] = 0x84f2, [0x3653] = 0x84f3, + [0x3654] = 0x84f4, [0x3655] = 0x84f5, [0x3656] = 0x84f6, [0x3657] = 0x84f7, + [0x3658] = 0x84f8, [0x3659] = 0x84f9, [0x365a] = 0x84fa, [0x365b] = 0x84fb, + [0x365c] = 0x84fd, [0x365d] = 0x84fe, [0x365e] = 0x8500, [0x365f] = 0x8501, + [0x3660] = 0x8502, [0x3661] = 0x4f1e, [0x3662] = 0x6563, [0x3663] = 0x6851, + [0x3664] = 0x55d3, [0x3665] = 0x4e27, [0x3666] = 0x6414, [0x3667] = 0x9a9a, + [0x3668] = 0x626b, [0x3669] = 0x5ac2, [0x366a] = 0x745f, [0x366b] = 0x8272, + [0x366c] = 0x6da9, [0x366d] = 0x68ee, [0x366e] = 0x50e7, [0x366f] = 0x838e, + [0x3670] = 0x7802, [0x3671] = 0x6740, [0x3672] = 0x5239, [0x3673] = 0x6c99, + [0x3674] = 0x7eb1, [0x3675] = 0x50bb, [0x3676] = 0x5565, [0x3677] = 0x715e, + [0x3678] = 0x7b5b, [0x3679] = 0x6652, [0x367a] = 0x73ca, [0x367b] = 0x82eb, + [0x367c] = 0x6749, [0x367d] = 0x5c71, [0x367e] = 0x5220, [0x367f] = 0x717d, + [0x3680] = 0x886b, [0x3681] = 0x95ea, [0x3682] = 0x9655, [0x3683] = 0x64c5, + [0x3684] = 0x8d61, [0x3685] = 0x81b3, [0x3686] = 0x5584, [0x3687] = 0x6c55, + [0x3688] = 0x6247, [0x3689] = 0x7f2e, [0x368a] = 0x5892, [0x368b] = 0x4f24, + [0x368c] = 0x5546, [0x368d] = 0x8d4f, [0x368e] = 0x664c, [0x368f] = 0x4e0a, + [0x3690] = 0x5c1a, [0x3691] = 0x88f3, [0x3692] = 0x68a2, [0x3693] = 0x634e, + [0x3694] = 0x7a0d, [0x3695] = 0x70e7, [0x3696] = 0x828d, [0x3697] = 0x52fa, + [0x3698] = 0x97f6, [0x3699] = 0x5c11, [0x369a] = 0x54e8, [0x369b] = 0x90b5, + [0x369c] = 0x7ecd, [0x369d] = 0x5962, [0x369e] = 0x8d4a, [0x369f] = 0x86c7, + [0x36a0] = 0x820c, [0x36a1] = 0x820d, [0x36a2] = 0x8d66, [0x36a3] = 0x6444, + [0x36a4] = 0x5c04, [0x36a5] = 0x6151, [0x36a6] = 0x6d89, [0x36a7] = 0x793e, + [0x36a8] = 0x8bbe, [0x36a9] = 0x7837, [0x36aa] = 0x7533, [0x36ab] = 0x547b, + [0x36ac] = 0x4f38, [0x36ad] = 0x8eab, [0x36ae] = 0x6df1, [0x36af] = 0x5a20, + [0x36b0] = 0x7ec5, [0x36b1] = 0x795e, [0x36b2] = 0x6c88, [0x36b3] = 0x5ba1, + [0x36b4] = 0x5a76, [0x36b5] = 0x751a, [0x36b6] = 0x80be, [0x36b7] = 0x614e, + [0x36b8] = 0x6e17, [0x36b9] = 0x58f0, [0x36ba] = 0x751f, [0x36bb] = 0x7525, + [0x36bc] = 0x7272, [0x36bd] = 0x5347, [0x36be] = 0x7ef3, [0x36c0] = 0x8503, + [0x36c1] = 0x8504, [0x36c2] = 0x8505, [0x36c3] = 0x8506, [0x36c4] = 0x8507, + [0x36c5] = 0x8508, [0x36c6] = 0x8509, [0x36c7] = 0x850a, [0x36c8] = 0x850b, + [0x36c9] = 0x850d, [0x36ca] = 0x850e, [0x36cb] = 0x850f, [0x36cc] = 0x8510, + [0x36cd] = 0x8512, [0x36ce] = 0x8514, [0x36cf] = 0x8515, [0x36d0] = 0x8516, + [0x36d1] = 0x8518, [0x36d2] = 0x8519, [0x36d3] = 0x851b, [0x36d4] = 0x851c, + [0x36d5] = 0x851d, [0x36d6] = 0x851e, [0x36d7] = 0x8520, [0x36d8] = 0x8522, + [0x36d9] = 0x8523, [0x36da] = 0x8524, [0x36db] = 0x8525, [0x36dc] = 0x8526, + [0x36dd] = 0x8527, [0x36de] = 0x8528, [0x36df] = 0x8529, [0x36e0] = 0x852a, + [0x36e1] = 0x852d, [0x36e2] = 0x852e, [0x36e3] = 0x852f, [0x36e4] = 0x8530, + [0x36e5] = 0x8531, [0x36e6] = 0x8532, [0x36e7] = 0x8533, [0x36e8] = 0x8534, + [0x36e9] = 0x8535, [0x36ea] = 0x8536, [0x36eb] = 0x853e, [0x36ec] = 0x853f, + [0x36ed] = 0x8540, [0x36ee] = 0x8541, [0x36ef] = 0x8542, [0x36f0] = 0x8544, + [0x36f1] = 0x8545, [0x36f2] = 0x8546, [0x36f3] = 0x8547, [0x36f4] = 0x854b, + [0x36f5] = 0x854c, [0x36f6] = 0x854d, [0x36f7] = 0x854e, [0x36f8] = 0x854f, + [0x36f9] = 0x8550, [0x36fa] = 0x8551, [0x36fb] = 0x8552, [0x36fc] = 0x8553, + [0x36fd] = 0x8554, [0x36fe] = 0x8555, [0x3700] = 0x8557, [0x3701] = 0x8558, + [0x3702] = 0x855a, [0x3703] = 0x855b, [0x3704] = 0x855c, [0x3705] = 0x855d, + [0x3706] = 0x855f, [0x3707] = 0x8560, [0x3708] = 0x8561, [0x3709] = 0x8562, + [0x370a] = 0x8563, [0x370b] = 0x8565, [0x370c] = 0x8566, [0x370d] = 0x8567, + [0x370e] = 0x8569, [0x370f] = 0x856a, [0x3710] = 0x856b, [0x3711] = 0x856c, + [0x3712] = 0x856d, [0x3713] = 0x856e, [0x3714] = 0x856f, [0x3715] = 0x8570, + [0x3716] = 0x8571, [0x3717] = 0x8573, [0x3718] = 0x8575, [0x3719] = 0x8576, + [0x371a] = 0x8577, [0x371b] = 0x8578, [0x371c] = 0x857c, [0x371d] = 0x857d, + [0x371e] = 0x857f, [0x371f] = 0x8580, [0x3720] = 0x8581, [0x3721] = 0x7701, + [0x3722] = 0x76db, [0x3723] = 0x5269, [0x3724] = 0x80dc, [0x3725] = 0x5723, + [0x3726] = 0x5e08, [0x3727] = 0x5931, [0x3728] = 0x72ee, [0x3729] = 0x65bd, + [0x372a] = 0x6e7f, [0x372b] = 0x8bd7, [0x372c] = 0x5c38, [0x372d] = 0x8671, + [0x372e] = 0x5341, [0x372f] = 0x77f3, [0x3730] = 0x62fe, [0x3731] = 0x65f6, + [0x3732] = 0x4ec0, [0x3733] = 0x98df, [0x3734] = 0x8680, [0x3735] = 0x5b9e, + [0x3736] = 0x8bc6, [0x3737] = 0x53f2, [0x3738] = 0x77e2, [0x3739] = 0x4f7f, + [0x373a] = 0x5c4e, [0x373b] = 0x9a76, [0x373c] = 0x59cb, [0x373d] = 0x5f0f, + [0x373e] = 0x793a, [0x373f] = 0x58eb, [0x3740] = 0x4e16, [0x3741] = 0x67ff, + [0x3742] = 0x4e8b, [0x3743] = 0x62ed, [0x3744] = 0x8a93, [0x3745] = 0x901d, + [0x3746] = 0x52bf, [0x3747] = 0x662f, [0x3748] = 0x55dc, [0x3749] = 0x566c, + [0x374a] = 0x9002, [0x374b] = 0x4ed5, [0x374c] = 0x4f8d, [0x374d] = 0x91ca, + [0x374e] = 0x9970, [0x374f] = 0x6c0f, [0x3750] = 0x5e02, [0x3751] = 0x6043, + [0x3752] = 0x5ba4, [0x3753] = 0x89c6, [0x3754] = 0x8bd5, [0x3755] = 0x6536, + [0x3756] = 0x624b, [0x3757] = 0x9996, [0x3758] = 0x5b88, [0x3759] = 0x5bff, + [0x375a] = 0x6388, [0x375b] = 0x552e, [0x375c] = 0x53d7, [0x375d] = 0x7626, + [0x375e] = 0x517d, [0x375f] = 0x852c, [0x3760] = 0x67a2, [0x3761] = 0x68b3, + [0x3762] = 0x6b8a, [0x3763] = 0x6292, [0x3764] = 0x8f93, [0x3765] = 0x53d4, + [0x3766] = 0x8212, [0x3767] = 0x6dd1, [0x3768] = 0x758f, [0x3769] = 0x4e66, + [0x376a] = 0x8d4e, [0x376b] = 0x5b70, [0x376c] = 0x719f, [0x376d] = 0x85af, + [0x376e] = 0x6691, [0x376f] = 0x66d9, [0x3770] = 0x7f72, [0x3771] = 0x8700, + [0x3772] = 0x9ecd, [0x3773] = 0x9f20, [0x3774] = 0x5c5e, [0x3775] = 0x672f, + [0x3776] = 0x8ff0, [0x3777] = 0x6811, [0x3778] = 0x675f, [0x3779] = 0x620d, + [0x377a] = 0x7ad6, [0x377b] = 0x5885, [0x377c] = 0x5eb6, [0x377d] = 0x6570, + [0x377e] = 0x6f31, [0x3780] = 0x8582, [0x3781] = 0x8583, [0x3782] = 0x8586, + [0x3783] = 0x8588, [0x3784] = 0x8589, [0x3785] = 0x858a, [0x3786] = 0x858b, + [0x3787] = 0x858c, [0x3788] = 0x858d, [0x3789] = 0x858e, [0x378a] = 0x8590, + [0x378b] = 0x8591, [0x378c] = 0x8592, [0x378d] = 0x8593, [0x378e] = 0x8594, + [0x378f] = 0x8595, [0x3790] = 0x8596, [0x3791] = 0x8597, [0x3792] = 0x8598, + [0x3793] = 0x8599, [0x3794] = 0x859a, [0x3795] = 0x859d, [0x3796] = 0x859e, + [0x3797] = 0x859f, [0x3798] = 0x85a0, [0x3799] = 0x85a1, [0x379a] = 0x85a2, + [0x379b] = 0x85a3, [0x379c] = 0x85a5, [0x379d] = 0x85a6, [0x379e] = 0x85a7, + [0x379f] = 0x85a9, [0x37a0] = 0x85ab, [0x37a1] = 0x85ac, [0x37a2] = 0x85ad, + [0x37a3] = 0x85b1, [0x37a4] = 0x85b2, [0x37a5] = 0x85b3, [0x37a6] = 0x85b4, + [0x37a7] = 0x85b5, [0x37a8] = 0x85b6, [0x37a9] = 0x85b8, [0x37aa] = 0x85ba, + [0x37ab] = 0x85bb, [0x37ac] = 0x85bc, [0x37ad] = 0x85bd, [0x37ae] = 0x85be, + [0x37af] = 0x85bf, [0x37b0] = 0x85c0, [0x37b1] = 0x85c2, [0x37b2] = 0x85c3, + [0x37b3] = 0x85c4, [0x37b4] = 0x85c5, [0x37b5] = 0x85c6, [0x37b6] = 0x85c7, + [0x37b7] = 0x85c8, [0x37b8] = 0x85ca, [0x37b9] = 0x85cb, [0x37ba] = 0x85cc, + [0x37bb] = 0x85cd, [0x37bc] = 0x85ce, [0x37bd] = 0x85d1, [0x37be] = 0x85d2, + [0x37c0] = 0x85d4, [0x37c1] = 0x85d6, [0x37c2] = 0x85d7, [0x37c3] = 0x85d8, + [0x37c4] = 0x85d9, [0x37c5] = 0x85da, [0x37c6] = 0x85db, [0x37c7] = 0x85dd, + [0x37c8] = 0x85de, [0x37c9] = 0x85df, [0x37ca] = 0x85e0, [0x37cb] = 0x85e1, + [0x37cc] = 0x85e2, [0x37cd] = 0x85e3, [0x37ce] = 0x85e5, [0x37cf] = 0x85e6, + [0x37d0] = 0x85e7, [0x37d1] = 0x85e8, [0x37d2] = 0x85ea, [0x37d3] = 0x85eb, + [0x37d4] = 0x85ec, [0x37d5] = 0x85ed, [0x37d6] = 0x85ee, [0x37d7] = 0x85ef, + [0x37d8] = 0x85f0, [0x37d9] = 0x85f1, [0x37da] = 0x85f2, [0x37db] = 0x85f3, + [0x37dc] = 0x85f4, [0x37dd] = 0x85f5, [0x37de] = 0x85f6, [0x37df] = 0x85f7, + [0x37e0] = 0x85f8, [0x37e1] = 0x6055, [0x37e2] = 0x5237, [0x37e3] = 0x800d, + [0x37e4] = 0x6454, [0x37e5] = 0x8870, [0x37e6] = 0x7529, [0x37e7] = 0x5e05, + [0x37e8] = 0x6813, [0x37e9] = 0x62f4, [0x37ea] = 0x971c, [0x37eb] = 0x53cc, + [0x37ec] = 0x723d, [0x37ed] = 0x8c01, [0x37ee] = 0x6c34, [0x37ef] = 0x7761, + [0x37f0] = 0x7a0e, [0x37f1] = 0x542e, [0x37f2] = 0x77ac, [0x37f3] = 0x987a, + [0x37f4] = 0x821c, [0x37f5] = 0x8bf4, [0x37f6] = 0x7855, [0x37f7] = 0x6714, + [0x37f8] = 0x70c1, [0x37f9] = 0x65af, [0x37fa] = 0x6495, [0x37fb] = 0x5636, + [0x37fc] = 0x601d, [0x37fd] = 0x79c1, [0x37fe] = 0x53f8, [0x37ff] = 0x4e1d, + [0x3800] = 0x6b7b, [0x3801] = 0x8086, [0x3802] = 0x5bfa, [0x3803] = 0x55e3, + [0x3804] = 0x56db, [0x3805] = 0x4f3a, [0x3806] = 0x4f3c, [0x3807] = 0x9972, + [0x3808] = 0x5df3, [0x3809] = 0x677e, [0x380a] = 0x8038, [0x380b] = 0x6002, + [0x380c] = 0x9882, [0x380d] = 0x9001, [0x380e] = 0x5b8b, [0x380f] = 0x8bbc, + [0x3810] = 0x8bf5, [0x3811] = 0x641c, [0x3812] = 0x8258, [0x3813] = 0x64de, + [0x3814] = 0x55fd, [0x3815] = 0x82cf, [0x3816] = 0x9165, [0x3817] = 0x4fd7, + [0x3818] = 0x7d20, [0x3819] = 0x901f, [0x381a] = 0x7c9f, [0x381b] = 0x50f3, + [0x381c] = 0x5851, [0x381d] = 0x6eaf, [0x381e] = 0x5bbf, [0x381f] = 0x8bc9, + [0x3820] = 0x8083, [0x3821] = 0x9178, [0x3822] = 0x849c, [0x3823] = 0x7b97, + [0x3824] = 0x867d, [0x3825] = 0x968b, [0x3826] = 0x968f, [0x3827] = 0x7ee5, + [0x3828] = 0x9ad3, [0x3829] = 0x788e, [0x382a] = 0x5c81, [0x382b] = 0x7a57, + [0x382c] = 0x9042, [0x382d] = 0x96a7, [0x382e] = 0x795f, [0x382f] = 0x5b59, + [0x3830] = 0x635f, [0x3831] = 0x7b0b, [0x3832] = 0x84d1, [0x3833] = 0x68ad, + [0x3834] = 0x5506, [0x3835] = 0x7f29, [0x3836] = 0x7410, [0x3837] = 0x7d22, + [0x3838] = 0x9501, [0x3839] = 0x6240, [0x383a] = 0x584c, [0x383b] = 0x4ed6, + [0x383c] = 0x5b83, [0x383d] = 0x5979, [0x383e] = 0x5854, [0x3840] = 0x85f9, + [0x3841] = 0x85fa, [0x3842] = 0x85fc, [0x3843] = 0x85fd, [0x3844] = 0x85fe, + [0x3845] = 0x8600, [0x3846] = 0x8601, [0x3847] = 0x8602, [0x3848] = 0x8603, + [0x3849] = 0x8604, [0x384a] = 0x8606, [0x384b] = 0x8607, [0x384c] = 0x8608, + [0x384d] = 0x8609, [0x384e] = 0x860a, [0x384f] = 0x860b, [0x3850] = 0x860c, + [0x3851] = 0x860d, [0x3852] = 0x860e, [0x3853] = 0x860f, [0x3854] = 0x8610, + [0x3855] = 0x8612, [0x3856] = 0x8613, [0x3857] = 0x8614, [0x3858] = 0x8615, + [0x3859] = 0x8617, [0x385a] = 0x8618, [0x385b] = 0x8619, [0x385c] = 0x861a, + [0x385d] = 0x861b, [0x385e] = 0x861c, [0x385f] = 0x861d, [0x3860] = 0x861e, + [0x3861] = 0x861f, [0x3862] = 0x8620, [0x3863] = 0x8621, [0x3864] = 0x8622, + [0x3865] = 0x8623, [0x3866] = 0x8624, [0x3867] = 0x8625, [0x3868] = 0x8626, + [0x3869] = 0x8628, [0x386a] = 0x862a, [0x386b] = 0x862b, [0x386c] = 0x862c, + [0x386d] = 0x862d, [0x386e] = 0x862e, [0x386f] = 0x862f, [0x3870] = 0x8630, + [0x3871] = 0x8631, [0x3872] = 0x8632, [0x3873] = 0x8633, [0x3874] = 0x8634, + [0x3875] = 0x8635, [0x3876] = 0x8636, [0x3877] = 0x8637, [0x3878] = 0x8639, + [0x3879] = 0x863a, [0x387a] = 0x863b, [0x387b] = 0x863d, [0x387c] = 0x863e, + [0x387d] = 0x863f, [0x387e] = 0x8640, [0x3880] = 0x8641, [0x3881] = 0x8642, + [0x3882] = 0x8643, [0x3883] = 0x8644, [0x3884] = 0x8645, [0x3885] = 0x8646, + [0x3886] = 0x8647, [0x3887] = 0x8648, [0x3888] = 0x8649, [0x3889] = 0x864a, + [0x388a] = 0x864b, [0x388b] = 0x864c, [0x388c] = 0x8652, [0x388d] = 0x8653, + [0x388e] = 0x8655, [0x388f] = 0x8656, [0x3890] = 0x8657, [0x3891] = 0x8658, + [0x3892] = 0x8659, [0x3893] = 0x865b, [0x3894] = 0x865c, [0x3895] = 0x865d, + [0x3896] = 0x865f, [0x3897] = 0x8660, [0x3898] = 0x8661, [0x3899] = 0x8663, + [0x389a] = 0x8664, [0x389b] = 0x8665, [0x389c] = 0x8666, [0x389d] = 0x8667, + [0x389e] = 0x8668, [0x389f] = 0x8669, [0x38a0] = 0x866a, [0x38a1] = 0x736d, + [0x38a2] = 0x631e, [0x38a3] = 0x8e4b, [0x38a4] = 0x8e0f, [0x38a5] = 0x80ce, + [0x38a6] = 0x82d4, [0x38a7] = 0x62ac, [0x38a8] = 0x53f0, [0x38a9] = 0x6cf0, + [0x38aa] = 0x915e, [0x38ab] = 0x592a, [0x38ac] = 0x6001, [0x38ad] = 0x6c70, + [0x38ae] = 0x574d, [0x38af] = 0x644a, [0x38b0] = 0x8d2a, [0x38b1] = 0x762b, + [0x38b2] = 0x6ee9, [0x38b3] = 0x575b, [0x38b4] = 0x6a80, [0x38b5] = 0x75f0, + [0x38b6] = 0x6f6d, [0x38b7] = 0x8c2d, [0x38b8] = 0x8c08, [0x38b9] = 0x5766, + [0x38ba] = 0x6bef, [0x38bb] = 0x8892, [0x38bc] = 0x78b3, [0x38bd] = 0x63a2, + [0x38be] = 0x53f9, [0x38bf] = 0x70ad, [0x38c0] = 0x6c64, [0x38c1] = 0x5858, + [0x38c2] = 0x642a, [0x38c3] = 0x5802, [0x38c4] = 0x68e0, [0x38c5] = 0x819b, + [0x38c6] = 0x5510, [0x38c7] = 0x7cd6, [0x38c8] = 0x5018, [0x38c9] = 0x8eba, + [0x38ca] = 0x6dcc, [0x38cb] = 0x8d9f, [0x38cc] = 0x70eb, [0x38cd] = 0x638f, + [0x38ce] = 0x6d9b, [0x38cf] = 0x6ed4, [0x38d0] = 0x7ee6, [0x38d1] = 0x8404, + [0x38d2] = 0x6843, [0x38d3] = 0x9003, [0x38d4] = 0x6dd8, [0x38d5] = 0x9676, + [0x38d6] = 0x8ba8, [0x38d7] = 0x5957, [0x38d8] = 0x7279, [0x38d9] = 0x85e4, + [0x38da] = 0x817e, [0x38db] = 0x75bc, [0x38dc] = 0x8a8a, [0x38dd] = 0x68af, + [0x38de] = 0x5254, [0x38df] = 0x8e22, [0x38e0] = 0x9511, [0x38e1] = 0x63d0, + [0x38e2] = 0x9898, [0x38e3] = 0x8e44, [0x38e4] = 0x557c, [0x38e5] = 0x4f53, + [0x38e6] = 0x66ff, [0x38e7] = 0x568f, [0x38e8] = 0x60d5, [0x38e9] = 0x6d95, + [0x38ea] = 0x5243, [0x38eb] = 0x5c49, [0x38ec] = 0x5929, [0x38ed] = 0x6dfb, + [0x38ee] = 0x586b, [0x38ef] = 0x7530, [0x38f0] = 0x751c, [0x38f1] = 0x606c, + [0x38f2] = 0x8214, [0x38f3] = 0x8146, [0x38f4] = 0x6311, [0x38f5] = 0x6761, + [0x38f6] = 0x8fe2, [0x38f7] = 0x773a, [0x38f8] = 0x8df3, [0x38f9] = 0x8d34, + [0x38fa] = 0x94c1, [0x38fb] = 0x5e16, [0x38fc] = 0x5385, [0x38fd] = 0x542c, + [0x38fe] = 0x70c3, [0x3900] = 0x866d, [0x3901] = 0x866f, [0x3902] = 0x8670, + [0x3903] = 0x8672, [0x3904] = 0x8673, [0x3905] = 0x8674, [0x3906] = 0x8675, + [0x3907] = 0x8676, [0x3908] = 0x8677, [0x3909] = 0x8678, [0x390a] = 0x8683, + [0x390b] = 0x8684, [0x390c] = 0x8685, [0x390d] = 0x8686, [0x390e] = 0x8687, + [0x390f] = 0x8688, [0x3910] = 0x8689, [0x3911] = 0x868e, [0x3912] = 0x868f, + [0x3913] = 0x8690, [0x3914] = 0x8691, [0x3915] = 0x8692, [0x3916] = 0x8694, + [0x3917] = 0x8696, [0x3918] = 0x8697, [0x3919] = 0x8698, [0x391a] = 0x8699, + [0x391b] = 0x869a, [0x391c] = 0x869b, [0x391d] = 0x869e, [0x391e] = 0x869f, + [0x391f] = 0x86a0, [0x3920] = 0x86a1, [0x3921] = 0x86a2, [0x3922] = 0x86a5, + [0x3923] = 0x86a6, [0x3924] = 0x86ab, [0x3925] = 0x86ad, [0x3926] = 0x86ae, + [0x3927] = 0x86b2, [0x3928] = 0x86b3, [0x3929] = 0x86b7, [0x392a] = 0x86b8, + [0x392b] = 0x86b9, [0x392c] = 0x86bb, [0x392d] = 0x86bc, [0x392e] = 0x86bd, + [0x392f] = 0x86be, [0x3930] = 0x86bf, [0x3931] = 0x86c1, [0x3932] = 0x86c2, + [0x3933] = 0x86c3, [0x3934] = 0x86c5, [0x3935] = 0x86c8, [0x3936] = 0x86cc, + [0x3937] = 0x86cd, [0x3938] = 0x86d2, [0x3939] = 0x86d3, [0x393a] = 0x86d5, + [0x393b] = 0x86d6, [0x393c] = 0x86d7, [0x393d] = 0x86da, [0x393e] = 0x86dc, + [0x3940] = 0x86dd, [0x3941] = 0x86e0, [0x3942] = 0x86e1, [0x3943] = 0x86e2, + [0x3944] = 0x86e3, [0x3945] = 0x86e5, [0x3946] = 0x86e6, [0x3947] = 0x86e7, + [0x3948] = 0x86e8, [0x3949] = 0x86ea, [0x394a] = 0x86eb, [0x394b] = 0x86ec, + [0x394c] = 0x86ef, [0x394d] = 0x86f5, [0x394e] = 0x86f6, [0x394f] = 0x86f7, + [0x3950] = 0x86fa, [0x3951] = 0x86fb, [0x3952] = 0x86fc, [0x3953] = 0x86fd, + [0x3954] = 0x86ff, [0x3955] = 0x8701, [0x3956] = 0x8704, [0x3957] = 0x8705, + [0x3958] = 0x8706, [0x3959] = 0x870b, [0x395a] = 0x870c, [0x395b] = 0x870e, + [0x395c] = 0x870f, [0x395d] = 0x8710, [0x395e] = 0x8711, [0x395f] = 0x8714, + [0x3960] = 0x8716, [0x3961] = 0x6c40, [0x3962] = 0x5ef7, [0x3963] = 0x505c, + [0x3964] = 0x4ead, [0x3965] = 0x5ead, [0x3966] = 0x633a, [0x3967] = 0x8247, + [0x3968] = 0x901a, [0x3969] = 0x6850, [0x396a] = 0x916e, [0x396b] = 0x77b3, + [0x396c] = 0x540c, [0x396d] = 0x94dc, [0x396e] = 0x5f64, [0x396f] = 0x7ae5, + [0x3970] = 0x6876, [0x3971] = 0x6345, [0x3972] = 0x7b52, [0x3973] = 0x7edf, + [0x3974] = 0x75db, [0x3975] = 0x5077, [0x3976] = 0x6295, [0x3977] = 0x5934, + [0x3978] = 0x900f, [0x3979] = 0x51f8, [0x397a] = 0x79c3, [0x397b] = 0x7a81, + [0x397c] = 0x56fe, [0x397d] = 0x5f92, [0x397e] = 0x9014, [0x397f] = 0x6d82, + [0x3980] = 0x5c60, [0x3981] = 0x571f, [0x3982] = 0x5410, [0x3983] = 0x5154, + [0x3984] = 0x6e4d, [0x3985] = 0x56e2, [0x3986] = 0x63a8, [0x3987] = 0x9893, + [0x3988] = 0x817f, [0x3989] = 0x8715, [0x398a] = 0x892a, [0x398b] = 0x9000, + [0x398c] = 0x541e, [0x398d] = 0x5c6f, [0x398e] = 0x81c0, [0x398f] = 0x62d6, + [0x3990] = 0x6258, [0x3991] = 0x8131, [0x3992] = 0x9e35, [0x3993] = 0x9640, + [0x3994] = 0x9a6e, [0x3995] = 0x9a7c, [0x3996] = 0x692d, [0x3997] = 0x59a5, + [0x3998] = 0x62d3, [0x3999] = 0x553e, [0x399a] = 0x6316, [0x399b] = 0x54c7, + [0x399c] = 0x86d9, [0x399d] = 0x6d3c, [0x399e] = 0x5a03, [0x399f] = 0x74e6, + [0x39a0] = 0x889c, [0x39a1] = 0x6b6a, [0x39a2] = 0x5916, [0x39a3] = 0x8c4c, + [0x39a4] = 0x5f2f, [0x39a5] = 0x6e7e, [0x39a6] = 0x73a9, [0x39a7] = 0x987d, + [0x39a8] = 0x4e38, [0x39a9] = 0x70f7, [0x39aa] = 0x5b8c, [0x39ab] = 0x7897, + [0x39ac] = 0x633d, [0x39ad] = 0x665a, [0x39ae] = 0x7696, [0x39af] = 0x60cb, + [0x39b0] = 0x5b9b, [0x39b1] = 0x5a49, [0x39b2] = 0x4e07, [0x39b3] = 0x8155, + [0x39b4] = 0x6c6a, [0x39b5] = 0x738b, [0x39b6] = 0x4ea1, [0x39b7] = 0x6789, + [0x39b8] = 0x7f51, [0x39b9] = 0x5f80, [0x39ba] = 0x65fa, [0x39bb] = 0x671b, + [0x39bc] = 0x5fd8, [0x39bd] = 0x5984, [0x39be] = 0x5a01, [0x39c0] = 0x8719, + [0x39c1] = 0x871b, [0x39c2] = 0x871d, [0x39c3] = 0x871f, [0x39c4] = 0x8720, + [0x39c5] = 0x8724, [0x39c6] = 0x8726, [0x39c7] = 0x8727, [0x39c8] = 0x8728, + [0x39c9] = 0x872a, [0x39ca] = 0x872b, [0x39cb] = 0x872c, [0x39cc] = 0x872d, + [0x39cd] = 0x872f, [0x39ce] = 0x8730, [0x39cf] = 0x8732, [0x39d0] = 0x8733, + [0x39d1] = 0x8735, [0x39d2] = 0x8736, [0x39d3] = 0x8738, [0x39d4] = 0x8739, + [0x39d5] = 0x873a, [0x39d6] = 0x873c, [0x39d7] = 0x873d, [0x39d8] = 0x8740, + [0x39d9] = 0x8741, [0x39da] = 0x8742, [0x39db] = 0x8743, [0x39dc] = 0x8744, + [0x39dd] = 0x8745, [0x39de] = 0x8746, [0x39df] = 0x874a, [0x39e0] = 0x874b, + [0x39e1] = 0x874d, [0x39e2] = 0x874f, [0x39e3] = 0x8750, [0x39e4] = 0x8751, + [0x39e5] = 0x8752, [0x39e6] = 0x8754, [0x39e7] = 0x8755, [0x39e8] = 0x8756, + [0x39e9] = 0x8758, [0x39ea] = 0x875a, [0x39eb] = 0x875b, [0x39ec] = 0x875c, + [0x39ed] = 0x875d, [0x39ee] = 0x875e, [0x39ef] = 0x875f, [0x39f0] = 0x8761, + [0x39f1] = 0x8762, [0x39f2] = 0x8766, [0x39f3] = 0x8767, [0x39f4] = 0x8768, + [0x39f5] = 0x8769, [0x39f6] = 0x876a, [0x39f7] = 0x876b, [0x39f8] = 0x876c, + [0x39f9] = 0x876d, [0x39fa] = 0x876f, [0x39fb] = 0x8771, [0x39fc] = 0x8772, + [0x39fd] = 0x8773, [0x39fe] = 0x8775, [0x3a00] = 0x8777, [0x3a01] = 0x8778, + [0x3a02] = 0x8779, [0x3a03] = 0x877a, [0x3a04] = 0x877f, [0x3a05] = 0x8780, + [0x3a06] = 0x8781, [0x3a07] = 0x8784, [0x3a08] = 0x8786, [0x3a09] = 0x8787, + [0x3a0a] = 0x8789, [0x3a0b] = 0x878a, [0x3a0c] = 0x878c, [0x3a0d] = 0x878e, + [0x3a0e] = 0x878f, [0x3a0f] = 0x8790, [0x3a10] = 0x8791, [0x3a11] = 0x8792, + [0x3a12] = 0x8794, [0x3a13] = 0x8795, [0x3a14] = 0x8796, [0x3a15] = 0x8798, + [0x3a16] = 0x8799, [0x3a17] = 0x879a, [0x3a18] = 0x879b, [0x3a19] = 0x879c, + [0x3a1a] = 0x879d, [0x3a1b] = 0x879e, [0x3a1c] = 0x87a0, [0x3a1d] = 0x87a1, + [0x3a1e] = 0x87a2, [0x3a1f] = 0x87a3, [0x3a20] = 0x87a4, [0x3a21] = 0x5dcd, + [0x3a22] = 0x5fae, [0x3a23] = 0x5371, [0x3a24] = 0x97e6, [0x3a25] = 0x8fdd, + [0x3a26] = 0x6845, [0x3a27] = 0x56f4, [0x3a28] = 0x552f, [0x3a29] = 0x60df, + [0x3a2a] = 0x4e3a, [0x3a2b] = 0x6f4d, [0x3a2c] = 0x7ef4, [0x3a2d] = 0x82c7, + [0x3a2e] = 0x840e, [0x3a2f] = 0x59d4, [0x3a30] = 0x4f1f, [0x3a31] = 0x4f2a, + [0x3a32] = 0x5c3e, [0x3a33] = 0x7eac, [0x3a34] = 0x672a, [0x3a35] = 0x851a, + [0x3a36] = 0x5473, [0x3a37] = 0x754f, [0x3a38] = 0x80c3, [0x3a39] = 0x5582, + [0x3a3a] = 0x9b4f, [0x3a3b] = 0x4f4d, [0x3a3c] = 0x6e2d, [0x3a3d] = 0x8c13, + [0x3a3e] = 0x5c09, [0x3a3f] = 0x6170, [0x3a40] = 0x536b, [0x3a41] = 0x761f, + [0x3a42] = 0x6e29, [0x3a43] = 0x868a, [0x3a44] = 0x6587, [0x3a45] = 0x95fb, + [0x3a46] = 0x7eb9, [0x3a47] = 0x543b, [0x3a48] = 0x7a33, [0x3a49] = 0x7d0a, + [0x3a4a] = 0x95ee, [0x3a4b] = 0x55e1, [0x3a4c] = 0x7fc1, [0x3a4d] = 0x74ee, + [0x3a4e] = 0x631d, [0x3a4f] = 0x8717, [0x3a50] = 0x6da1, [0x3a51] = 0x7a9d, + [0x3a52] = 0x6211, [0x3a53] = 0x65a1, [0x3a54] = 0x5367, [0x3a55] = 0x63e1, + [0x3a56] = 0x6c83, [0x3a57] = 0x5deb, [0x3a58] = 0x545c, [0x3a59] = 0x94a8, + [0x3a5a] = 0x4e4c, [0x3a5b] = 0x6c61, [0x3a5c] = 0x8bec, [0x3a5d] = 0x5c4b, + [0x3a5e] = 0x65e0, [0x3a5f] = 0x829c, [0x3a60] = 0x68a7, [0x3a61] = 0x543e, + [0x3a62] = 0x5434, [0x3a63] = 0x6bcb, [0x3a64] = 0x6b66, [0x3a65] = 0x4e94, + [0x3a66] = 0x6342, [0x3a67] = 0x5348, [0x3a68] = 0x821e, [0x3a69] = 0x4f0d, + [0x3a6a] = 0x4fae, [0x3a6b] = 0x575e, [0x3a6c] = 0x620a, [0x3a6d] = 0x96fe, + [0x3a6e] = 0x6664, [0x3a6f] = 0x7269, [0x3a70] = 0x52ff, [0x3a71] = 0x52a1, + [0x3a72] = 0x609f, [0x3a73] = 0x8bef, [0x3a74] = 0x6614, [0x3a75] = 0x7199, + [0x3a76] = 0x6790, [0x3a77] = 0x897f, [0x3a78] = 0x7852, [0x3a79] = 0x77fd, + [0x3a7a] = 0x6670, [0x3a7b] = 0x563b, [0x3a7c] = 0x5438, [0x3a7d] = 0x9521, + [0x3a7e] = 0x727a, [0x3a80] = 0x87a5, [0x3a81] = 0x87a6, [0x3a82] = 0x87a7, + [0x3a83] = 0x87a9, [0x3a84] = 0x87aa, [0x3a85] = 0x87ae, [0x3a86] = 0x87b0, + [0x3a87] = 0x87b1, [0x3a88] = 0x87b2, [0x3a89] = 0x87b4, [0x3a8a] = 0x87b6, + [0x3a8b] = 0x87b7, [0x3a8c] = 0x87b8, [0x3a8d] = 0x87b9, [0x3a8e] = 0x87bb, + [0x3a8f] = 0x87bc, [0x3a90] = 0x87be, [0x3a91] = 0x87bf, [0x3a92] = 0x87c1, + [0x3a93] = 0x87c2, [0x3a94] = 0x87c3, [0x3a95] = 0x87c4, [0x3a96] = 0x87c5, + [0x3a97] = 0x87c7, [0x3a98] = 0x87c8, [0x3a99] = 0x87c9, [0x3a9a] = 0x87cc, + [0x3a9b] = 0x87cd, [0x3a9c] = 0x87ce, [0x3a9d] = 0x87cf, [0x3a9e] = 0x87d0, + [0x3a9f] = 0x87d4, [0x3aa0] = 0x87d5, [0x3aa1] = 0x87d6, [0x3aa2] = 0x87d7, + [0x3aa3] = 0x87d8, [0x3aa4] = 0x87d9, [0x3aa5] = 0x87da, [0x3aa6] = 0x87dc, + [0x3aa7] = 0x87dd, [0x3aa8] = 0x87de, [0x3aa9] = 0x87df, [0x3aaa] = 0x87e1, + [0x3aab] = 0x87e2, [0x3aac] = 0x87e3, [0x3aad] = 0x87e4, [0x3aae] = 0x87e6, + [0x3aaf] = 0x87e7, [0x3ab0] = 0x87e8, [0x3ab1] = 0x87e9, [0x3ab2] = 0x87eb, + [0x3ab3] = 0x87ec, [0x3ab4] = 0x87ed, [0x3ab5] = 0x87ef, [0x3ab6] = 0x87f0, + [0x3ab7] = 0x87f1, [0x3ab8] = 0x87f2, [0x3ab9] = 0x87f3, [0x3aba] = 0x87f4, + [0x3abb] = 0x87f5, [0x3abc] = 0x87f6, [0x3abd] = 0x87f7, [0x3abe] = 0x87f8, + [0x3ac0] = 0x87fa, [0x3ac1] = 0x87fb, [0x3ac2] = 0x87fc, [0x3ac3] = 0x87fd, + [0x3ac4] = 0x87ff, [0x3ac5] = 0x8800, [0x3ac6] = 0x8801, [0x3ac7] = 0x8802, + [0x3ac8] = 0x8804, [0x3ac9] = 0x8805, [0x3aca] = 0x8806, [0x3acb] = 0x8807, + [0x3acc] = 0x8808, [0x3acd] = 0x8809, [0x3ace] = 0x880b, [0x3acf] = 0x880c, + [0x3ad0] = 0x880d, [0x3ad1] = 0x880e, [0x3ad2] = 0x880f, [0x3ad3] = 0x8810, + [0x3ad4] = 0x8811, [0x3ad5] = 0x8812, [0x3ad6] = 0x8814, [0x3ad7] = 0x8817, + [0x3ad8] = 0x8818, [0x3ad9] = 0x8819, [0x3ada] = 0x881a, [0x3adb] = 0x881c, + [0x3adc] = 0x881d, [0x3add] = 0x881e, [0x3ade] = 0x881f, [0x3adf] = 0x8820, + [0x3ae0] = 0x8823, [0x3ae1] = 0x7a00, [0x3ae2] = 0x606f, [0x3ae3] = 0x5e0c, + [0x3ae4] = 0x6089, [0x3ae5] = 0x819d, [0x3ae6] = 0x5915, [0x3ae7] = 0x60dc, + [0x3ae8] = 0x7184, [0x3ae9] = 0x70ef, [0x3aea] = 0x6eaa, [0x3aeb] = 0x6c50, + [0x3aec] = 0x7280, [0x3aed] = 0x6a84, [0x3aee] = 0x88ad, [0x3aef] = 0x5e2d, + [0x3af0] = 0x4e60, [0x3af1] = 0x5ab3, [0x3af2] = 0x559c, [0x3af3] = 0x94e3, + [0x3af4] = 0x6d17, [0x3af5] = 0x7cfb, [0x3af6] = 0x9699, [0x3af7] = 0x620f, + [0x3af8] = 0x7ec6, [0x3af9] = 0x778e, [0x3afa] = 0x867e, [0x3afb] = 0x5323, + [0x3afc] = 0x971e, [0x3afd] = 0x8f96, [0x3afe] = 0x6687, [0x3aff] = 0x5ce1, + [0x3b00] = 0x4fa0, [0x3b01] = 0x72ed, [0x3b02] = 0x4e0b, [0x3b03] = 0x53a6, + [0x3b04] = 0x590f, [0x3b05] = 0x5413, [0x3b06] = 0x6380, [0x3b07] = 0x9528, + [0x3b08] = 0x5148, [0x3b09] = 0x4ed9, [0x3b0a] = 0x9c9c, [0x3b0b] = 0x7ea4, + [0x3b0c] = 0x54b8, [0x3b0d] = 0x8d24, [0x3b0e] = 0x8854, [0x3b0f] = 0x8237, + [0x3b10] = 0x95f2, [0x3b11] = 0x6d8e, [0x3b12] = 0x5f26, [0x3b13] = 0x5acc, + [0x3b14] = 0x663e, [0x3b15] = 0x9669, [0x3b16] = 0x73b0, [0x3b17] = 0x732e, + [0x3b18] = 0x53bf, [0x3b19] = 0x817a, [0x3b1a] = 0x9985, [0x3b1b] = 0x7fa1, + [0x3b1c] = 0x5baa, [0x3b1d] = 0x9677, [0x3b1e] = 0x9650, [0x3b1f] = 0x7ebf, + [0x3b20] = 0x76f8, [0x3b21] = 0x53a2, [0x3b22] = 0x9576, [0x3b23] = 0x9999, + [0x3b24] = 0x7bb1, [0x3b25] = 0x8944, [0x3b26] = 0x6e58, [0x3b27] = 0x4e61, + [0x3b28] = 0x7fd4, [0x3b29] = 0x7965, [0x3b2a] = 0x8be6, [0x3b2b] = 0x60f3, + [0x3b2c] = 0x54cd, [0x3b2d] = 0x4eab, [0x3b2e] = 0x9879, [0x3b2f] = 0x5df7, + [0x3b30] = 0x6a61, [0x3b31] = 0x50cf, [0x3b32] = 0x5411, [0x3b33] = 0x8c61, + [0x3b34] = 0x8427, [0x3b35] = 0x785d, [0x3b36] = 0x9704, [0x3b37] = 0x524a, + [0x3b38] = 0x54ee, [0x3b39] = 0x56a3, [0x3b3a] = 0x9500, [0x3b3b] = 0x6d88, + [0x3b3c] = 0x5bb5, [0x3b3d] = 0x6dc6, [0x3b3e] = 0x6653, [0x3b40] = 0x8824, + [0x3b41] = 0x8825, [0x3b42] = 0x8826, [0x3b43] = 0x8827, [0x3b44] = 0x8828, + [0x3b45] = 0x8829, [0x3b46] = 0x882a, [0x3b47] = 0x882b, [0x3b48] = 0x882c, + [0x3b49] = 0x882d, [0x3b4a] = 0x882e, [0x3b4b] = 0x882f, [0x3b4c] = 0x8830, + [0x3b4d] = 0x8831, [0x3b4e] = 0x8833, [0x3b4f] = 0x8834, [0x3b50] = 0x8835, + [0x3b51] = 0x8836, [0x3b52] = 0x8837, [0x3b53] = 0x8838, [0x3b54] = 0x883a, + [0x3b55] = 0x883b, [0x3b56] = 0x883d, [0x3b57] = 0x883e, [0x3b58] = 0x883f, + [0x3b59] = 0x8841, [0x3b5a] = 0x8842, [0x3b5b] = 0x8843, [0x3b5c] = 0x8846, + [0x3b5d] = 0x8847, [0x3b5e] = 0x8848, [0x3b5f] = 0x8849, [0x3b60] = 0x884a, + [0x3b61] = 0x884b, [0x3b62] = 0x884e, [0x3b63] = 0x884f, [0x3b64] = 0x8850, + [0x3b65] = 0x8851, [0x3b66] = 0x8852, [0x3b67] = 0x8853, [0x3b68] = 0x8855, + [0x3b69] = 0x8856, [0x3b6a] = 0x8858, [0x3b6b] = 0x885a, [0x3b6c] = 0x885b, + [0x3b6d] = 0x885c, [0x3b6e] = 0x885d, [0x3b6f] = 0x885e, [0x3b70] = 0x885f, + [0x3b71] = 0x8860, [0x3b72] = 0x8866, [0x3b73] = 0x8867, [0x3b74] = 0x886a, + [0x3b75] = 0x886d, [0x3b76] = 0x886f, [0x3b77] = 0x8871, [0x3b78] = 0x8873, + [0x3b79] = 0x8874, [0x3b7a] = 0x8875, [0x3b7b] = 0x8876, [0x3b7c] = 0x8878, + [0x3b7d] = 0x8879, [0x3b7e] = 0x887a, [0x3b80] = 0x887b, [0x3b81] = 0x887c, + [0x3b82] = 0x8880, [0x3b83] = 0x8883, [0x3b84] = 0x8886, [0x3b85] = 0x8887, + [0x3b86] = 0x8889, [0x3b87] = 0x888a, [0x3b88] = 0x888c, [0x3b89] = 0x888e, + [0x3b8a] = 0x888f, [0x3b8b] = 0x8890, [0x3b8c] = 0x8891, [0x3b8d] = 0x8893, + [0x3b8e] = 0x8894, [0x3b8f] = 0x8895, [0x3b90] = 0x8897, [0x3b91] = 0x8898, + [0x3b92] = 0x8899, [0x3b93] = 0x889a, [0x3b94] = 0x889b, [0x3b95] = 0x889d, + [0x3b96] = 0x889e, [0x3b97] = 0x889f, [0x3b98] = 0x88a0, [0x3b99] = 0x88a1, + [0x3b9a] = 0x88a3, [0x3b9b] = 0x88a5, [0x3b9c] = 0x88a6, [0x3b9d] = 0x88a7, + [0x3b9e] = 0x88a8, [0x3b9f] = 0x88a9, [0x3ba0] = 0x88aa, [0x3ba1] = 0x5c0f, + [0x3ba2] = 0x5b5d, [0x3ba3] = 0x6821, [0x3ba4] = 0x8096, [0x3ba5] = 0x5578, + [0x3ba6] = 0x7b11, [0x3ba7] = 0x6548, [0x3ba8] = 0x6954, [0x3ba9] = 0x4e9b, + [0x3baa] = 0x6b47, [0x3bab] = 0x874e, [0x3bac] = 0x978b, [0x3bad] = 0x534f, + [0x3bae] = 0x631f, [0x3baf] = 0x643a, [0x3bb0] = 0x90aa, [0x3bb1] = 0x659c, + [0x3bb2] = 0x80c1, [0x3bb3] = 0x8c10, [0x3bb4] = 0x5199, [0x3bb5] = 0x68b0, + [0x3bb6] = 0x5378, [0x3bb7] = 0x87f9, [0x3bb8] = 0x61c8, [0x3bb9] = 0x6cc4, + [0x3bba] = 0x6cfb, [0x3bbb] = 0x8c22, [0x3bbc] = 0x5c51, [0x3bbd] = 0x85aa, + [0x3bbe] = 0x82af, [0x3bbf] = 0x950c, [0x3bc0] = 0x6b23, [0x3bc1] = 0x8f9b, + [0x3bc2] = 0x65b0, [0x3bc3] = 0x5ffb, [0x3bc4] = 0x5fc3, [0x3bc5] = 0x4fe1, + [0x3bc6] = 0x8845, [0x3bc7] = 0x661f, [0x3bc8] = 0x8165, [0x3bc9] = 0x7329, + [0x3bca] = 0x60fa, [0x3bcb] = 0x5174, [0x3bcc] = 0x5211, [0x3bcd] = 0x578b, + [0x3bce] = 0x5f62, [0x3bcf] = 0x90a2, [0x3bd0] = 0x884c, [0x3bd1] = 0x9192, + [0x3bd2] = 0x5e78, [0x3bd3] = 0x674f, [0x3bd4] = 0x6027, [0x3bd5] = 0x59d3, + [0x3bd6] = 0x5144, [0x3bd7] = 0x51f6, [0x3bd8] = 0x80f8, [0x3bd9] = 0x5308, + [0x3bda] = 0x6c79, [0x3bdb] = 0x96c4, [0x3bdc] = 0x718a, [0x3bdd] = 0x4f11, + [0x3bde] = 0x4fee, [0x3bdf] = 0x7f9e, [0x3be0] = 0x673d, [0x3be1] = 0x55c5, + [0x3be2] = 0x9508, [0x3be3] = 0x79c0, [0x3be4] = 0x8896, [0x3be5] = 0x7ee3, + [0x3be6] = 0x589f, [0x3be7] = 0x620c, [0x3be8] = 0x9700, [0x3be9] = 0x865a, + [0x3bea] = 0x5618, [0x3beb] = 0x987b, [0x3bec] = 0x5f90, [0x3bed] = 0x8bb8, + [0x3bee] = 0x84c4, [0x3bef] = 0x9157, [0x3bf0] = 0x53d9, [0x3bf1] = 0x65ed, + [0x3bf2] = 0x5e8f, [0x3bf3] = 0x755c, [0x3bf4] = 0x6064, [0x3bf5] = 0x7d6e, + [0x3bf6] = 0x5a7f, [0x3bf7] = 0x7eea, [0x3bf8] = 0x7eed, [0x3bf9] = 0x8f69, + [0x3bfa] = 0x55a7, [0x3bfb] = 0x5ba3, [0x3bfc] = 0x60ac, [0x3bfd] = 0x65cb, + [0x3bfe] = 0x7384, [0x3c00] = 0x88ac, [0x3c01] = 0x88ae, [0x3c02] = 0x88af, + [0x3c03] = 0x88b0, [0x3c04] = 0x88b2, [0x3c05] = 0x88b3, [0x3c06] = 0x88b4, + [0x3c07] = 0x88b5, [0x3c08] = 0x88b6, [0x3c09] = 0x88b8, [0x3c0a] = 0x88b9, + [0x3c0b] = 0x88ba, [0x3c0c] = 0x88bb, [0x3c0d] = 0x88bd, [0x3c0e] = 0x88be, + [0x3c0f] = 0x88bf, [0x3c10] = 0x88c0, [0x3c11] = 0x88c3, [0x3c12] = 0x88c4, + [0x3c13] = 0x88c7, [0x3c14] = 0x88c8, [0x3c15] = 0x88ca, [0x3c16] = 0x88cb, + [0x3c17] = 0x88cc, [0x3c18] = 0x88cd, [0x3c19] = 0x88cf, [0x3c1a] = 0x88d0, + [0x3c1b] = 0x88d1, [0x3c1c] = 0x88d3, [0x3c1d] = 0x88d6, [0x3c1e] = 0x88d7, + [0x3c1f] = 0x88da, [0x3c20] = 0x88db, [0x3c21] = 0x88dc, [0x3c22] = 0x88dd, + [0x3c23] = 0x88de, [0x3c24] = 0x88e0, [0x3c25] = 0x88e1, [0x3c26] = 0x88e6, + [0x3c27] = 0x88e7, [0x3c28] = 0x88e9, [0x3c29] = 0x88ea, [0x3c2a] = 0x88eb, + [0x3c2b] = 0x88ec, [0x3c2c] = 0x88ed, [0x3c2d] = 0x88ee, [0x3c2e] = 0x88ef, + [0x3c2f] = 0x88f2, [0x3c30] = 0x88f5, [0x3c31] = 0x88f6, [0x3c32] = 0x88f7, + [0x3c33] = 0x88fa, [0x3c34] = 0x88fb, [0x3c35] = 0x88fd, [0x3c36] = 0x88ff, + [0x3c37] = 0x8900, [0x3c38] = 0x8901, [0x3c39] = 0x8903, [0x3c3a] = 0x8904, + [0x3c3b] = 0x8905, [0x3c3c] = 0x8906, [0x3c3d] = 0x8907, [0x3c3e] = 0x8908, + [0x3c40] = 0x8909, [0x3c41] = 0x890b, [0x3c42] = 0x890c, [0x3c43] = 0x890d, + [0x3c44] = 0x890e, [0x3c45] = 0x890f, [0x3c46] = 0x8911, [0x3c47] = 0x8914, + [0x3c48] = 0x8915, [0x3c49] = 0x8916, [0x3c4a] = 0x8917, [0x3c4b] = 0x8918, + [0x3c4c] = 0x891c, [0x3c4d] = 0x891d, [0x3c4e] = 0x891e, [0x3c4f] = 0x891f, + [0x3c50] = 0x8920, [0x3c51] = 0x8922, [0x3c52] = 0x8923, [0x3c53] = 0x8924, + [0x3c54] = 0x8926, [0x3c55] = 0x8927, [0x3c56] = 0x8928, [0x3c57] = 0x8929, + [0x3c58] = 0x892c, [0x3c59] = 0x892d, [0x3c5a] = 0x892e, [0x3c5b] = 0x892f, + [0x3c5c] = 0x8931, [0x3c5d] = 0x8932, [0x3c5e] = 0x8933, [0x3c5f] = 0x8935, + [0x3c60] = 0x8937, [0x3c61] = 0x9009, [0x3c62] = 0x7663, [0x3c63] = 0x7729, + [0x3c64] = 0x7eda, [0x3c65] = 0x9774, [0x3c66] = 0x859b, [0x3c67] = 0x5b66, + [0x3c68] = 0x7a74, [0x3c69] = 0x96ea, [0x3c6a] = 0x8840, [0x3c6b] = 0x52cb, + [0x3c6c] = 0x718f, [0x3c6d] = 0x5faa, [0x3c6e] = 0x65ec, [0x3c6f] = 0x8be2, + [0x3c70] = 0x5bfb, [0x3c71] = 0x9a6f, [0x3c72] = 0x5de1, [0x3c73] = 0x6b89, + [0x3c74] = 0x6c5b, [0x3c75] = 0x8bad, [0x3c76] = 0x8baf, [0x3c77] = 0x900a, + [0x3c78] = 0x8fc5, [0x3c79] = 0x538b, [0x3c7a] = 0x62bc, [0x3c7b] = 0x9e26, + [0x3c7c] = 0x9e2d, [0x3c7d] = 0x5440, [0x3c7e] = 0x4e2b, [0x3c7f] = 0x82bd, + [0x3c80] = 0x7259, [0x3c81] = 0x869c, [0x3c82] = 0x5d16, [0x3c83] = 0x8859, + [0x3c84] = 0x6daf, [0x3c85] = 0x96c5, [0x3c86] = 0x54d1, [0x3c87] = 0x4e9a, + [0x3c88] = 0x8bb6, [0x3c89] = 0x7109, [0x3c8a] = 0x54bd, [0x3c8b] = 0x9609, + [0x3c8c] = 0x70df, [0x3c8d] = 0x6df9, [0x3c8e] = 0x76d0, [0x3c8f] = 0x4e25, + [0x3c90] = 0x7814, [0x3c91] = 0x8712, [0x3c92] = 0x5ca9, [0x3c93] = 0x5ef6, + [0x3c94] = 0x8a00, [0x3c95] = 0x989c, [0x3c96] = 0x960e, [0x3c97] = 0x708e, + [0x3c98] = 0x6cbf, [0x3c99] = 0x5944, [0x3c9a] = 0x63a9, [0x3c9b] = 0x773c, + [0x3c9c] = 0x884d, [0x3c9d] = 0x6f14, [0x3c9e] = 0x8273, [0x3c9f] = 0x5830, + [0x3ca0] = 0x71d5, [0x3ca1] = 0x538c, [0x3ca2] = 0x781a, [0x3ca3] = 0x96c1, + [0x3ca4] = 0x5501, [0x3ca5] = 0x5f66, [0x3ca6] = 0x7130, [0x3ca7] = 0x5bb4, + [0x3ca8] = 0x8c1a, [0x3ca9] = 0x9a8c, [0x3caa] = 0x6b83, [0x3cab] = 0x592e, + [0x3cac] = 0x9e2f, [0x3cad] = 0x79e7, [0x3cae] = 0x6768, [0x3caf] = 0x626c, + [0x3cb0] = 0x4f6f, [0x3cb1] = 0x75a1, [0x3cb2] = 0x7f8a, [0x3cb3] = 0x6d0b, + [0x3cb4] = 0x9633, [0x3cb5] = 0x6c27, [0x3cb6] = 0x4ef0, [0x3cb7] = 0x75d2, + [0x3cb8] = 0x517b, [0x3cb9] = 0x6837, [0x3cba] = 0x6f3e, [0x3cbb] = 0x9080, + [0x3cbc] = 0x8170, [0x3cbd] = 0x5996, [0x3cbe] = 0x7476, [0x3cc0] = 0x8938, + [0x3cc1] = 0x8939, [0x3cc2] = 0x893a, [0x3cc3] = 0x893b, [0x3cc4] = 0x893c, + [0x3cc5] = 0x893d, [0x3cc6] = 0x893e, [0x3cc7] = 0x893f, [0x3cc8] = 0x8940, + [0x3cc9] = 0x8942, [0x3cca] = 0x8943, [0x3ccb] = 0x8945, [0x3ccc] = 0x8946, + [0x3ccd] = 0x8947, [0x3cce] = 0x8948, [0x3ccf] = 0x8949, [0x3cd0] = 0x894a, + [0x3cd1] = 0x894b, [0x3cd2] = 0x894c, [0x3cd3] = 0x894d, [0x3cd4] = 0x894e, + [0x3cd5] = 0x894f, [0x3cd6] = 0x8950, [0x3cd7] = 0x8951, [0x3cd8] = 0x8952, + [0x3cd9] = 0x8953, [0x3cda] = 0x8954, [0x3cdb] = 0x8955, [0x3cdc] = 0x8956, + [0x3cdd] = 0x8957, [0x3cde] = 0x8958, [0x3cdf] = 0x8959, [0x3ce0] = 0x895a, + [0x3ce1] = 0x895b, [0x3ce2] = 0x895c, [0x3ce3] = 0x895d, [0x3ce4] = 0x8960, + [0x3ce5] = 0x8961, [0x3ce6] = 0x8962, [0x3ce7] = 0x8963, [0x3ce8] = 0x8964, + [0x3ce9] = 0x8965, [0x3cea] = 0x8967, [0x3ceb] = 0x8968, [0x3cec] = 0x8969, + [0x3ced] = 0x896a, [0x3cee] = 0x896b, [0x3cef] = 0x896c, [0x3cf0] = 0x896d, + [0x3cf1] = 0x896e, [0x3cf2] = 0x896f, [0x3cf3] = 0x8970, [0x3cf4] = 0x8971, + [0x3cf5] = 0x8972, [0x3cf6] = 0x8973, [0x3cf7] = 0x8974, [0x3cf8] = 0x8975, + [0x3cf9] = 0x8976, [0x3cfa] = 0x8977, [0x3cfb] = 0x8978, [0x3cfc] = 0x8979, + [0x3cfd] = 0x897a, [0x3cfe] = 0x897c, [0x3d00] = 0x897d, [0x3d01] = 0x897e, + [0x3d02] = 0x8980, [0x3d03] = 0x8982, [0x3d04] = 0x8984, [0x3d05] = 0x8985, + [0x3d06] = 0x8987, [0x3d07] = 0x8988, [0x3d08] = 0x8989, [0x3d09] = 0x898a, + [0x3d0a] = 0x898b, [0x3d0b] = 0x898c, [0x3d0c] = 0x898d, [0x3d0d] = 0x898e, + [0x3d0e] = 0x898f, [0x3d0f] = 0x8990, [0x3d10] = 0x8991, [0x3d11] = 0x8992, + [0x3d12] = 0x8993, [0x3d13] = 0x8994, [0x3d14] = 0x8995, [0x3d15] = 0x8996, + [0x3d16] = 0x8997, [0x3d17] = 0x8998, [0x3d18] = 0x8999, [0x3d19] = 0x899a, + [0x3d1a] = 0x899b, [0x3d1b] = 0x899c, [0x3d1c] = 0x899d, [0x3d1d] = 0x899e, + [0x3d1e] = 0x899f, [0x3d1f] = 0x89a0, [0x3d20] = 0x89a1, [0x3d21] = 0x6447, + [0x3d22] = 0x5c27, [0x3d23] = 0x9065, [0x3d24] = 0x7a91, [0x3d25] = 0x8c23, + [0x3d26] = 0x59da, [0x3d27] = 0x54ac, [0x3d28] = 0x8200, [0x3d29] = 0x836f, + [0x3d2a] = 0x8981, [0x3d2b] = 0x8000, [0x3d2c] = 0x6930, [0x3d2d] = 0x564e, + [0x3d2e] = 0x8036, [0x3d2f] = 0x7237, [0x3d30] = 0x91ce, [0x3d31] = 0x51b6, + [0x3d32] = 0x4e5f, [0x3d33] = 0x9875, [0x3d34] = 0x6396, [0x3d35] = 0x4e1a, + [0x3d36] = 0x53f6, [0x3d37] = 0x66f3, [0x3d38] = 0x814b, [0x3d39] = 0x591c, + [0x3d3a] = 0x6db2, [0x3d3b] = 0x4e00, [0x3d3c] = 0x58f9, [0x3d3d] = 0x533b, + [0x3d3e] = 0x63d6, [0x3d3f] = 0x94f1, [0x3d40] = 0x4f9d, [0x3d41] = 0x4f0a, + [0x3d42] = 0x8863, [0x3d43] = 0x9890, [0x3d44] = 0x5937, [0x3d45] = 0x9057, + [0x3d46] = 0x79fb, [0x3d47] = 0x4eea, [0x3d48] = 0x80f0, [0x3d49] = 0x7591, + [0x3d4a] = 0x6c82, [0x3d4b] = 0x5b9c, [0x3d4c] = 0x59e8, [0x3d4d] = 0x5f5d, + [0x3d4e] = 0x6905, [0x3d4f] = 0x8681, [0x3d50] = 0x501a, [0x3d51] = 0x5df2, + [0x3d52] = 0x4e59, [0x3d53] = 0x77e3, [0x3d54] = 0x4ee5, [0x3d55] = 0x827a, + [0x3d56] = 0x6291, [0x3d57] = 0x6613, [0x3d58] = 0x9091, [0x3d59] = 0x5c79, + [0x3d5a] = 0x4ebf, [0x3d5b] = 0x5f79, [0x3d5c] = 0x81c6, [0x3d5d] = 0x9038, + [0x3d5e] = 0x8084, [0x3d5f] = 0x75ab, [0x3d60] = 0x4ea6, [0x3d61] = 0x88d4, + [0x3d62] = 0x610f, [0x3d63] = 0x6bc5, [0x3d64] = 0x5fc6, [0x3d65] = 0x4e49, + [0x3d66] = 0x76ca, [0x3d67] = 0x6ea2, [0x3d68] = 0x8be3, [0x3d69] = 0x8bae, + [0x3d6a] = 0x8c0a, [0x3d6b] = 0x8bd1, [0x3d6c] = 0x5f02, [0x3d6d] = 0x7ffc, + [0x3d6e] = 0x7fcc, [0x3d6f] = 0x7ece, [0x3d70] = 0x8335, [0x3d71] = 0x836b, + [0x3d72] = 0x56e0, [0x3d73] = 0x6bb7, [0x3d74] = 0x97f3, [0x3d75] = 0x9634, + [0x3d76] = 0x59fb, [0x3d77] = 0x541f, [0x3d78] = 0x94f6, [0x3d79] = 0x6deb, + [0x3d7a] = 0x5bc5, [0x3d7b] = 0x996e, [0x3d7c] = 0x5c39, [0x3d7d] = 0x5f15, + [0x3d7e] = 0x9690, [0x3d80] = 0x89a2, [0x3d81] = 0x89a3, [0x3d82] = 0x89a4, + [0x3d83] = 0x89a5, [0x3d84] = 0x89a6, [0x3d85] = 0x89a7, [0x3d86] = 0x89a8, + [0x3d87] = 0x89a9, [0x3d88] = 0x89aa, [0x3d89] = 0x89ab, [0x3d8a] = 0x89ac, + [0x3d8b] = 0x89ad, [0x3d8c] = 0x89ae, [0x3d8d] = 0x89af, [0x3d8e] = 0x89b0, + [0x3d8f] = 0x89b1, [0x3d90] = 0x89b2, [0x3d91] = 0x89b3, [0x3d92] = 0x89b4, + [0x3d93] = 0x89b5, [0x3d94] = 0x89b6, [0x3d95] = 0x89b7, [0x3d96] = 0x89b8, + [0x3d97] = 0x89b9, [0x3d98] = 0x89ba, [0x3d99] = 0x89bb, [0x3d9a] = 0x89bc, + [0x3d9b] = 0x89bd, [0x3d9c] = 0x89be, [0x3d9d] = 0x89bf, [0x3d9e] = 0x89c0, + [0x3d9f] = 0x89c3, [0x3da0] = 0x89cd, [0x3da1] = 0x89d3, [0x3da2] = 0x89d4, + [0x3da3] = 0x89d5, [0x3da4] = 0x89d7, [0x3da5] = 0x89d8, [0x3da6] = 0x89d9, + [0x3da7] = 0x89db, [0x3da8] = 0x89dd, [0x3da9] = 0x89df, [0x3daa] = 0x89e0, + [0x3dab] = 0x89e1, [0x3dac] = 0x89e2, [0x3dad] = 0x89e4, [0x3dae] = 0x89e7, + [0x3daf] = 0x89e8, [0x3db0] = 0x89e9, [0x3db1] = 0x89ea, [0x3db2] = 0x89ec, + [0x3db3] = 0x89ed, [0x3db4] = 0x89ee, [0x3db5] = 0x89f0, [0x3db6] = 0x89f1, + [0x3db7] = 0x89f2, [0x3db8] = 0x89f4, [0x3db9] = 0x89f5, [0x3dba] = 0x89f6, + [0x3dbb] = 0x89f7, [0x3dbc] = 0x89f8, [0x3dbd] = 0x89f9, [0x3dbe] = 0x89fa, + [0x3dc0] = 0x89fb, [0x3dc1] = 0x89fc, [0x3dc2] = 0x89fd, [0x3dc3] = 0x89fe, + [0x3dc4] = 0x89ff, [0x3dc5] = 0x8a01, [0x3dc6] = 0x8a02, [0x3dc7] = 0x8a03, + [0x3dc8] = 0x8a04, [0x3dc9] = 0x8a05, [0x3dca] = 0x8a06, [0x3dcb] = 0x8a08, + [0x3dcc] = 0x8a09, [0x3dcd] = 0x8a0a, [0x3dce] = 0x8a0b, [0x3dcf] = 0x8a0c, + [0x3dd0] = 0x8a0d, [0x3dd1] = 0x8a0e, [0x3dd2] = 0x8a0f, [0x3dd3] = 0x8a10, + [0x3dd4] = 0x8a11, [0x3dd5] = 0x8a12, [0x3dd6] = 0x8a13, [0x3dd7] = 0x8a14, + [0x3dd8] = 0x8a15, [0x3dd9] = 0x8a16, [0x3dda] = 0x8a17, [0x3ddb] = 0x8a18, + [0x3ddc] = 0x8a19, [0x3ddd] = 0x8a1a, [0x3dde] = 0x8a1b, [0x3ddf] = 0x8a1c, + [0x3de0] = 0x8a1d, [0x3de1] = 0x5370, [0x3de2] = 0x82f1, [0x3de3] = 0x6a31, + [0x3de4] = 0x5a74, [0x3de5] = 0x9e70, [0x3de6] = 0x5e94, [0x3de7] = 0x7f28, + [0x3de8] = 0x83b9, [0x3de9] = 0x8424, [0x3dea] = 0x8425, [0x3deb] = 0x8367, + [0x3dec] = 0x8747, [0x3ded] = 0x8fce, [0x3dee] = 0x8d62, [0x3def] = 0x76c8, + [0x3df0] = 0x5f71, [0x3df1] = 0x9896, [0x3df2] = 0x786c, [0x3df3] = 0x6620, + [0x3df4] = 0x54df, [0x3df5] = 0x62e5, [0x3df6] = 0x4f63, [0x3df7] = 0x81c3, + [0x3df8] = 0x75c8, [0x3df9] = 0x5eb8, [0x3dfa] = 0x96cd, [0x3dfb] = 0x8e0a, + [0x3dfc] = 0x86f9, [0x3dfd] = 0x548f, [0x3dfe] = 0x6cf3, [0x3dff] = 0x6d8c, + [0x3e00] = 0x6c38, [0x3e01] = 0x607f, [0x3e02] = 0x52c7, [0x3e03] = 0x7528, + [0x3e04] = 0x5e7d, [0x3e05] = 0x4f18, [0x3e06] = 0x60a0, [0x3e07] = 0x5fe7, + [0x3e08] = 0x5c24, [0x3e09] = 0x7531, [0x3e0a] = 0x90ae, [0x3e0b] = 0x94c0, + [0x3e0c] = 0x72b9, [0x3e0d] = 0x6cb9, [0x3e0e] = 0x6e38, [0x3e0f] = 0x9149, + [0x3e10] = 0x6709, [0x3e11] = 0x53cb, [0x3e12] = 0x53f3, [0x3e13] = 0x4f51, + [0x3e14] = 0x91c9, [0x3e15] = 0x8bf1, [0x3e16] = 0x53c8, [0x3e17] = 0x5e7c, + [0x3e18] = 0x8fc2, [0x3e19] = 0x6de4, [0x3e1a] = 0x4e8e, [0x3e1b] = 0x76c2, + [0x3e1c] = 0x6986, [0x3e1d] = 0x865e, [0x3e1e] = 0x611a, [0x3e1f] = 0x8206, + [0x3e20] = 0x4f59, [0x3e21] = 0x4fde, [0x3e22] = 0x903e, [0x3e23] = 0x9c7c, + [0x3e24] = 0x6109, [0x3e25] = 0x6e1d, [0x3e26] = 0x6e14, [0x3e27] = 0x9685, + [0x3e28] = 0x4e88, [0x3e29] = 0x5a31, [0x3e2a] = 0x96e8, [0x3e2b] = 0x4e0e, + [0x3e2c] = 0x5c7f, [0x3e2d] = 0x79b9, [0x3e2e] = 0x5b87, [0x3e2f] = 0x8bed, + [0x3e30] = 0x7fbd, [0x3e31] = 0x7389, [0x3e32] = 0x57df, [0x3e33] = 0x828b, + [0x3e34] = 0x90c1, [0x3e35] = 0x5401, [0x3e36] = 0x9047, [0x3e37] = 0x55bb, + [0x3e38] = 0x5cea, [0x3e39] = 0x5fa1, [0x3e3a] = 0x6108, [0x3e3b] = 0x6b32, + [0x3e3c] = 0x72f1, [0x3e3d] = 0x80b2, [0x3e3e] = 0x8a89, [0x3e40] = 0x8a1e, + [0x3e41] = 0x8a1f, [0x3e42] = 0x8a20, [0x3e43] = 0x8a21, [0x3e44] = 0x8a22, + [0x3e45] = 0x8a23, [0x3e46] = 0x8a24, [0x3e47] = 0x8a25, [0x3e48] = 0x8a26, + [0x3e49] = 0x8a27, [0x3e4a] = 0x8a28, [0x3e4b] = 0x8a29, [0x3e4c] = 0x8a2a, + [0x3e4d] = 0x8a2b, [0x3e4e] = 0x8a2c, [0x3e4f] = 0x8a2d, [0x3e50] = 0x8a2e, + [0x3e51] = 0x8a2f, [0x3e52] = 0x8a30, [0x3e53] = 0x8a31, [0x3e54] = 0x8a32, + [0x3e55] = 0x8a33, [0x3e56] = 0x8a34, [0x3e57] = 0x8a35, [0x3e58] = 0x8a36, + [0x3e59] = 0x8a37, [0x3e5a] = 0x8a38, [0x3e5b] = 0x8a39, [0x3e5c] = 0x8a3a, + [0x3e5d] = 0x8a3b, [0x3e5e] = 0x8a3c, [0x3e5f] = 0x8a3d, [0x3e60] = 0x8a3f, + [0x3e61] = 0x8a40, [0x3e62] = 0x8a41, [0x3e63] = 0x8a42, [0x3e64] = 0x8a43, + [0x3e65] = 0x8a44, [0x3e66] = 0x8a45, [0x3e67] = 0x8a46, [0x3e68] = 0x8a47, + [0x3e69] = 0x8a49, [0x3e6a] = 0x8a4a, [0x3e6b] = 0x8a4b, [0x3e6c] = 0x8a4c, + [0x3e6d] = 0x8a4d, [0x3e6e] = 0x8a4e, [0x3e6f] = 0x8a4f, [0x3e70] = 0x8a50, + [0x3e71] = 0x8a51, [0x3e72] = 0x8a52, [0x3e73] = 0x8a53, [0x3e74] = 0x8a54, + [0x3e75] = 0x8a55, [0x3e76] = 0x8a56, [0x3e77] = 0x8a57, [0x3e78] = 0x8a58, + [0x3e79] = 0x8a59, [0x3e7a] = 0x8a5a, [0x3e7b] = 0x8a5b, [0x3e7c] = 0x8a5c, + [0x3e7d] = 0x8a5d, [0x3e7e] = 0x8a5e, [0x3e80] = 0x8a5f, [0x3e81] = 0x8a60, + [0x3e82] = 0x8a61, [0x3e83] = 0x8a62, [0x3e84] = 0x8a63, [0x3e85] = 0x8a64, + [0x3e86] = 0x8a65, [0x3e87] = 0x8a66, [0x3e88] = 0x8a67, [0x3e89] = 0x8a68, + [0x3e8a] = 0x8a69, [0x3e8b] = 0x8a6a, [0x3e8c] = 0x8a6b, [0x3e8d] = 0x8a6c, + [0x3e8e] = 0x8a6d, [0x3e8f] = 0x8a6e, [0x3e90] = 0x8a6f, [0x3e91] = 0x8a70, + [0x3e92] = 0x8a71, [0x3e93] = 0x8a72, [0x3e94] = 0x8a73, [0x3e95] = 0x8a74, + [0x3e96] = 0x8a75, [0x3e97] = 0x8a76, [0x3e98] = 0x8a77, [0x3e99] = 0x8a78, + [0x3e9a] = 0x8a7a, [0x3e9b] = 0x8a7b, [0x3e9c] = 0x8a7c, [0x3e9d] = 0x8a7d, + [0x3e9e] = 0x8a7e, [0x3e9f] = 0x8a7f, [0x3ea0] = 0x8a80, [0x3ea1] = 0x6d74, + [0x3ea2] = 0x5bd3, [0x3ea3] = 0x88d5, [0x3ea4] = 0x9884, [0x3ea5] = 0x8c6b, + [0x3ea6] = 0x9a6d, [0x3ea7] = 0x9e33, [0x3ea8] = 0x6e0a, [0x3ea9] = 0x51a4, + [0x3eaa] = 0x5143, [0x3eab] = 0x57a3, [0x3eac] = 0x8881, [0x3ead] = 0x539f, + [0x3eae] = 0x63f4, [0x3eaf] = 0x8f95, [0x3eb0] = 0x56ed, [0x3eb1] = 0x5458, + [0x3eb2] = 0x5706, [0x3eb3] = 0x733f, [0x3eb4] = 0x6e90, [0x3eb5] = 0x7f18, + [0x3eb6] = 0x8fdc, [0x3eb7] = 0x82d1, [0x3eb8] = 0x613f, [0x3eb9] = 0x6028, + [0x3eba] = 0x9662, [0x3ebb] = 0x66f0, [0x3ebc] = 0x7ea6, [0x3ebd] = 0x8d8a, + [0x3ebe] = 0x8dc3, [0x3ebf] = 0x94a5, [0x3ec0] = 0x5cb3, [0x3ec1] = 0x7ca4, + [0x3ec2] = 0x6708, [0x3ec3] = 0x60a6, [0x3ec4] = 0x9605, [0x3ec5] = 0x8018, + [0x3ec6] = 0x4e91, [0x3ec7] = 0x90e7, [0x3ec8] = 0x5300, [0x3ec9] = 0x9668, + [0x3eca] = 0x5141, [0x3ecb] = 0x8fd0, [0x3ecc] = 0x8574, [0x3ecd] = 0x915d, + [0x3ece] = 0x6655, [0x3ecf] = 0x97f5, [0x3ed0] = 0x5b55, [0x3ed1] = 0x531d, + [0x3ed2] = 0x7838, [0x3ed3] = 0x6742, [0x3ed4] = 0x683d, [0x3ed5] = 0x54c9, + [0x3ed6] = 0x707e, [0x3ed7] = 0x5bb0, [0x3ed8] = 0x8f7d, [0x3ed9] = 0x518d, + [0x3eda] = 0x5728, [0x3edb] = 0x54b1, [0x3edc] = 0x6512, [0x3edd] = 0x6682, + [0x3ede] = 0x8d5e, [0x3edf] = 0x8d43, [0x3ee0] = 0x810f, [0x3ee1] = 0x846c, + [0x3ee2] = 0x906d, [0x3ee3] = 0x7cdf, [0x3ee4] = 0x51ff, [0x3ee5] = 0x85fb, + [0x3ee6] = 0x67a3, [0x3ee7] = 0x65e9, [0x3ee8] = 0x6fa1, [0x3ee9] = 0x86a4, + [0x3eea] = 0x8e81, [0x3eeb] = 0x566a, [0x3eec] = 0x9020, [0x3eed] = 0x7682, + [0x3eee] = 0x7076, [0x3eef] = 0x71e5, [0x3ef0] = 0x8d23, [0x3ef1] = 0x62e9, + [0x3ef2] = 0x5219, [0x3ef3] = 0x6cfd, [0x3ef4] = 0x8d3c, [0x3ef5] = 0x600e, + [0x3ef6] = 0x589e, [0x3ef7] = 0x618e, [0x3ef8] = 0x66fe, [0x3ef9] = 0x8d60, + [0x3efa] = 0x624e, [0x3efb] = 0x55b3, [0x3efc] = 0x6e23, [0x3efd] = 0x672d, + [0x3efe] = 0x8f67, [0x3f00] = 0x8a81, [0x3f01] = 0x8a82, [0x3f02] = 0x8a83, + [0x3f03] = 0x8a84, [0x3f04] = 0x8a85, [0x3f05] = 0x8a86, [0x3f06] = 0x8a87, + [0x3f07] = 0x8a88, [0x3f08] = 0x8a8b, [0x3f09] = 0x8a8c, [0x3f0a] = 0x8a8d, + [0x3f0b] = 0x8a8e, [0x3f0c] = 0x8a8f, [0x3f0d] = 0x8a90, [0x3f0e] = 0x8a91, + [0x3f0f] = 0x8a92, [0x3f10] = 0x8a94, [0x3f11] = 0x8a95, [0x3f12] = 0x8a96, + [0x3f13] = 0x8a97, [0x3f14] = 0x8a98, [0x3f15] = 0x8a99, [0x3f16] = 0x8a9a, + [0x3f17] = 0x8a9b, [0x3f18] = 0x8a9c, [0x3f19] = 0x8a9d, [0x3f1a] = 0x8a9e, + [0x3f1b] = 0x8a9f, [0x3f1c] = 0x8aa0, [0x3f1d] = 0x8aa1, [0x3f1e] = 0x8aa2, + [0x3f1f] = 0x8aa3, [0x3f20] = 0x8aa4, [0x3f21] = 0x8aa5, [0x3f22] = 0x8aa6, + [0x3f23] = 0x8aa7, [0x3f24] = 0x8aa8, [0x3f25] = 0x8aa9, [0x3f26] = 0x8aaa, + [0x3f27] = 0x8aab, [0x3f28] = 0x8aac, [0x3f29] = 0x8aad, [0x3f2a] = 0x8aae, + [0x3f2b] = 0x8aaf, [0x3f2c] = 0x8ab0, [0x3f2d] = 0x8ab1, [0x3f2e] = 0x8ab2, + [0x3f2f] = 0x8ab3, [0x3f30] = 0x8ab4, [0x3f31] = 0x8ab5, [0x3f32] = 0x8ab6, + [0x3f33] = 0x8ab7, [0x3f34] = 0x8ab8, [0x3f35] = 0x8ab9, [0x3f36] = 0x8aba, + [0x3f37] = 0x8abb, [0x3f38] = 0x8abc, [0x3f39] = 0x8abd, [0x3f3a] = 0x8abe, + [0x3f3b] = 0x8abf, [0x3f3c] = 0x8ac0, [0x3f3d] = 0x8ac1, [0x3f3e] = 0x8ac2, + [0x3f40] = 0x8ac3, [0x3f41] = 0x8ac4, [0x3f42] = 0x8ac5, [0x3f43] = 0x8ac6, + [0x3f44] = 0x8ac7, [0x3f45] = 0x8ac8, [0x3f46] = 0x8ac9, [0x3f47] = 0x8aca, + [0x3f48] = 0x8acb, [0x3f49] = 0x8acc, [0x3f4a] = 0x8acd, [0x3f4b] = 0x8ace, + [0x3f4c] = 0x8acf, [0x3f4d] = 0x8ad0, [0x3f4e] = 0x8ad1, [0x3f4f] = 0x8ad2, + [0x3f50] = 0x8ad3, [0x3f51] = 0x8ad4, [0x3f52] = 0x8ad5, [0x3f53] = 0x8ad6, + [0x3f54] = 0x8ad7, [0x3f55] = 0x8ad8, [0x3f56] = 0x8ad9, [0x3f57] = 0x8ada, + [0x3f58] = 0x8adb, [0x3f59] = 0x8adc, [0x3f5a] = 0x8add, [0x3f5b] = 0x8ade, + [0x3f5c] = 0x8adf, [0x3f5d] = 0x8ae0, [0x3f5e] = 0x8ae1, [0x3f5f] = 0x8ae2, + [0x3f60] = 0x8ae3, [0x3f61] = 0x94e1, [0x3f62] = 0x95f8, [0x3f63] = 0x7728, + [0x3f64] = 0x6805, [0x3f65] = 0x69a8, [0x3f66] = 0x548b, [0x3f67] = 0x4e4d, + [0x3f68] = 0x70b8, [0x3f69] = 0x8bc8, [0x3f6a] = 0x6458, [0x3f6b] = 0x658b, + [0x3f6c] = 0x5b85, [0x3f6d] = 0x7a84, [0x3f6e] = 0x503a, [0x3f6f] = 0x5be8, + [0x3f70] = 0x77bb, [0x3f71] = 0x6be1, [0x3f72] = 0x8a79, [0x3f73] = 0x7c98, + [0x3f74] = 0x6cbe, [0x3f75] = 0x76cf, [0x3f76] = 0x65a9, [0x3f77] = 0x8f97, + [0x3f78] = 0x5d2d, [0x3f79] = 0x5c55, [0x3f7a] = 0x8638, [0x3f7b] = 0x6808, + [0x3f7c] = 0x5360, [0x3f7d] = 0x6218, [0x3f7e] = 0x7ad9, [0x3f7f] = 0x6e5b, + [0x3f80] = 0x7efd, [0x3f81] = 0x6a1f, [0x3f82] = 0x7ae0, [0x3f83] = 0x5f70, + [0x3f84] = 0x6f33, [0x3f85] = 0x5f20, [0x3f86] = 0x638c, [0x3f87] = 0x6da8, + [0x3f88] = 0x6756, [0x3f89] = 0x4e08, [0x3f8a] = 0x5e10, [0x3f8b] = 0x8d26, + [0x3f8c] = 0x4ed7, [0x3f8d] = 0x80c0, [0x3f8e] = 0x7634, [0x3f8f] = 0x969c, + [0x3f90] = 0x62db, [0x3f91] = 0x662d, [0x3f92] = 0x627e, [0x3f93] = 0x6cbc, + [0x3f94] = 0x8d75, [0x3f95] = 0x7167, [0x3f96] = 0x7f69, [0x3f97] = 0x5146, + [0x3f98] = 0x8087, [0x3f99] = 0x53ec, [0x3f9a] = 0x906e, [0x3f9b] = 0x6298, + [0x3f9c] = 0x54f2, [0x3f9d] = 0x86f0, [0x3f9e] = 0x8f99, [0x3f9f] = 0x8005, + [0x3fa0] = 0x9517, [0x3fa1] = 0x8517, [0x3fa2] = 0x8fd9, [0x3fa3] = 0x6d59, + [0x3fa4] = 0x73cd, [0x3fa5] = 0x659f, [0x3fa6] = 0x771f, [0x3fa7] = 0x7504, + [0x3fa8] = 0x7827, [0x3fa9] = 0x81fb, [0x3faa] = 0x8d1e, [0x3fab] = 0x9488, + [0x3fac] = 0x4fa6, [0x3fad] = 0x6795, [0x3fae] = 0x75b9, [0x3faf] = 0x8bca, + [0x3fb0] = 0x9707, [0x3fb1] = 0x632f, [0x3fb2] = 0x9547, [0x3fb3] = 0x9635, + [0x3fb4] = 0x84b8, [0x3fb5] = 0x6323, [0x3fb6] = 0x7741, [0x3fb7] = 0x5f81, + [0x3fb8] = 0x72f0, [0x3fb9] = 0x4e89, [0x3fba] = 0x6014, [0x3fbb] = 0x6574, + [0x3fbc] = 0x62ef, [0x3fbd] = 0x6b63, [0x3fbe] = 0x653f, [0x3fc0] = 0x8ae4, + [0x3fc1] = 0x8ae5, [0x3fc2] = 0x8ae6, [0x3fc3] = 0x8ae7, [0x3fc4] = 0x8ae8, + [0x3fc5] = 0x8ae9, [0x3fc6] = 0x8aea, [0x3fc7] = 0x8aeb, [0x3fc8] = 0x8aec, + [0x3fc9] = 0x8aed, [0x3fca] = 0x8aee, [0x3fcb] = 0x8aef, [0x3fcc] = 0x8af0, + [0x3fcd] = 0x8af1, [0x3fce] = 0x8af2, [0x3fcf] = 0x8af3, [0x3fd0] = 0x8af4, + [0x3fd1] = 0x8af5, [0x3fd2] = 0x8af6, [0x3fd3] = 0x8af7, [0x3fd4] = 0x8af8, + [0x3fd5] = 0x8af9, [0x3fd6] = 0x8afa, [0x3fd7] = 0x8afb, [0x3fd8] = 0x8afc, + [0x3fd9] = 0x8afd, [0x3fda] = 0x8afe, [0x3fdb] = 0x8aff, [0x3fdc] = 0x8b00, + [0x3fdd] = 0x8b01, [0x3fde] = 0x8b02, [0x3fdf] = 0x8b03, [0x3fe0] = 0x8b04, + [0x3fe1] = 0x8b05, [0x3fe2] = 0x8b06, [0x3fe3] = 0x8b08, [0x3fe4] = 0x8b09, + [0x3fe5] = 0x8b0a, [0x3fe6] = 0x8b0b, [0x3fe7] = 0x8b0c, [0x3fe8] = 0x8b0d, + [0x3fe9] = 0x8b0e, [0x3fea] = 0x8b0f, [0x3feb] = 0x8b10, [0x3fec] = 0x8b11, + [0x3fed] = 0x8b12, [0x3fee] = 0x8b13, [0x3fef] = 0x8b14, [0x3ff0] = 0x8b15, + [0x3ff1] = 0x8b16, [0x3ff2] = 0x8b17, [0x3ff3] = 0x8b18, [0x3ff4] = 0x8b19, + [0x3ff5] = 0x8b1a, [0x3ff6] = 0x8b1b, [0x3ff7] = 0x8b1c, [0x3ff8] = 0x8b1d, + [0x3ff9] = 0x8b1e, [0x3ffa] = 0x8b1f, [0x3ffb] = 0x8b20, [0x3ffc] = 0x8b21, + [0x3ffd] = 0x8b22, [0x3ffe] = 0x8b23, [0x4000] = 0x8b24, [0x4001] = 0x8b25, + [0x4002] = 0x8b27, [0x4003] = 0x8b28, [0x4004] = 0x8b29, [0x4005] = 0x8b2a, + [0x4006] = 0x8b2b, [0x4007] = 0x8b2c, [0x4008] = 0x8b2d, [0x4009] = 0x8b2e, + [0x400a] = 0x8b2f, [0x400b] = 0x8b30, [0x400c] = 0x8b31, [0x400d] = 0x8b32, + [0x400e] = 0x8b33, [0x400f] = 0x8b34, [0x4010] = 0x8b35, [0x4011] = 0x8b36, + [0x4012] = 0x8b37, [0x4013] = 0x8b38, [0x4014] = 0x8b39, [0x4015] = 0x8b3a, + [0x4016] = 0x8b3b, [0x4017] = 0x8b3c, [0x4018] = 0x8b3d, [0x4019] = 0x8b3e, + [0x401a] = 0x8b3f, [0x401b] = 0x8b40, [0x401c] = 0x8b41, [0x401d] = 0x8b42, + [0x401e] = 0x8b43, [0x401f] = 0x8b44, [0x4020] = 0x8b45, [0x4021] = 0x5e27, + [0x4022] = 0x75c7, [0x4023] = 0x90d1, [0x4024] = 0x8bc1, [0x4025] = 0x829d, + [0x4026] = 0x679d, [0x4027] = 0x652f, [0x4028] = 0x5431, [0x4029] = 0x8718, + [0x402a] = 0x77e5, [0x402b] = 0x80a2, [0x402c] = 0x8102, [0x402d] = 0x6c41, + [0x402e] = 0x4e4b, [0x402f] = 0x7ec7, [0x4030] = 0x804c, [0x4031] = 0x76f4, + [0x4032] = 0x690d, [0x4033] = 0x6b96, [0x4034] = 0x6267, [0x4035] = 0x503c, + [0x4036] = 0x4f84, [0x4037] = 0x5740, [0x4038] = 0x6307, [0x4039] = 0x6b62, + [0x403a] = 0x8dbe, [0x403b] = 0x53ea, [0x403c] = 0x65e8, [0x403d] = 0x7eb8, + [0x403e] = 0x5fd7, [0x403f] = 0x631a, [0x4040] = 0x63b7, [0x4041] = 0x81f3, + [0x4042] = 0x81f4, [0x4043] = 0x7f6e, [0x4044] = 0x5e1c, [0x4045] = 0x5cd9, + [0x4046] = 0x5236, [0x4047] = 0x667a, [0x4048] = 0x79e9, [0x4049] = 0x7a1a, + [0x404a] = 0x8d28, [0x404b] = 0x7099, [0x404c] = 0x75d4, [0x404d] = 0x6ede, + [0x404e] = 0x6cbb, [0x404f] = 0x7a92, [0x4050] = 0x4e2d, [0x4051] = 0x76c5, + [0x4052] = 0x5fe0, [0x4053] = 0x949f, [0x4054] = 0x8877, [0x4055] = 0x7ec8, + [0x4056] = 0x79cd, [0x4057] = 0x80bf, [0x4058] = 0x91cd, [0x4059] = 0x4ef2, + [0x405a] = 0x4f17, [0x405b] = 0x821f, [0x405c] = 0x5468, [0x405d] = 0x5dde, + [0x405e] = 0x6d32, [0x405f] = 0x8bcc, [0x4060] = 0x7ca5, [0x4061] = 0x8f74, + [0x4062] = 0x8098, [0x4063] = 0x5e1a, [0x4064] = 0x5492, [0x4065] = 0x76b1, + [0x4066] = 0x5b99, [0x4067] = 0x663c, [0x4068] = 0x9aa4, [0x4069] = 0x73e0, + [0x406a] = 0x682a, [0x406b] = 0x86db, [0x406c] = 0x6731, [0x406d] = 0x732a, + [0x406e] = 0x8bf8, [0x406f] = 0x8bdb, [0x4070] = 0x9010, [0x4071] = 0x7af9, + [0x4072] = 0x70db, [0x4073] = 0x716e, [0x4074] = 0x62c4, [0x4075] = 0x77a9, + [0x4076] = 0x5631, [0x4077] = 0x4e3b, [0x4078] = 0x8457, [0x4079] = 0x67f1, + [0x407a] = 0x52a9, [0x407b] = 0x86c0, [0x407c] = 0x8d2e, [0x407d] = 0x94f8, + [0x407e] = 0x7b51, [0x4080] = 0x8b46, [0x4081] = 0x8b47, [0x4082] = 0x8b48, + [0x4083] = 0x8b49, [0x4084] = 0x8b4a, [0x4085] = 0x8b4b, [0x4086] = 0x8b4c, + [0x4087] = 0x8b4d, [0x4088] = 0x8b4e, [0x4089] = 0x8b4f, [0x408a] = 0x8b50, + [0x408b] = 0x8b51, [0x408c] = 0x8b52, [0x408d] = 0x8b53, [0x408e] = 0x8b54, + [0x408f] = 0x8b55, [0x4090] = 0x8b56, [0x4091] = 0x8b57, [0x4092] = 0x8b58, + [0x4093] = 0x8b59, [0x4094] = 0x8b5a, [0x4095] = 0x8b5b, [0x4096] = 0x8b5c, + [0x4097] = 0x8b5d, [0x4098] = 0x8b5e, [0x4099] = 0x8b5f, [0x409a] = 0x8b60, + [0x409b] = 0x8b61, [0x409c] = 0x8b62, [0x409d] = 0x8b63, [0x409e] = 0x8b64, + [0x409f] = 0x8b65, [0x40a0] = 0x8b67, [0x40a1] = 0x8b68, [0x40a2] = 0x8b69, + [0x40a3] = 0x8b6a, [0x40a4] = 0x8b6b, [0x40a5] = 0x8b6d, [0x40a6] = 0x8b6e, + [0x40a7] = 0x8b6f, [0x40a8] = 0x8b70, [0x40a9] = 0x8b71, [0x40aa] = 0x8b72, + [0x40ab] = 0x8b73, [0x40ac] = 0x8b74, [0x40ad] = 0x8b75, [0x40ae] = 0x8b76, + [0x40af] = 0x8b77, [0x40b0] = 0x8b78, [0x40b1] = 0x8b79, [0x40b2] = 0x8b7a, + [0x40b3] = 0x8b7b, [0x40b4] = 0x8b7c, [0x40b5] = 0x8b7d, [0x40b6] = 0x8b7e, + [0x40b7] = 0x8b7f, [0x40b8] = 0x8b80, [0x40b9] = 0x8b81, [0x40ba] = 0x8b82, + [0x40bb] = 0x8b83, [0x40bc] = 0x8b84, [0x40bd] = 0x8b85, [0x40be] = 0x8b86, + [0x40c0] = 0x8b87, [0x40c1] = 0x8b88, [0x40c2] = 0x8b89, [0x40c3] = 0x8b8a, + [0x40c4] = 0x8b8b, [0x40c5] = 0x8b8c, [0x40c6] = 0x8b8d, [0x40c7] = 0x8b8e, + [0x40c8] = 0x8b8f, [0x40c9] = 0x8b90, [0x40ca] = 0x8b91, [0x40cb] = 0x8b92, + [0x40cc] = 0x8b93, [0x40cd] = 0x8b94, [0x40ce] = 0x8b95, [0x40cf] = 0x8b96, + [0x40d0] = 0x8b97, [0x40d1] = 0x8b98, [0x40d2] = 0x8b99, [0x40d3] = 0x8b9a, + [0x40d4] = 0x8b9b, [0x40d5] = 0x8b9c, [0x40d6] = 0x8b9d, [0x40d7] = 0x8b9e, + [0x40d8] = 0x8b9f, [0x40d9] = 0x8bac, [0x40da] = 0x8bb1, [0x40db] = 0x8bbb, + [0x40dc] = 0x8bc7, [0x40dd] = 0x8bd0, [0x40de] = 0x8bea, [0x40df] = 0x8c09, + [0x40e0] = 0x8c1e, [0x40e1] = 0x4f4f, [0x40e2] = 0x6ce8, [0x40e3] = 0x795d, + [0x40e4] = 0x9a7b, [0x40e5] = 0x6293, [0x40e6] = 0x722a, [0x40e7] = 0x62fd, + [0x40e8] = 0x4e13, [0x40e9] = 0x7816, [0x40ea] = 0x8f6c, [0x40eb] = 0x64b0, + [0x40ec] = 0x8d5a, [0x40ed] = 0x7bc6, [0x40ee] = 0x6869, [0x40ef] = 0x5e84, + [0x40f0] = 0x88c5, [0x40f1] = 0x5986, [0x40f2] = 0x649e, [0x40f3] = 0x58ee, + [0x40f4] = 0x72b6, [0x40f5] = 0x690e, [0x40f6] = 0x9525, [0x40f7] = 0x8ffd, + [0x40f8] = 0x8d58, [0x40f9] = 0x5760, [0x40fa] = 0x7f00, [0x40fb] = 0x8c06, + [0x40fc] = 0x51c6, [0x40fd] = 0x6349, [0x40fe] = 0x62d9, [0x40ff] = 0x5353, + [0x4100] = 0x684c, [0x4101] = 0x7422, [0x4102] = 0x8301, [0x4103] = 0x914c, + [0x4104] = 0x5544, [0x4105] = 0x7740, [0x4106] = 0x707c, [0x4107] = 0x6d4a, + [0x4108] = 0x5179, [0x4109] = 0x54a8, [0x410a] = 0x8d44, [0x410b] = 0x59ff, + [0x410c] = 0x6ecb, [0x410d] = 0x6dc4, [0x410e] = 0x5b5c, [0x410f] = 0x7d2b, + [0x4110] = 0x4ed4, [0x4111] = 0x7c7d, [0x4112] = 0x6ed3, [0x4113] = 0x5b50, + [0x4114] = 0x81ea, [0x4115] = 0x6e0d, [0x4116] = 0x5b57, [0x4117] = 0x9b03, + [0x4118] = 0x68d5, [0x4119] = 0x8e2a, [0x411a] = 0x5b97, [0x411b] = 0x7efc, + [0x411c] = 0x603b, [0x411d] = 0x7eb5, [0x411e] = 0x90b9, [0x411f] = 0x8d70, + [0x4120] = 0x594f, [0x4121] = 0x63cd, [0x4122] = 0x79df, [0x4123] = 0x8db3, + [0x4124] = 0x5352, [0x4125] = 0x65cf, [0x4126] = 0x7956, [0x4127] = 0x8bc5, + [0x4128] = 0x963b, [0x4129] = 0x7ec4, [0x412a] = 0x94bb, [0x412b] = 0x7e82, + [0x412c] = 0x5634, [0x412d] = 0x9189, [0x412e] = 0x6700, [0x412f] = 0x7f6a, + [0x4130] = 0x5c0a, [0x4131] = 0x9075, [0x4132] = 0x6628, [0x4133] = 0x5de6, + [0x4134] = 0x4f50, [0x4135] = 0x67de, [0x4136] = 0x505a, [0x4137] = 0x4f5c, + [0x4138] = 0x5750, [0x4139] = 0x5ea7, [0x4140] = 0x8c38, [0x4141] = 0x8c39, + [0x4142] = 0x8c3a, [0x4143] = 0x8c3b, [0x4144] = 0x8c3c, [0x4145] = 0x8c3d, + [0x4146] = 0x8c3e, [0x4147] = 0x8c3f, [0x4148] = 0x8c40, [0x4149] = 0x8c42, + [0x414a] = 0x8c43, [0x414b] = 0x8c44, [0x414c] = 0x8c45, [0x414d] = 0x8c48, + [0x414e] = 0x8c4a, [0x414f] = 0x8c4b, [0x4150] = 0x8c4d, [0x4151] = 0x8c4e, + [0x4152] = 0x8c4f, [0x4153] = 0x8c50, [0x4154] = 0x8c51, [0x4155] = 0x8c52, + [0x4156] = 0x8c53, [0x4157] = 0x8c54, [0x4158] = 0x8c56, [0x4159] = 0x8c57, + [0x415a] = 0x8c58, [0x415b] = 0x8c59, [0x415c] = 0x8c5b, [0x415d] = 0x8c5c, + [0x415e] = 0x8c5d, [0x415f] = 0x8c5e, [0x4160] = 0x8c5f, [0x4161] = 0x8c60, + [0x4162] = 0x8c63, [0x4163] = 0x8c64, [0x4164] = 0x8c65, [0x4165] = 0x8c66, + [0x4166] = 0x8c67, [0x4167] = 0x8c68, [0x4168] = 0x8c69, [0x4169] = 0x8c6c, + [0x416a] = 0x8c6d, [0x416b] = 0x8c6e, [0x416c] = 0x8c6f, [0x416d] = 0x8c70, + [0x416e] = 0x8c71, [0x416f] = 0x8c72, [0x4170] = 0x8c74, [0x4171] = 0x8c75, + [0x4172] = 0x8c76, [0x4173] = 0x8c77, [0x4174] = 0x8c7b, [0x4175] = 0x8c7c, + [0x4176] = 0x8c7d, [0x4177] = 0x8c7e, [0x4178] = 0x8c7f, [0x4179] = 0x8c80, + [0x417a] = 0x8c81, [0x417b] = 0x8c83, [0x417c] = 0x8c84, [0x417d] = 0x8c86, + [0x417e] = 0x8c87, [0x4180] = 0x8c88, [0x4181] = 0x8c8b, [0x4182] = 0x8c8d, + [0x4183] = 0x8c8e, [0x4184] = 0x8c8f, [0x4185] = 0x8c90, [0x4186] = 0x8c91, + [0x4187] = 0x8c92, [0x4188] = 0x8c93, [0x4189] = 0x8c95, [0x418a] = 0x8c96, + [0x418b] = 0x8c97, [0x418c] = 0x8c99, [0x418d] = 0x8c9a, [0x418e] = 0x8c9b, + [0x418f] = 0x8c9c, [0x4190] = 0x8c9d, [0x4191] = 0x8c9e, [0x4192] = 0x8c9f, + [0x4193] = 0x8ca0, [0x4194] = 0x8ca1, [0x4195] = 0x8ca2, [0x4196] = 0x8ca3, + [0x4197] = 0x8ca4, [0x4198] = 0x8ca5, [0x4199] = 0x8ca6, [0x419a] = 0x8ca7, + [0x419b] = 0x8ca8, [0x419c] = 0x8ca9, [0x419d] = 0x8caa, [0x419e] = 0x8cab, + [0x419f] = 0x8cac, [0x41a0] = 0x8cad, [0x41a1] = 0x4e8d, [0x41a2] = 0x4e0c, + [0x41a3] = 0x5140, [0x41a4] = 0x4e10, [0x41a5] = 0x5eff, [0x41a6] = 0x5345, + [0x41a7] = 0x4e15, [0x41a8] = 0x4e98, [0x41a9] = 0x4e1e, [0x41aa] = 0x9b32, + [0x41ab] = 0x5b6c, [0x41ac] = 0x5669, [0x41ad] = 0x4e28, [0x41ae] = 0x79ba, + [0x41af] = 0x4e3f, [0x41b0] = 0x5315, [0x41b1] = 0x4e47, [0x41b2] = 0x592d, + [0x41b3] = 0x723b, [0x41b4] = 0x536e, [0x41b5] = 0x6c10, [0x41b6] = 0x56df, + [0x41b7] = 0x80e4, [0x41b8] = 0x9997, [0x41b9] = 0x6bd3, [0x41ba] = 0x777e, + [0x41bb] = 0x9f17, [0x41bc] = 0x4e36, [0x41bd] = 0x4e9f, [0x41be] = 0x9f10, + [0x41bf] = 0x4e5c, [0x41c0] = 0x4e69, [0x41c1] = 0x4e93, [0x41c2] = 0x8288, + [0x41c3] = 0x5b5b, [0x41c4] = 0x556c, [0x41c5] = 0x560f, [0x41c6] = 0x4ec4, + [0x41c7] = 0x538d, [0x41c8] = 0x539d, [0x41c9] = 0x53a3, [0x41ca] = 0x53a5, + [0x41cb] = 0x53ae, [0x41cc] = 0x9765, [0x41cd] = 0x8d5d, [0x41ce] = 0x531a, + [0x41cf] = 0x53f5, [0x41d0] = 0x5326, [0x41d1] = 0x532e, [0x41d2] = 0x533e, + [0x41d3] = 0x8d5c, [0x41d4] = 0x5366, [0x41d5] = 0x5363, [0x41d6] = 0x5202, + [0x41d7] = 0x5208, [0x41d8] = 0x520e, [0x41d9] = 0x522d, [0x41da] = 0x5233, + [0x41db] = 0x523f, [0x41dc] = 0x5240, [0x41dd] = 0x524c, [0x41de] = 0x525e, + [0x41df] = 0x5261, [0x41e0] = 0x525c, [0x41e1] = 0x84af, [0x41e2] = 0x527d, + [0x41e3] = 0x5282, [0x41e4] = 0x5281, [0x41e5] = 0x5290, [0x41e6] = 0x5293, + [0x41e7] = 0x5182, [0x41e8] = 0x7f54, [0x41e9] = 0x4ebb, [0x41ea] = 0x4ec3, + [0x41eb] = 0x4ec9, [0x41ec] = 0x4ec2, [0x41ed] = 0x4ee8, [0x41ee] = 0x4ee1, + [0x41ef] = 0x4eeb, [0x41f0] = 0x4ede, [0x41f1] = 0x4f1b, [0x41f2] = 0x4ef3, + [0x41f3] = 0x4f22, [0x41f4] = 0x4f64, [0x41f5] = 0x4ef5, [0x41f6] = 0x4f25, + [0x41f7] = 0x4f27, [0x41f8] = 0x4f09, [0x41f9] = 0x4f2b, [0x41fa] = 0x4f5e, + [0x41fb] = 0x4f67, [0x41fc] = 0x6538, [0x41fd] = 0x4f5a, [0x41fe] = 0x4f5d, + [0x4200] = 0x8cae, [0x4201] = 0x8caf, [0x4202] = 0x8cb0, [0x4203] = 0x8cb1, + [0x4204] = 0x8cb2, [0x4205] = 0x8cb3, [0x4206] = 0x8cb4, [0x4207] = 0x8cb5, + [0x4208] = 0x8cb6, [0x4209] = 0x8cb7, [0x420a] = 0x8cb8, [0x420b] = 0x8cb9, + [0x420c] = 0x8cba, [0x420d] = 0x8cbb, [0x420e] = 0x8cbc, [0x420f] = 0x8cbd, + [0x4210] = 0x8cbe, [0x4211] = 0x8cbf, [0x4212] = 0x8cc0, [0x4213] = 0x8cc1, + [0x4214] = 0x8cc2, [0x4215] = 0x8cc3, [0x4216] = 0x8cc4, [0x4217] = 0x8cc5, + [0x4218] = 0x8cc6, [0x4219] = 0x8cc7, [0x421a] = 0x8cc8, [0x421b] = 0x8cc9, + [0x421c] = 0x8cca, [0x421d] = 0x8ccb, [0x421e] = 0x8ccc, [0x421f] = 0x8ccd, + [0x4220] = 0x8cce, [0x4221] = 0x8ccf, [0x4222] = 0x8cd0, [0x4223] = 0x8cd1, + [0x4224] = 0x8cd2, [0x4225] = 0x8cd3, [0x4226] = 0x8cd4, [0x4227] = 0x8cd5, + [0x4228] = 0x8cd6, [0x4229] = 0x8cd7, [0x422a] = 0x8cd8, [0x422b] = 0x8cd9, + [0x422c] = 0x8cda, [0x422d] = 0x8cdb, [0x422e] = 0x8cdc, [0x422f] = 0x8cdd, + [0x4230] = 0x8cde, [0x4231] = 0x8cdf, [0x4232] = 0x8ce0, [0x4233] = 0x8ce1, + [0x4234] = 0x8ce2, [0x4235] = 0x8ce3, [0x4236] = 0x8ce4, [0x4237] = 0x8ce5, + [0x4238] = 0x8ce6, [0x4239] = 0x8ce7, [0x423a] = 0x8ce8, [0x423b] = 0x8ce9, + [0x423c] = 0x8cea, [0x423d] = 0x8ceb, [0x423e] = 0x8cec, [0x4240] = 0x8ced, + [0x4241] = 0x8cee, [0x4242] = 0x8cef, [0x4243] = 0x8cf0, [0x4244] = 0x8cf1, + [0x4245] = 0x8cf2, [0x4246] = 0x8cf3, [0x4247] = 0x8cf4, [0x4248] = 0x8cf5, + [0x4249] = 0x8cf6, [0x424a] = 0x8cf7, [0x424b] = 0x8cf8, [0x424c] = 0x8cf9, + [0x424d] = 0x8cfa, [0x424e] = 0x8cfb, [0x424f] = 0x8cfc, [0x4250] = 0x8cfd, + [0x4251] = 0x8cfe, [0x4252] = 0x8cff, [0x4253] = 0x8d00, [0x4254] = 0x8d01, + [0x4255] = 0x8d02, [0x4256] = 0x8d03, [0x4257] = 0x8d04, [0x4258] = 0x8d05, + [0x4259] = 0x8d06, [0x425a] = 0x8d07, [0x425b] = 0x8d08, [0x425c] = 0x8d09, + [0x425d] = 0x8d0a, [0x425e] = 0x8d0b, [0x425f] = 0x8d0c, [0x4260] = 0x8d0d, + [0x4261] = 0x4f5f, [0x4262] = 0x4f57, [0x4263] = 0x4f32, [0x4264] = 0x4f3d, + [0x4265] = 0x4f76, [0x4266] = 0x4f74, [0x4267] = 0x4f91, [0x4268] = 0x4f89, + [0x4269] = 0x4f83, [0x426a] = 0x4f8f, [0x426b] = 0x4f7e, [0x426c] = 0x4f7b, + [0x426d] = 0x4faa, [0x426e] = 0x4f7c, [0x426f] = 0x4fac, [0x4270] = 0x4f94, + [0x4271] = 0x4fe6, [0x4272] = 0x4fe8, [0x4273] = 0x4fea, [0x4274] = 0x4fc5, + [0x4275] = 0x4fda, [0x4276] = 0x4fe3, [0x4277] = 0x4fdc, [0x4278] = 0x4fd1, + [0x4279] = 0x4fdf, [0x427a] = 0x4ff8, [0x427b] = 0x5029, [0x427c] = 0x504c, + [0x427d] = 0x4ff3, [0x427e] = 0x502c, [0x427f] = 0x500f, [0x4280] = 0x502e, + [0x4281] = 0x502d, [0x4282] = 0x4ffe, [0x4283] = 0x501c, [0x4284] = 0x500c, + [0x4285] = 0x5025, [0x4286] = 0x5028, [0x4287] = 0x507e, [0x4288] = 0x5043, + [0x4289] = 0x5055, [0x428a] = 0x5048, [0x428b] = 0x504e, [0x428c] = 0x506c, + [0x428d] = 0x507b, [0x428e] = 0x50a5, [0x428f] = 0x50a7, [0x4290] = 0x50a9, + [0x4291] = 0x50ba, [0x4292] = 0x50d6, [0x4293] = 0x5106, [0x4294] = 0x50ed, + [0x4295] = 0x50ec, [0x4296] = 0x50e6, [0x4297] = 0x50ee, [0x4298] = 0x5107, + [0x4299] = 0x510b, [0x429a] = 0x4edd, [0x429b] = 0x6c3d, [0x429c] = 0x4f58, + [0x429d] = 0x4f65, [0x429e] = 0x4fce, [0x429f] = 0x9fa0, [0x42a0] = 0x6c46, + [0x42a1] = 0x7c74, [0x42a2] = 0x516e, [0x42a3] = 0x5dfd, [0x42a4] = 0x9ec9, + [0x42a5] = 0x9998, [0x42a6] = 0x5181, [0x42a7] = 0x5914, [0x42a8] = 0x52f9, + [0x42a9] = 0x530d, [0x42aa] = 0x8a07, [0x42ab] = 0x5310, [0x42ac] = 0x51eb, + [0x42ad] = 0x5919, [0x42ae] = 0x5155, [0x42af] = 0x4ea0, [0x42b0] = 0x5156, + [0x42b1] = 0x4eb3, [0x42b2] = 0x886e, [0x42b3] = 0x88a4, [0x42b4] = 0x4eb5, + [0x42b5] = 0x8114, [0x42b6] = 0x88d2, [0x42b7] = 0x7980, [0x42b8] = 0x5b34, + [0x42b9] = 0x8803, [0x42ba] = 0x7fb8, [0x42bb] = 0x51ab, [0x42bc] = 0x51b1, + [0x42bd] = 0x51bd, [0x42be] = 0x51bc, [0x42c0] = 0x8d0e, [0x42c1] = 0x8d0f, + [0x42c2] = 0x8d10, [0x42c3] = 0x8d11, [0x42c4] = 0x8d12, [0x42c5] = 0x8d13, + [0x42c6] = 0x8d14, [0x42c7] = 0x8d15, [0x42c8] = 0x8d16, [0x42c9] = 0x8d17, + [0x42ca] = 0x8d18, [0x42cb] = 0x8d19, [0x42cc] = 0x8d1a, [0x42cd] = 0x8d1b, + [0x42ce] = 0x8d1c, [0x42cf] = 0x8d20, [0x42d0] = 0x8d51, [0x42d1] = 0x8d52, + [0x42d2] = 0x8d57, [0x42d3] = 0x8d5f, [0x42d4] = 0x8d65, [0x42d5] = 0x8d68, + [0x42d6] = 0x8d69, [0x42d7] = 0x8d6a, [0x42d8] = 0x8d6c, [0x42d9] = 0x8d6e, + [0x42da] = 0x8d6f, [0x42db] = 0x8d71, [0x42dc] = 0x8d72, [0x42dd] = 0x8d78, + [0x42de] = 0x8d79, [0x42df] = 0x8d7a, [0x42e0] = 0x8d7b, [0x42e1] = 0x8d7c, + [0x42e2] = 0x8d7d, [0x42e3] = 0x8d7e, [0x42e4] = 0x8d7f, [0x42e5] = 0x8d80, + [0x42e6] = 0x8d82, [0x42e7] = 0x8d83, [0x42e8] = 0x8d86, [0x42e9] = 0x8d87, + [0x42ea] = 0x8d88, [0x42eb] = 0x8d89, [0x42ec] = 0x8d8c, [0x42ed] = 0x8d8d, + [0x42ee] = 0x8d8e, [0x42ef] = 0x8d8f, [0x42f0] = 0x8d90, [0x42f1] = 0x8d92, + [0x42f2] = 0x8d93, [0x42f3] = 0x8d95, [0x42f4] = 0x8d96, [0x42f5] = 0x8d97, + [0x42f6] = 0x8d98, [0x42f7] = 0x8d99, [0x42f8] = 0x8d9a, [0x42f9] = 0x8d9b, + [0x42fa] = 0x8d9c, [0x42fb] = 0x8d9d, [0x42fc] = 0x8d9e, [0x42fd] = 0x8da0, + [0x42fe] = 0x8da1, [0x4300] = 0x8da2, [0x4301] = 0x8da4, [0x4302] = 0x8da5, + [0x4303] = 0x8da6, [0x4304] = 0x8da7, [0x4305] = 0x8da8, [0x4306] = 0x8da9, + [0x4307] = 0x8daa, [0x4308] = 0x8dab, [0x4309] = 0x8dac, [0x430a] = 0x8dad, + [0x430b] = 0x8dae, [0x430c] = 0x8daf, [0x430d] = 0x8db0, [0x430e] = 0x8db2, + [0x430f] = 0x8db6, [0x4310] = 0x8db7, [0x4311] = 0x8db9, [0x4312] = 0x8dbb, + [0x4313] = 0x8dbd, [0x4314] = 0x8dc0, [0x4315] = 0x8dc1, [0x4316] = 0x8dc2, + [0x4317] = 0x8dc5, [0x4318] = 0x8dc7, [0x4319] = 0x8dc8, [0x431a] = 0x8dc9, + [0x431b] = 0x8dca, [0x431c] = 0x8dcd, [0x431d] = 0x8dd0, [0x431e] = 0x8dd2, + [0x431f] = 0x8dd3, [0x4320] = 0x8dd4, [0x4321] = 0x51c7, [0x4322] = 0x5196, + [0x4323] = 0x51a2, [0x4324] = 0x51a5, [0x4325] = 0x8ba0, [0x4326] = 0x8ba6, + [0x4327] = 0x8ba7, [0x4328] = 0x8baa, [0x4329] = 0x8bb4, [0x432a] = 0x8bb5, + [0x432b] = 0x8bb7, [0x432c] = 0x8bc2, [0x432d] = 0x8bc3, [0x432e] = 0x8bcb, + [0x432f] = 0x8bcf, [0x4330] = 0x8bce, [0x4331] = 0x8bd2, [0x4332] = 0x8bd3, + [0x4333] = 0x8bd4, [0x4334] = 0x8bd6, [0x4335] = 0x8bd8, [0x4336] = 0x8bd9, + [0x4337] = 0x8bdc, [0x4338] = 0x8bdf, [0x4339] = 0x8be0, [0x433a] = 0x8be4, + [0x433b] = 0x8be8, [0x433c] = 0x8be9, [0x433d] = 0x8bee, [0x433e] = 0x8bf0, + [0x433f] = 0x8bf3, [0x4340] = 0x8bf6, [0x4341] = 0x8bf9, [0x4342] = 0x8bfc, + [0x4343] = 0x8bff, [0x4344] = 0x8c00, [0x4345] = 0x8c02, [0x4346] = 0x8c04, + [0x4347] = 0x8c07, [0x4348] = 0x8c0c, [0x4349] = 0x8c0f, [0x434a] = 0x8c11, + [0x434b] = 0x8c12, [0x434c] = 0x8c14, [0x434d] = 0x8c15, [0x434e] = 0x8c16, + [0x434f] = 0x8c19, [0x4350] = 0x8c1b, [0x4351] = 0x8c18, [0x4352] = 0x8c1d, + [0x4353] = 0x8c1f, [0x4354] = 0x8c20, [0x4355] = 0x8c21, [0x4356] = 0x8c25, + [0x4357] = 0x8c27, [0x4358] = 0x8c2a, [0x4359] = 0x8c2b, [0x435a] = 0x8c2e, + [0x435b] = 0x8c2f, [0x435c] = 0x8c32, [0x435d] = 0x8c33, [0x435e] = 0x8c35, + [0x435f] = 0x8c36, [0x4360] = 0x5369, [0x4361] = 0x537a, [0x4362] = 0x961d, + [0x4363] = 0x9622, [0x4364] = 0x9621, [0x4365] = 0x9631, [0x4366] = 0x962a, + [0x4367] = 0x963d, [0x4368] = 0x963c, [0x4369] = 0x9642, [0x436a] = 0x9649, + [0x436b] = 0x9654, [0x436c] = 0x965f, [0x436d] = 0x9667, [0x436e] = 0x966c, + [0x436f] = 0x9672, [0x4370] = 0x9674, [0x4371] = 0x9688, [0x4372] = 0x968d, + [0x4373] = 0x9697, [0x4374] = 0x96b0, [0x4375] = 0x9097, [0x4376] = 0x909b, + [0x4377] = 0x909d, [0x4378] = 0x9099, [0x4379] = 0x90ac, [0x437a] = 0x90a1, + [0x437b] = 0x90b4, [0x437c] = 0x90b3, [0x437d] = 0x90b6, [0x437e] = 0x90ba, + [0x4380] = 0x8dd5, [0x4381] = 0x8dd8, [0x4382] = 0x8dd9, [0x4383] = 0x8ddc, + [0x4384] = 0x8de0, [0x4385] = 0x8de1, [0x4386] = 0x8de2, [0x4387] = 0x8de5, + [0x4388] = 0x8de6, [0x4389] = 0x8de7, [0x438a] = 0x8de9, [0x438b] = 0x8ded, + [0x438c] = 0x8dee, [0x438d] = 0x8df0, [0x438e] = 0x8df1, [0x438f] = 0x8df2, + [0x4390] = 0x8df4, [0x4391] = 0x8df6, [0x4392] = 0x8dfc, [0x4393] = 0x8dfe, + [0x4394] = 0x8dff, [0x4395] = 0x8e00, [0x4396] = 0x8e01, [0x4397] = 0x8e02, + [0x4398] = 0x8e03, [0x4399] = 0x8e04, [0x439a] = 0x8e06, [0x439b] = 0x8e07, + [0x439c] = 0x8e08, [0x439d] = 0x8e0b, [0x439e] = 0x8e0d, [0x439f] = 0x8e0e, + [0x43a0] = 0x8e10, [0x43a1] = 0x8e11, [0x43a2] = 0x8e12, [0x43a3] = 0x8e13, + [0x43a4] = 0x8e15, [0x43a5] = 0x8e16, [0x43a6] = 0x8e17, [0x43a7] = 0x8e18, + [0x43a8] = 0x8e19, [0x43a9] = 0x8e1a, [0x43aa] = 0x8e1b, [0x43ab] = 0x8e1c, + [0x43ac] = 0x8e20, [0x43ad] = 0x8e21, [0x43ae] = 0x8e24, [0x43af] = 0x8e25, + [0x43b0] = 0x8e26, [0x43b1] = 0x8e27, [0x43b2] = 0x8e28, [0x43b3] = 0x8e2b, + [0x43b4] = 0x8e2d, [0x43b5] = 0x8e30, [0x43b6] = 0x8e32, [0x43b7] = 0x8e33, + [0x43b8] = 0x8e34, [0x43b9] = 0x8e36, [0x43ba] = 0x8e37, [0x43bb] = 0x8e38, + [0x43bc] = 0x8e3b, [0x43bd] = 0x8e3c, [0x43be] = 0x8e3e, [0x43c0] = 0x8e3f, + [0x43c1] = 0x8e43, [0x43c2] = 0x8e45, [0x43c3] = 0x8e46, [0x43c4] = 0x8e4c, + [0x43c5] = 0x8e4d, [0x43c6] = 0x8e4e, [0x43c7] = 0x8e4f, [0x43c8] = 0x8e50, + [0x43c9] = 0x8e53, [0x43ca] = 0x8e54, [0x43cb] = 0x8e55, [0x43cc] = 0x8e56, + [0x43cd] = 0x8e57, [0x43ce] = 0x8e58, [0x43cf] = 0x8e5a, [0x43d0] = 0x8e5b, + [0x43d1] = 0x8e5c, [0x43d2] = 0x8e5d, [0x43d3] = 0x8e5e, [0x43d4] = 0x8e5f, + [0x43d5] = 0x8e60, [0x43d6] = 0x8e61, [0x43d7] = 0x8e62, [0x43d8] = 0x8e63, + [0x43d9] = 0x8e64, [0x43da] = 0x8e65, [0x43db] = 0x8e67, [0x43dc] = 0x8e68, + [0x43dd] = 0x8e6a, [0x43de] = 0x8e6b, [0x43df] = 0x8e6e, [0x43e0] = 0x8e71, + [0x43e1] = 0x90b8, [0x43e2] = 0x90b0, [0x43e3] = 0x90cf, [0x43e4] = 0x90c5, + [0x43e5] = 0x90be, [0x43e6] = 0x90d0, [0x43e7] = 0x90c4, [0x43e8] = 0x90c7, + [0x43e9] = 0x90d3, [0x43ea] = 0x90e6, [0x43eb] = 0x90e2, [0x43ec] = 0x90dc, + [0x43ed] = 0x90d7, [0x43ee] = 0x90db, [0x43ef] = 0x90eb, [0x43f0] = 0x90ef, + [0x43f1] = 0x90fe, [0x43f2] = 0x9104, [0x43f3] = 0x9122, [0x43f4] = 0x911e, + [0x43f5] = 0x9123, [0x43f6] = 0x9131, [0x43f7] = 0x912f, [0x43f8] = 0x9139, + [0x43f9] = 0x9143, [0x43fa] = 0x9146, [0x43fb] = 0x520d, [0x43fc] = 0x5942, + [0x43fd] = 0x52a2, [0x43fe] = 0x52ac, [0x43ff] = 0x52ad, [0x4400] = 0x52be, + [0x4401] = 0x54ff, [0x4402] = 0x52d0, [0x4403] = 0x52d6, [0x4404] = 0x52f0, + [0x4405] = 0x53df, [0x4406] = 0x71ee, [0x4407] = 0x77cd, [0x4408] = 0x5ef4, + [0x4409] = 0x51f5, [0x440a] = 0x51fc, [0x440b] = 0x9b2f, [0x440c] = 0x53b6, + [0x440d] = 0x5f01, [0x440e] = 0x755a, [0x440f] = 0x5def, [0x4410] = 0x574c, + [0x4411] = 0x57a9, [0x4412] = 0x57a1, [0x4413] = 0x587e, [0x4414] = 0x58bc, + [0x4415] = 0x58c5, [0x4416] = 0x58d1, [0x4417] = 0x5729, [0x4418] = 0x572c, + [0x4419] = 0x572a, [0x441a] = 0x5733, [0x441b] = 0x5739, [0x441c] = 0x572e, + [0x441d] = 0x572f, [0x441e] = 0x575c, [0x441f] = 0x573b, [0x4420] = 0x5742, + [0x4421] = 0x5769, [0x4422] = 0x5785, [0x4423] = 0x576b, [0x4424] = 0x5786, + [0x4425] = 0x577c, [0x4426] = 0x577b, [0x4427] = 0x5768, [0x4428] = 0x576d, + [0x4429] = 0x5776, [0x442a] = 0x5773, [0x442b] = 0x57ad, [0x442c] = 0x57a4, + [0x442d] = 0x578c, [0x442e] = 0x57b2, [0x442f] = 0x57cf, [0x4430] = 0x57a7, + [0x4431] = 0x57b4, [0x4432] = 0x5793, [0x4433] = 0x57a0, [0x4434] = 0x57d5, + [0x4435] = 0x57d8, [0x4436] = 0x57da, [0x4437] = 0x57d9, [0x4438] = 0x57d2, + [0x4439] = 0x57b8, [0x443a] = 0x57f4, [0x443b] = 0x57ef, [0x443c] = 0x57f8, + [0x443d] = 0x57e4, [0x443e] = 0x57dd, [0x4440] = 0x8e73, [0x4441] = 0x8e75, + [0x4442] = 0x8e77, [0x4443] = 0x8e78, [0x4444] = 0x8e79, [0x4445] = 0x8e7a, + [0x4446] = 0x8e7b, [0x4447] = 0x8e7d, [0x4448] = 0x8e7e, [0x4449] = 0x8e80, + [0x444a] = 0x8e82, [0x444b] = 0x8e83, [0x444c] = 0x8e84, [0x444d] = 0x8e86, + [0x444e] = 0x8e88, [0x444f] = 0x8e89, [0x4450] = 0x8e8a, [0x4451] = 0x8e8b, + [0x4452] = 0x8e8c, [0x4453] = 0x8e8d, [0x4454] = 0x8e8e, [0x4455] = 0x8e91, + [0x4456] = 0x8e92, [0x4457] = 0x8e93, [0x4458] = 0x8e95, [0x4459] = 0x8e96, + [0x445a] = 0x8e97, [0x445b] = 0x8e98, [0x445c] = 0x8e99, [0x445d] = 0x8e9a, + [0x445e] = 0x8e9b, [0x445f] = 0x8e9d, [0x4460] = 0x8e9f, [0x4461] = 0x8ea0, + [0x4462] = 0x8ea1, [0x4463] = 0x8ea2, [0x4464] = 0x8ea3, [0x4465] = 0x8ea4, + [0x4466] = 0x8ea5, [0x4467] = 0x8ea6, [0x4468] = 0x8ea7, [0x4469] = 0x8ea8, + [0x446a] = 0x8ea9, [0x446b] = 0x8eaa, [0x446c] = 0x8ead, [0x446d] = 0x8eae, + [0x446e] = 0x8eb0, [0x446f] = 0x8eb1, [0x4470] = 0x8eb3, [0x4471] = 0x8eb4, + [0x4472] = 0x8eb5, [0x4473] = 0x8eb6, [0x4474] = 0x8eb7, [0x4475] = 0x8eb8, + [0x4476] = 0x8eb9, [0x4477] = 0x8ebb, [0x4478] = 0x8ebc, [0x4479] = 0x8ebd, + [0x447a] = 0x8ebe, [0x447b] = 0x8ebf, [0x447c] = 0x8ec0, [0x447d] = 0x8ec1, + [0x447e] = 0x8ec2, [0x4480] = 0x8ec3, [0x4481] = 0x8ec4, [0x4482] = 0x8ec5, + [0x4483] = 0x8ec6, [0x4484] = 0x8ec7, [0x4485] = 0x8ec8, [0x4486] = 0x8ec9, + [0x4487] = 0x8eca, [0x4488] = 0x8ecb, [0x4489] = 0x8ecc, [0x448a] = 0x8ecd, + [0x448b] = 0x8ecf, [0x448c] = 0x8ed0, [0x448d] = 0x8ed1, [0x448e] = 0x8ed2, + [0x448f] = 0x8ed3, [0x4490] = 0x8ed4, [0x4491] = 0x8ed5, [0x4492] = 0x8ed6, + [0x4493] = 0x8ed7, [0x4494] = 0x8ed8, [0x4495] = 0x8ed9, [0x4496] = 0x8eda, + [0x4497] = 0x8edb, [0x4498] = 0x8edc, [0x4499] = 0x8edd, [0x449a] = 0x8ede, + [0x449b] = 0x8edf, [0x449c] = 0x8ee0, [0x449d] = 0x8ee1, [0x449e] = 0x8ee2, + [0x449f] = 0x8ee3, [0x44a0] = 0x8ee4, [0x44a1] = 0x580b, [0x44a2] = 0x580d, + [0x44a3] = 0x57fd, [0x44a4] = 0x57ed, [0x44a5] = 0x5800, [0x44a6] = 0x581e, + [0x44a7] = 0x5819, [0x44a8] = 0x5844, [0x44a9] = 0x5820, [0x44aa] = 0x5865, + [0x44ab] = 0x586c, [0x44ac] = 0x5881, [0x44ad] = 0x5889, [0x44ae] = 0x589a, + [0x44af] = 0x5880, [0x44b0] = 0x99a8, [0x44b1] = 0x9f19, [0x44b2] = 0x61ff, + [0x44b3] = 0x8279, [0x44b4] = 0x827d, [0x44b5] = 0x827f, [0x44b6] = 0x828f, + [0x44b7] = 0x828a, [0x44b8] = 0x82a8, [0x44b9] = 0x8284, [0x44ba] = 0x828e, + [0x44bb] = 0x8291, [0x44bc] = 0x8297, [0x44bd] = 0x8299, [0x44be] = 0x82ab, + [0x44bf] = 0x82b8, [0x44c0] = 0x82be, [0x44c1] = 0x82b0, [0x44c2] = 0x82c8, + [0x44c3] = 0x82ca, [0x44c4] = 0x82e3, [0x44c5] = 0x8298, [0x44c6] = 0x82b7, + [0x44c7] = 0x82ae, [0x44c8] = 0x82cb, [0x44c9] = 0x82cc, [0x44ca] = 0x82c1, + [0x44cb] = 0x82a9, [0x44cc] = 0x82b4, [0x44cd] = 0x82a1, [0x44ce] = 0x82aa, + [0x44cf] = 0x829f, [0x44d0] = 0x82c4, [0x44d1] = 0x82ce, [0x44d2] = 0x82a4, + [0x44d3] = 0x82e1, [0x44d4] = 0x8309, [0x44d5] = 0x82f7, [0x44d6] = 0x82e4, + [0x44d7] = 0x830f, [0x44d8] = 0x8307, [0x44d9] = 0x82dc, [0x44da] = 0x82f4, + [0x44db] = 0x82d2, [0x44dc] = 0x82d8, [0x44dd] = 0x830c, [0x44de] = 0x82fb, + [0x44df] = 0x82d3, [0x44e0] = 0x8311, [0x44e1] = 0x831a, [0x44e2] = 0x8306, + [0x44e3] = 0x8314, [0x44e4] = 0x8315, [0x44e5] = 0x82e0, [0x44e6] = 0x82d5, + [0x44e7] = 0x831c, [0x44e8] = 0x8351, [0x44e9] = 0x835b, [0x44ea] = 0x835c, + [0x44eb] = 0x8308, [0x44ec] = 0x8392, [0x44ed] = 0x833c, [0x44ee] = 0x8334, + [0x44ef] = 0x8331, [0x44f0] = 0x839b, [0x44f1] = 0x835e, [0x44f2] = 0x832f, + [0x44f3] = 0x834f, [0x44f4] = 0x8347, [0x44f5] = 0x8343, [0x44f6] = 0x835f, + [0x44f7] = 0x8340, [0x44f8] = 0x8317, [0x44f9] = 0x8360, [0x44fa] = 0x832d, + [0x44fb] = 0x833a, [0x44fc] = 0x8333, [0x44fd] = 0x8366, [0x44fe] = 0x8365, + [0x4500] = 0x8ee5, [0x4501] = 0x8ee6, [0x4502] = 0x8ee7, [0x4503] = 0x8ee8, + [0x4504] = 0x8ee9, [0x4505] = 0x8eea, [0x4506] = 0x8eeb, [0x4507] = 0x8eec, + [0x4508] = 0x8eed, [0x4509] = 0x8eee, [0x450a] = 0x8eef, [0x450b] = 0x8ef0, + [0x450c] = 0x8ef1, [0x450d] = 0x8ef2, [0x450e] = 0x8ef3, [0x450f] = 0x8ef4, + [0x4510] = 0x8ef5, [0x4511] = 0x8ef6, [0x4512] = 0x8ef7, [0x4513] = 0x8ef8, + [0x4514] = 0x8ef9, [0x4515] = 0x8efa, [0x4516] = 0x8efb, [0x4517] = 0x8efc, + [0x4518] = 0x8efd, [0x4519] = 0x8efe, [0x451a] = 0x8eff, [0x451b] = 0x8f00, + [0x451c] = 0x8f01, [0x451d] = 0x8f02, [0x451e] = 0x8f03, [0x451f] = 0x8f04, + [0x4520] = 0x8f05, [0x4521] = 0x8f06, [0x4522] = 0x8f07, [0x4523] = 0x8f08, + [0x4524] = 0x8f09, [0x4525] = 0x8f0a, [0x4526] = 0x8f0b, [0x4527] = 0x8f0c, + [0x4528] = 0x8f0d, [0x4529] = 0x8f0e, [0x452a] = 0x8f0f, [0x452b] = 0x8f10, + [0x452c] = 0x8f11, [0x452d] = 0x8f12, [0x452e] = 0x8f13, [0x452f] = 0x8f14, + [0x4530] = 0x8f15, [0x4531] = 0x8f16, [0x4532] = 0x8f17, [0x4533] = 0x8f18, + [0x4534] = 0x8f19, [0x4535] = 0x8f1a, [0x4536] = 0x8f1b, [0x4537] = 0x8f1c, + [0x4538] = 0x8f1d, [0x4539] = 0x8f1e, [0x453a] = 0x8f1f, [0x453b] = 0x8f20, + [0x453c] = 0x8f21, [0x453d] = 0x8f22, [0x453e] = 0x8f23, [0x4540] = 0x8f24, + [0x4541] = 0x8f25, [0x4542] = 0x8f26, [0x4543] = 0x8f27, [0x4544] = 0x8f28, + [0x4545] = 0x8f29, [0x4546] = 0x8f2a, [0x4547] = 0x8f2b, [0x4548] = 0x8f2c, + [0x4549] = 0x8f2d, [0x454a] = 0x8f2e, [0x454b] = 0x8f2f, [0x454c] = 0x8f30, + [0x454d] = 0x8f31, [0x454e] = 0x8f32, [0x454f] = 0x8f33, [0x4550] = 0x8f34, + [0x4551] = 0x8f35, [0x4552] = 0x8f36, [0x4553] = 0x8f37, [0x4554] = 0x8f38, + [0x4555] = 0x8f39, [0x4556] = 0x8f3a, [0x4557] = 0x8f3b, [0x4558] = 0x8f3c, + [0x4559] = 0x8f3d, [0x455a] = 0x8f3e, [0x455b] = 0x8f3f, [0x455c] = 0x8f40, + [0x455d] = 0x8f41, [0x455e] = 0x8f42, [0x455f] = 0x8f43, [0x4560] = 0x8f44, + [0x4561] = 0x8368, [0x4562] = 0x831b, [0x4563] = 0x8369, [0x4564] = 0x836c, + [0x4565] = 0x836a, [0x4566] = 0x836d, [0x4567] = 0x836e, [0x4568] = 0x83b0, + [0x4569] = 0x8378, [0x456a] = 0x83b3, [0x456b] = 0x83b4, [0x456c] = 0x83a0, + [0x456d] = 0x83aa, [0x456e] = 0x8393, [0x456f] = 0x839c, [0x4570] = 0x8385, + [0x4571] = 0x837c, [0x4572] = 0x83b6, [0x4573] = 0x83a9, [0x4574] = 0x837d, + [0x4575] = 0x83b8, [0x4576] = 0x837b, [0x4577] = 0x8398, [0x4578] = 0x839e, + [0x4579] = 0x83a8, [0x457a] = 0x83ba, [0x457b] = 0x83bc, [0x457c] = 0x83c1, + [0x457d] = 0x8401, [0x457e] = 0x83e5, [0x457f] = 0x83d8, [0x4580] = 0x5807, + [0x4581] = 0x8418, [0x4582] = 0x840b, [0x4583] = 0x83dd, [0x4584] = 0x83fd, + [0x4585] = 0x83d6, [0x4586] = 0x841c, [0x4587] = 0x8438, [0x4588] = 0x8411, + [0x4589] = 0x8406, [0x458a] = 0x83d4, [0x458b] = 0x83df, [0x458c] = 0x840f, + [0x458d] = 0x8403, [0x458e] = 0x83f8, [0x458f] = 0x83f9, [0x4590] = 0x83ea, + [0x4591] = 0x83c5, [0x4592] = 0x83c0, [0x4593] = 0x8426, [0x4594] = 0x83f0, + [0x4595] = 0x83e1, [0x4596] = 0x845c, [0x4597] = 0x8451, [0x4598] = 0x845a, + [0x4599] = 0x8459, [0x459a] = 0x8473, [0x459b] = 0x8487, [0x459c] = 0x8488, + [0x459d] = 0x847a, [0x459e] = 0x8489, [0x459f] = 0x8478, [0x45a0] = 0x843c, + [0x45a1] = 0x8446, [0x45a2] = 0x8469, [0x45a3] = 0x8476, [0x45a4] = 0x848c, + [0x45a5] = 0x848e, [0x45a6] = 0x8431, [0x45a7] = 0x846d, [0x45a8] = 0x84c1, + [0x45a9] = 0x84cd, [0x45aa] = 0x84d0, [0x45ab] = 0x84e6, [0x45ac] = 0x84bd, + [0x45ad] = 0x84d3, [0x45ae] = 0x84ca, [0x45af] = 0x84bf, [0x45b0] = 0x84ba, + [0x45b1] = 0x84e0, [0x45b2] = 0x84a1, [0x45b3] = 0x84b9, [0x45b4] = 0x84b4, + [0x45b5] = 0x8497, [0x45b6] = 0x84e5, [0x45b7] = 0x84e3, [0x45b8] = 0x850c, + [0x45b9] = 0x750d, [0x45ba] = 0x8538, [0x45bb] = 0x84f0, [0x45bc] = 0x8539, + [0x45bd] = 0x851f, [0x45be] = 0x853a, [0x45c0] = 0x8f45, [0x45c1] = 0x8f46, + [0x45c2] = 0x8f47, [0x45c3] = 0x8f48, [0x45c4] = 0x8f49, [0x45c5] = 0x8f4a, + [0x45c6] = 0x8f4b, [0x45c7] = 0x8f4c, [0x45c8] = 0x8f4d, [0x45c9] = 0x8f4e, + [0x45ca] = 0x8f4f, [0x45cb] = 0x8f50, [0x45cc] = 0x8f51, [0x45cd] = 0x8f52, + [0x45ce] = 0x8f53, [0x45cf] = 0x8f54, [0x45d0] = 0x8f55, [0x45d1] = 0x8f56, + [0x45d2] = 0x8f57, [0x45d3] = 0x8f58, [0x45d4] = 0x8f59, [0x45d5] = 0x8f5a, + [0x45d6] = 0x8f5b, [0x45d7] = 0x8f5c, [0x45d8] = 0x8f5d, [0x45d9] = 0x8f5e, + [0x45da] = 0x8f5f, [0x45db] = 0x8f60, [0x45dc] = 0x8f61, [0x45dd] = 0x8f62, + [0x45de] = 0x8f63, [0x45df] = 0x8f64, [0x45e0] = 0x8f65, [0x45e1] = 0x8f6a, + [0x45e2] = 0x8f80, [0x45e3] = 0x8f8c, [0x45e4] = 0x8f92, [0x45e5] = 0x8f9d, + [0x45e6] = 0x8fa0, [0x45e7] = 0x8fa1, [0x45e8] = 0x8fa2, [0x45e9] = 0x8fa4, + [0x45ea] = 0x8fa5, [0x45eb] = 0x8fa6, [0x45ec] = 0x8fa7, [0x45ed] = 0x8faa, + [0x45ee] = 0x8fac, [0x45ef] = 0x8fad, [0x45f0] = 0x8fae, [0x45f1] = 0x8faf, + [0x45f2] = 0x8fb2, [0x45f3] = 0x8fb3, [0x45f4] = 0x8fb4, [0x45f5] = 0x8fb5, + [0x45f6] = 0x8fb7, [0x45f7] = 0x8fb8, [0x45f8] = 0x8fba, [0x45f9] = 0x8fbb, + [0x45fa] = 0x8fbc, [0x45fb] = 0x8fbf, [0x45fc] = 0x8fc0, [0x45fd] = 0x8fc3, + [0x45fe] = 0x8fc6, [0x4600] = 0x8fc9, [0x4601] = 0x8fca, [0x4602] = 0x8fcb, + [0x4603] = 0x8fcc, [0x4604] = 0x8fcd, [0x4605] = 0x8fcf, [0x4606] = 0x8fd2, + [0x4607] = 0x8fd6, [0x4608] = 0x8fd7, [0x4609] = 0x8fda, [0x460a] = 0x8fe0, + [0x460b] = 0x8fe1, [0x460c] = 0x8fe3, [0x460d] = 0x8fe7, [0x460e] = 0x8fec, + [0x460f] = 0x8fef, [0x4610] = 0x8ff1, [0x4611] = 0x8ff2, [0x4612] = 0x8ff4, + [0x4613] = 0x8ff5, [0x4614] = 0x8ff6, [0x4615] = 0x8ffa, [0x4616] = 0x8ffb, + [0x4617] = 0x8ffc, [0x4618] = 0x8ffe, [0x4619] = 0x8fff, [0x461a] = 0x9007, + [0x461b] = 0x9008, [0x461c] = 0x900c, [0x461d] = 0x900e, [0x461e] = 0x9013, + [0x461f] = 0x9015, [0x4620] = 0x9018, [0x4621] = 0x8556, [0x4622] = 0x853b, + [0x4623] = 0x84ff, [0x4624] = 0x84fc, [0x4625] = 0x8559, [0x4626] = 0x8548, + [0x4627] = 0x8568, [0x4628] = 0x8564, [0x4629] = 0x855e, [0x462a] = 0x857a, + [0x462b] = 0x77a2, [0x462c] = 0x8543, [0x462d] = 0x8572, [0x462e] = 0x857b, + [0x462f] = 0x85a4, [0x4630] = 0x85a8, [0x4631] = 0x8587, [0x4632] = 0x858f, + [0x4633] = 0x8579, [0x4634] = 0x85ae, [0x4635] = 0x859c, [0x4636] = 0x8585, + [0x4637] = 0x85b9, [0x4638] = 0x85b7, [0x4639] = 0x85b0, [0x463a] = 0x85d3, + [0x463b] = 0x85c1, [0x463c] = 0x85dc, [0x463d] = 0x85ff, [0x463e] = 0x8627, + [0x463f] = 0x8605, [0x4640] = 0x8629, [0x4641] = 0x8616, [0x4642] = 0x863c, + [0x4643] = 0x5efe, [0x4644] = 0x5f08, [0x4645] = 0x593c, [0x4646] = 0x5941, + [0x4647] = 0x8037, [0x4648] = 0x5955, [0x4649] = 0x595a, [0x464a] = 0x5958, + [0x464b] = 0x530f, [0x464c] = 0x5c22, [0x464d] = 0x5c25, [0x464e] = 0x5c2c, + [0x464f] = 0x5c34, [0x4650] = 0x624c, [0x4651] = 0x626a, [0x4652] = 0x629f, + [0x4653] = 0x62bb, [0x4654] = 0x62ca, [0x4655] = 0x62da, [0x4656] = 0x62d7, + [0x4657] = 0x62ee, [0x4658] = 0x6322, [0x4659] = 0x62f6, [0x465a] = 0x6339, + [0x465b] = 0x634b, [0x465c] = 0x6343, [0x465d] = 0x63ad, [0x465e] = 0x63f6, + [0x465f] = 0x6371, [0x4660] = 0x637a, [0x4661] = 0x638e, [0x4662] = 0x63b4, + [0x4663] = 0x636d, [0x4664] = 0x63ac, [0x4665] = 0x638a, [0x4666] = 0x6369, + [0x4667] = 0x63ae, [0x4668] = 0x63bc, [0x4669] = 0x63f2, [0x466a] = 0x63f8, + [0x466b] = 0x63e0, [0x466c] = 0x63ff, [0x466d] = 0x63c4, [0x466e] = 0x63de, + [0x466f] = 0x63ce, [0x4670] = 0x6452, [0x4671] = 0x63c6, [0x4672] = 0x63be, + [0x4673] = 0x6445, [0x4674] = 0x6441, [0x4675] = 0x640b, [0x4676] = 0x641b, + [0x4677] = 0x6420, [0x4678] = 0x640c, [0x4679] = 0x6426, [0x467a] = 0x6421, + [0x467b] = 0x645e, [0x467c] = 0x6484, [0x467d] = 0x646d, [0x467e] = 0x6496, + [0x4680] = 0x9019, [0x4681] = 0x901c, [0x4682] = 0x9023, [0x4683] = 0x9024, + [0x4684] = 0x9025, [0x4685] = 0x9027, [0x4686] = 0x9028, [0x4687] = 0x9029, + [0x4688] = 0x902a, [0x4689] = 0x902b, [0x468a] = 0x902c, [0x468b] = 0x9030, + [0x468c] = 0x9031, [0x468d] = 0x9032, [0x468e] = 0x9033, [0x468f] = 0x9034, + [0x4690] = 0x9037, [0x4691] = 0x9039, [0x4692] = 0x903a, [0x4693] = 0x903d, + [0x4694] = 0x903f, [0x4695] = 0x9040, [0x4696] = 0x9043, [0x4697] = 0x9045, + [0x4698] = 0x9046, [0x4699] = 0x9048, [0x469a] = 0x9049, [0x469b] = 0x904a, + [0x469c] = 0x904b, [0x469d] = 0x904c, [0x469e] = 0x904e, [0x469f] = 0x9054, + [0x46a0] = 0x9055, [0x46a1] = 0x9056, [0x46a2] = 0x9059, [0x46a3] = 0x905a, + [0x46a4] = 0x905c, [0x46a5] = 0x905d, [0x46a6] = 0x905e, [0x46a7] = 0x905f, + [0x46a8] = 0x9060, [0x46a9] = 0x9061, [0x46aa] = 0x9064, [0x46ab] = 0x9066, + [0x46ac] = 0x9067, [0x46ad] = 0x9069, [0x46ae] = 0x906a, [0x46af] = 0x906b, + [0x46b0] = 0x906c, [0x46b1] = 0x906f, [0x46b2] = 0x9070, [0x46b3] = 0x9071, + [0x46b4] = 0x9072, [0x46b5] = 0x9073, [0x46b6] = 0x9076, [0x46b7] = 0x9077, + [0x46b8] = 0x9078, [0x46b9] = 0x9079, [0x46ba] = 0x907a, [0x46bb] = 0x907b, + [0x46bc] = 0x907c, [0x46bd] = 0x907e, [0x46be] = 0x9081, [0x46c0] = 0x9084, + [0x46c1] = 0x9085, [0x46c2] = 0x9086, [0x46c3] = 0x9087, [0x46c4] = 0x9089, + [0x46c5] = 0x908a, [0x46c6] = 0x908c, [0x46c7] = 0x908d, [0x46c8] = 0x908e, + [0x46c9] = 0x908f, [0x46ca] = 0x9090, [0x46cb] = 0x9092, [0x46cc] = 0x9094, + [0x46cd] = 0x9096, [0x46ce] = 0x9098, [0x46cf] = 0x909a, [0x46d0] = 0x909c, + [0x46d1] = 0x909e, [0x46d2] = 0x909f, [0x46d3] = 0x90a0, [0x46d4] = 0x90a4, + [0x46d5] = 0x90a5, [0x46d6] = 0x90a7, [0x46d7] = 0x90a8, [0x46d8] = 0x90a9, + [0x46d9] = 0x90ab, [0x46da] = 0x90ad, [0x46db] = 0x90b2, [0x46dc] = 0x90b7, + [0x46dd] = 0x90bc, [0x46de] = 0x90bd, [0x46df] = 0x90bf, [0x46e0] = 0x90c0, + [0x46e1] = 0x647a, [0x46e2] = 0x64b7, [0x46e3] = 0x64b8, [0x46e4] = 0x6499, + [0x46e5] = 0x64ba, [0x46e6] = 0x64c0, [0x46e7] = 0x64d0, [0x46e8] = 0x64d7, + [0x46e9] = 0x64e4, [0x46ea] = 0x64e2, [0x46eb] = 0x6509, [0x46ec] = 0x6525, + [0x46ed] = 0x652e, [0x46ee] = 0x5f0b, [0x46ef] = 0x5fd2, [0x46f0] = 0x7519, + [0x46f1] = 0x5f11, [0x46f2] = 0x535f, [0x46f3] = 0x53f1, [0x46f4] = 0x53fd, + [0x46f5] = 0x53e9, [0x46f6] = 0x53e8, [0x46f7] = 0x53fb, [0x46f8] = 0x5412, + [0x46f9] = 0x5416, [0x46fa] = 0x5406, [0x46fb] = 0x544b, [0x46fc] = 0x5452, + [0x46fd] = 0x5453, [0x46fe] = 0x5454, [0x46ff] = 0x5456, [0x4700] = 0x5443, + [0x4701] = 0x5421, [0x4702] = 0x5457, [0x4703] = 0x5459, [0x4704] = 0x5423, + [0x4705] = 0x5432, [0x4706] = 0x5482, [0x4707] = 0x5494, [0x4708] = 0x5477, + [0x4709] = 0x5471, [0x470a] = 0x5464, [0x470b] = 0x549a, [0x470c] = 0x549b, + [0x470d] = 0x5484, [0x470e] = 0x5476, [0x470f] = 0x5466, [0x4710] = 0x549d, + [0x4711] = 0x54d0, [0x4712] = 0x54ad, [0x4713] = 0x54c2, [0x4714] = 0x54b4, + [0x4715] = 0x54d2, [0x4716] = 0x54a7, [0x4717] = 0x54a6, [0x4718] = 0x54d3, + [0x4719] = 0x54d4, [0x471a] = 0x5472, [0x471b] = 0x54a3, [0x471c] = 0x54d5, + [0x471d] = 0x54bb, [0x471e] = 0x54bf, [0x471f] = 0x54cc, [0x4720] = 0x54d9, + [0x4721] = 0x54da, [0x4722] = 0x54dc, [0x4723] = 0x54a9, [0x4724] = 0x54aa, + [0x4725] = 0x54a4, [0x4726] = 0x54dd, [0x4727] = 0x54cf, [0x4728] = 0x54de, + [0x4729] = 0x551b, [0x472a] = 0x54e7, [0x472b] = 0x5520, [0x472c] = 0x54fd, + [0x472d] = 0x5514, [0x472e] = 0x54f3, [0x472f] = 0x5522, [0x4730] = 0x5523, + [0x4731] = 0x550f, [0x4732] = 0x5511, [0x4733] = 0x5527, [0x4734] = 0x552a, + [0x4735] = 0x5567, [0x4736] = 0x558f, [0x4737] = 0x55b5, [0x4738] = 0x5549, + [0x4739] = 0x556d, [0x473a] = 0x5541, [0x473b] = 0x5555, [0x473c] = 0x553f, + [0x473d] = 0x5550, [0x473e] = 0x553c, [0x4740] = 0x90c2, [0x4741] = 0x90c3, + [0x4742] = 0x90c6, [0x4743] = 0x90c8, [0x4744] = 0x90c9, [0x4745] = 0x90cb, + [0x4746] = 0x90cc, [0x4747] = 0x90cd, [0x4748] = 0x90d2, [0x4749] = 0x90d4, + [0x474a] = 0x90d5, [0x474b] = 0x90d6, [0x474c] = 0x90d8, [0x474d] = 0x90d9, + [0x474e] = 0x90da, [0x474f] = 0x90de, [0x4750] = 0x90df, [0x4751] = 0x90e0, + [0x4752] = 0x90e3, [0x4753] = 0x90e4, [0x4754] = 0x90e5, [0x4755] = 0x90e9, + [0x4756] = 0x90ea, [0x4757] = 0x90ec, [0x4758] = 0x90ee, [0x4759] = 0x90f0, + [0x475a] = 0x90f1, [0x475b] = 0x90f2, [0x475c] = 0x90f3, [0x475d] = 0x90f5, + [0x475e] = 0x90f6, [0x475f] = 0x90f7, [0x4760] = 0x90f9, [0x4761] = 0x90fa, + [0x4762] = 0x90fb, [0x4763] = 0x90fc, [0x4764] = 0x90ff, [0x4765] = 0x9100, + [0x4766] = 0x9101, [0x4767] = 0x9103, [0x4768] = 0x9105, [0x4769] = 0x9106, + [0x476a] = 0x9107, [0x476b] = 0x9108, [0x476c] = 0x9109, [0x476d] = 0x910a, + [0x476e] = 0x910b, [0x476f] = 0x910c, [0x4770] = 0x910d, [0x4771] = 0x910e, + [0x4772] = 0x910f, [0x4773] = 0x9110, [0x4774] = 0x9111, [0x4775] = 0x9112, + [0x4776] = 0x9113, [0x4777] = 0x9114, [0x4778] = 0x9115, [0x4779] = 0x9116, + [0x477a] = 0x9117, [0x477b] = 0x9118, [0x477c] = 0x911a, [0x477d] = 0x911b, + [0x477e] = 0x911c, [0x4780] = 0x911d, [0x4781] = 0x911f, [0x4782] = 0x9120, + [0x4783] = 0x9121, [0x4784] = 0x9124, [0x4785] = 0x9125, [0x4786] = 0x9126, + [0x4787] = 0x9127, [0x4788] = 0x9128, [0x4789] = 0x9129, [0x478a] = 0x912a, + [0x478b] = 0x912b, [0x478c] = 0x912c, [0x478d] = 0x912d, [0x478e] = 0x912e, + [0x478f] = 0x9130, [0x4790] = 0x9132, [0x4791] = 0x9133, [0x4792] = 0x9134, + [0x4793] = 0x9135, [0x4794] = 0x9136, [0x4795] = 0x9137, [0x4796] = 0x9138, + [0x4797] = 0x913a, [0x4798] = 0x913b, [0x4799] = 0x913c, [0x479a] = 0x913d, + [0x479b] = 0x913e, [0x479c] = 0x913f, [0x479d] = 0x9140, [0x479e] = 0x9141, + [0x479f] = 0x9142, [0x47a0] = 0x9144, [0x47a1] = 0x5537, [0x47a2] = 0x5556, + [0x47a3] = 0x5575, [0x47a4] = 0x5576, [0x47a5] = 0x5577, [0x47a6] = 0x5533, + [0x47a7] = 0x5530, [0x47a8] = 0x555c, [0x47a9] = 0x558b, [0x47aa] = 0x55d2, + [0x47ab] = 0x5583, [0x47ac] = 0x55b1, [0x47ad] = 0x55b9, [0x47ae] = 0x5588, + [0x47af] = 0x5581, [0x47b0] = 0x559f, [0x47b1] = 0x557e, [0x47b2] = 0x55d6, + [0x47b3] = 0x5591, [0x47b4] = 0x557b, [0x47b5] = 0x55df, [0x47b6] = 0x55bd, + [0x47b7] = 0x55be, [0x47b8] = 0x5594, [0x47b9] = 0x5599, [0x47ba] = 0x55ea, + [0x47bb] = 0x55f7, [0x47bc] = 0x55c9, [0x47bd] = 0x561f, [0x47be] = 0x55d1, + [0x47bf] = 0x55eb, [0x47c0] = 0x55ec, [0x47c1] = 0x55d4, [0x47c2] = 0x55e6, + [0x47c3] = 0x55dd, [0x47c4] = 0x55c4, [0x47c5] = 0x55ef, [0x47c6] = 0x55e5, + [0x47c7] = 0x55f2, [0x47c8] = 0x55f3, [0x47c9] = 0x55cc, [0x47ca] = 0x55cd, + [0x47cb] = 0x55e8, [0x47cc] = 0x55f5, [0x47cd] = 0x55e4, [0x47ce] = 0x8f94, + [0x47cf] = 0x561e, [0x47d0] = 0x5608, [0x47d1] = 0x560c, [0x47d2] = 0x5601, + [0x47d3] = 0x5624, [0x47d4] = 0x5623, [0x47d5] = 0x55fe, [0x47d6] = 0x5600, + [0x47d7] = 0x5627, [0x47d8] = 0x562d, [0x47d9] = 0x5658, [0x47da] = 0x5639, + [0x47db] = 0x5657, [0x47dc] = 0x562c, [0x47dd] = 0x564d, [0x47de] = 0x5662, + [0x47df] = 0x5659, [0x47e0] = 0x565c, [0x47e1] = 0x564c, [0x47e2] = 0x5654, + [0x47e3] = 0x5686, [0x47e4] = 0x5664, [0x47e5] = 0x5671, [0x47e6] = 0x566b, + [0x47e7] = 0x567b, [0x47e8] = 0x567c, [0x47e9] = 0x5685, [0x47ea] = 0x5693, + [0x47eb] = 0x56af, [0x47ec] = 0x56d4, [0x47ed] = 0x56d7, [0x47ee] = 0x56dd, + [0x47ef] = 0x56e1, [0x47f0] = 0x56f5, [0x47f1] = 0x56eb, [0x47f2] = 0x56f9, + [0x47f3] = 0x56ff, [0x47f4] = 0x5704, [0x47f5] = 0x570a, [0x47f6] = 0x5709, + [0x47f7] = 0x571c, [0x47f8] = 0x5e0f, [0x47f9] = 0x5e19, [0x47fa] = 0x5e14, + [0x47fb] = 0x5e11, [0x47fc] = 0x5e31, [0x47fd] = 0x5e3b, [0x47fe] = 0x5e3c, + [0x4800] = 0x9145, [0x4801] = 0x9147, [0x4802] = 0x9148, [0x4803] = 0x9151, + [0x4804] = 0x9153, [0x4805] = 0x9154, [0x4806] = 0x9155, [0x4807] = 0x9156, + [0x4808] = 0x9158, [0x4809] = 0x9159, [0x480a] = 0x915b, [0x480b] = 0x915c, + [0x480c] = 0x915f, [0x480d] = 0x9160, [0x480e] = 0x9166, [0x480f] = 0x9167, + [0x4810] = 0x9168, [0x4811] = 0x916b, [0x4812] = 0x916d, [0x4813] = 0x9173, + [0x4814] = 0x917a, [0x4815] = 0x917b, [0x4816] = 0x917c, [0x4817] = 0x9180, + [0x4818] = 0x9181, [0x4819] = 0x9182, [0x481a] = 0x9183, [0x481b] = 0x9184, + [0x481c] = 0x9186, [0x481d] = 0x9188, [0x481e] = 0x918a, [0x481f] = 0x918e, + [0x4820] = 0x918f, [0x4821] = 0x9193, [0x4822] = 0x9194, [0x4823] = 0x9195, + [0x4824] = 0x9196, [0x4825] = 0x9197, [0x4826] = 0x9198, [0x4827] = 0x9199, + [0x4828] = 0x919c, [0x4829] = 0x919d, [0x482a] = 0x919e, [0x482b] = 0x919f, + [0x482c] = 0x91a0, [0x482d] = 0x91a1, [0x482e] = 0x91a4, [0x482f] = 0x91a5, + [0x4830] = 0x91a6, [0x4831] = 0x91a7, [0x4832] = 0x91a8, [0x4833] = 0x91a9, + [0x4834] = 0x91ab, [0x4835] = 0x91ac, [0x4836] = 0x91b0, [0x4837] = 0x91b1, + [0x4838] = 0x91b2, [0x4839] = 0x91b3, [0x483a] = 0x91b6, [0x483b] = 0x91b7, + [0x483c] = 0x91b8, [0x483d] = 0x91b9, [0x483e] = 0x91bb, [0x4840] = 0x91bc, + [0x4841] = 0x91bd, [0x4842] = 0x91be, [0x4843] = 0x91bf, [0x4844] = 0x91c0, + [0x4845] = 0x91c1, [0x4846] = 0x91c2, [0x4847] = 0x91c3, [0x4848] = 0x91c4, + [0x4849] = 0x91c5, [0x484a] = 0x91c6, [0x484b] = 0x91c8, [0x484c] = 0x91cb, + [0x484d] = 0x91d0, [0x484e] = 0x91d2, [0x484f] = 0x91d3, [0x4850] = 0x91d4, + [0x4851] = 0x91d5, [0x4852] = 0x91d6, [0x4853] = 0x91d7, [0x4854] = 0x91d8, + [0x4855] = 0x91d9, [0x4856] = 0x91da, [0x4857] = 0x91db, [0x4858] = 0x91dd, + [0x4859] = 0x91de, [0x485a] = 0x91df, [0x485b] = 0x91e0, [0x485c] = 0x91e1, + [0x485d] = 0x91e2, [0x485e] = 0x91e3, [0x485f] = 0x91e4, [0x4860] = 0x91e5, + [0x4861] = 0x5e37, [0x4862] = 0x5e44, [0x4863] = 0x5e54, [0x4864] = 0x5e5b, + [0x4865] = 0x5e5e, [0x4866] = 0x5e61, [0x4867] = 0x5c8c, [0x4868] = 0x5c7a, + [0x4869] = 0x5c8d, [0x486a] = 0x5c90, [0x486b] = 0x5c96, [0x486c] = 0x5c88, + [0x486d] = 0x5c98, [0x486e] = 0x5c99, [0x486f] = 0x5c91, [0x4870] = 0x5c9a, + [0x4871] = 0x5c9c, [0x4872] = 0x5cb5, [0x4873] = 0x5ca2, [0x4874] = 0x5cbd, + [0x4875] = 0x5cac, [0x4876] = 0x5cab, [0x4877] = 0x5cb1, [0x4878] = 0x5ca3, + [0x4879] = 0x5cc1, [0x487a] = 0x5cb7, [0x487b] = 0x5cc4, [0x487c] = 0x5cd2, + [0x487d] = 0x5ce4, [0x487e] = 0x5ccb, [0x487f] = 0x5ce5, [0x4880] = 0x5d02, + [0x4881] = 0x5d03, [0x4882] = 0x5d27, [0x4883] = 0x5d26, [0x4884] = 0x5d2e, + [0x4885] = 0x5d24, [0x4886] = 0x5d1e, [0x4887] = 0x5d06, [0x4888] = 0x5d1b, + [0x4889] = 0x5d58, [0x488a] = 0x5d3e, [0x488b] = 0x5d34, [0x488c] = 0x5d3d, + [0x488d] = 0x5d6c, [0x488e] = 0x5d5b, [0x488f] = 0x5d6f, [0x4890] = 0x5d5d, + [0x4891] = 0x5d6b, [0x4892] = 0x5d4b, [0x4893] = 0x5d4a, [0x4894] = 0x5d69, + [0x4895] = 0x5d74, [0x4896] = 0x5d82, [0x4897] = 0x5d99, [0x4898] = 0x5d9d, + [0x4899] = 0x8c73, [0x489a] = 0x5db7, [0x489b] = 0x5dc5, [0x489c] = 0x5f73, + [0x489d] = 0x5f77, [0x489e] = 0x5f82, [0x489f] = 0x5f87, [0x48a0] = 0x5f89, + [0x48a1] = 0x5f8c, [0x48a2] = 0x5f95, [0x48a3] = 0x5f99, [0x48a4] = 0x5f9c, + [0x48a5] = 0x5fa8, [0x48a6] = 0x5fad, [0x48a7] = 0x5fb5, [0x48a8] = 0x5fbc, + [0x48a9] = 0x8862, [0x48aa] = 0x5f61, [0x48ab] = 0x72ad, [0x48ac] = 0x72b0, + [0x48ad] = 0x72b4, [0x48ae] = 0x72b7, [0x48af] = 0x72b8, [0x48b0] = 0x72c3, + [0x48b1] = 0x72c1, [0x48b2] = 0x72ce, [0x48b3] = 0x72cd, [0x48b4] = 0x72d2, + [0x48b5] = 0x72e8, [0x48b6] = 0x72ef, [0x48b7] = 0x72e9, [0x48b8] = 0x72f2, + [0x48b9] = 0x72f4, [0x48ba] = 0x72f7, [0x48bb] = 0x7301, [0x48bc] = 0x72f3, + [0x48bd] = 0x7303, [0x48be] = 0x72fa, [0x48c0] = 0x91e6, [0x48c1] = 0x91e7, + [0x48c2] = 0x91e8, [0x48c3] = 0x91e9, [0x48c4] = 0x91ea, [0x48c5] = 0x91eb, + [0x48c6] = 0x91ec, [0x48c7] = 0x91ed, [0x48c8] = 0x91ee, [0x48c9] = 0x91ef, + [0x48ca] = 0x91f0, [0x48cb] = 0x91f1, [0x48cc] = 0x91f2, [0x48cd] = 0x91f3, + [0x48ce] = 0x91f4, [0x48cf] = 0x91f5, [0x48d0] = 0x91f6, [0x48d1] = 0x91f7, + [0x48d2] = 0x91f8, [0x48d3] = 0x91f9, [0x48d4] = 0x91fa, [0x48d5] = 0x91fb, + [0x48d6] = 0x91fc, [0x48d7] = 0x91fd, [0x48d8] = 0x91fe, [0x48d9] = 0x91ff, + [0x48da] = 0x9200, [0x48db] = 0x9201, [0x48dc] = 0x9202, [0x48dd] = 0x9203, + [0x48de] = 0x9204, [0x48df] = 0x9205, [0x48e0] = 0x9206, [0x48e1] = 0x9207, + [0x48e2] = 0x9208, [0x48e3] = 0x9209, [0x48e4] = 0x920a, [0x48e5] = 0x920b, + [0x48e6] = 0x920c, [0x48e7] = 0x920d, [0x48e8] = 0x920e, [0x48e9] = 0x920f, + [0x48ea] = 0x9210, [0x48eb] = 0x9211, [0x48ec] = 0x9212, [0x48ed] = 0x9213, + [0x48ee] = 0x9214, [0x48ef] = 0x9215, [0x48f0] = 0x9216, [0x48f1] = 0x9217, + [0x48f2] = 0x9218, [0x48f3] = 0x9219, [0x48f4] = 0x921a, [0x48f5] = 0x921b, + [0x48f6] = 0x921c, [0x48f7] = 0x921d, [0x48f8] = 0x921e, [0x48f9] = 0x921f, + [0x48fa] = 0x9220, [0x48fb] = 0x9221, [0x48fc] = 0x9222, [0x48fd] = 0x9223, + [0x48fe] = 0x9224, [0x4900] = 0x9225, [0x4901] = 0x9226, [0x4902] = 0x9227, + [0x4903] = 0x9228, [0x4904] = 0x9229, [0x4905] = 0x922a, [0x4906] = 0x922b, + [0x4907] = 0x922c, [0x4908] = 0x922d, [0x4909] = 0x922e, [0x490a] = 0x922f, + [0x490b] = 0x9230, [0x490c] = 0x9231, [0x490d] = 0x9232, [0x490e] = 0x9233, + [0x490f] = 0x9234, [0x4910] = 0x9235, [0x4911] = 0x9236, [0x4912] = 0x9237, + [0x4913] = 0x9238, [0x4914] = 0x9239, [0x4915] = 0x923a, [0x4916] = 0x923b, + [0x4917] = 0x923c, [0x4918] = 0x923d, [0x4919] = 0x923e, [0x491a] = 0x923f, + [0x491b] = 0x9240, [0x491c] = 0x9241, [0x491d] = 0x9242, [0x491e] = 0x9243, + [0x491f] = 0x9244, [0x4920] = 0x9245, [0x4921] = 0x72fb, [0x4922] = 0x7317, + [0x4923] = 0x7313, [0x4924] = 0x7321, [0x4925] = 0x730a, [0x4926] = 0x731e, + [0x4927] = 0x731d, [0x4928] = 0x7315, [0x4929] = 0x7322, [0x492a] = 0x7339, + [0x492b] = 0x7325, [0x492c] = 0x732c, [0x492d] = 0x7338, [0x492e] = 0x7331, + [0x492f] = 0x7350, [0x4930] = 0x734d, [0x4931] = 0x7357, [0x4932] = 0x7360, + [0x4933] = 0x736c, [0x4934] = 0x736f, [0x4935] = 0x737e, [0x4936] = 0x821b, + [0x4937] = 0x5925, [0x4938] = 0x98e7, [0x4939] = 0x5924, [0x493a] = 0x5902, + [0x493b] = 0x9963, [0x493c] = 0x9967, [0x493d] = 0x9968, [0x493e] = 0x9969, + [0x493f] = 0x996a, [0x4940] = 0x996b, [0x4941] = 0x996c, [0x4942] = 0x9974, + [0x4943] = 0x9977, [0x4944] = 0x997d, [0x4945] = 0x9980, [0x4946] = 0x9984, + [0x4947] = 0x9987, [0x4948] = 0x998a, [0x4949] = 0x998d, [0x494a] = 0x9990, + [0x494b] = 0x9991, [0x494c] = 0x9993, [0x494d] = 0x9994, [0x494e] = 0x9995, + [0x494f] = 0x5e80, [0x4950] = 0x5e91, [0x4951] = 0x5e8b, [0x4952] = 0x5e96, + [0x4953] = 0x5ea5, [0x4954] = 0x5ea0, [0x4955] = 0x5eb9, [0x4956] = 0x5eb5, + [0x4957] = 0x5ebe, [0x4958] = 0x5eb3, [0x4959] = 0x8d53, [0x495a] = 0x5ed2, + [0x495b] = 0x5ed1, [0x495c] = 0x5edb, [0x495d] = 0x5ee8, [0x495e] = 0x5eea, + [0x495f] = 0x81ba, [0x4960] = 0x5fc4, [0x4961] = 0x5fc9, [0x4962] = 0x5fd6, + [0x4963] = 0x5fcf, [0x4964] = 0x6003, [0x4965] = 0x5fee, [0x4966] = 0x6004, + [0x4967] = 0x5fe1, [0x4968] = 0x5fe4, [0x4969] = 0x5ffe, [0x496a] = 0x6005, + [0x496b] = 0x6006, [0x496c] = 0x5fea, [0x496d] = 0x5fed, [0x496e] = 0x5ff8, + [0x496f] = 0x6019, [0x4970] = 0x6035, [0x4971] = 0x6026, [0x4972] = 0x601b, + [0x4973] = 0x600f, [0x4974] = 0x600d, [0x4975] = 0x6029, [0x4976] = 0x602b, + [0x4977] = 0x600a, [0x4978] = 0x603f, [0x4979] = 0x6021, [0x497a] = 0x6078, + [0x497b] = 0x6079, [0x497c] = 0x607b, [0x497d] = 0x607a, [0x497e] = 0x6042, + [0x4980] = 0x9246, [0x4981] = 0x9247, [0x4982] = 0x9248, [0x4983] = 0x9249, + [0x4984] = 0x924a, [0x4985] = 0x924b, [0x4986] = 0x924c, [0x4987] = 0x924d, + [0x4988] = 0x924e, [0x4989] = 0x924f, [0x498a] = 0x9250, [0x498b] = 0x9251, + [0x498c] = 0x9252, [0x498d] = 0x9253, [0x498e] = 0x9254, [0x498f] = 0x9255, + [0x4990] = 0x9256, [0x4991] = 0x9257, [0x4992] = 0x9258, [0x4993] = 0x9259, + [0x4994] = 0x925a, [0x4995] = 0x925b, [0x4996] = 0x925c, [0x4997] = 0x925d, + [0x4998] = 0x925e, [0x4999] = 0x925f, [0x499a] = 0x9260, [0x499b] = 0x9261, + [0x499c] = 0x9262, [0x499d] = 0x9263, [0x499e] = 0x9264, [0x499f] = 0x9265, + [0x49a0] = 0x9266, [0x49a1] = 0x9267, [0x49a2] = 0x9268, [0x49a3] = 0x9269, + [0x49a4] = 0x926a, [0x49a5] = 0x926b, [0x49a6] = 0x926c, [0x49a7] = 0x926d, + [0x49a8] = 0x926e, [0x49a9] = 0x926f, [0x49aa] = 0x9270, [0x49ab] = 0x9271, + [0x49ac] = 0x9272, [0x49ad] = 0x9273, [0x49ae] = 0x9275, [0x49af] = 0x9276, + [0x49b0] = 0x9277, [0x49b1] = 0x9278, [0x49b2] = 0x9279, [0x49b3] = 0x927a, + [0x49b4] = 0x927b, [0x49b5] = 0x927c, [0x49b6] = 0x927d, [0x49b7] = 0x927e, + [0x49b8] = 0x927f, [0x49b9] = 0x9280, [0x49ba] = 0x9281, [0x49bb] = 0x9282, + [0x49bc] = 0x9283, [0x49bd] = 0x9284, [0x49be] = 0x9285, [0x49c0] = 0x9286, + [0x49c1] = 0x9287, [0x49c2] = 0x9288, [0x49c3] = 0x9289, [0x49c4] = 0x928a, + [0x49c5] = 0x928b, [0x49c6] = 0x928c, [0x49c7] = 0x928d, [0x49c8] = 0x928f, + [0x49c9] = 0x9290, [0x49ca] = 0x9291, [0x49cb] = 0x9292, [0x49cc] = 0x9293, + [0x49cd] = 0x9294, [0x49ce] = 0x9295, [0x49cf] = 0x9296, [0x49d0] = 0x9297, + [0x49d1] = 0x9298, [0x49d2] = 0x9299, [0x49d3] = 0x929a, [0x49d4] = 0x929b, + [0x49d5] = 0x929c, [0x49d6] = 0x929d, [0x49d7] = 0x929e, [0x49d8] = 0x929f, + [0x49d9] = 0x92a0, [0x49da] = 0x92a1, [0x49db] = 0x92a2, [0x49dc] = 0x92a3, + [0x49dd] = 0x92a4, [0x49de] = 0x92a5, [0x49df] = 0x92a6, [0x49e0] = 0x92a7, + [0x49e1] = 0x606a, [0x49e2] = 0x607d, [0x49e3] = 0x6096, [0x49e4] = 0x609a, + [0x49e5] = 0x60ad, [0x49e6] = 0x609d, [0x49e7] = 0x6083, [0x49e8] = 0x6092, + [0x49e9] = 0x608c, [0x49ea] = 0x609b, [0x49eb] = 0x60ec, [0x49ec] = 0x60bb, + [0x49ed] = 0x60b1, [0x49ee] = 0x60dd, [0x49ef] = 0x60d8, [0x49f0] = 0x60c6, + [0x49f1] = 0x60da, [0x49f2] = 0x60b4, [0x49f3] = 0x6120, [0x49f4] = 0x6126, + [0x49f5] = 0x6115, [0x49f6] = 0x6123, [0x49f7] = 0x60f4, [0x49f8] = 0x6100, + [0x49f9] = 0x610e, [0x49fa] = 0x612b, [0x49fb] = 0x614a, [0x49fc] = 0x6175, + [0x49fd] = 0x61ac, [0x49fe] = 0x6194, [0x49ff] = 0x61a7, [0x4a00] = 0x61b7, + [0x4a01] = 0x61d4, [0x4a02] = 0x61f5, [0x4a03] = 0x5fdd, [0x4a04] = 0x96b3, + [0x4a05] = 0x95e9, [0x4a06] = 0x95eb, [0x4a07] = 0x95f1, [0x4a08] = 0x95f3, + [0x4a09] = 0x95f5, [0x4a0a] = 0x95f6, [0x4a0b] = 0x95fc, [0x4a0c] = 0x95fe, + [0x4a0d] = 0x9603, [0x4a0e] = 0x9604, [0x4a0f] = 0x9606, [0x4a10] = 0x9608, + [0x4a11] = 0x960a, [0x4a12] = 0x960b, [0x4a13] = 0x960c, [0x4a14] = 0x960d, + [0x4a15] = 0x960f, [0x4a16] = 0x9612, [0x4a17] = 0x9615, [0x4a18] = 0x9616, + [0x4a19] = 0x9617, [0x4a1a] = 0x9619, [0x4a1b] = 0x961a, [0x4a1c] = 0x4e2c, + [0x4a1d] = 0x723f, [0x4a1e] = 0x6215, [0x4a1f] = 0x6c35, [0x4a20] = 0x6c54, + [0x4a21] = 0x6c5c, [0x4a22] = 0x6c4a, [0x4a23] = 0x6ca3, [0x4a24] = 0x6c85, + [0x4a25] = 0x6c90, [0x4a26] = 0x6c94, [0x4a27] = 0x6c8c, [0x4a28] = 0x6c68, + [0x4a29] = 0x6c69, [0x4a2a] = 0x6c74, [0x4a2b] = 0x6c76, [0x4a2c] = 0x6c86, + [0x4a2d] = 0x6ca9, [0x4a2e] = 0x6cd0, [0x4a2f] = 0x6cd4, [0x4a30] = 0x6cad, + [0x4a31] = 0x6cf7, [0x4a32] = 0x6cf8, [0x4a33] = 0x6cf1, [0x4a34] = 0x6cd7, + [0x4a35] = 0x6cb2, [0x4a36] = 0x6ce0, [0x4a37] = 0x6cd6, [0x4a38] = 0x6cfa, + [0x4a39] = 0x6ceb, [0x4a3a] = 0x6cee, [0x4a3b] = 0x6cb1, [0x4a3c] = 0x6cd3, + [0x4a3d] = 0x6cef, [0x4a3e] = 0x6cfe, [0x4a40] = 0x92a8, [0x4a41] = 0x92a9, + [0x4a42] = 0x92aa, [0x4a43] = 0x92ab, [0x4a44] = 0x92ac, [0x4a45] = 0x92ad, + [0x4a46] = 0x92af, [0x4a47] = 0x92b0, [0x4a48] = 0x92b1, [0x4a49] = 0x92b2, + [0x4a4a] = 0x92b3, [0x4a4b] = 0x92b4, [0x4a4c] = 0x92b5, [0x4a4d] = 0x92b6, + [0x4a4e] = 0x92b7, [0x4a4f] = 0x92b8, [0x4a50] = 0x92b9, [0x4a51] = 0x92ba, + [0x4a52] = 0x92bb, [0x4a53] = 0x92bc, [0x4a54] = 0x92bd, [0x4a55] = 0x92be, + [0x4a56] = 0x92bf, [0x4a57] = 0x92c0, [0x4a58] = 0x92c1, [0x4a59] = 0x92c2, + [0x4a5a] = 0x92c3, [0x4a5b] = 0x92c4, [0x4a5c] = 0x92c5, [0x4a5d] = 0x92c6, + [0x4a5e] = 0x92c7, [0x4a5f] = 0x92c9, [0x4a60] = 0x92ca, [0x4a61] = 0x92cb, + [0x4a62] = 0x92cc, [0x4a63] = 0x92cd, [0x4a64] = 0x92ce, [0x4a65] = 0x92cf, + [0x4a66] = 0x92d0, [0x4a67] = 0x92d1, [0x4a68] = 0x92d2, [0x4a69] = 0x92d3, + [0x4a6a] = 0x92d4, [0x4a6b] = 0x92d5, [0x4a6c] = 0x92d6, [0x4a6d] = 0x92d7, + [0x4a6e] = 0x92d8, [0x4a6f] = 0x92d9, [0x4a70] = 0x92da, [0x4a71] = 0x92db, + [0x4a72] = 0x92dc, [0x4a73] = 0x92dd, [0x4a74] = 0x92de, [0x4a75] = 0x92df, + [0x4a76] = 0x92e0, [0x4a77] = 0x92e1, [0x4a78] = 0x92e2, [0x4a79] = 0x92e3, + [0x4a7a] = 0x92e4, [0x4a7b] = 0x92e5, [0x4a7c] = 0x92e6, [0x4a7d] = 0x92e7, + [0x4a7e] = 0x92e8, [0x4a80] = 0x92e9, [0x4a81] = 0x92ea, [0x4a82] = 0x92eb, + [0x4a83] = 0x92ec, [0x4a84] = 0x92ed, [0x4a85] = 0x92ee, [0x4a86] = 0x92ef, + [0x4a87] = 0x92f0, [0x4a88] = 0x92f1, [0x4a89] = 0x92f2, [0x4a8a] = 0x92f3, + [0x4a8b] = 0x92f4, [0x4a8c] = 0x92f5, [0x4a8d] = 0x92f6, [0x4a8e] = 0x92f7, + [0x4a8f] = 0x92f8, [0x4a90] = 0x92f9, [0x4a91] = 0x92fa, [0x4a92] = 0x92fb, + [0x4a93] = 0x92fc, [0x4a94] = 0x92fd, [0x4a95] = 0x92fe, [0x4a96] = 0x92ff, + [0x4a97] = 0x9300, [0x4a98] = 0x9301, [0x4a99] = 0x9302, [0x4a9a] = 0x9303, + [0x4a9b] = 0x9304, [0x4a9c] = 0x9305, [0x4a9d] = 0x9306, [0x4a9e] = 0x9307, + [0x4a9f] = 0x9308, [0x4aa0] = 0x9309, [0x4aa1] = 0x6d39, [0x4aa2] = 0x6d27, + [0x4aa3] = 0x6d0c, [0x4aa4] = 0x6d43, [0x4aa5] = 0x6d48, [0x4aa6] = 0x6d07, + [0x4aa7] = 0x6d04, [0x4aa8] = 0x6d19, [0x4aa9] = 0x6d0e, [0x4aaa] = 0x6d2b, + [0x4aab] = 0x6d4d, [0x4aac] = 0x6d2e, [0x4aad] = 0x6d35, [0x4aae] = 0x6d1a, + [0x4aaf] = 0x6d4f, [0x4ab0] = 0x6d52, [0x4ab1] = 0x6d54, [0x4ab2] = 0x6d33, + [0x4ab3] = 0x6d91, [0x4ab4] = 0x6d6f, [0x4ab5] = 0x6d9e, [0x4ab6] = 0x6da0, + [0x4ab7] = 0x6d5e, [0x4ab8] = 0x6d93, [0x4ab9] = 0x6d94, [0x4aba] = 0x6d5c, + [0x4abb] = 0x6d60, [0x4abc] = 0x6d7c, [0x4abd] = 0x6d63, [0x4abe] = 0x6e1a, + [0x4abf] = 0x6dc7, [0x4ac0] = 0x6dc5, [0x4ac1] = 0x6dde, [0x4ac2] = 0x6e0e, + [0x4ac3] = 0x6dbf, [0x4ac4] = 0x6de0, [0x4ac5] = 0x6e11, [0x4ac6] = 0x6de6, + [0x4ac7] = 0x6ddd, [0x4ac8] = 0x6dd9, [0x4ac9] = 0x6e16, [0x4aca] = 0x6dab, + [0x4acb] = 0x6e0c, [0x4acc] = 0x6dae, [0x4acd] = 0x6e2b, [0x4ace] = 0x6e6e, + [0x4acf] = 0x6e4e, [0x4ad0] = 0x6e6b, [0x4ad1] = 0x6eb2, [0x4ad2] = 0x6e5f, + [0x4ad3] = 0x6e86, [0x4ad4] = 0x6e53, [0x4ad5] = 0x6e54, [0x4ad6] = 0x6e32, + [0x4ad7] = 0x6e25, [0x4ad8] = 0x6e44, [0x4ad9] = 0x6edf, [0x4ada] = 0x6eb1, + [0x4adb] = 0x6e98, [0x4adc] = 0x6ee0, [0x4add] = 0x6f2d, [0x4ade] = 0x6ee2, + [0x4adf] = 0x6ea5, [0x4ae0] = 0x6ea7, [0x4ae1] = 0x6ebd, [0x4ae2] = 0x6ebb, + [0x4ae3] = 0x6eb7, [0x4ae4] = 0x6ed7, [0x4ae5] = 0x6eb4, [0x4ae6] = 0x6ecf, + [0x4ae7] = 0x6e8f, [0x4ae8] = 0x6ec2, [0x4ae9] = 0x6e9f, [0x4aea] = 0x6f62, + [0x4aeb] = 0x6f46, [0x4aec] = 0x6f47, [0x4aed] = 0x6f24, [0x4aee] = 0x6f15, + [0x4aef] = 0x6ef9, [0x4af0] = 0x6f2f, [0x4af1] = 0x6f36, [0x4af2] = 0x6f4b, + [0x4af3] = 0x6f74, [0x4af4] = 0x6f2a, [0x4af5] = 0x6f09, [0x4af6] = 0x6f29, + [0x4af7] = 0x6f89, [0x4af8] = 0x6f8d, [0x4af9] = 0x6f8c, [0x4afa] = 0x6f78, + [0x4afb] = 0x6f72, [0x4afc] = 0x6f7c, [0x4afd] = 0x6f7a, [0x4afe] = 0x6fd1, + [0x4b00] = 0x930a, [0x4b01] = 0x930b, [0x4b02] = 0x930c, [0x4b03] = 0x930d, + [0x4b04] = 0x930e, [0x4b05] = 0x930f, [0x4b06] = 0x9310, [0x4b07] = 0x9311, + [0x4b08] = 0x9312, [0x4b09] = 0x9313, [0x4b0a] = 0x9314, [0x4b0b] = 0x9315, + [0x4b0c] = 0x9316, [0x4b0d] = 0x9317, [0x4b0e] = 0x9318, [0x4b0f] = 0x9319, + [0x4b10] = 0x931a, [0x4b11] = 0x931b, [0x4b12] = 0x931c, [0x4b13] = 0x931d, + [0x4b14] = 0x931e, [0x4b15] = 0x931f, [0x4b16] = 0x9320, [0x4b17] = 0x9321, + [0x4b18] = 0x9322, [0x4b19] = 0x9323, [0x4b1a] = 0x9324, [0x4b1b] = 0x9325, + [0x4b1c] = 0x9326, [0x4b1d] = 0x9327, [0x4b1e] = 0x9328, [0x4b1f] = 0x9329, + [0x4b20] = 0x932a, [0x4b21] = 0x932b, [0x4b22] = 0x932c, [0x4b23] = 0x932d, + [0x4b24] = 0x932e, [0x4b25] = 0x932f, [0x4b26] = 0x9330, [0x4b27] = 0x9331, + [0x4b28] = 0x9332, [0x4b29] = 0x9333, [0x4b2a] = 0x9334, [0x4b2b] = 0x9335, + [0x4b2c] = 0x9336, [0x4b2d] = 0x9337, [0x4b2e] = 0x9338, [0x4b2f] = 0x9339, + [0x4b30] = 0x933a, [0x4b31] = 0x933b, [0x4b32] = 0x933c, [0x4b33] = 0x933d, + [0x4b34] = 0x933f, [0x4b35] = 0x9340, [0x4b36] = 0x9341, [0x4b37] = 0x9342, + [0x4b38] = 0x9343, [0x4b39] = 0x9344, [0x4b3a] = 0x9345, [0x4b3b] = 0x9346, + [0x4b3c] = 0x9347, [0x4b3d] = 0x9348, [0x4b3e] = 0x9349, [0x4b40] = 0x934a, + [0x4b41] = 0x934b, [0x4b42] = 0x934c, [0x4b43] = 0x934d, [0x4b44] = 0x934e, + [0x4b45] = 0x934f, [0x4b46] = 0x9350, [0x4b47] = 0x9351, [0x4b48] = 0x9352, + [0x4b49] = 0x9353, [0x4b4a] = 0x9354, [0x4b4b] = 0x9355, [0x4b4c] = 0x9356, + [0x4b4d] = 0x9357, [0x4b4e] = 0x9358, [0x4b4f] = 0x9359, [0x4b50] = 0x935a, + [0x4b51] = 0x935b, [0x4b52] = 0x935c, [0x4b53] = 0x935d, [0x4b54] = 0x935e, + [0x4b55] = 0x935f, [0x4b56] = 0x9360, [0x4b57] = 0x9361, [0x4b58] = 0x9362, + [0x4b59] = 0x9363, [0x4b5a] = 0x9364, [0x4b5b] = 0x9365, [0x4b5c] = 0x9366, + [0x4b5d] = 0x9367, [0x4b5e] = 0x9368, [0x4b5f] = 0x9369, [0x4b60] = 0x936b, + [0x4b61] = 0x6fc9, [0x4b62] = 0x6fa7, [0x4b63] = 0x6fb9, [0x4b64] = 0x6fb6, + [0x4b65] = 0x6fc2, [0x4b66] = 0x6fe1, [0x4b67] = 0x6fee, [0x4b68] = 0x6fde, + [0x4b69] = 0x6fe0, [0x4b6a] = 0x6fef, [0x4b6b] = 0x701a, [0x4b6c] = 0x7023, + [0x4b6d] = 0x701b, [0x4b6e] = 0x7039, [0x4b6f] = 0x7035, [0x4b70] = 0x704f, + [0x4b71] = 0x705e, [0x4b72] = 0x5b80, [0x4b73] = 0x5b84, [0x4b74] = 0x5b95, + [0x4b75] = 0x5b93, [0x4b76] = 0x5ba5, [0x4b77] = 0x5bb8, [0x4b78] = 0x752f, + [0x4b79] = 0x9a9e, [0x4b7a] = 0x6434, [0x4b7b] = 0x5be4, [0x4b7c] = 0x5bee, + [0x4b7d] = 0x8930, [0x4b7e] = 0x5bf0, [0x4b7f] = 0x8e47, [0x4b80] = 0x8b07, + [0x4b81] = 0x8fb6, [0x4b82] = 0x8fd3, [0x4b83] = 0x8fd5, [0x4b84] = 0x8fe5, + [0x4b85] = 0x8fee, [0x4b86] = 0x8fe4, [0x4b87] = 0x8fe9, [0x4b88] = 0x8fe6, + [0x4b89] = 0x8ff3, [0x4b8a] = 0x8fe8, [0x4b8b] = 0x9005, [0x4b8c] = 0x9004, + [0x4b8d] = 0x900b, [0x4b8e] = 0x9026, [0x4b8f] = 0x9011, [0x4b90] = 0x900d, + [0x4b91] = 0x9016, [0x4b92] = 0x9021, [0x4b93] = 0x9035, [0x4b94] = 0x9036, + [0x4b95] = 0x902d, [0x4b96] = 0x902f, [0x4b97] = 0x9044, [0x4b98] = 0x9051, + [0x4b99] = 0x9052, [0x4b9a] = 0x9050, [0x4b9b] = 0x9068, [0x4b9c] = 0x9058, + [0x4b9d] = 0x9062, [0x4b9e] = 0x905b, [0x4b9f] = 0x66b9, [0x4ba0] = 0x9074, + [0x4ba1] = 0x907d, [0x4ba2] = 0x9082, [0x4ba3] = 0x9088, [0x4ba4] = 0x9083, + [0x4ba5] = 0x908b, [0x4ba6] = 0x5f50, [0x4ba7] = 0x5f57, [0x4ba8] = 0x5f56, + [0x4ba9] = 0x5f58, [0x4baa] = 0x5c3b, [0x4bab] = 0x54ab, [0x4bac] = 0x5c50, + [0x4bad] = 0x5c59, [0x4bae] = 0x5b71, [0x4baf] = 0x5c63, [0x4bb0] = 0x5c66, + [0x4bb1] = 0x7fbc, [0x4bb2] = 0x5f2a, [0x4bb3] = 0x5f29, [0x4bb4] = 0x5f2d, + [0x4bb5] = 0x8274, [0x4bb6] = 0x5f3c, [0x4bb7] = 0x9b3b, [0x4bb8] = 0x5c6e, + [0x4bb9] = 0x5981, [0x4bba] = 0x5983, [0x4bbb] = 0x598d, [0x4bbc] = 0x59a9, + [0x4bbd] = 0x59aa, [0x4bbe] = 0x59a3, [0x4bc0] = 0x936c, [0x4bc1] = 0x936d, + [0x4bc2] = 0x936e, [0x4bc3] = 0x936f, [0x4bc4] = 0x9370, [0x4bc5] = 0x9371, + [0x4bc6] = 0x9372, [0x4bc7] = 0x9373, [0x4bc8] = 0x9374, [0x4bc9] = 0x9375, + [0x4bca] = 0x9376, [0x4bcb] = 0x9377, [0x4bcc] = 0x9378, [0x4bcd] = 0x9379, + [0x4bce] = 0x937a, [0x4bcf] = 0x937b, [0x4bd0] = 0x937c, [0x4bd1] = 0x937d, + [0x4bd2] = 0x937e, [0x4bd3] = 0x937f, [0x4bd4] = 0x9380, [0x4bd5] = 0x9381, + [0x4bd6] = 0x9382, [0x4bd7] = 0x9383, [0x4bd8] = 0x9384, [0x4bd9] = 0x9385, + [0x4bda] = 0x9386, [0x4bdb] = 0x9387, [0x4bdc] = 0x9388, [0x4bdd] = 0x9389, + [0x4bde] = 0x938a, [0x4bdf] = 0x938b, [0x4be0] = 0x938c, [0x4be1] = 0x938d, + [0x4be2] = 0x938e, [0x4be3] = 0x9390, [0x4be4] = 0x9391, [0x4be5] = 0x9392, + [0x4be6] = 0x9393, [0x4be7] = 0x9394, [0x4be8] = 0x9395, [0x4be9] = 0x9396, + [0x4bea] = 0x9397, [0x4beb] = 0x9398, [0x4bec] = 0x9399, [0x4bed] = 0x939a, + [0x4bee] = 0x939b, [0x4bef] = 0x939c, [0x4bf0] = 0x939d, [0x4bf1] = 0x939e, + [0x4bf2] = 0x939f, [0x4bf3] = 0x93a0, [0x4bf4] = 0x93a1, [0x4bf5] = 0x93a2, + [0x4bf6] = 0x93a3, [0x4bf7] = 0x93a4, [0x4bf8] = 0x93a5, [0x4bf9] = 0x93a6, + [0x4bfa] = 0x93a7, [0x4bfb] = 0x93a8, [0x4bfc] = 0x93a9, [0x4bfd] = 0x93aa, + [0x4bfe] = 0x93ab, [0x4c00] = 0x93ac, [0x4c01] = 0x93ad, [0x4c02] = 0x93ae, + [0x4c03] = 0x93af, [0x4c04] = 0x93b0, [0x4c05] = 0x93b1, [0x4c06] = 0x93b2, + [0x4c07] = 0x93b3, [0x4c08] = 0x93b4, [0x4c09] = 0x93b5, [0x4c0a] = 0x93b6, + [0x4c0b] = 0x93b7, [0x4c0c] = 0x93b8, [0x4c0d] = 0x93b9, [0x4c0e] = 0x93ba, + [0x4c0f] = 0x93bb, [0x4c10] = 0x93bc, [0x4c11] = 0x93bd, [0x4c12] = 0x93be, + [0x4c13] = 0x93bf, [0x4c14] = 0x93c0, [0x4c15] = 0x93c1, [0x4c16] = 0x93c2, + [0x4c17] = 0x93c3, [0x4c18] = 0x93c4, [0x4c19] = 0x93c5, [0x4c1a] = 0x93c6, + [0x4c1b] = 0x93c7, [0x4c1c] = 0x93c8, [0x4c1d] = 0x93c9, [0x4c1e] = 0x93cb, + [0x4c1f] = 0x93cc, [0x4c20] = 0x93cd, [0x4c21] = 0x5997, [0x4c22] = 0x59ca, + [0x4c23] = 0x59ab, [0x4c24] = 0x599e, [0x4c25] = 0x59a4, [0x4c26] = 0x59d2, + [0x4c27] = 0x59b2, [0x4c28] = 0x59af, [0x4c29] = 0x59d7, [0x4c2a] = 0x59be, + [0x4c2b] = 0x5a05, [0x4c2c] = 0x5a06, [0x4c2d] = 0x59dd, [0x4c2e] = 0x5a08, + [0x4c2f] = 0x59e3, [0x4c30] = 0x59d8, [0x4c31] = 0x59f9, [0x4c32] = 0x5a0c, + [0x4c33] = 0x5a09, [0x4c34] = 0x5a32, [0x4c35] = 0x5a34, [0x4c36] = 0x5a11, + [0x4c37] = 0x5a23, [0x4c38] = 0x5a13, [0x4c39] = 0x5a40, [0x4c3a] = 0x5a67, + [0x4c3b] = 0x5a4a, [0x4c3c] = 0x5a55, [0x4c3d] = 0x5a3c, [0x4c3e] = 0x5a62, + [0x4c3f] = 0x5a75, [0x4c40] = 0x80ec, [0x4c41] = 0x5aaa, [0x4c42] = 0x5a9b, + [0x4c43] = 0x5a77, [0x4c44] = 0x5a7a, [0x4c45] = 0x5abe, [0x4c46] = 0x5aeb, + [0x4c47] = 0x5ab2, [0x4c48] = 0x5ad2, [0x4c49] = 0x5ad4, [0x4c4a] = 0x5ab8, + [0x4c4b] = 0x5ae0, [0x4c4c] = 0x5ae3, [0x4c4d] = 0x5af1, [0x4c4e] = 0x5ad6, + [0x4c4f] = 0x5ae6, [0x4c50] = 0x5ad8, [0x4c51] = 0x5adc, [0x4c52] = 0x5b09, + [0x4c53] = 0x5b17, [0x4c54] = 0x5b16, [0x4c55] = 0x5b32, [0x4c56] = 0x5b37, + [0x4c57] = 0x5b40, [0x4c58] = 0x5c15, [0x4c59] = 0x5c1c, [0x4c5a] = 0x5b5a, + [0x4c5b] = 0x5b65, [0x4c5c] = 0x5b73, [0x4c5d] = 0x5b51, [0x4c5e] = 0x5b53, + [0x4c5f] = 0x5b62, [0x4c60] = 0x9a75, [0x4c61] = 0x9a77, [0x4c62] = 0x9a78, + [0x4c63] = 0x9a7a, [0x4c64] = 0x9a7f, [0x4c65] = 0x9a7d, [0x4c66] = 0x9a80, + [0x4c67] = 0x9a81, [0x4c68] = 0x9a85, [0x4c69] = 0x9a88, [0x4c6a] = 0x9a8a, + [0x4c6b] = 0x9a90, [0x4c6c] = 0x9a92, [0x4c6d] = 0x9a93, [0x4c6e] = 0x9a96, + [0x4c6f] = 0x9a98, [0x4c70] = 0x9a9b, [0x4c71] = 0x9a9c, [0x4c72] = 0x9a9d, + [0x4c73] = 0x9a9f, [0x4c74] = 0x9aa0, [0x4c75] = 0x9aa2, [0x4c76] = 0x9aa3, + [0x4c77] = 0x9aa5, [0x4c78] = 0x9aa7, [0x4c79] = 0x7e9f, [0x4c7a] = 0x7ea1, + [0x4c7b] = 0x7ea3, [0x4c7c] = 0x7ea5, [0x4c7d] = 0x7ea8, [0x4c7e] = 0x7ea9, + [0x4c80] = 0x93ce, [0x4c81] = 0x93cf, [0x4c82] = 0x93d0, [0x4c83] = 0x93d1, + [0x4c84] = 0x93d2, [0x4c85] = 0x93d3, [0x4c86] = 0x93d4, [0x4c87] = 0x93d5, + [0x4c88] = 0x93d7, [0x4c89] = 0x93d8, [0x4c8a] = 0x93d9, [0x4c8b] = 0x93da, + [0x4c8c] = 0x93db, [0x4c8d] = 0x93dc, [0x4c8e] = 0x93dd, [0x4c8f] = 0x93de, + [0x4c90] = 0x93df, [0x4c91] = 0x93e0, [0x4c92] = 0x93e1, [0x4c93] = 0x93e2, + [0x4c94] = 0x93e3, [0x4c95] = 0x93e4, [0x4c96] = 0x93e5, [0x4c97] = 0x93e6, + [0x4c98] = 0x93e7, [0x4c99] = 0x93e8, [0x4c9a] = 0x93e9, [0x4c9b] = 0x93ea, + [0x4c9c] = 0x93eb, [0x4c9d] = 0x93ec, [0x4c9e] = 0x93ed, [0x4c9f] = 0x93ee, + [0x4ca0] = 0x93ef, [0x4ca1] = 0x93f0, [0x4ca2] = 0x93f1, [0x4ca3] = 0x93f2, + [0x4ca4] = 0x93f3, [0x4ca5] = 0x93f4, [0x4ca6] = 0x93f5, [0x4ca7] = 0x93f6, + [0x4ca8] = 0x93f7, [0x4ca9] = 0x93f8, [0x4caa] = 0x93f9, [0x4cab] = 0x93fa, + [0x4cac] = 0x93fb, [0x4cad] = 0x93fc, [0x4cae] = 0x93fd, [0x4caf] = 0x93fe, + [0x4cb0] = 0x93ff, [0x4cb1] = 0x9400, [0x4cb2] = 0x9401, [0x4cb3] = 0x9402, + [0x4cb4] = 0x9403, [0x4cb5] = 0x9404, [0x4cb6] = 0x9405, [0x4cb7] = 0x9406, + [0x4cb8] = 0x9407, [0x4cb9] = 0x9408, [0x4cba] = 0x9409, [0x4cbb] = 0x940a, + [0x4cbc] = 0x940b, [0x4cbd] = 0x940c, [0x4cbe] = 0x940d, [0x4cc0] = 0x940e, + [0x4cc1] = 0x940f, [0x4cc2] = 0x9410, [0x4cc3] = 0x9411, [0x4cc4] = 0x9412, + [0x4cc5] = 0x9413, [0x4cc6] = 0x9414, [0x4cc7] = 0x9415, [0x4cc8] = 0x9416, + [0x4cc9] = 0x9417, [0x4cca] = 0x9418, [0x4ccb] = 0x9419, [0x4ccc] = 0x941a, + [0x4ccd] = 0x941b, [0x4cce] = 0x941c, [0x4ccf] = 0x941d, [0x4cd0] = 0x941e, + [0x4cd1] = 0x941f, [0x4cd2] = 0x9420, [0x4cd3] = 0x9421, [0x4cd4] = 0x9422, + [0x4cd5] = 0x9423, [0x4cd6] = 0x9424, [0x4cd7] = 0x9425, [0x4cd8] = 0x9426, + [0x4cd9] = 0x9427, [0x4cda] = 0x9428, [0x4cdb] = 0x9429, [0x4cdc] = 0x942a, + [0x4cdd] = 0x942b, [0x4cde] = 0x942c, [0x4cdf] = 0x942d, [0x4ce0] = 0x942e, + [0x4ce1] = 0x7ead, [0x4ce2] = 0x7eb0, [0x4ce3] = 0x7ebe, [0x4ce4] = 0x7ec0, + [0x4ce5] = 0x7ec1, [0x4ce6] = 0x7ec2, [0x4ce7] = 0x7ec9, [0x4ce8] = 0x7ecb, + [0x4ce9] = 0x7ecc, [0x4cea] = 0x7ed0, [0x4ceb] = 0x7ed4, [0x4cec] = 0x7ed7, + [0x4ced] = 0x7edb, [0x4cee] = 0x7ee0, [0x4cef] = 0x7ee1, [0x4cf0] = 0x7ee8, + [0x4cf1] = 0x7eeb, [0x4cf2] = 0x7eee, [0x4cf3] = 0x7eef, [0x4cf4] = 0x7ef1, + [0x4cf5] = 0x7ef2, [0x4cf6] = 0x7f0d, [0x4cf7] = 0x7ef6, [0x4cf8] = 0x7efa, + [0x4cf9] = 0x7efb, [0x4cfa] = 0x7efe, [0x4cfb] = 0x7f01, [0x4cfc] = 0x7f02, + [0x4cfd] = 0x7f03, [0x4cfe] = 0x7f07, [0x4cff] = 0x7f08, [0x4d00] = 0x7f0b, + [0x4d01] = 0x7f0c, [0x4d02] = 0x7f0f, [0x4d03] = 0x7f11, [0x4d04] = 0x7f12, + [0x4d05] = 0x7f17, [0x4d06] = 0x7f19, [0x4d07] = 0x7f1c, [0x4d08] = 0x7f1b, + [0x4d09] = 0x7f1f, [0x4d0a] = 0x7f21, [0x4d0b] = 0x7f22, [0x4d0c] = 0x7f23, + [0x4d0d] = 0x7f24, [0x4d0e] = 0x7f25, [0x4d0f] = 0x7f26, [0x4d10] = 0x7f27, + [0x4d11] = 0x7f2a, [0x4d12] = 0x7f2b, [0x4d13] = 0x7f2c, [0x4d14] = 0x7f2d, + [0x4d15] = 0x7f2f, [0x4d16] = 0x7f30, [0x4d17] = 0x7f31, [0x4d18] = 0x7f32, + [0x4d19] = 0x7f33, [0x4d1a] = 0x7f35, [0x4d1b] = 0x5e7a, [0x4d1c] = 0x757f, + [0x4d1d] = 0x5ddb, [0x4d1e] = 0x753e, [0x4d1f] = 0x9095, [0x4d20] = 0x738e, + [0x4d21] = 0x7391, [0x4d22] = 0x73ae, [0x4d23] = 0x73a2, [0x4d24] = 0x739f, + [0x4d25] = 0x73cf, [0x4d26] = 0x73c2, [0x4d27] = 0x73d1, [0x4d28] = 0x73b7, + [0x4d29] = 0x73b3, [0x4d2a] = 0x73c0, [0x4d2b] = 0x73c9, [0x4d2c] = 0x73c8, + [0x4d2d] = 0x73e5, [0x4d2e] = 0x73d9, [0x4d2f] = 0x987c, [0x4d30] = 0x740a, + [0x4d31] = 0x73e9, [0x4d32] = 0x73e7, [0x4d33] = 0x73de, [0x4d34] = 0x73ba, + [0x4d35] = 0x73f2, [0x4d36] = 0x740f, [0x4d37] = 0x742a, [0x4d38] = 0x745b, + [0x4d39] = 0x7426, [0x4d3a] = 0x7425, [0x4d3b] = 0x7428, [0x4d3c] = 0x7430, + [0x4d3d] = 0x742e, [0x4d3e] = 0x742c, [0x4d40] = 0x942f, [0x4d41] = 0x9430, + [0x4d42] = 0x9431, [0x4d43] = 0x9432, [0x4d44] = 0x9433, [0x4d45] = 0x9434, + [0x4d46] = 0x9435, [0x4d47] = 0x9436, [0x4d48] = 0x9437, [0x4d49] = 0x9438, + [0x4d4a] = 0x9439, [0x4d4b] = 0x943a, [0x4d4c] = 0x943b, [0x4d4d] = 0x943c, + [0x4d4e] = 0x943d, [0x4d4f] = 0x943f, [0x4d50] = 0x9440, [0x4d51] = 0x9441, + [0x4d52] = 0x9442, [0x4d53] = 0x9443, [0x4d54] = 0x9444, [0x4d55] = 0x9445, + [0x4d56] = 0x9446, [0x4d57] = 0x9447, [0x4d58] = 0x9448, [0x4d59] = 0x9449, + [0x4d5a] = 0x944a, [0x4d5b] = 0x944b, [0x4d5c] = 0x944c, [0x4d5d] = 0x944d, + [0x4d5e] = 0x944e, [0x4d5f] = 0x944f, [0x4d60] = 0x9450, [0x4d61] = 0x9451, + [0x4d62] = 0x9452, [0x4d63] = 0x9453, [0x4d64] = 0x9454, [0x4d65] = 0x9455, + [0x4d66] = 0x9456, [0x4d67] = 0x9457, [0x4d68] = 0x9458, [0x4d69] = 0x9459, + [0x4d6a] = 0x945a, [0x4d6b] = 0x945b, [0x4d6c] = 0x945c, [0x4d6d] = 0x945d, + [0x4d6e] = 0x945e, [0x4d6f] = 0x945f, [0x4d70] = 0x9460, [0x4d71] = 0x9461, + [0x4d72] = 0x9462, [0x4d73] = 0x9463, [0x4d74] = 0x9464, [0x4d75] = 0x9465, + [0x4d76] = 0x9466, [0x4d77] = 0x9467, [0x4d78] = 0x9468, [0x4d79] = 0x9469, + [0x4d7a] = 0x946a, [0x4d7b] = 0x946c, [0x4d7c] = 0x946d, [0x4d7d] = 0x946e, + [0x4d7e] = 0x946f, [0x4d80] = 0x9470, [0x4d81] = 0x9471, [0x4d82] = 0x9472, + [0x4d83] = 0x9473, [0x4d84] = 0x9474, [0x4d85] = 0x9475, [0x4d86] = 0x9476, + [0x4d87] = 0x9477, [0x4d88] = 0x9478, [0x4d89] = 0x9479, [0x4d8a] = 0x947a, + [0x4d8b] = 0x947b, [0x4d8c] = 0x947c, [0x4d8d] = 0x947d, [0x4d8e] = 0x947e, + [0x4d8f] = 0x947f, [0x4d90] = 0x9480, [0x4d91] = 0x9481, [0x4d92] = 0x9482, + [0x4d93] = 0x9483, [0x4d94] = 0x9484, [0x4d95] = 0x9491, [0x4d96] = 0x9496, + [0x4d97] = 0x9498, [0x4d98] = 0x94c7, [0x4d99] = 0x94cf, [0x4d9a] = 0x94d3, + [0x4d9b] = 0x94d4, [0x4d9c] = 0x94da, [0x4d9d] = 0x94e6, [0x4d9e] = 0x94fb, + [0x4d9f] = 0x951c, [0x4da0] = 0x9520, [0x4da1] = 0x741b, [0x4da2] = 0x741a, + [0x4da3] = 0x7441, [0x4da4] = 0x745c, [0x4da5] = 0x7457, [0x4da6] = 0x7455, + [0x4da7] = 0x7459, [0x4da8] = 0x7477, [0x4da9] = 0x746d, [0x4daa] = 0x747e, + [0x4dab] = 0x749c, [0x4dac] = 0x748e, [0x4dad] = 0x7480, [0x4dae] = 0x7481, + [0x4daf] = 0x7487, [0x4db0] = 0x748b, [0x4db1] = 0x749e, [0x4db2] = 0x74a8, + [0x4db3] = 0x74a9, [0x4db4] = 0x7490, [0x4db5] = 0x74a7, [0x4db6] = 0x74d2, + [0x4db7] = 0x74ba, [0x4db8] = 0x97ea, [0x4db9] = 0x97eb, [0x4dba] = 0x97ec, + [0x4dbb] = 0x674c, [0x4dbc] = 0x6753, [0x4dbd] = 0x675e, [0x4dbe] = 0x6748, + [0x4dbf] = 0x6769, [0x4dc0] = 0x67a5, [0x4dc1] = 0x6787, [0x4dc2] = 0x676a, + [0x4dc3] = 0x6773, [0x4dc4] = 0x6798, [0x4dc5] = 0x67a7, [0x4dc6] = 0x6775, + [0x4dc7] = 0x67a8, [0x4dc8] = 0x679e, [0x4dc9] = 0x67ad, [0x4dca] = 0x678b, + [0x4dcb] = 0x6777, [0x4dcc] = 0x677c, [0x4dcd] = 0x67f0, [0x4dce] = 0x6809, + [0x4dcf] = 0x67d8, [0x4dd0] = 0x680a, [0x4dd1] = 0x67e9, [0x4dd2] = 0x67b0, + [0x4dd3] = 0x680c, [0x4dd4] = 0x67d9, [0x4dd5] = 0x67b5, [0x4dd6] = 0x67da, + [0x4dd7] = 0x67b3, [0x4dd8] = 0x67dd, [0x4dd9] = 0x6800, [0x4dda] = 0x67c3, + [0x4ddb] = 0x67b8, [0x4ddc] = 0x67e2, [0x4ddd] = 0x680e, [0x4dde] = 0x67c1, + [0x4ddf] = 0x67fd, [0x4de0] = 0x6832, [0x4de1] = 0x6833, [0x4de2] = 0x6860, + [0x4de3] = 0x6861, [0x4de4] = 0x684e, [0x4de5] = 0x6862, [0x4de6] = 0x6844, + [0x4de7] = 0x6864, [0x4de8] = 0x6883, [0x4de9] = 0x681d, [0x4dea] = 0x6855, + [0x4deb] = 0x6866, [0x4dec] = 0x6841, [0x4ded] = 0x6867, [0x4dee] = 0x6840, + [0x4def] = 0x683e, [0x4df0] = 0x684a, [0x4df1] = 0x6849, [0x4df2] = 0x6829, + [0x4df3] = 0x68b5, [0x4df4] = 0x688f, [0x4df5] = 0x6874, [0x4df6] = 0x6877, + [0x4df7] = 0x6893, [0x4df8] = 0x686b, [0x4df9] = 0x68c2, [0x4dfa] = 0x696e, + [0x4dfb] = 0x68fc, [0x4dfc] = 0x691f, [0x4dfd] = 0x6920, [0x4dfe] = 0x68f9, + [0x4e00] = 0x9527, [0x4e01] = 0x9533, [0x4e02] = 0x953d, [0x4e03] = 0x9543, + [0x4e04] = 0x9548, [0x4e05] = 0x954b, [0x4e06] = 0x9555, [0x4e07] = 0x955a, + [0x4e08] = 0x9560, [0x4e09] = 0x956e, [0x4e0a] = 0x9574, [0x4e0b] = 0x9575, + [0x4e0c] = 0x9577, [0x4e0d] = 0x9578, [0x4e0e] = 0x9579, [0x4e0f] = 0x957a, + [0x4e10] = 0x957b, [0x4e11] = 0x957c, [0x4e12] = 0x957d, [0x4e13] = 0x957e, + [0x4e14] = 0x9580, [0x4e15] = 0x9581, [0x4e16] = 0x9582, [0x4e17] = 0x9583, + [0x4e18] = 0x9584, [0x4e19] = 0x9585, [0x4e1a] = 0x9586, [0x4e1b] = 0x9587, + [0x4e1c] = 0x9588, [0x4e1d] = 0x9589, [0x4e1e] = 0x958a, [0x4e1f] = 0x958b, + [0x4e20] = 0x958c, [0x4e21] = 0x958d, [0x4e22] = 0x958e, [0x4e23] = 0x958f, + [0x4e24] = 0x9590, [0x4e25] = 0x9591, [0x4e26] = 0x9592, [0x4e27] = 0x9593, + [0x4e28] = 0x9594, [0x4e29] = 0x9595, [0x4e2a] = 0x9596, [0x4e2b] = 0x9597, + [0x4e2c] = 0x9598, [0x4e2d] = 0x9599, [0x4e2e] = 0x959a, [0x4e2f] = 0x959b, + [0x4e30] = 0x959c, [0x4e31] = 0x959d, [0x4e32] = 0x959e, [0x4e33] = 0x959f, + [0x4e34] = 0x95a0, [0x4e35] = 0x95a1, [0x4e36] = 0x95a2, [0x4e37] = 0x95a3, + [0x4e38] = 0x95a4, [0x4e39] = 0x95a5, [0x4e3a] = 0x95a6, [0x4e3b] = 0x95a7, + [0x4e3c] = 0x95a8, [0x4e3d] = 0x95a9, [0x4e3e] = 0x95aa, [0x4e40] = 0x95ab, + [0x4e41] = 0x95ac, [0x4e42] = 0x95ad, [0x4e43] = 0x95ae, [0x4e44] = 0x95af, + [0x4e45] = 0x95b0, [0x4e46] = 0x95b1, [0x4e47] = 0x95b2, [0x4e48] = 0x95b3, + [0x4e49] = 0x95b4, [0x4e4a] = 0x95b5, [0x4e4b] = 0x95b6, [0x4e4c] = 0x95b7, + [0x4e4d] = 0x95b8, [0x4e4e] = 0x95b9, [0x4e4f] = 0x95ba, [0x4e50] = 0x95bb, + [0x4e51] = 0x95bc, [0x4e52] = 0x95bd, [0x4e53] = 0x95be, [0x4e54] = 0x95bf, + [0x4e55] = 0x95c0, [0x4e56] = 0x95c1, [0x4e57] = 0x95c2, [0x4e58] = 0x95c3, + [0x4e59] = 0x95c4, [0x4e5a] = 0x95c5, [0x4e5b] = 0x95c6, [0x4e5c] = 0x95c7, + [0x4e5d] = 0x95c8, [0x4e5e] = 0x95c9, [0x4e5f] = 0x95ca, [0x4e60] = 0x95cb, + [0x4e61] = 0x6924, [0x4e62] = 0x68f0, [0x4e63] = 0x690b, [0x4e64] = 0x6901, + [0x4e65] = 0x6957, [0x4e66] = 0x68e3, [0x4e67] = 0x6910, [0x4e68] = 0x6971, + [0x4e69] = 0x6939, [0x4e6a] = 0x6960, [0x4e6b] = 0x6942, [0x4e6c] = 0x695d, + [0x4e6d] = 0x6984, [0x4e6e] = 0x696b, [0x4e6f] = 0x6980, [0x4e70] = 0x6998, + [0x4e71] = 0x6978, [0x4e72] = 0x6934, [0x4e73] = 0x69cc, [0x4e74] = 0x6987, + [0x4e75] = 0x6988, [0x4e76] = 0x69ce, [0x4e77] = 0x6989, [0x4e78] = 0x6966, + [0x4e79] = 0x6963, [0x4e7a] = 0x6979, [0x4e7b] = 0x699b, [0x4e7c] = 0x69a7, + [0x4e7d] = 0x69bb, [0x4e7e] = 0x69ab, [0x4e7f] = 0x69ad, [0x4e80] = 0x69d4, + [0x4e81] = 0x69b1, [0x4e82] = 0x69c1, [0x4e83] = 0x69ca, [0x4e84] = 0x69df, + [0x4e85] = 0x6995, [0x4e86] = 0x69e0, [0x4e87] = 0x698d, [0x4e88] = 0x69ff, + [0x4e89] = 0x6a2f, [0x4e8a] = 0x69ed, [0x4e8b] = 0x6a17, [0x4e8c] = 0x6a18, + [0x4e8d] = 0x6a65, [0x4e8e] = 0x69f2, [0x4e8f] = 0x6a44, [0x4e90] = 0x6a3e, + [0x4e91] = 0x6aa0, [0x4e92] = 0x6a50, [0x4e93] = 0x6a5b, [0x4e94] = 0x6a35, + [0x4e95] = 0x6a8e, [0x4e96] = 0x6a79, [0x4e97] = 0x6a3d, [0x4e98] = 0x6a28, + [0x4e99] = 0x6a58, [0x4e9a] = 0x6a7c, [0x4e9b] = 0x6a91, [0x4e9c] = 0x6a90, + [0x4e9d] = 0x6aa9, [0x4e9e] = 0x6a97, [0x4e9f] = 0x6aab, [0x4ea0] = 0x7337, + [0x4ea1] = 0x7352, [0x4ea2] = 0x6b81, [0x4ea3] = 0x6b82, [0x4ea4] = 0x6b87, + [0x4ea5] = 0x6b84, [0x4ea6] = 0x6b92, [0x4ea7] = 0x6b93, [0x4ea8] = 0x6b8d, + [0x4ea9] = 0x6b9a, [0x4eaa] = 0x6b9b, [0x4eab] = 0x6ba1, [0x4eac] = 0x6baa, + [0x4ead] = 0x8f6b, [0x4eae] = 0x8f6d, [0x4eaf] = 0x8f71, [0x4eb0] = 0x8f72, + [0x4eb1] = 0x8f73, [0x4eb2] = 0x8f75, [0x4eb3] = 0x8f76, [0x4eb4] = 0x8f78, + [0x4eb5] = 0x8f77, [0x4eb6] = 0x8f79, [0x4eb7] = 0x8f7a, [0x4eb8] = 0x8f7c, + [0x4eb9] = 0x8f7e, [0x4eba] = 0x8f81, [0x4ebb] = 0x8f82, [0x4ebc] = 0x8f84, + [0x4ebd] = 0x8f87, [0x4ebe] = 0x8f8b, [0x4ec0] = 0x95cc, [0x4ec1] = 0x95cd, + [0x4ec2] = 0x95ce, [0x4ec3] = 0x95cf, [0x4ec4] = 0x95d0, [0x4ec5] = 0x95d1, + [0x4ec6] = 0x95d2, [0x4ec7] = 0x95d3, [0x4ec8] = 0x95d4, [0x4ec9] = 0x95d5, + [0x4eca] = 0x95d6, [0x4ecb] = 0x95d7, [0x4ecc] = 0x95d8, [0x4ecd] = 0x95d9, + [0x4ece] = 0x95da, [0x4ecf] = 0x95db, [0x4ed0] = 0x95dc, [0x4ed1] = 0x95dd, + [0x4ed2] = 0x95de, [0x4ed3] = 0x95df, [0x4ed4] = 0x95e0, [0x4ed5] = 0x95e1, + [0x4ed6] = 0x95e2, [0x4ed7] = 0x95e3, [0x4ed8] = 0x95e4, [0x4ed9] = 0x95e5, + [0x4eda] = 0x95e6, [0x4edb] = 0x95e7, [0x4edc] = 0x95ec, [0x4edd] = 0x95ff, + [0x4ede] = 0x9607, [0x4edf] = 0x9613, [0x4ee0] = 0x9618, [0x4ee1] = 0x961b, + [0x4ee2] = 0x961e, [0x4ee3] = 0x9620, [0x4ee4] = 0x9623, [0x4ee5] = 0x9624, + [0x4ee6] = 0x9625, [0x4ee7] = 0x9626, [0x4ee8] = 0x9627, [0x4ee9] = 0x9628, + [0x4eea] = 0x9629, [0x4eeb] = 0x962b, [0x4eec] = 0x962c, [0x4eed] = 0x962d, + [0x4eee] = 0x962f, [0x4eef] = 0x9630, [0x4ef0] = 0x9637, [0x4ef1] = 0x9638, + [0x4ef2] = 0x9639, [0x4ef3] = 0x963a, [0x4ef4] = 0x963e, [0x4ef5] = 0x9641, + [0x4ef6] = 0x9643, [0x4ef7] = 0x964a, [0x4ef8] = 0x964e, [0x4ef9] = 0x964f, + [0x4efa] = 0x9651, [0x4efb] = 0x9652, [0x4efc] = 0x9653, [0x4efd] = 0x9656, + [0x4efe] = 0x9657, [0x4f00] = 0x9658, [0x4f01] = 0x9659, [0x4f02] = 0x965a, + [0x4f03] = 0x965c, [0x4f04] = 0x965d, [0x4f05] = 0x965e, [0x4f06] = 0x9660, + [0x4f07] = 0x9663, [0x4f08] = 0x9665, [0x4f09] = 0x9666, [0x4f0a] = 0x966b, + [0x4f0b] = 0x966d, [0x4f0c] = 0x966e, [0x4f0d] = 0x966f, [0x4f0e] = 0x9670, + [0x4f0f] = 0x9671, [0x4f10] = 0x9673, [0x4f11] = 0x9678, [0x4f12] = 0x9679, + [0x4f13] = 0x967a, [0x4f14] = 0x967b, [0x4f15] = 0x967c, [0x4f16] = 0x967d, + [0x4f17] = 0x967e, [0x4f18] = 0x967f, [0x4f19] = 0x9680, [0x4f1a] = 0x9681, + [0x4f1b] = 0x9682, [0x4f1c] = 0x9683, [0x4f1d] = 0x9684, [0x4f1e] = 0x9687, + [0x4f1f] = 0x9689, [0x4f20] = 0x968a, [0x4f21] = 0x8f8d, [0x4f22] = 0x8f8e, + [0x4f23] = 0x8f8f, [0x4f24] = 0x8f98, [0x4f25] = 0x8f9a, [0x4f26] = 0x8ece, + [0x4f27] = 0x620b, [0x4f28] = 0x6217, [0x4f29] = 0x621b, [0x4f2a] = 0x621f, + [0x4f2b] = 0x6222, [0x4f2c] = 0x6221, [0x4f2d] = 0x6225, [0x4f2e] = 0x6224, + [0x4f2f] = 0x622c, [0x4f30] = 0x81e7, [0x4f31] = 0x74ef, [0x4f32] = 0x74f4, + [0x4f33] = 0x74ff, [0x4f34] = 0x750f, [0x4f35] = 0x7511, [0x4f36] = 0x7513, + [0x4f37] = 0x6534, [0x4f38] = 0x65ee, [0x4f39] = 0x65ef, [0x4f3a] = 0x65f0, + [0x4f3b] = 0x660a, [0x4f3c] = 0x6619, [0x4f3d] = 0x6772, [0x4f3e] = 0x6603, + [0x4f3f] = 0x6615, [0x4f40] = 0x6600, [0x4f41] = 0x7085, [0x4f42] = 0x66f7, + [0x4f43] = 0x661d, [0x4f44] = 0x6634, [0x4f45] = 0x6631, [0x4f46] = 0x6636, + [0x4f47] = 0x6635, [0x4f48] = 0x8006, [0x4f49] = 0x665f, [0x4f4a] = 0x6654, + [0x4f4b] = 0x6641, [0x4f4c] = 0x664f, [0x4f4d] = 0x6656, [0x4f4e] = 0x6661, + [0x4f4f] = 0x6657, [0x4f50] = 0x6677, [0x4f51] = 0x6684, [0x4f52] = 0x668c, + [0x4f53] = 0x66a7, [0x4f54] = 0x669d, [0x4f55] = 0x66be, [0x4f56] = 0x66db, + [0x4f57] = 0x66dc, [0x4f58] = 0x66e6, [0x4f59] = 0x66e9, [0x4f5a] = 0x8d32, + [0x4f5b] = 0x8d33, [0x4f5c] = 0x8d36, [0x4f5d] = 0x8d3b, [0x4f5e] = 0x8d3d, + [0x4f5f] = 0x8d40, [0x4f60] = 0x8d45, [0x4f61] = 0x8d46, [0x4f62] = 0x8d48, + [0x4f63] = 0x8d49, [0x4f64] = 0x8d47, [0x4f65] = 0x8d4d, [0x4f66] = 0x8d55, + [0x4f67] = 0x8d59, [0x4f68] = 0x89c7, [0x4f69] = 0x89ca, [0x4f6a] = 0x89cb, + [0x4f6b] = 0x89cc, [0x4f6c] = 0x89ce, [0x4f6d] = 0x89cf, [0x4f6e] = 0x89d0, + [0x4f6f] = 0x89d1, [0x4f70] = 0x726e, [0x4f71] = 0x729f, [0x4f72] = 0x725d, + [0x4f73] = 0x7266, [0x4f74] = 0x726f, [0x4f75] = 0x727e, [0x4f76] = 0x727f, + [0x4f77] = 0x7284, [0x4f78] = 0x728b, [0x4f79] = 0x728d, [0x4f7a] = 0x728f, + [0x4f7b] = 0x7292, [0x4f7c] = 0x6308, [0x4f7d] = 0x6332, [0x4f7e] = 0x63b0, + [0x4f80] = 0x968c, [0x4f81] = 0x968e, [0x4f82] = 0x9691, [0x4f83] = 0x9692, + [0x4f84] = 0x9693, [0x4f85] = 0x9695, [0x4f86] = 0x9696, [0x4f87] = 0x969a, + [0x4f88] = 0x969b, [0x4f89] = 0x969d, [0x4f8a] = 0x969e, [0x4f8b] = 0x969f, + [0x4f8c] = 0x96a0, [0x4f8d] = 0x96a1, [0x4f8e] = 0x96a2, [0x4f8f] = 0x96a3, + [0x4f90] = 0x96a4, [0x4f91] = 0x96a5, [0x4f92] = 0x96a6, [0x4f93] = 0x96a8, + [0x4f94] = 0x96a9, [0x4f95] = 0x96aa, [0x4f96] = 0x96ab, [0x4f97] = 0x96ac, + [0x4f98] = 0x96ad, [0x4f99] = 0x96ae, [0x4f9a] = 0x96af, [0x4f9b] = 0x96b1, + [0x4f9c] = 0x96b2, [0x4f9d] = 0x96b4, [0x4f9e] = 0x96b5, [0x4f9f] = 0x96b7, + [0x4fa0] = 0x96b8, [0x4fa1] = 0x96ba, [0x4fa2] = 0x96bb, [0x4fa3] = 0x96bf, + [0x4fa4] = 0x96c2, [0x4fa5] = 0x96c3, [0x4fa6] = 0x96c8, [0x4fa7] = 0x96ca, + [0x4fa8] = 0x96cb, [0x4fa9] = 0x96d0, [0x4faa] = 0x96d1, [0x4fab] = 0x96d3, + [0x4fac] = 0x96d4, [0x4fad] = 0x96d6, [0x4fae] = 0x96d7, [0x4faf] = 0x96d8, + [0x4fb0] = 0x96d9, [0x4fb1] = 0x96da, [0x4fb2] = 0x96db, [0x4fb3] = 0x96dc, + [0x4fb4] = 0x96dd, [0x4fb5] = 0x96de, [0x4fb6] = 0x96df, [0x4fb7] = 0x96e1, + [0x4fb8] = 0x96e2, [0x4fb9] = 0x96e3, [0x4fba] = 0x96e4, [0x4fbb] = 0x96e5, + [0x4fbc] = 0x96e6, [0x4fbd] = 0x96e7, [0x4fbe] = 0x96eb, [0x4fc0] = 0x96ec, + [0x4fc1] = 0x96ed, [0x4fc2] = 0x96ee, [0x4fc3] = 0x96f0, [0x4fc4] = 0x96f1, + [0x4fc5] = 0x96f2, [0x4fc6] = 0x96f4, [0x4fc7] = 0x96f5, [0x4fc8] = 0x96f8, + [0x4fc9] = 0x96fa, [0x4fca] = 0x96fb, [0x4fcb] = 0x96fc, [0x4fcc] = 0x96fd, + [0x4fcd] = 0x96ff, [0x4fce] = 0x9702, [0x4fcf] = 0x9703, [0x4fd0] = 0x9705, + [0x4fd1] = 0x970a, [0x4fd2] = 0x970b, [0x4fd3] = 0x970c, [0x4fd4] = 0x9710, + [0x4fd5] = 0x9711, [0x4fd6] = 0x9712, [0x4fd7] = 0x9714, [0x4fd8] = 0x9715, + [0x4fd9] = 0x9717, [0x4fda] = 0x9718, [0x4fdb] = 0x9719, [0x4fdc] = 0x971a, + [0x4fdd] = 0x971b, [0x4fde] = 0x971d, [0x4fdf] = 0x971f, [0x4fe0] = 0x9720, + [0x4fe1] = 0x643f, [0x4fe2] = 0x64d8, [0x4fe3] = 0x8004, [0x4fe4] = 0x6bea, + [0x4fe5] = 0x6bf3, [0x4fe6] = 0x6bfd, [0x4fe7] = 0x6bf5, [0x4fe8] = 0x6bf9, + [0x4fe9] = 0x6c05, [0x4fea] = 0x6c07, [0x4feb] = 0x6c06, [0x4fec] = 0x6c0d, + [0x4fed] = 0x6c15, [0x4fee] = 0x6c18, [0x4fef] = 0x6c19, [0x4ff0] = 0x6c1a, + [0x4ff1] = 0x6c21, [0x4ff2] = 0x6c29, [0x4ff3] = 0x6c24, [0x4ff4] = 0x6c2a, + [0x4ff5] = 0x6c32, [0x4ff6] = 0x6535, [0x4ff7] = 0x6555, [0x4ff8] = 0x656b, + [0x4ff9] = 0x724d, [0x4ffa] = 0x7252, [0x4ffb] = 0x7256, [0x4ffc] = 0x7230, + [0x4ffd] = 0x8662, [0x4ffe] = 0x5216, [0x4fff] = 0x809f, [0x5000] = 0x809c, + [0x5001] = 0x8093, [0x5002] = 0x80bc, [0x5003] = 0x670a, [0x5004] = 0x80bd, + [0x5005] = 0x80b1, [0x5006] = 0x80ab, [0x5007] = 0x80ad, [0x5008] = 0x80b4, + [0x5009] = 0x80b7, [0x500a] = 0x80e7, [0x500b] = 0x80e8, [0x500c] = 0x80e9, + [0x500d] = 0x80ea, [0x500e] = 0x80db, [0x500f] = 0x80c2, [0x5010] = 0x80c4, + [0x5011] = 0x80d9, [0x5012] = 0x80cd, [0x5013] = 0x80d7, [0x5014] = 0x6710, + [0x5015] = 0x80dd, [0x5016] = 0x80eb, [0x5017] = 0x80f1, [0x5018] = 0x80f4, + [0x5019] = 0x80ed, [0x501a] = 0x810d, [0x501b] = 0x810e, [0x501c] = 0x80f2, + [0x501d] = 0x80fc, [0x501e] = 0x6715, [0x501f] = 0x8112, [0x5020] = 0x8c5a, + [0x5021] = 0x8136, [0x5022] = 0x811e, [0x5023] = 0x812c, [0x5024] = 0x8118, + [0x5025] = 0x8132, [0x5026] = 0x8148, [0x5027] = 0x814c, [0x5028] = 0x8153, + [0x5029] = 0x8174, [0x502a] = 0x8159, [0x502b] = 0x815a, [0x502c] = 0x8171, + [0x502d] = 0x8160, [0x502e] = 0x8169, [0x502f] = 0x817c, [0x5030] = 0x817d, + [0x5031] = 0x816d, [0x5032] = 0x8167, [0x5033] = 0x584d, [0x5034] = 0x5ab5, + [0x5035] = 0x8188, [0x5036] = 0x8182, [0x5037] = 0x8191, [0x5038] = 0x6ed5, + [0x5039] = 0x81a3, [0x503a] = 0x81aa, [0x503b] = 0x81cc, [0x503c] = 0x6726, + [0x503d] = 0x81ca, [0x503e] = 0x81bb, [0x5040] = 0x9721, [0x5041] = 0x9722, + [0x5042] = 0x9723, [0x5043] = 0x9724, [0x5044] = 0x9725, [0x5045] = 0x9726, + [0x5046] = 0x9727, [0x5047] = 0x9728, [0x5048] = 0x9729, [0x5049] = 0x972b, + [0x504a] = 0x972c, [0x504b] = 0x972e, [0x504c] = 0x972f, [0x504d] = 0x9731, + [0x504e] = 0x9733, [0x504f] = 0x9734, [0x5050] = 0x9735, [0x5051] = 0x9736, + [0x5052] = 0x9737, [0x5053] = 0x973a, [0x5054] = 0x973b, [0x5055] = 0x973c, + [0x5056] = 0x973d, [0x5057] = 0x973f, [0x5058] = 0x9740, [0x5059] = 0x9741, + [0x505a] = 0x9742, [0x505b] = 0x9743, [0x505c] = 0x9744, [0x505d] = 0x9745, + [0x505e] = 0x9746, [0x505f] = 0x9747, [0x5060] = 0x9748, [0x5061] = 0x9749, + [0x5062] = 0x974a, [0x5063] = 0x974b, [0x5064] = 0x974c, [0x5065] = 0x974d, + [0x5066] = 0x974e, [0x5067] = 0x974f, [0x5068] = 0x9750, [0x5069] = 0x9751, + [0x506a] = 0x9754, [0x506b] = 0x9755, [0x506c] = 0x9757, [0x506d] = 0x9758, + [0x506e] = 0x975a, [0x506f] = 0x975c, [0x5070] = 0x975d, [0x5071] = 0x975f, + [0x5072] = 0x9763, [0x5073] = 0x9764, [0x5074] = 0x9766, [0x5075] = 0x9767, + [0x5076] = 0x9768, [0x5077] = 0x976a, [0x5078] = 0x976b, [0x5079] = 0x976c, + [0x507a] = 0x976d, [0x507b] = 0x976e, [0x507c] = 0x976f, [0x507d] = 0x9770, + [0x507e] = 0x9771, [0x5080] = 0x9772, [0x5081] = 0x9775, [0x5082] = 0x9777, + [0x5083] = 0x9778, [0x5084] = 0x9779, [0x5085] = 0x977a, [0x5086] = 0x977b, + [0x5087] = 0x977d, [0x5088] = 0x977e, [0x5089] = 0x977f, [0x508a] = 0x9780, + [0x508b] = 0x9781, [0x508c] = 0x9782, [0x508d] = 0x9783, [0x508e] = 0x9784, + [0x508f] = 0x9786, [0x5090] = 0x9787, [0x5091] = 0x9788, [0x5092] = 0x9789, + [0x5093] = 0x978a, [0x5094] = 0x978c, [0x5095] = 0x978e, [0x5096] = 0x978f, + [0x5097] = 0x9790, [0x5098] = 0x9793, [0x5099] = 0x9795, [0x509a] = 0x9796, + [0x509b] = 0x9797, [0x509c] = 0x9799, [0x509d] = 0x979a, [0x509e] = 0x979b, + [0x509f] = 0x979c, [0x50a0] = 0x979d, [0x50a1] = 0x81c1, [0x50a2] = 0x81a6, + [0x50a3] = 0x6b24, [0x50a4] = 0x6b37, [0x50a5] = 0x6b39, [0x50a6] = 0x6b43, + [0x50a7] = 0x6b46, [0x50a8] = 0x6b59, [0x50a9] = 0x98d1, [0x50aa] = 0x98d2, + [0x50ab] = 0x98d3, [0x50ac] = 0x98d5, [0x50ad] = 0x98d9, [0x50ae] = 0x98da, + [0x50af] = 0x6bb3, [0x50b0] = 0x5f40, [0x50b1] = 0x6bc2, [0x50b2] = 0x89f3, + [0x50b3] = 0x6590, [0x50b4] = 0x9f51, [0x50b5] = 0x6593, [0x50b6] = 0x65bc, + [0x50b7] = 0x65c6, [0x50b8] = 0x65c4, [0x50b9] = 0x65c3, [0x50ba] = 0x65cc, + [0x50bb] = 0x65ce, [0x50bc] = 0x65d2, [0x50bd] = 0x65d6, [0x50be] = 0x7080, + [0x50bf] = 0x709c, [0x50c0] = 0x7096, [0x50c1] = 0x709d, [0x50c2] = 0x70bb, + [0x50c3] = 0x70c0, [0x50c4] = 0x70b7, [0x50c5] = 0x70ab, [0x50c6] = 0x70b1, + [0x50c7] = 0x70e8, [0x50c8] = 0x70ca, [0x50c9] = 0x7110, [0x50ca] = 0x7113, + [0x50cb] = 0x7116, [0x50cc] = 0x712f, [0x50cd] = 0x7131, [0x50ce] = 0x7173, + [0x50cf] = 0x715c, [0x50d0] = 0x7168, [0x50d1] = 0x7145, [0x50d2] = 0x7172, + [0x50d3] = 0x714a, [0x50d4] = 0x7178, [0x50d5] = 0x717a, [0x50d6] = 0x7198, + [0x50d7] = 0x71b3, [0x50d8] = 0x71b5, [0x50d9] = 0x71a8, [0x50da] = 0x71a0, + [0x50db] = 0x71e0, [0x50dc] = 0x71d4, [0x50dd] = 0x71e7, [0x50de] = 0x71f9, + [0x50df] = 0x721d, [0x50e0] = 0x7228, [0x50e1] = 0x706c, [0x50e2] = 0x7118, + [0x50e3] = 0x7166, [0x50e4] = 0x71b9, [0x50e5] = 0x623e, [0x50e6] = 0x623d, + [0x50e7] = 0x6243, [0x50e8] = 0x6248, [0x50e9] = 0x6249, [0x50ea] = 0x793b, + [0x50eb] = 0x7940, [0x50ec] = 0x7946, [0x50ed] = 0x7949, [0x50ee] = 0x795b, + [0x50ef] = 0x795c, [0x50f0] = 0x7953, [0x50f1] = 0x795a, [0x50f2] = 0x7962, + [0x50f3] = 0x7957, [0x50f4] = 0x7960, [0x50f5] = 0x796f, [0x50f6] = 0x7967, + [0x50f7] = 0x797a, [0x50f8] = 0x7985, [0x50f9] = 0x798a, [0x50fa] = 0x799a, + [0x50fb] = 0x79a7, [0x50fc] = 0x79b3, [0x50fd] = 0x5fd1, [0x50fe] = 0x5fd0, + [0x5100] = 0x979e, [0x5101] = 0x979f, [0x5102] = 0x97a1, [0x5103] = 0x97a2, + [0x5104] = 0x97a4, [0x5105] = 0x97a5, [0x5106] = 0x97a6, [0x5107] = 0x97a7, + [0x5108] = 0x97a8, [0x5109] = 0x97a9, [0x510a] = 0x97aa, [0x510b] = 0x97ac, + [0x510c] = 0x97ae, [0x510d] = 0x97b0, [0x510e] = 0x97b1, [0x510f] = 0x97b3, + [0x5110] = 0x97b5, [0x5111] = 0x97b6, [0x5112] = 0x97b7, [0x5113] = 0x97b8, + [0x5114] = 0x97b9, [0x5115] = 0x97ba, [0x5116] = 0x97bb, [0x5117] = 0x97bc, + [0x5118] = 0x97bd, [0x5119] = 0x97be, [0x511a] = 0x97bf, [0x511b] = 0x97c0, + [0x511c] = 0x97c1, [0x511d] = 0x97c2, [0x511e] = 0x97c3, [0x511f] = 0x97c4, + [0x5120] = 0x97c5, [0x5121] = 0x97c6, [0x5122] = 0x97c7, [0x5123] = 0x97c8, + [0x5124] = 0x97c9, [0x5125] = 0x97ca, [0x5126] = 0x97cb, [0x5127] = 0x97cc, + [0x5128] = 0x97cd, [0x5129] = 0x97ce, [0x512a] = 0x97cf, [0x512b] = 0x97d0, + [0x512c] = 0x97d1, [0x512d] = 0x97d2, [0x512e] = 0x97d3, [0x512f] = 0x97d4, + [0x5130] = 0x97d5, [0x5131] = 0x97d6, [0x5132] = 0x97d7, [0x5133] = 0x97d8, + [0x5134] = 0x97d9, [0x5135] = 0x97da, [0x5136] = 0x97db, [0x5137] = 0x97dc, + [0x5138] = 0x97dd, [0x5139] = 0x97de, [0x513a] = 0x97df, [0x513b] = 0x97e0, + [0x513c] = 0x97e1, [0x513d] = 0x97e2, [0x513e] = 0x97e3, [0x5140] = 0x97e4, + [0x5141] = 0x97e5, [0x5142] = 0x97e8, [0x5143] = 0x97ee, [0x5144] = 0x97ef, + [0x5145] = 0x97f0, [0x5146] = 0x97f1, [0x5147] = 0x97f2, [0x5148] = 0x97f4, + [0x5149] = 0x97f7, [0x514a] = 0x97f8, [0x514b] = 0x97f9, [0x514c] = 0x97fa, + [0x514d] = 0x97fb, [0x514e] = 0x97fc, [0x514f] = 0x97fd, [0x5150] = 0x97fe, + [0x5151] = 0x97ff, [0x5152] = 0x9800, [0x5153] = 0x9801, [0x5154] = 0x9802, + [0x5155] = 0x9803, [0x5156] = 0x9804, [0x5157] = 0x9805, [0x5158] = 0x9806, + [0x5159] = 0x9807, [0x515a] = 0x9808, [0x515b] = 0x9809, [0x515c] = 0x980a, + [0x515d] = 0x980b, [0x515e] = 0x980c, [0x515f] = 0x980d, [0x5160] = 0x980e, + [0x5161] = 0x603c, [0x5162] = 0x605d, [0x5163] = 0x605a, [0x5164] = 0x6067, + [0x5165] = 0x6041, [0x5166] = 0x6059, [0x5167] = 0x6063, [0x5168] = 0x60ab, + [0x5169] = 0x6106, [0x516a] = 0x610d, [0x516b] = 0x615d, [0x516c] = 0x61a9, + [0x516d] = 0x619d, [0x516e] = 0x61cb, [0x516f] = 0x61d1, [0x5170] = 0x6206, + [0x5171] = 0x8080, [0x5172] = 0x807f, [0x5173] = 0x6c93, [0x5174] = 0x6cf6, + [0x5175] = 0x6dfc, [0x5176] = 0x77f6, [0x5177] = 0x77f8, [0x5178] = 0x7800, + [0x5179] = 0x7809, [0x517a] = 0x7817, [0x517b] = 0x7818, [0x517c] = 0x7811, + [0x517d] = 0x65ab, [0x517e] = 0x782d, [0x517f] = 0x781c, [0x5180] = 0x781d, + [0x5181] = 0x7839, [0x5182] = 0x783a, [0x5183] = 0x783b, [0x5184] = 0x781f, + [0x5185] = 0x783c, [0x5186] = 0x7825, [0x5187] = 0x782c, [0x5188] = 0x7823, + [0x5189] = 0x7829, [0x518a] = 0x784e, [0x518b] = 0x786d, [0x518c] = 0x7856, + [0x518d] = 0x7857, [0x518e] = 0x7826, [0x518f] = 0x7850, [0x5190] = 0x7847, + [0x5191] = 0x784c, [0x5192] = 0x786a, [0x5193] = 0x789b, [0x5194] = 0x7893, + [0x5195] = 0x789a, [0x5196] = 0x7887, [0x5197] = 0x789c, [0x5198] = 0x78a1, + [0x5199] = 0x78a3, [0x519a] = 0x78b2, [0x519b] = 0x78b9, [0x519c] = 0x78a5, + [0x519d] = 0x78d4, [0x519e] = 0x78d9, [0x519f] = 0x78c9, [0x51a0] = 0x78ec, + [0x51a1] = 0x78f2, [0x51a2] = 0x7905, [0x51a3] = 0x78f4, [0x51a4] = 0x7913, + [0x51a5] = 0x7924, [0x51a6] = 0x791e, [0x51a7] = 0x7934, [0x51a8] = 0x9f9b, + [0x51a9] = 0x9ef9, [0x51aa] = 0x9efb, [0x51ab] = 0x9efc, [0x51ac] = 0x76f1, + [0x51ad] = 0x7704, [0x51ae] = 0x770d, [0x51af] = 0x76f9, [0x51b0] = 0x7707, + [0x51b1] = 0x7708, [0x51b2] = 0x771a, [0x51b3] = 0x7722, [0x51b4] = 0x7719, + [0x51b5] = 0x772d, [0x51b6] = 0x7726, [0x51b7] = 0x7735, [0x51b8] = 0x7738, + [0x51b9] = 0x7750, [0x51ba] = 0x7751, [0x51bb] = 0x7747, [0x51bc] = 0x7743, + [0x51bd] = 0x775a, [0x51be] = 0x7768, [0x51c0] = 0x980f, [0x51c1] = 0x9810, + [0x51c2] = 0x9811, [0x51c3] = 0x9812, [0x51c4] = 0x9813, [0x51c5] = 0x9814, + [0x51c6] = 0x9815, [0x51c7] = 0x9816, [0x51c8] = 0x9817, [0x51c9] = 0x9818, + [0x51ca] = 0x9819, [0x51cb] = 0x981a, [0x51cc] = 0x981b, [0x51cd] = 0x981c, + [0x51ce] = 0x981d, [0x51cf] = 0x981e, [0x51d0] = 0x981f, [0x51d1] = 0x9820, + [0x51d2] = 0x9821, [0x51d3] = 0x9822, [0x51d4] = 0x9823, [0x51d5] = 0x9824, + [0x51d6] = 0x9825, [0x51d7] = 0x9826, [0x51d8] = 0x9827, [0x51d9] = 0x9828, + [0x51da] = 0x9829, [0x51db] = 0x982a, [0x51dc] = 0x982b, [0x51dd] = 0x982c, + [0x51de] = 0x982d, [0x51df] = 0x982e, [0x51e0] = 0x982f, [0x51e1] = 0x9830, + [0x51e2] = 0x9831, [0x51e3] = 0x9832, [0x51e4] = 0x9833, [0x51e5] = 0x9834, + [0x51e6] = 0x9835, [0x51e7] = 0x9836, [0x51e8] = 0x9837, [0x51e9] = 0x9838, + [0x51ea] = 0x9839, [0x51eb] = 0x983a, [0x51ec] = 0x983b, [0x51ed] = 0x983c, + [0x51ee] = 0x983d, [0x51ef] = 0x983e, [0x51f0] = 0x983f, [0x51f1] = 0x9840, + [0x51f2] = 0x9841, [0x51f3] = 0x9842, [0x51f4] = 0x9843, [0x51f5] = 0x9844, + [0x51f6] = 0x9845, [0x51f7] = 0x9846, [0x51f8] = 0x9847, [0x51f9] = 0x9848, + [0x51fa] = 0x9849, [0x51fb] = 0x984a, [0x51fc] = 0x984b, [0x51fd] = 0x984c, + [0x51fe] = 0x984d, [0x5200] = 0x984e, [0x5201] = 0x984f, [0x5202] = 0x9850, + [0x5203] = 0x9851, [0x5204] = 0x9852, [0x5205] = 0x9853, [0x5206] = 0x9854, + [0x5207] = 0x9855, [0x5208] = 0x9856, [0x5209] = 0x9857, [0x520a] = 0x9858, + [0x520b] = 0x9859, [0x520c] = 0x985a, [0x520d] = 0x985b, [0x520e] = 0x985c, + [0x520f] = 0x985d, [0x5210] = 0x985e, [0x5211] = 0x985f, [0x5212] = 0x9860, + [0x5213] = 0x9861, [0x5214] = 0x9862, [0x5215] = 0x9863, [0x5216] = 0x9864, + [0x5217] = 0x9865, [0x5218] = 0x9866, [0x5219] = 0x9867, [0x521a] = 0x9868, + [0x521b] = 0x9869, [0x521c] = 0x986a, [0x521d] = 0x986b, [0x521e] = 0x986c, + [0x521f] = 0x986d, [0x5220] = 0x986e, [0x5221] = 0x7762, [0x5222] = 0x7765, + [0x5223] = 0x777f, [0x5224] = 0x778d, [0x5225] = 0x777d, [0x5226] = 0x7780, + [0x5227] = 0x778c, [0x5228] = 0x7791, [0x5229] = 0x779f, [0x522a] = 0x77a0, + [0x522b] = 0x77b0, [0x522c] = 0x77b5, [0x522d] = 0x77bd, [0x522e] = 0x753a, + [0x522f] = 0x7540, [0x5230] = 0x754e, [0x5231] = 0x754b, [0x5232] = 0x7548, + [0x5233] = 0x755b, [0x5234] = 0x7572, [0x5235] = 0x7579, [0x5236] = 0x7583, + [0x5237] = 0x7f58, [0x5238] = 0x7f61, [0x5239] = 0x7f5f, [0x523a] = 0x8a48, + [0x523b] = 0x7f68, [0x523c] = 0x7f74, [0x523d] = 0x7f71, [0x523e] = 0x7f79, + [0x523f] = 0x7f81, [0x5240] = 0x7f7e, [0x5241] = 0x76cd, [0x5242] = 0x76e5, + [0x5243] = 0x8832, [0x5244] = 0x9485, [0x5245] = 0x9486, [0x5246] = 0x9487, + [0x5247] = 0x948b, [0x5248] = 0x948a, [0x5249] = 0x948c, [0x524a] = 0x948d, + [0x524b] = 0x948f, [0x524c] = 0x9490, [0x524d] = 0x9494, [0x524e] = 0x9497, + [0x524f] = 0x9495, [0x5250] = 0x949a, [0x5251] = 0x949b, [0x5252] = 0x949c, + [0x5253] = 0x94a3, [0x5254] = 0x94a4, [0x5255] = 0x94ab, [0x5256] = 0x94aa, + [0x5257] = 0x94ad, [0x5258] = 0x94ac, [0x5259] = 0x94af, [0x525a] = 0x94b0, + [0x525b] = 0x94b2, [0x525c] = 0x94b4, [0x525d] = 0x94b6, [0x525e] = 0x94b7, + [0x525f] = 0x94b8, [0x5260] = 0x94b9, [0x5261] = 0x94ba, [0x5262] = 0x94bc, + [0x5263] = 0x94bd, [0x5264] = 0x94bf, [0x5265] = 0x94c4, [0x5266] = 0x94c8, + [0x5267] = 0x94c9, [0x5268] = 0x94ca, [0x5269] = 0x94cb, [0x526a] = 0x94cc, + [0x526b] = 0x94cd, [0x526c] = 0x94ce, [0x526d] = 0x94d0, [0x526e] = 0x94d1, + [0x526f] = 0x94d2, [0x5270] = 0x94d5, [0x5271] = 0x94d6, [0x5272] = 0x94d7, + [0x5273] = 0x94d9, [0x5274] = 0x94d8, [0x5275] = 0x94db, [0x5276] = 0x94de, + [0x5277] = 0x94df, [0x5278] = 0x94e0, [0x5279] = 0x94e2, [0x527a] = 0x94e4, + [0x527b] = 0x94e5, [0x527c] = 0x94e7, [0x527d] = 0x94e8, [0x527e] = 0x94ea, + [0x5280] = 0x986f, [0x5281] = 0x9870, [0x5282] = 0x9871, [0x5283] = 0x9872, + [0x5284] = 0x9873, [0x5285] = 0x9874, [0x5286] = 0x988b, [0x5287] = 0x988e, + [0x5288] = 0x9892, [0x5289] = 0x9895, [0x528a] = 0x9899, [0x528b] = 0x98a3, + [0x528c] = 0x98a8, [0x528d] = 0x98a9, [0x528e] = 0x98aa, [0x528f] = 0x98ab, + [0x5290] = 0x98ac, [0x5291] = 0x98ad, [0x5292] = 0x98ae, [0x5293] = 0x98af, + [0x5294] = 0x98b0, [0x5295] = 0x98b1, [0x5296] = 0x98b2, [0x5297] = 0x98b3, + [0x5298] = 0x98b4, [0x5299] = 0x98b5, [0x529a] = 0x98b6, [0x529b] = 0x98b7, + [0x529c] = 0x98b8, [0x529d] = 0x98b9, [0x529e] = 0x98ba, [0x529f] = 0x98bb, + [0x52a0] = 0x98bc, [0x52a1] = 0x98bd, [0x52a2] = 0x98be, [0x52a3] = 0x98bf, + [0x52a4] = 0x98c0, [0x52a5] = 0x98c1, [0x52a6] = 0x98c2, [0x52a7] = 0x98c3, + [0x52a8] = 0x98c4, [0x52a9] = 0x98c5, [0x52aa] = 0x98c6, [0x52ab] = 0x98c7, + [0x52ac] = 0x98c8, [0x52ad] = 0x98c9, [0x52ae] = 0x98ca, [0x52af] = 0x98cb, + [0x52b0] = 0x98cc, [0x52b1] = 0x98cd, [0x52b2] = 0x98cf, [0x52b3] = 0x98d0, + [0x52b4] = 0x98d4, [0x52b5] = 0x98d6, [0x52b6] = 0x98d7, [0x52b7] = 0x98db, + [0x52b8] = 0x98dc, [0x52b9] = 0x98dd, [0x52ba] = 0x98e0, [0x52bb] = 0x98e1, + [0x52bc] = 0x98e2, [0x52bd] = 0x98e3, [0x52be] = 0x98e4, [0x52c0] = 0x98e5, + [0x52c1] = 0x98e6, [0x52c2] = 0x98e9, [0x52c3] = 0x98ea, [0x52c4] = 0x98eb, + [0x52c5] = 0x98ec, [0x52c6] = 0x98ed, [0x52c7] = 0x98ee, [0x52c8] = 0x98ef, + [0x52c9] = 0x98f0, [0x52ca] = 0x98f1, [0x52cb] = 0x98f2, [0x52cc] = 0x98f3, + [0x52cd] = 0x98f4, [0x52ce] = 0x98f5, [0x52cf] = 0x98f6, [0x52d0] = 0x98f7, + [0x52d1] = 0x98f8, [0x52d2] = 0x98f9, [0x52d3] = 0x98fa, [0x52d4] = 0x98fb, + [0x52d5] = 0x98fc, [0x52d6] = 0x98fd, [0x52d7] = 0x98fe, [0x52d8] = 0x98ff, + [0x52d9] = 0x9900, [0x52da] = 0x9901, [0x52db] = 0x9902, [0x52dc] = 0x9903, + [0x52dd] = 0x9904, [0x52de] = 0x9905, [0x52df] = 0x9906, [0x52e0] = 0x9907, + [0x52e1] = 0x94e9, [0x52e2] = 0x94eb, [0x52e3] = 0x94ee, [0x52e4] = 0x94ef, + [0x52e5] = 0x94f3, [0x52e6] = 0x94f4, [0x52e7] = 0x94f5, [0x52e8] = 0x94f7, + [0x52e9] = 0x94f9, [0x52ea] = 0x94fc, [0x52eb] = 0x94fd, [0x52ec] = 0x94ff, + [0x52ed] = 0x9503, [0x52ee] = 0x9502, [0x52ef] = 0x9506, [0x52f0] = 0x9507, + [0x52f1] = 0x9509, [0x52f2] = 0x950a, [0x52f3] = 0x950d, [0x52f4] = 0x950e, + [0x52f5] = 0x950f, [0x52f6] = 0x9512, [0x52f7] = 0x9513, [0x52f8] = 0x9514, + [0x52f9] = 0x9515, [0x52fa] = 0x9516, [0x52fb] = 0x9518, [0x52fc] = 0x951b, + [0x52fd] = 0x951d, [0x52fe] = 0x951e, [0x52ff] = 0x951f, [0x5300] = 0x9522, + [0x5301] = 0x952a, [0x5302] = 0x952b, [0x5303] = 0x9529, [0x5304] = 0x952c, + [0x5305] = 0x9531, [0x5306] = 0x9532, [0x5307] = 0x9534, [0x5308] = 0x9536, + [0x5309] = 0x9537, [0x530a] = 0x9538, [0x530b] = 0x953c, [0x530c] = 0x953e, + [0x530d] = 0x953f, [0x530e] = 0x9542, [0x530f] = 0x9535, [0x5310] = 0x9544, + [0x5311] = 0x9545, [0x5312] = 0x9546, [0x5313] = 0x9549, [0x5314] = 0x954c, + [0x5315] = 0x954e, [0x5316] = 0x954f, [0x5317] = 0x9552, [0x5318] = 0x9553, + [0x5319] = 0x9554, [0x531a] = 0x9556, [0x531b] = 0x9557, [0x531c] = 0x9558, + [0x531d] = 0x9559, [0x531e] = 0x955b, [0x531f] = 0x955e, [0x5320] = 0x955f, + [0x5321] = 0x955d, [0x5322] = 0x9561, [0x5323] = 0x9562, [0x5324] = 0x9564, + [0x5325] = 0x9565, [0x5326] = 0x9566, [0x5327] = 0x9567, [0x5328] = 0x9568, + [0x5329] = 0x9569, [0x532a] = 0x956a, [0x532b] = 0x956b, [0x532c] = 0x956c, + [0x532d] = 0x956f, [0x532e] = 0x9571, [0x532f] = 0x9572, [0x5330] = 0x9573, + [0x5331] = 0x953a, [0x5332] = 0x77e7, [0x5333] = 0x77ec, [0x5334] = 0x96c9, + [0x5335] = 0x79d5, [0x5336] = 0x79ed, [0x5337] = 0x79e3, [0x5338] = 0x79eb, + [0x5339] = 0x7a06, [0x533a] = 0x5d47, [0x533b] = 0x7a03, [0x533c] = 0x7a02, + [0x533d] = 0x7a1e, [0x533e] = 0x7a14, [0x5340] = 0x9908, [0x5341] = 0x9909, + [0x5342] = 0x990a, [0x5343] = 0x990b, [0x5344] = 0x990c, [0x5345] = 0x990e, + [0x5346] = 0x990f, [0x5347] = 0x9911, [0x5348] = 0x9912, [0x5349] = 0x9913, + [0x534a] = 0x9914, [0x534b] = 0x9915, [0x534c] = 0x9916, [0x534d] = 0x9917, + [0x534e] = 0x9918, [0x534f] = 0x9919, [0x5350] = 0x991a, [0x5351] = 0x991b, + [0x5352] = 0x991c, [0x5353] = 0x991d, [0x5354] = 0x991e, [0x5355] = 0x991f, + [0x5356] = 0x9920, [0x5357] = 0x9921, [0x5358] = 0x9922, [0x5359] = 0x9923, + [0x535a] = 0x9924, [0x535b] = 0x9925, [0x535c] = 0x9926, [0x535d] = 0x9927, + [0x535e] = 0x9928, [0x535f] = 0x9929, [0x5360] = 0x992a, [0x5361] = 0x992b, + [0x5362] = 0x992c, [0x5363] = 0x992d, [0x5364] = 0x992f, [0x5365] = 0x9930, + [0x5366] = 0x9931, [0x5367] = 0x9932, [0x5368] = 0x9933, [0x5369] = 0x9934, + [0x536a] = 0x9935, [0x536b] = 0x9936, [0x536c] = 0x9937, [0x536d] = 0x9938, + [0x536e] = 0x9939, [0x536f] = 0x993a, [0x5370] = 0x993b, [0x5371] = 0x993c, + [0x5372] = 0x993d, [0x5373] = 0x993e, [0x5374] = 0x993f, [0x5375] = 0x9940, + [0x5376] = 0x9941, [0x5377] = 0x9942, [0x5378] = 0x9943, [0x5379] = 0x9944, + [0x537a] = 0x9945, [0x537b] = 0x9946, [0x537c] = 0x9947, [0x537d] = 0x9948, + [0x537e] = 0x9949, [0x5380] = 0x994a, [0x5381] = 0x994b, [0x5382] = 0x994c, + [0x5383] = 0x994d, [0x5384] = 0x994e, [0x5385] = 0x994f, [0x5386] = 0x9950, + [0x5387] = 0x9951, [0x5388] = 0x9952, [0x5389] = 0x9953, [0x538a] = 0x9956, + [0x538b] = 0x9957, [0x538c] = 0x9958, [0x538d] = 0x9959, [0x538e] = 0x995a, + [0x538f] = 0x995b, [0x5390] = 0x995c, [0x5391] = 0x995d, [0x5392] = 0x995e, + [0x5393] = 0x995f, [0x5394] = 0x9960, [0x5395] = 0x9961, [0x5396] = 0x9962, + [0x5397] = 0x9964, [0x5398] = 0x9966, [0x5399] = 0x9973, [0x539a] = 0x9978, + [0x539b] = 0x9979, [0x539c] = 0x997b, [0x539d] = 0x997e, [0x539e] = 0x9982, + [0x539f] = 0x9983, [0x53a0] = 0x9989, [0x53a1] = 0x7a39, [0x53a2] = 0x7a37, + [0x53a3] = 0x7a51, [0x53a4] = 0x9ecf, [0x53a5] = 0x99a5, [0x53a6] = 0x7a70, + [0x53a7] = 0x7688, [0x53a8] = 0x768e, [0x53a9] = 0x7693, [0x53aa] = 0x7699, + [0x53ab] = 0x76a4, [0x53ac] = 0x74de, [0x53ad] = 0x74e0, [0x53ae] = 0x752c, + [0x53af] = 0x9e20, [0x53b0] = 0x9e22, [0x53b1] = 0x9e28, [0x53b2] = 0x9e29, + [0x53b3] = 0x9e2a, [0x53b4] = 0x9e2b, [0x53b5] = 0x9e2c, [0x53b6] = 0x9e32, + [0x53b7] = 0x9e31, [0x53b8] = 0x9e36, [0x53b9] = 0x9e38, [0x53ba] = 0x9e37, + [0x53bb] = 0x9e39, [0x53bc] = 0x9e3a, [0x53bd] = 0x9e3e, [0x53be] = 0x9e41, + [0x53bf] = 0x9e42, [0x53c0] = 0x9e44, [0x53c1] = 0x9e46, [0x53c2] = 0x9e47, + [0x53c3] = 0x9e48, [0x53c4] = 0x9e49, [0x53c5] = 0x9e4b, [0x53c6] = 0x9e4c, + [0x53c7] = 0x9e4e, [0x53c8] = 0x9e51, [0x53c9] = 0x9e55, [0x53ca] = 0x9e57, + [0x53cb] = 0x9e5a, [0x53cc] = 0x9e5b, [0x53cd] = 0x9e5c, [0x53ce] = 0x9e5e, + [0x53cf] = 0x9e63, [0x53d0] = 0x9e66, [0x53d1] = 0x9e67, [0x53d2] = 0x9e68, + [0x53d3] = 0x9e69, [0x53d4] = 0x9e6a, [0x53d5] = 0x9e6b, [0x53d6] = 0x9e6c, + [0x53d7] = 0x9e71, [0x53d8] = 0x9e6d, [0x53d9] = 0x9e73, [0x53da] = 0x7592, + [0x53db] = 0x7594, [0x53dc] = 0x7596, [0x53dd] = 0x75a0, [0x53de] = 0x759d, + [0x53df] = 0x75ac, [0x53e0] = 0x75a3, [0x53e1] = 0x75b3, [0x53e2] = 0x75b4, + [0x53e3] = 0x75b8, [0x53e4] = 0x75c4, [0x53e5] = 0x75b1, [0x53e6] = 0x75b0, + [0x53e7] = 0x75c3, [0x53e8] = 0x75c2, [0x53e9] = 0x75d6, [0x53ea] = 0x75cd, + [0x53eb] = 0x75e3, [0x53ec] = 0x75e8, [0x53ed] = 0x75e6, [0x53ee] = 0x75e4, + [0x53ef] = 0x75eb, [0x53f0] = 0x75e7, [0x53f1] = 0x7603, [0x53f2] = 0x75f1, + [0x53f3] = 0x75fc, [0x53f4] = 0x75ff, [0x53f5] = 0x7610, [0x53f6] = 0x7600, + [0x53f7] = 0x7605, [0x53f8] = 0x760c, [0x53f9] = 0x7617, [0x53fa] = 0x760a, + [0x53fb] = 0x7625, [0x53fc] = 0x7618, [0x53fd] = 0x7615, [0x53fe] = 0x7619, + [0x5400] = 0x998c, [0x5401] = 0x998e, [0x5402] = 0x999a, [0x5403] = 0x999b, + [0x5404] = 0x999c, [0x5405] = 0x999d, [0x5406] = 0x999e, [0x5407] = 0x999f, + [0x5408] = 0x99a0, [0x5409] = 0x99a1, [0x540a] = 0x99a2, [0x540b] = 0x99a3, + [0x540c] = 0x99a4, [0x540d] = 0x99a6, [0x540e] = 0x99a7, [0x540f] = 0x99a9, + [0x5410] = 0x99aa, [0x5411] = 0x99ab, [0x5412] = 0x99ac, [0x5413] = 0x99ad, + [0x5414] = 0x99ae, [0x5415] = 0x99af, [0x5416] = 0x99b0, [0x5417] = 0x99b1, + [0x5418] = 0x99b2, [0x5419] = 0x99b3, [0x541a] = 0x99b4, [0x541b] = 0x99b5, + [0x541c] = 0x99b6, [0x541d] = 0x99b7, [0x541e] = 0x99b8, [0x541f] = 0x99b9, + [0x5420] = 0x99ba, [0x5421] = 0x99bb, [0x5422] = 0x99bc, [0x5423] = 0x99bd, + [0x5424] = 0x99be, [0x5425] = 0x99bf, [0x5426] = 0x99c0, [0x5427] = 0x99c1, + [0x5428] = 0x99c2, [0x5429] = 0x99c3, [0x542a] = 0x99c4, [0x542b] = 0x99c5, + [0x542c] = 0x99c6, [0x542d] = 0x99c7, [0x542e] = 0x99c8, [0x542f] = 0x99c9, + [0x5430] = 0x99ca, [0x5431] = 0x99cb, [0x5432] = 0x99cc, [0x5433] = 0x99cd, + [0x5434] = 0x99ce, [0x5435] = 0x99cf, [0x5436] = 0x99d0, [0x5437] = 0x99d1, + [0x5438] = 0x99d2, [0x5439] = 0x99d3, [0x543a] = 0x99d4, [0x543b] = 0x99d5, + [0x543c] = 0x99d6, [0x543d] = 0x99d7, [0x543e] = 0x99d8, [0x5440] = 0x99d9, + [0x5441] = 0x99da, [0x5442] = 0x99db, [0x5443] = 0x99dc, [0x5444] = 0x99dd, + [0x5445] = 0x99de, [0x5446] = 0x99df, [0x5447] = 0x99e0, [0x5448] = 0x99e1, + [0x5449] = 0x99e2, [0x544a] = 0x99e3, [0x544b] = 0x99e4, [0x544c] = 0x99e5, + [0x544d] = 0x99e6, [0x544e] = 0x99e7, [0x544f] = 0x99e8, [0x5450] = 0x99e9, + [0x5451] = 0x99ea, [0x5452] = 0x99eb, [0x5453] = 0x99ec, [0x5454] = 0x99ed, + [0x5455] = 0x99ee, [0x5456] = 0x99ef, [0x5457] = 0x99f0, [0x5458] = 0x99f1, + [0x5459] = 0x99f2, [0x545a] = 0x99f3, [0x545b] = 0x99f4, [0x545c] = 0x99f5, + [0x545d] = 0x99f6, [0x545e] = 0x99f7, [0x545f] = 0x99f8, [0x5460] = 0x99f9, + [0x5461] = 0x761b, [0x5462] = 0x763c, [0x5463] = 0x7622, [0x5464] = 0x7620, + [0x5465] = 0x7640, [0x5466] = 0x762d, [0x5467] = 0x7630, [0x5468] = 0x763f, + [0x5469] = 0x7635, [0x546a] = 0x7643, [0x546b] = 0x763e, [0x546c] = 0x7633, + [0x546d] = 0x764d, [0x546e] = 0x765e, [0x546f] = 0x7654, [0x5470] = 0x765c, + [0x5471] = 0x7656, [0x5472] = 0x766b, [0x5473] = 0x766f, [0x5474] = 0x7fca, + [0x5475] = 0x7ae6, [0x5476] = 0x7a78, [0x5477] = 0x7a79, [0x5478] = 0x7a80, + [0x5479] = 0x7a86, [0x547a] = 0x7a88, [0x547b] = 0x7a95, [0x547c] = 0x7aa6, + [0x547d] = 0x7aa0, [0x547e] = 0x7aac, [0x547f] = 0x7aa8, [0x5480] = 0x7aad, + [0x5481] = 0x7ab3, [0x5482] = 0x8864, [0x5483] = 0x8869, [0x5484] = 0x8872, + [0x5485] = 0x887d, [0x5486] = 0x887f, [0x5487] = 0x8882, [0x5488] = 0x88a2, + [0x5489] = 0x88c6, [0x548a] = 0x88b7, [0x548b] = 0x88bc, [0x548c] = 0x88c9, + [0x548d] = 0x88e2, [0x548e] = 0x88ce, [0x548f] = 0x88e3, [0x5490] = 0x88e5, + [0x5491] = 0x88f1, [0x5492] = 0x891a, [0x5493] = 0x88fc, [0x5494] = 0x88e8, + [0x5495] = 0x88fe, [0x5496] = 0x88f0, [0x5497] = 0x8921, [0x5498] = 0x8919, + [0x5499] = 0x8913, [0x549a] = 0x891b, [0x549b] = 0x890a, [0x549c] = 0x8934, + [0x549d] = 0x892b, [0x549e] = 0x8936, [0x549f] = 0x8941, [0x54a0] = 0x8966, + [0x54a1] = 0x897b, [0x54a2] = 0x758b, [0x54a3] = 0x80e5, [0x54a4] = 0x76b2, + [0x54a5] = 0x76b4, [0x54a6] = 0x77dc, [0x54a7] = 0x8012, [0x54a8] = 0x8014, + [0x54a9] = 0x8016, [0x54aa] = 0x801c, [0x54ab] = 0x8020, [0x54ac] = 0x8022, + [0x54ad] = 0x8025, [0x54ae] = 0x8026, [0x54af] = 0x8027, [0x54b0] = 0x8029, + [0x54b1] = 0x8028, [0x54b2] = 0x8031, [0x54b3] = 0x800b, [0x54b4] = 0x8035, + [0x54b5] = 0x8043, [0x54b6] = 0x8046, [0x54b7] = 0x804d, [0x54b8] = 0x8052, + [0x54b9] = 0x8069, [0x54ba] = 0x8071, [0x54bb] = 0x8983, [0x54bc] = 0x9878, + [0x54bd] = 0x9880, [0x54be] = 0x9883, [0x54c0] = 0x99fa, [0x54c1] = 0x99fb, + [0x54c2] = 0x99fc, [0x54c3] = 0x99fd, [0x54c4] = 0x99fe, [0x54c5] = 0x99ff, + [0x54c6] = 0x9a00, [0x54c7] = 0x9a01, [0x54c8] = 0x9a02, [0x54c9] = 0x9a03, + [0x54ca] = 0x9a04, [0x54cb] = 0x9a05, [0x54cc] = 0x9a06, [0x54cd] = 0x9a07, + [0x54ce] = 0x9a08, [0x54cf] = 0x9a09, [0x54d0] = 0x9a0a, [0x54d1] = 0x9a0b, + [0x54d2] = 0x9a0c, [0x54d3] = 0x9a0d, [0x54d4] = 0x9a0e, [0x54d5] = 0x9a0f, + [0x54d6] = 0x9a10, [0x54d7] = 0x9a11, [0x54d8] = 0x9a12, [0x54d9] = 0x9a13, + [0x54da] = 0x9a14, [0x54db] = 0x9a15, [0x54dc] = 0x9a16, [0x54dd] = 0x9a17, + [0x54de] = 0x9a18, [0x54df] = 0x9a19, [0x54e0] = 0x9a1a, [0x54e1] = 0x9a1b, + [0x54e2] = 0x9a1c, [0x54e3] = 0x9a1d, [0x54e4] = 0x9a1e, [0x54e5] = 0x9a1f, + [0x54e6] = 0x9a20, [0x54e7] = 0x9a21, [0x54e8] = 0x9a22, [0x54e9] = 0x9a23, + [0x54ea] = 0x9a24, [0x54eb] = 0x9a25, [0x54ec] = 0x9a26, [0x54ed] = 0x9a27, + [0x54ee] = 0x9a28, [0x54ef] = 0x9a29, [0x54f0] = 0x9a2a, [0x54f1] = 0x9a2b, + [0x54f2] = 0x9a2c, [0x54f3] = 0x9a2d, [0x54f4] = 0x9a2e, [0x54f5] = 0x9a2f, + [0x54f6] = 0x9a30, [0x54f7] = 0x9a31, [0x54f8] = 0x9a32, [0x54f9] = 0x9a33, + [0x54fa] = 0x9a34, [0x54fb] = 0x9a35, [0x54fc] = 0x9a36, [0x54fd] = 0x9a37, + [0x54fe] = 0x9a38, [0x5500] = 0x9a39, [0x5501] = 0x9a3a, [0x5502] = 0x9a3b, + [0x5503] = 0x9a3c, [0x5504] = 0x9a3d, [0x5505] = 0x9a3e, [0x5506] = 0x9a3f, + [0x5507] = 0x9a40, [0x5508] = 0x9a41, [0x5509] = 0x9a42, [0x550a] = 0x9a43, + [0x550b] = 0x9a44, [0x550c] = 0x9a45, [0x550d] = 0x9a46, [0x550e] = 0x9a47, + [0x550f] = 0x9a48, [0x5510] = 0x9a49, [0x5511] = 0x9a4a, [0x5512] = 0x9a4b, + [0x5513] = 0x9a4c, [0x5514] = 0x9a4d, [0x5515] = 0x9a4e, [0x5516] = 0x9a4f, + [0x5517] = 0x9a50, [0x5518] = 0x9a51, [0x5519] = 0x9a52, [0x551a] = 0x9a53, + [0x551b] = 0x9a54, [0x551c] = 0x9a55, [0x551d] = 0x9a56, [0x551e] = 0x9a57, + [0x551f] = 0x9a58, [0x5520] = 0x9a59, [0x5521] = 0x9889, [0x5522] = 0x988c, + [0x5523] = 0x988d, [0x5524] = 0x988f, [0x5525] = 0x9894, [0x5526] = 0x989a, + [0x5527] = 0x989b, [0x5528] = 0x989e, [0x5529] = 0x989f, [0x552a] = 0x98a1, + [0x552b] = 0x98a2, [0x552c] = 0x98a5, [0x552d] = 0x98a6, [0x552e] = 0x864d, + [0x552f] = 0x8654, [0x5530] = 0x866c, [0x5531] = 0x866e, [0x5532] = 0x867f, + [0x5533] = 0x867a, [0x5534] = 0x867c, [0x5535] = 0x867b, [0x5536] = 0x86a8, + [0x5537] = 0x868d, [0x5538] = 0x868b, [0x5539] = 0x86ac, [0x553a] = 0x869d, + [0x553b] = 0x86a7, [0x553c] = 0x86a3, [0x553d] = 0x86aa, [0x553e] = 0x8693, + [0x553f] = 0x86a9, [0x5540] = 0x86b6, [0x5541] = 0x86c4, [0x5542] = 0x86b5, + [0x5543] = 0x86ce, [0x5544] = 0x86b0, [0x5545] = 0x86ba, [0x5546] = 0x86b1, + [0x5547] = 0x86af, [0x5548] = 0x86c9, [0x5549] = 0x86cf, [0x554a] = 0x86b4, + [0x554b] = 0x86e9, [0x554c] = 0x86f1, [0x554d] = 0x86f2, [0x554e] = 0x86ed, + [0x554f] = 0x86f3, [0x5550] = 0x86d0, [0x5551] = 0x8713, [0x5552] = 0x86de, + [0x5553] = 0x86f4, [0x5554] = 0x86df, [0x5555] = 0x86d8, [0x5556] = 0x86d1, + [0x5557] = 0x8703, [0x5558] = 0x8707, [0x5559] = 0x86f8, [0x555a] = 0x8708, + [0x555b] = 0x870a, [0x555c] = 0x870d, [0x555d] = 0x8709, [0x555e] = 0x8723, + [0x555f] = 0x873b, [0x5560] = 0x871e, [0x5561] = 0x8725, [0x5562] = 0x872e, + [0x5563] = 0x871a, [0x5564] = 0x873e, [0x5565] = 0x8748, [0x5566] = 0x8734, + [0x5567] = 0x8731, [0x5568] = 0x8729, [0x5569] = 0x8737, [0x556a] = 0x873f, + [0x556b] = 0x8782, [0x556c] = 0x8722, [0x556d] = 0x877d, [0x556e] = 0x877e, + [0x556f] = 0x877b, [0x5570] = 0x8760, [0x5571] = 0x8770, [0x5572] = 0x874c, + [0x5573] = 0x876e, [0x5574] = 0x878b, [0x5575] = 0x8753, [0x5576] = 0x8763, + [0x5577] = 0x877c, [0x5578] = 0x8764, [0x5579] = 0x8759, [0x557a] = 0x8765, + [0x557b] = 0x8793, [0x557c] = 0x87af, [0x557d] = 0x87a8, [0x557e] = 0x87d2, + [0x5580] = 0x9a5a, [0x5581] = 0x9a5b, [0x5582] = 0x9a5c, [0x5583] = 0x9a5d, + [0x5584] = 0x9a5e, [0x5585] = 0x9a5f, [0x5586] = 0x9a60, [0x5587] = 0x9a61, + [0x5588] = 0x9a62, [0x5589] = 0x9a63, [0x558a] = 0x9a64, [0x558b] = 0x9a65, + [0x558c] = 0x9a66, [0x558d] = 0x9a67, [0x558e] = 0x9a68, [0x558f] = 0x9a69, + [0x5590] = 0x9a6a, [0x5591] = 0x9a6b, [0x5592] = 0x9a72, [0x5593] = 0x9a83, + [0x5594] = 0x9a89, [0x5595] = 0x9a8d, [0x5596] = 0x9a8e, [0x5597] = 0x9a94, + [0x5598] = 0x9a95, [0x5599] = 0x9a99, [0x559a] = 0x9aa6, [0x559b] = 0x9aa9, + [0x559c] = 0x9aaa, [0x559d] = 0x9aab, [0x559e] = 0x9aac, [0x559f] = 0x9aad, + [0x55a0] = 0x9aae, [0x55a1] = 0x9aaf, [0x55a2] = 0x9ab2, [0x55a3] = 0x9ab3, + [0x55a4] = 0x9ab4, [0x55a5] = 0x9ab5, [0x55a6] = 0x9ab9, [0x55a7] = 0x9abb, + [0x55a8] = 0x9abd, [0x55a9] = 0x9abe, [0x55aa] = 0x9abf, [0x55ab] = 0x9ac3, + [0x55ac] = 0x9ac4, [0x55ad] = 0x9ac6, [0x55ae] = 0x9ac7, [0x55af] = 0x9ac8, + [0x55b0] = 0x9ac9, [0x55b1] = 0x9aca, [0x55b2] = 0x9acd, [0x55b3] = 0x9ace, + [0x55b4] = 0x9acf, [0x55b5] = 0x9ad0, [0x55b6] = 0x9ad2, [0x55b7] = 0x9ad4, + [0x55b8] = 0x9ad5, [0x55b9] = 0x9ad6, [0x55ba] = 0x9ad7, [0x55bb] = 0x9ad9, + [0x55bc] = 0x9ada, [0x55bd] = 0x9adb, [0x55be] = 0x9adc, [0x55c0] = 0x9add, + [0x55c1] = 0x9ade, [0x55c2] = 0x9ae0, [0x55c3] = 0x9ae2, [0x55c4] = 0x9ae3, + [0x55c5] = 0x9ae4, [0x55c6] = 0x9ae5, [0x55c7] = 0x9ae7, [0x55c8] = 0x9ae8, + [0x55c9] = 0x9ae9, [0x55ca] = 0x9aea, [0x55cb] = 0x9aec, [0x55cc] = 0x9aee, + [0x55cd] = 0x9af0, [0x55ce] = 0x9af1, [0x55cf] = 0x9af2, [0x55d0] = 0x9af3, + [0x55d1] = 0x9af4, [0x55d2] = 0x9af5, [0x55d3] = 0x9af6, [0x55d4] = 0x9af7, + [0x55d5] = 0x9af8, [0x55d6] = 0x9afa, [0x55d7] = 0x9afc, [0x55d8] = 0x9afd, + [0x55d9] = 0x9afe, [0x55da] = 0x9aff, [0x55db] = 0x9b00, [0x55dc] = 0x9b01, + [0x55dd] = 0x9b02, [0x55de] = 0x9b04, [0x55df] = 0x9b05, [0x55e0] = 0x9b06, + [0x55e1] = 0x87c6, [0x55e2] = 0x8788, [0x55e3] = 0x8785, [0x55e4] = 0x87ad, + [0x55e5] = 0x8797, [0x55e6] = 0x8783, [0x55e7] = 0x87ab, [0x55e8] = 0x87e5, + [0x55e9] = 0x87ac, [0x55ea] = 0x87b5, [0x55eb] = 0x87b3, [0x55ec] = 0x87cb, + [0x55ed] = 0x87d3, [0x55ee] = 0x87bd, [0x55ef] = 0x87d1, [0x55f0] = 0x87c0, + [0x55f1] = 0x87ca, [0x55f2] = 0x87db, [0x55f3] = 0x87ea, [0x55f4] = 0x87e0, + [0x55f5] = 0x87ee, [0x55f6] = 0x8816, [0x55f7] = 0x8813, [0x55f8] = 0x87fe, + [0x55f9] = 0x880a, [0x55fa] = 0x881b, [0x55fb] = 0x8821, [0x55fc] = 0x8839, + [0x55fd] = 0x883c, [0x55fe] = 0x7f36, [0x55ff] = 0x7f42, [0x5600] = 0x7f44, + [0x5601] = 0x7f45, [0x5602] = 0x8210, [0x5603] = 0x7afa, [0x5604] = 0x7afd, + [0x5605] = 0x7b08, [0x5606] = 0x7b03, [0x5607] = 0x7b04, [0x5608] = 0x7b15, + [0x5609] = 0x7b0a, [0x560a] = 0x7b2b, [0x560b] = 0x7b0f, [0x560c] = 0x7b47, + [0x560d] = 0x7b38, [0x560e] = 0x7b2a, [0x560f] = 0x7b19, [0x5610] = 0x7b2e, + [0x5611] = 0x7b31, [0x5612] = 0x7b20, [0x5613] = 0x7b25, [0x5614] = 0x7b24, + [0x5615] = 0x7b33, [0x5616] = 0x7b3e, [0x5617] = 0x7b1e, [0x5618] = 0x7b58, + [0x5619] = 0x7b5a, [0x561a] = 0x7b45, [0x561b] = 0x7b75, [0x561c] = 0x7b4c, + [0x561d] = 0x7b5d, [0x561e] = 0x7b60, [0x561f] = 0x7b6e, [0x5620] = 0x7b7b, + [0x5621] = 0x7b62, [0x5622] = 0x7b72, [0x5623] = 0x7b71, [0x5624] = 0x7b90, + [0x5625] = 0x7ba6, [0x5626] = 0x7ba7, [0x5627] = 0x7bb8, [0x5628] = 0x7bac, + [0x5629] = 0x7b9d, [0x562a] = 0x7ba8, [0x562b] = 0x7b85, [0x562c] = 0x7baa, + [0x562d] = 0x7b9c, [0x562e] = 0x7ba2, [0x562f] = 0x7bab, [0x5630] = 0x7bb4, + [0x5631] = 0x7bd1, [0x5632] = 0x7bc1, [0x5633] = 0x7bcc, [0x5634] = 0x7bdd, + [0x5635] = 0x7bda, [0x5636] = 0x7be5, [0x5637] = 0x7be6, [0x5638] = 0x7bea, + [0x5639] = 0x7c0c, [0x563a] = 0x7bfe, [0x563b] = 0x7bfc, [0x563c] = 0x7c0f, + [0x563d] = 0x7c16, [0x563e] = 0x7c0b, [0x5640] = 0x9b07, [0x5641] = 0x9b09, + [0x5642] = 0x9b0a, [0x5643] = 0x9b0b, [0x5644] = 0x9b0c, [0x5645] = 0x9b0d, + [0x5646] = 0x9b0e, [0x5647] = 0x9b10, [0x5648] = 0x9b11, [0x5649] = 0x9b12, + [0x564a] = 0x9b14, [0x564b] = 0x9b15, [0x564c] = 0x9b16, [0x564d] = 0x9b17, + [0x564e] = 0x9b18, [0x564f] = 0x9b19, [0x5650] = 0x9b1a, [0x5651] = 0x9b1b, + [0x5652] = 0x9b1c, [0x5653] = 0x9b1d, [0x5654] = 0x9b1e, [0x5655] = 0x9b20, + [0x5656] = 0x9b21, [0x5657] = 0x9b22, [0x5658] = 0x9b24, [0x5659] = 0x9b25, + [0x565a] = 0x9b26, [0x565b] = 0x9b27, [0x565c] = 0x9b28, [0x565d] = 0x9b29, + [0x565e] = 0x9b2a, [0x565f] = 0x9b2b, [0x5660] = 0x9b2c, [0x5661] = 0x9b2d, + [0x5662] = 0x9b2e, [0x5663] = 0x9b30, [0x5664] = 0x9b31, [0x5665] = 0x9b33, + [0x5666] = 0x9b34, [0x5667] = 0x9b35, [0x5668] = 0x9b36, [0x5669] = 0x9b37, + [0x566a] = 0x9b38, [0x566b] = 0x9b39, [0x566c] = 0x9b3a, [0x566d] = 0x9b3d, + [0x566e] = 0x9b3e, [0x566f] = 0x9b3f, [0x5670] = 0x9b40, [0x5671] = 0x9b46, + [0x5672] = 0x9b4a, [0x5673] = 0x9b4b, [0x5674] = 0x9b4c, [0x5675] = 0x9b4e, + [0x5676] = 0x9b50, [0x5677] = 0x9b52, [0x5678] = 0x9b53, [0x5679] = 0x9b55, + [0x567a] = 0x9b56, [0x567b] = 0x9b57, [0x567c] = 0x9b58, [0x567d] = 0x9b59, + [0x567e] = 0x9b5a, [0x5680] = 0x9b5b, [0x5681] = 0x9b5c, [0x5682] = 0x9b5d, + [0x5683] = 0x9b5e, [0x5684] = 0x9b5f, [0x5685] = 0x9b60, [0x5686] = 0x9b61, + [0x5687] = 0x9b62, [0x5688] = 0x9b63, [0x5689] = 0x9b64, [0x568a] = 0x9b65, + [0x568b] = 0x9b66, [0x568c] = 0x9b67, [0x568d] = 0x9b68, [0x568e] = 0x9b69, + [0x568f] = 0x9b6a, [0x5690] = 0x9b6b, [0x5691] = 0x9b6c, [0x5692] = 0x9b6d, + [0x5693] = 0x9b6e, [0x5694] = 0x9b6f, [0x5695] = 0x9b70, [0x5696] = 0x9b71, + [0x5697] = 0x9b72, [0x5698] = 0x9b73, [0x5699] = 0x9b74, [0x569a] = 0x9b75, + [0x569b] = 0x9b76, [0x569c] = 0x9b77, [0x569d] = 0x9b78, [0x569e] = 0x9b79, + [0x569f] = 0x9b7a, [0x56a0] = 0x9b7b, [0x56a1] = 0x7c1f, [0x56a2] = 0x7c2a, + [0x56a3] = 0x7c26, [0x56a4] = 0x7c38, [0x56a5] = 0x7c41, [0x56a6] = 0x7c40, + [0x56a7] = 0x81fe, [0x56a8] = 0x8201, [0x56a9] = 0x8202, [0x56aa] = 0x8204, + [0x56ab] = 0x81ec, [0x56ac] = 0x8844, [0x56ad] = 0x8221, [0x56ae] = 0x8222, + [0x56af] = 0x8223, [0x56b0] = 0x822d, [0x56b1] = 0x822f, [0x56b2] = 0x8228, + [0x56b3] = 0x822b, [0x56b4] = 0x8238, [0x56b5] = 0x823b, [0x56b6] = 0x8233, + [0x56b7] = 0x8234, [0x56b8] = 0x823e, [0x56b9] = 0x8244, [0x56ba] = 0x8249, + [0x56bb] = 0x824b, [0x56bc] = 0x824f, [0x56bd] = 0x825a, [0x56be] = 0x825f, + [0x56bf] = 0x8268, [0x56c0] = 0x887e, [0x56c1] = 0x8885, [0x56c2] = 0x8888, + [0x56c3] = 0x88d8, [0x56c4] = 0x88df, [0x56c5] = 0x895e, [0x56c6] = 0x7f9d, + [0x56c7] = 0x7f9f, [0x56c8] = 0x7fa7, [0x56c9] = 0x7faf, [0x56ca] = 0x7fb0, + [0x56cb] = 0x7fb2, [0x56cc] = 0x7c7c, [0x56cd] = 0x6549, [0x56ce] = 0x7c91, + [0x56cf] = 0x7c9d, [0x56d0] = 0x7c9c, [0x56d1] = 0x7c9e, [0x56d2] = 0x7ca2, + [0x56d3] = 0x7cb2, [0x56d4] = 0x7cbc, [0x56d5] = 0x7cbd, [0x56d6] = 0x7cc1, + [0x56d7] = 0x7cc7, [0x56d8] = 0x7ccc, [0x56d9] = 0x7ccd, [0x56da] = 0x7cc8, + [0x56db] = 0x7cc5, [0x56dc] = 0x7cd7, [0x56dd] = 0x7ce8, [0x56de] = 0x826e, + [0x56df] = 0x66a8, [0x56e0] = 0x7fbf, [0x56e1] = 0x7fce, [0x56e2] = 0x7fd5, + [0x56e3] = 0x7fe5, [0x56e4] = 0x7fe1, [0x56e5] = 0x7fe6, [0x56e6] = 0x7fe9, + [0x56e7] = 0x7fee, [0x56e8] = 0x7ff3, [0x56e9] = 0x7cf8, [0x56ea] = 0x7d77, + [0x56eb] = 0x7da6, [0x56ec] = 0x7dae, [0x56ed] = 0x7e47, [0x56ee] = 0x7e9b, + [0x56ef] = 0x9eb8, [0x56f0] = 0x9eb4, [0x56f1] = 0x8d73, [0x56f2] = 0x8d84, + [0x56f3] = 0x8d94, [0x56f4] = 0x8d91, [0x56f5] = 0x8db1, [0x56f6] = 0x8d67, + [0x56f7] = 0x8d6d, [0x56f8] = 0x8c47, [0x56f9] = 0x8c49, [0x56fa] = 0x914a, + [0x56fb] = 0x9150, [0x56fc] = 0x914e, [0x56fd] = 0x914f, [0x56fe] = 0x9164, + [0x5700] = 0x9b7c, [0x5701] = 0x9b7d, [0x5702] = 0x9b7e, [0x5703] = 0x9b7f, + [0x5704] = 0x9b80, [0x5705] = 0x9b81, [0x5706] = 0x9b82, [0x5707] = 0x9b83, + [0x5708] = 0x9b84, [0x5709] = 0x9b85, [0x570a] = 0x9b86, [0x570b] = 0x9b87, + [0x570c] = 0x9b88, [0x570d] = 0x9b89, [0x570e] = 0x9b8a, [0x570f] = 0x9b8b, + [0x5710] = 0x9b8c, [0x5711] = 0x9b8d, [0x5712] = 0x9b8e, [0x5713] = 0x9b8f, + [0x5714] = 0x9b90, [0x5715] = 0x9b91, [0x5716] = 0x9b92, [0x5717] = 0x9b93, + [0x5718] = 0x9b94, [0x5719] = 0x9b95, [0x571a] = 0x9b96, [0x571b] = 0x9b97, + [0x571c] = 0x9b98, [0x571d] = 0x9b99, [0x571e] = 0x9b9a, [0x571f] = 0x9b9b, + [0x5720] = 0x9b9c, [0x5721] = 0x9b9d, [0x5722] = 0x9b9e, [0x5723] = 0x9b9f, + [0x5724] = 0x9ba0, [0x5725] = 0x9ba1, [0x5726] = 0x9ba2, [0x5727] = 0x9ba3, + [0x5728] = 0x9ba4, [0x5729] = 0x9ba5, [0x572a] = 0x9ba6, [0x572b] = 0x9ba7, + [0x572c] = 0x9ba8, [0x572d] = 0x9ba9, [0x572e] = 0x9baa, [0x572f] = 0x9bab, + [0x5730] = 0x9bac, [0x5731] = 0x9bad, [0x5732] = 0x9bae, [0x5733] = 0x9baf, + [0x5734] = 0x9bb0, [0x5735] = 0x9bb1, [0x5736] = 0x9bb2, [0x5737] = 0x9bb3, + [0x5738] = 0x9bb4, [0x5739] = 0x9bb5, [0x573a] = 0x9bb6, [0x573b] = 0x9bb7, + [0x573c] = 0x9bb8, [0x573d] = 0x9bb9, [0x573e] = 0x9bba, [0x5740] = 0x9bbb, + [0x5741] = 0x9bbc, [0x5742] = 0x9bbd, [0x5743] = 0x9bbe, [0x5744] = 0x9bbf, + [0x5745] = 0x9bc0, [0x5746] = 0x9bc1, [0x5747] = 0x9bc2, [0x5748] = 0x9bc3, + [0x5749] = 0x9bc4, [0x574a] = 0x9bc5, [0x574b] = 0x9bc6, [0x574c] = 0x9bc7, + [0x574d] = 0x9bc8, [0x574e] = 0x9bc9, [0x574f] = 0x9bca, [0x5750] = 0x9bcb, + [0x5751] = 0x9bcc, [0x5752] = 0x9bcd, [0x5753] = 0x9bce, [0x5754] = 0x9bcf, + [0x5755] = 0x9bd0, [0x5756] = 0x9bd1, [0x5757] = 0x9bd2, [0x5758] = 0x9bd3, + [0x5759] = 0x9bd4, [0x575a] = 0x9bd5, [0x575b] = 0x9bd6, [0x575c] = 0x9bd7, + [0x575d] = 0x9bd8, [0x575e] = 0x9bd9, [0x575f] = 0x9bda, [0x5760] = 0x9bdb, + [0x5761] = 0x9162, [0x5762] = 0x9161, [0x5763] = 0x9170, [0x5764] = 0x9169, + [0x5765] = 0x916f, [0x5766] = 0x917d, [0x5767] = 0x917e, [0x5768] = 0x9172, + [0x5769] = 0x9174, [0x576a] = 0x9179, [0x576b] = 0x918c, [0x576c] = 0x9185, + [0x576d] = 0x9190, [0x576e] = 0x918d, [0x576f] = 0x9191, [0x5770] = 0x91a2, + [0x5771] = 0x91a3, [0x5772] = 0x91aa, [0x5773] = 0x91ad, [0x5774] = 0x91ae, + [0x5775] = 0x91af, [0x5776] = 0x91b5, [0x5777] = 0x91b4, [0x5778] = 0x91ba, + [0x5779] = 0x8c55, [0x577a] = 0x9e7e, [0x577b] = 0x8db8, [0x577c] = 0x8deb, + [0x577d] = 0x8e05, [0x577e] = 0x8e59, [0x577f] = 0x8e69, [0x5780] = 0x8db5, + [0x5781] = 0x8dbf, [0x5782] = 0x8dbc, [0x5783] = 0x8dba, [0x5784] = 0x8dc4, + [0x5785] = 0x8dd6, [0x5786] = 0x8dd7, [0x5787] = 0x8dda, [0x5788] = 0x8dde, + [0x5789] = 0x8dce, [0x578a] = 0x8dcf, [0x578b] = 0x8ddb, [0x578c] = 0x8dc6, + [0x578d] = 0x8dec, [0x578e] = 0x8df7, [0x578f] = 0x8df8, [0x5790] = 0x8de3, + [0x5791] = 0x8df9, [0x5792] = 0x8dfb, [0x5793] = 0x8de4, [0x5794] = 0x8e09, + [0x5795] = 0x8dfd, [0x5796] = 0x8e14, [0x5797] = 0x8e1d, [0x5798] = 0x8e1f, + [0x5799] = 0x8e2c, [0x579a] = 0x8e2e, [0x579b] = 0x8e23, [0x579c] = 0x8e2f, + [0x579d] = 0x8e3a, [0x579e] = 0x8e40, [0x579f] = 0x8e39, [0x57a0] = 0x8e35, + [0x57a1] = 0x8e3d, [0x57a2] = 0x8e31, [0x57a3] = 0x8e49, [0x57a4] = 0x8e41, + [0x57a5] = 0x8e42, [0x57a6] = 0x8e51, [0x57a7] = 0x8e52, [0x57a8] = 0x8e4a, + [0x57a9] = 0x8e70, [0x57aa] = 0x8e76, [0x57ab] = 0x8e7c, [0x57ac] = 0x8e6f, + [0x57ad] = 0x8e74, [0x57ae] = 0x8e85, [0x57af] = 0x8e8f, [0x57b0] = 0x8e94, + [0x57b1] = 0x8e90, [0x57b2] = 0x8e9c, [0x57b3] = 0x8e9e, [0x57b4] = 0x8c78, + [0x57b5] = 0x8c82, [0x57b6] = 0x8c8a, [0x57b7] = 0x8c85, [0x57b8] = 0x8c98, + [0x57b9] = 0x8c94, [0x57ba] = 0x659b, [0x57bb] = 0x89d6, [0x57bc] = 0x89de, + [0x57bd] = 0x89da, [0x57be] = 0x89dc, [0x57c0] = 0x9bdc, [0x57c1] = 0x9bdd, + [0x57c2] = 0x9bde, [0x57c3] = 0x9bdf, [0x57c4] = 0x9be0, [0x57c5] = 0x9be1, + [0x57c6] = 0x9be2, [0x57c7] = 0x9be3, [0x57c8] = 0x9be4, [0x57c9] = 0x9be5, + [0x57ca] = 0x9be6, [0x57cb] = 0x9be7, [0x57cc] = 0x9be8, [0x57cd] = 0x9be9, + [0x57ce] = 0x9bea, [0x57cf] = 0x9beb, [0x57d0] = 0x9bec, [0x57d1] = 0x9bed, + [0x57d2] = 0x9bee, [0x57d3] = 0x9bef, [0x57d4] = 0x9bf0, [0x57d5] = 0x9bf1, + [0x57d6] = 0x9bf2, [0x57d7] = 0x9bf3, [0x57d8] = 0x9bf4, [0x57d9] = 0x9bf5, + [0x57da] = 0x9bf6, [0x57db] = 0x9bf7, [0x57dc] = 0x9bf8, [0x57dd] = 0x9bf9, + [0x57de] = 0x9bfa, [0x57df] = 0x9bfb, [0x57e0] = 0x9bfc, [0x57e1] = 0x9bfd, + [0x57e2] = 0x9bfe, [0x57e3] = 0x9bff, [0x57e4] = 0x9c00, [0x57e5] = 0x9c01, + [0x57e6] = 0x9c02, [0x57e7] = 0x9c03, [0x57e8] = 0x9c04, [0x57e9] = 0x9c05, + [0x57ea] = 0x9c06, [0x57eb] = 0x9c07, [0x57ec] = 0x9c08, [0x57ed] = 0x9c09, + [0x57ee] = 0x9c0a, [0x57ef] = 0x9c0b, [0x57f0] = 0x9c0c, [0x57f1] = 0x9c0d, + [0x57f2] = 0x9c0e, [0x57f3] = 0x9c0f, [0x57f4] = 0x9c10, [0x57f5] = 0x9c11, + [0x57f6] = 0x9c12, [0x57f7] = 0x9c13, [0x57f8] = 0x9c14, [0x57f9] = 0x9c15, + [0x57fa] = 0x9c16, [0x57fb] = 0x9c17, [0x57fc] = 0x9c18, [0x57fd] = 0x9c19, + [0x57fe] = 0x9c1a, [0x5800] = 0x9c1b, [0x5801] = 0x9c1c, [0x5802] = 0x9c1d, + [0x5803] = 0x9c1e, [0x5804] = 0x9c1f, [0x5805] = 0x9c20, [0x5806] = 0x9c21, + [0x5807] = 0x9c22, [0x5808] = 0x9c23, [0x5809] = 0x9c24, [0x580a] = 0x9c25, + [0x580b] = 0x9c26, [0x580c] = 0x9c27, [0x580d] = 0x9c28, [0x580e] = 0x9c29, + [0x580f] = 0x9c2a, [0x5810] = 0x9c2b, [0x5811] = 0x9c2c, [0x5812] = 0x9c2d, + [0x5813] = 0x9c2e, [0x5814] = 0x9c2f, [0x5815] = 0x9c30, [0x5816] = 0x9c31, + [0x5817] = 0x9c32, [0x5818] = 0x9c33, [0x5819] = 0x9c34, [0x581a] = 0x9c35, + [0x581b] = 0x9c36, [0x581c] = 0x9c37, [0x581d] = 0x9c38, [0x581e] = 0x9c39, + [0x581f] = 0x9c3a, [0x5820] = 0x9c3b, [0x5821] = 0x89e5, [0x5822] = 0x89eb, + [0x5823] = 0x89ef, [0x5824] = 0x8a3e, [0x5825] = 0x8b26, [0x5826] = 0x9753, + [0x5827] = 0x96e9, [0x5828] = 0x96f3, [0x5829] = 0x96ef, [0x582a] = 0x9706, + [0x582b] = 0x9701, [0x582c] = 0x9708, [0x582d] = 0x970f, [0x582e] = 0x970e, + [0x582f] = 0x972a, [0x5830] = 0x972d, [0x5831] = 0x9730, [0x5832] = 0x973e, + [0x5833] = 0x9f80, [0x5834] = 0x9f83, [0x5835] = 0x9f85, [0x5836] = 0x9f86, + [0x5837] = 0x9f87, [0x5838] = 0x9f88, [0x5839] = 0x9f89, [0x583a] = 0x9f8a, + [0x583b] = 0x9f8c, [0x583c] = 0x9efe, [0x583d] = 0x9f0b, [0x583e] = 0x9f0d, + [0x583f] = 0x96b9, [0x5840] = 0x96bc, [0x5841] = 0x96bd, [0x5842] = 0x96ce, + [0x5843] = 0x96d2, [0x5844] = 0x77bf, [0x5845] = 0x96e0, [0x5846] = 0x928e, + [0x5847] = 0x92ae, [0x5848] = 0x92c8, [0x5849] = 0x933e, [0x584a] = 0x936a, + [0x584b] = 0x93ca, [0x584c] = 0x938f, [0x584d] = 0x943e, [0x584e] = 0x946b, + [0x584f] = 0x9c7f, [0x5850] = 0x9c82, [0x5851] = 0x9c85, [0x5852] = 0x9c86, + [0x5853] = 0x9c87, [0x5854] = 0x9c88, [0x5855] = 0x7a23, [0x5856] = 0x9c8b, + [0x5857] = 0x9c8e, [0x5858] = 0x9c90, [0x5859] = 0x9c91, [0x585a] = 0x9c92, + [0x585b] = 0x9c94, [0x585c] = 0x9c95, [0x585d] = 0x9c9a, [0x585e] = 0x9c9b, + [0x585f] = 0x9c9e, [0x5860] = 0x9c9f, [0x5861] = 0x9ca0, [0x5862] = 0x9ca1, + [0x5863] = 0x9ca2, [0x5864] = 0x9ca3, [0x5865] = 0x9ca5, [0x5866] = 0x9ca6, + [0x5867] = 0x9ca7, [0x5868] = 0x9ca8, [0x5869] = 0x9ca9, [0x586a] = 0x9cab, + [0x586b] = 0x9cad, [0x586c] = 0x9cae, [0x586d] = 0x9cb0, [0x586e] = 0x9cb1, + [0x586f] = 0x9cb2, [0x5870] = 0x9cb3, [0x5871] = 0x9cb4, [0x5872] = 0x9cb5, + [0x5873] = 0x9cb6, [0x5874] = 0x9cb7, [0x5875] = 0x9cba, [0x5876] = 0x9cbb, + [0x5877] = 0x9cbc, [0x5878] = 0x9cbd, [0x5879] = 0x9cc4, [0x587a] = 0x9cc5, + [0x587b] = 0x9cc6, [0x587c] = 0x9cc7, [0x587d] = 0x9cca, [0x587e] = 0x9ccb, + [0x5880] = 0x9c3c, [0x5881] = 0x9c3d, [0x5882] = 0x9c3e, [0x5883] = 0x9c3f, + [0x5884] = 0x9c40, [0x5885] = 0x9c41, [0x5886] = 0x9c42, [0x5887] = 0x9c43, + [0x5888] = 0x9c44, [0x5889] = 0x9c45, [0x588a] = 0x9c46, [0x588b] = 0x9c47, + [0x588c] = 0x9c48, [0x588d] = 0x9c49, [0x588e] = 0x9c4a, [0x588f] = 0x9c4b, + [0x5890] = 0x9c4c, [0x5891] = 0x9c4d, [0x5892] = 0x9c4e, [0x5893] = 0x9c4f, + [0x5894] = 0x9c50, [0x5895] = 0x9c51, [0x5896] = 0x9c52, [0x5897] = 0x9c53, + [0x5898] = 0x9c54, [0x5899] = 0x9c55, [0x589a] = 0x9c56, [0x589b] = 0x9c57, + [0x589c] = 0x9c58, [0x589d] = 0x9c59, [0x589e] = 0x9c5a, [0x589f] = 0x9c5b, + [0x58a0] = 0x9c5c, [0x58a1] = 0x9c5d, [0x58a2] = 0x9c5e, [0x58a3] = 0x9c5f, + [0x58a4] = 0x9c60, [0x58a5] = 0x9c61, [0x58a6] = 0x9c62, [0x58a7] = 0x9c63, + [0x58a8] = 0x9c64, [0x58a9] = 0x9c65, [0x58aa] = 0x9c66, [0x58ab] = 0x9c67, + [0x58ac] = 0x9c68, [0x58ad] = 0x9c69, [0x58ae] = 0x9c6a, [0x58af] = 0x9c6b, + [0x58b0] = 0x9c6c, [0x58b1] = 0x9c6d, [0x58b2] = 0x9c6e, [0x58b3] = 0x9c6f, + [0x58b4] = 0x9c70, [0x58b5] = 0x9c71, [0x58b6] = 0x9c72, [0x58b7] = 0x9c73, + [0x58b8] = 0x9c74, [0x58b9] = 0x9c75, [0x58ba] = 0x9c76, [0x58bb] = 0x9c77, + [0x58bc] = 0x9c78, [0x58bd] = 0x9c79, [0x58be] = 0x9c7a, [0x58c0] = 0x9c7b, + [0x58c1] = 0x9c7d, [0x58c2] = 0x9c7e, [0x58c3] = 0x9c80, [0x58c4] = 0x9c83, + [0x58c5] = 0x9c84, [0x58c6] = 0x9c89, [0x58c7] = 0x9c8a, [0x58c8] = 0x9c8c, + [0x58c9] = 0x9c8f, [0x58ca] = 0x9c93, [0x58cb] = 0x9c96, [0x58cc] = 0x9c97, + [0x58cd] = 0x9c98, [0x58ce] = 0x9c99, [0x58cf] = 0x9c9d, [0x58d0] = 0x9caa, + [0x58d1] = 0x9cac, [0x58d2] = 0x9caf, [0x58d3] = 0x9cb9, [0x58d4] = 0x9cbe, + [0x58d5] = 0x9cbf, [0x58d6] = 0x9cc0, [0x58d7] = 0x9cc1, [0x58d8] = 0x9cc2, + [0x58d9] = 0x9cc8, [0x58da] = 0x9cc9, [0x58db] = 0x9cd1, [0x58dc] = 0x9cd2, + [0x58dd] = 0x9cda, [0x58de] = 0x9cdb, [0x58df] = 0x9ce0, [0x58e0] = 0x9ce1, + [0x58e1] = 0x9ccc, [0x58e2] = 0x9ccd, [0x58e3] = 0x9cce, [0x58e4] = 0x9ccf, + [0x58e5] = 0x9cd0, [0x58e6] = 0x9cd3, [0x58e7] = 0x9cd4, [0x58e8] = 0x9cd5, + [0x58e9] = 0x9cd7, [0x58ea] = 0x9cd8, [0x58eb] = 0x9cd9, [0x58ec] = 0x9cdc, + [0x58ed] = 0x9cdd, [0x58ee] = 0x9cdf, [0x58ef] = 0x9ce2, [0x58f0] = 0x977c, + [0x58f1] = 0x9785, [0x58f2] = 0x9791, [0x58f3] = 0x9792, [0x58f4] = 0x9794, + [0x58f5] = 0x97af, [0x58f6] = 0x97ab, [0x58f7] = 0x97a3, [0x58f8] = 0x97b2, + [0x58f9] = 0x97b4, [0x58fa] = 0x9ab1, [0x58fb] = 0x9ab0, [0x58fc] = 0x9ab7, + [0x58fd] = 0x9e58, [0x58fe] = 0x9ab6, [0x58ff] = 0x9aba, [0x5900] = 0x9abc, + [0x5901] = 0x9ac1, [0x5902] = 0x9ac0, [0x5903] = 0x9ac5, [0x5904] = 0x9ac2, + [0x5905] = 0x9acb, [0x5906] = 0x9acc, [0x5907] = 0x9ad1, [0x5908] = 0x9b45, + [0x5909] = 0x9b43, [0x590a] = 0x9b47, [0x590b] = 0x9b49, [0x590c] = 0x9b48, + [0x590d] = 0x9b4d, [0x590e] = 0x9b51, [0x590f] = 0x98e8, [0x5910] = 0x990d, + [0x5911] = 0x992e, [0x5912] = 0x9955, [0x5913] = 0x9954, [0x5914] = 0x9adf, + [0x5915] = 0x9ae1, [0x5916] = 0x9ae6, [0x5917] = 0x9aef, [0x5918] = 0x9aeb, + [0x5919] = 0x9afb, [0x591a] = 0x9aed, [0x591b] = 0x9af9, [0x591c] = 0x9b08, + [0x591d] = 0x9b0f, [0x591e] = 0x9b13, [0x591f] = 0x9b1f, [0x5920] = 0x9b23, + [0x5921] = 0x9ebd, [0x5922] = 0x9ebe, [0x5923] = 0x7e3b, [0x5924] = 0x9e82, + [0x5925] = 0x9e87, [0x5926] = 0x9e88, [0x5927] = 0x9e8b, [0x5928] = 0x9e92, + [0x5929] = 0x93d6, [0x592a] = 0x9e9d, [0x592b] = 0x9e9f, [0x592c] = 0x9edb, + [0x592d] = 0x9edc, [0x592e] = 0x9edd, [0x592f] = 0x9ee0, [0x5930] = 0x9edf, + [0x5931] = 0x9ee2, [0x5932] = 0x9ee9, [0x5933] = 0x9ee7, [0x5934] = 0x9ee5, + [0x5935] = 0x9eea, [0x5936] = 0x9eef, [0x5937] = 0x9f22, [0x5938] = 0x9f2c, + [0x5939] = 0x9f2f, [0x593a] = 0x9f39, [0x593b] = 0x9f37, [0x593c] = 0x9f3d, + [0x593d] = 0x9f3e, [0x593e] = 0x9f44, [0x5940] = 0x9ce3, [0x5941] = 0x9ce4, + [0x5942] = 0x9ce5, [0x5943] = 0x9ce6, [0x5944] = 0x9ce7, [0x5945] = 0x9ce8, + [0x5946] = 0x9ce9, [0x5947] = 0x9cea, [0x5948] = 0x9ceb, [0x5949] = 0x9cec, + [0x594a] = 0x9ced, [0x594b] = 0x9cee, [0x594c] = 0x9cef, [0x594d] = 0x9cf0, + [0x594e] = 0x9cf1, [0x594f] = 0x9cf2, [0x5950] = 0x9cf3, [0x5951] = 0x9cf4, + [0x5952] = 0x9cf5, [0x5953] = 0x9cf6, [0x5954] = 0x9cf7, [0x5955] = 0x9cf8, + [0x5956] = 0x9cf9, [0x5957] = 0x9cfa, [0x5958] = 0x9cfb, [0x5959] = 0x9cfc, + [0x595a] = 0x9cfd, [0x595b] = 0x9cfe, [0x595c] = 0x9cff, [0x595d] = 0x9d00, + [0x595e] = 0x9d01, [0x595f] = 0x9d02, [0x5960] = 0x9d03, [0x5961] = 0x9d04, + [0x5962] = 0x9d05, [0x5963] = 0x9d06, [0x5964] = 0x9d07, [0x5965] = 0x9d08, + [0x5966] = 0x9d09, [0x5967] = 0x9d0a, [0x5968] = 0x9d0b, [0x5969] = 0x9d0c, + [0x596a] = 0x9d0d, [0x596b] = 0x9d0e, [0x596c] = 0x9d0f, [0x596d] = 0x9d10, + [0x596e] = 0x9d11, [0x596f] = 0x9d12, [0x5970] = 0x9d13, [0x5971] = 0x9d14, + [0x5972] = 0x9d15, [0x5973] = 0x9d16, [0x5974] = 0x9d17, [0x5975] = 0x9d18, + [0x5976] = 0x9d19, [0x5977] = 0x9d1a, [0x5978] = 0x9d1b, [0x5979] = 0x9d1c, + [0x597a] = 0x9d1d, [0x597b] = 0x9d1e, [0x597c] = 0x9d1f, [0x597d] = 0x9d20, + [0x597e] = 0x9d21, [0x5980] = 0x9d22, [0x5981] = 0x9d23, [0x5982] = 0x9d24, + [0x5983] = 0x9d25, [0x5984] = 0x9d26, [0x5985] = 0x9d27, [0x5986] = 0x9d28, + [0x5987] = 0x9d29, [0x5988] = 0x9d2a, [0x5989] = 0x9d2b, [0x598a] = 0x9d2c, + [0x598b] = 0x9d2d, [0x598c] = 0x9d2e, [0x598d] = 0x9d2f, [0x598e] = 0x9d30, + [0x598f] = 0x9d31, [0x5990] = 0x9d32, [0x5991] = 0x9d33, [0x5992] = 0x9d34, + [0x5993] = 0x9d35, [0x5994] = 0x9d36, [0x5995] = 0x9d37, [0x5996] = 0x9d38, + [0x5997] = 0x9d39, [0x5998] = 0x9d3a, [0x5999] = 0x9d3b, [0x599a] = 0x9d3c, + [0x599b] = 0x9d3d, [0x599c] = 0x9d3e, [0x599d] = 0x9d3f, [0x599e] = 0x9d40, + [0x599f] = 0x9d41, [0x59a0] = 0x9d42, [0x5a00] = 0x9d43, [0x5a01] = 0x9d44, + [0x5a02] = 0x9d45, [0x5a03] = 0x9d46, [0x5a04] = 0x9d47, [0x5a05] = 0x9d48, + [0x5a06] = 0x9d49, [0x5a07] = 0x9d4a, [0x5a08] = 0x9d4b, [0x5a09] = 0x9d4c, + [0x5a0a] = 0x9d4d, [0x5a0b] = 0x9d4e, [0x5a0c] = 0x9d4f, [0x5a0d] = 0x9d50, + [0x5a0e] = 0x9d51, [0x5a0f] = 0x9d52, [0x5a10] = 0x9d53, [0x5a11] = 0x9d54, + [0x5a12] = 0x9d55, [0x5a13] = 0x9d56, [0x5a14] = 0x9d57, [0x5a15] = 0x9d58, + [0x5a16] = 0x9d59, [0x5a17] = 0x9d5a, [0x5a18] = 0x9d5b, [0x5a19] = 0x9d5c, + [0x5a1a] = 0x9d5d, [0x5a1b] = 0x9d5e, [0x5a1c] = 0x9d5f, [0x5a1d] = 0x9d60, + [0x5a1e] = 0x9d61, [0x5a1f] = 0x9d62, [0x5a20] = 0x9d63, [0x5a21] = 0x9d64, + [0x5a22] = 0x9d65, [0x5a23] = 0x9d66, [0x5a24] = 0x9d67, [0x5a25] = 0x9d68, + [0x5a26] = 0x9d69, [0x5a27] = 0x9d6a, [0x5a28] = 0x9d6b, [0x5a29] = 0x9d6c, + [0x5a2a] = 0x9d6d, [0x5a2b] = 0x9d6e, [0x5a2c] = 0x9d6f, [0x5a2d] = 0x9d70, + [0x5a2e] = 0x9d71, [0x5a2f] = 0x9d72, [0x5a30] = 0x9d73, [0x5a31] = 0x9d74, + [0x5a32] = 0x9d75, [0x5a33] = 0x9d76, [0x5a34] = 0x9d77, [0x5a35] = 0x9d78, + [0x5a36] = 0x9d79, [0x5a37] = 0x9d7a, [0x5a38] = 0x9d7b, [0x5a39] = 0x9d7c, + [0x5a3a] = 0x9d7d, [0x5a3b] = 0x9d7e, [0x5a3c] = 0x9d7f, [0x5a3d] = 0x9d80, + [0x5a3e] = 0x9d81, [0x5a40] = 0x9d82, [0x5a41] = 0x9d83, [0x5a42] = 0x9d84, + [0x5a43] = 0x9d85, [0x5a44] = 0x9d86, [0x5a45] = 0x9d87, [0x5a46] = 0x9d88, + [0x5a47] = 0x9d89, [0x5a48] = 0x9d8a, [0x5a49] = 0x9d8b, [0x5a4a] = 0x9d8c, + [0x5a4b] = 0x9d8d, [0x5a4c] = 0x9d8e, [0x5a4d] = 0x9d8f, [0x5a4e] = 0x9d90, + [0x5a4f] = 0x9d91, [0x5a50] = 0x9d92, [0x5a51] = 0x9d93, [0x5a52] = 0x9d94, + [0x5a53] = 0x9d95, [0x5a54] = 0x9d96, [0x5a55] = 0x9d97, [0x5a56] = 0x9d98, + [0x5a57] = 0x9d99, [0x5a58] = 0x9d9a, [0x5a59] = 0x9d9b, [0x5a5a] = 0x9d9c, + [0x5a5b] = 0x9d9d, [0x5a5c] = 0x9d9e, [0x5a5d] = 0x9d9f, [0x5a5e] = 0x9da0, + [0x5a5f] = 0x9da1, [0x5a60] = 0x9da2, [0x5ac0] = 0x9da3, [0x5ac1] = 0x9da4, + [0x5ac2] = 0x9da5, [0x5ac3] = 0x9da6, [0x5ac4] = 0x9da7, [0x5ac5] = 0x9da8, + [0x5ac6] = 0x9da9, [0x5ac7] = 0x9daa, [0x5ac8] = 0x9dab, [0x5ac9] = 0x9dac, + [0x5aca] = 0x9dad, [0x5acb] = 0x9dae, [0x5acc] = 0x9daf, [0x5acd] = 0x9db0, + [0x5ace] = 0x9db1, [0x5acf] = 0x9db2, [0x5ad0] = 0x9db3, [0x5ad1] = 0x9db4, + [0x5ad2] = 0x9db5, [0x5ad3] = 0x9db6, [0x5ad4] = 0x9db7, [0x5ad5] = 0x9db8, + [0x5ad6] = 0x9db9, [0x5ad7] = 0x9dba, [0x5ad8] = 0x9dbb, [0x5ad9] = 0x9dbc, + [0x5ada] = 0x9dbd, [0x5adb] = 0x9dbe, [0x5adc] = 0x9dbf, [0x5add] = 0x9dc0, + [0x5ade] = 0x9dc1, [0x5adf] = 0x9dc2, [0x5ae0] = 0x9dc3, [0x5ae1] = 0x9dc4, + [0x5ae2] = 0x9dc5, [0x5ae3] = 0x9dc6, [0x5ae4] = 0x9dc7, [0x5ae5] = 0x9dc8, + [0x5ae6] = 0x9dc9, [0x5ae7] = 0x9dca, [0x5ae8] = 0x9dcb, [0x5ae9] = 0x9dcc, + [0x5aea] = 0x9dcd, [0x5aeb] = 0x9dce, [0x5aec] = 0x9dcf, [0x5aed] = 0x9dd0, + [0x5aee] = 0x9dd1, [0x5aef] = 0x9dd2, [0x5af0] = 0x9dd3, [0x5af1] = 0x9dd4, + [0x5af2] = 0x9dd5, [0x5af3] = 0x9dd6, [0x5af4] = 0x9dd7, [0x5af5] = 0x9dd8, + [0x5af6] = 0x9dd9, [0x5af7] = 0x9dda, [0x5af8] = 0x9ddb, [0x5af9] = 0x9ddc, + [0x5afa] = 0x9ddd, [0x5afb] = 0x9dde, [0x5afc] = 0x9ddf, [0x5afd] = 0x9de0, + [0x5afe] = 0x9de1, [0x5b00] = 0x9de2, [0x5b01] = 0x9de3, [0x5b02] = 0x9de4, + [0x5b03] = 0x9de5, [0x5b04] = 0x9de6, [0x5b05] = 0x9de7, [0x5b06] = 0x9de8, + [0x5b07] = 0x9de9, [0x5b08] = 0x9dea, [0x5b09] = 0x9deb, [0x5b0a] = 0x9dec, + [0x5b0b] = 0x9ded, [0x5b0c] = 0x9dee, [0x5b0d] = 0x9def, [0x5b0e] = 0x9df0, + [0x5b0f] = 0x9df1, [0x5b10] = 0x9df2, [0x5b11] = 0x9df3, [0x5b12] = 0x9df4, + [0x5b13] = 0x9df5, [0x5b14] = 0x9df6, [0x5b15] = 0x9df7, [0x5b16] = 0x9df8, + [0x5b17] = 0x9df9, [0x5b18] = 0x9dfa, [0x5b19] = 0x9dfb, [0x5b1a] = 0x9dfc, + [0x5b1b] = 0x9dfd, [0x5b1c] = 0x9dfe, [0x5b1d] = 0x9dff, [0x5b1e] = 0x9e00, + [0x5b1f] = 0x9e01, [0x5b20] = 0x9e02, [0x5b80] = 0x9e03, [0x5b81] = 0x9e04, + [0x5b82] = 0x9e05, [0x5b83] = 0x9e06, [0x5b84] = 0x9e07, [0x5b85] = 0x9e08, + [0x5b86] = 0x9e09, [0x5b87] = 0x9e0a, [0x5b88] = 0x9e0b, [0x5b89] = 0x9e0c, + [0x5b8a] = 0x9e0d, [0x5b8b] = 0x9e0e, [0x5b8c] = 0x9e0f, [0x5b8d] = 0x9e10, + [0x5b8e] = 0x9e11, [0x5b8f] = 0x9e12, [0x5b90] = 0x9e13, [0x5b91] = 0x9e14, + [0x5b92] = 0x9e15, [0x5b93] = 0x9e16, [0x5b94] = 0x9e17, [0x5b95] = 0x9e18, + [0x5b96] = 0x9e19, [0x5b97] = 0x9e1a, [0x5b98] = 0x9e1b, [0x5b99] = 0x9e1c, + [0x5b9a] = 0x9e1d, [0x5b9b] = 0x9e1e, [0x5b9c] = 0x9e24, [0x5b9d] = 0x9e27, + [0x5b9e] = 0x9e2e, [0x5b9f] = 0x9e30, [0x5ba0] = 0x9e34, [0x5ba1] = 0x9e3b, + [0x5ba2] = 0x9e3c, [0x5ba3] = 0x9e40, [0x5ba4] = 0x9e4d, [0x5ba5] = 0x9e50, + [0x5ba6] = 0x9e52, [0x5ba7] = 0x9e53, [0x5ba8] = 0x9e54, [0x5ba9] = 0x9e56, + [0x5baa] = 0x9e59, [0x5bab] = 0x9e5d, [0x5bac] = 0x9e5f, [0x5bad] = 0x9e60, + [0x5bae] = 0x9e61, [0x5baf] = 0x9e62, [0x5bb0] = 0x9e65, [0x5bb1] = 0x9e6e, + [0x5bb2] = 0x9e6f, [0x5bb3] = 0x9e72, [0x5bb4] = 0x9e74, [0x5bb5] = 0x9e75, + [0x5bb6] = 0x9e76, [0x5bb7] = 0x9e77, [0x5bb8] = 0x9e78, [0x5bb9] = 0x9e79, + [0x5bba] = 0x9e7a, [0x5bbb] = 0x9e7b, [0x5bbc] = 0x9e7c, [0x5bbd] = 0x9e7d, + [0x5bbe] = 0x9e80, [0x5bc0] = 0x9e81, [0x5bc1] = 0x9e83, [0x5bc2] = 0x9e84, + [0x5bc3] = 0x9e85, [0x5bc4] = 0x9e86, [0x5bc5] = 0x9e89, [0x5bc6] = 0x9e8a, + [0x5bc7] = 0x9e8c, [0x5bc8] = 0x9e8d, [0x5bc9] = 0x9e8e, [0x5bca] = 0x9e8f, + [0x5bcb] = 0x9e90, [0x5bcc] = 0x9e91, [0x5bcd] = 0x9e94, [0x5bce] = 0x9e95, + [0x5bcf] = 0x9e96, [0x5bd0] = 0x9e97, [0x5bd1] = 0x9e98, [0x5bd2] = 0x9e99, + [0x5bd3] = 0x9e9a, [0x5bd4] = 0x9e9b, [0x5bd5] = 0x9e9c, [0x5bd6] = 0x9e9e, + [0x5bd7] = 0x9ea0, [0x5bd8] = 0x9ea1, [0x5bd9] = 0x9ea2, [0x5bda] = 0x9ea3, + [0x5bdb] = 0x9ea4, [0x5bdc] = 0x9ea5, [0x5bdd] = 0x9ea7, [0x5bde] = 0x9ea8, + [0x5bdf] = 0x9ea9, [0x5be0] = 0x9eaa, [0x5c40] = 0x9eab, [0x5c41] = 0x9eac, + [0x5c42] = 0x9ead, [0x5c43] = 0x9eae, [0x5c44] = 0x9eaf, [0x5c45] = 0x9eb0, + [0x5c46] = 0x9eb1, [0x5c47] = 0x9eb2, [0x5c48] = 0x9eb3, [0x5c49] = 0x9eb5, + [0x5c4a] = 0x9eb6, [0x5c4b] = 0x9eb7, [0x5c4c] = 0x9eb9, [0x5c4d] = 0x9eba, + [0x5c4e] = 0x9ebc, [0x5c4f] = 0x9ebf, [0x5c50] = 0x9ec0, [0x5c51] = 0x9ec1, + [0x5c52] = 0x9ec2, [0x5c53] = 0x9ec3, [0x5c54] = 0x9ec5, [0x5c55] = 0x9ec6, + [0x5c56] = 0x9ec7, [0x5c57] = 0x9ec8, [0x5c58] = 0x9eca, [0x5c59] = 0x9ecb, + [0x5c5a] = 0x9ecc, [0x5c5b] = 0x9ed0, [0x5c5c] = 0x9ed2, [0x5c5d] = 0x9ed3, + [0x5c5e] = 0x9ed5, [0x5c5f] = 0x9ed6, [0x5c60] = 0x9ed7, [0x5c61] = 0x9ed9, + [0x5c62] = 0x9eda, [0x5c63] = 0x9ede, [0x5c64] = 0x9ee1, [0x5c65] = 0x9ee3, + [0x5c66] = 0x9ee4, [0x5c67] = 0x9ee6, [0x5c68] = 0x9ee8, [0x5c69] = 0x9eeb, + [0x5c6a] = 0x9eec, [0x5c6b] = 0x9eed, [0x5c6c] = 0x9eee, [0x5c6d] = 0x9ef0, + [0x5c6e] = 0x9ef1, [0x5c6f] = 0x9ef2, [0x5c70] = 0x9ef3, [0x5c71] = 0x9ef4, + [0x5c72] = 0x9ef5, [0x5c73] = 0x9ef6, [0x5c74] = 0x9ef7, [0x5c75] = 0x9ef8, + [0x5c76] = 0x9efa, [0x5c77] = 0x9efd, [0x5c78] = 0x9eff, [0x5c79] = 0x9f00, + [0x5c7a] = 0x9f01, [0x5c7b] = 0x9f02, [0x5c7c] = 0x9f03, [0x5c7d] = 0x9f04, + [0x5c7e] = 0x9f05, [0x5c80] = 0x9f06, [0x5c81] = 0x9f07, [0x5c82] = 0x9f08, + [0x5c83] = 0x9f09, [0x5c84] = 0x9f0a, [0x5c85] = 0x9f0c, [0x5c86] = 0x9f0f, + [0x5c87] = 0x9f11, [0x5c88] = 0x9f12, [0x5c89] = 0x9f14, [0x5c8a] = 0x9f15, + [0x5c8b] = 0x9f16, [0x5c8c] = 0x9f18, [0x5c8d] = 0x9f1a, [0x5c8e] = 0x9f1b, + [0x5c8f] = 0x9f1c, [0x5c90] = 0x9f1d, [0x5c91] = 0x9f1e, [0x5c92] = 0x9f1f, + [0x5c93] = 0x9f21, [0x5c94] = 0x9f23, [0x5c95] = 0x9f24, [0x5c96] = 0x9f25, + [0x5c97] = 0x9f26, [0x5c98] = 0x9f27, [0x5c99] = 0x9f28, [0x5c9a] = 0x9f29, + [0x5c9b] = 0x9f2a, [0x5c9c] = 0x9f2b, [0x5c9d] = 0x9f2d, [0x5c9e] = 0x9f2e, + [0x5c9f] = 0x9f30, [0x5ca0] = 0x9f31, [0x5d00] = 0x9f32, [0x5d01] = 0x9f33, + [0x5d02] = 0x9f34, [0x5d03] = 0x9f35, [0x5d04] = 0x9f36, [0x5d05] = 0x9f38, + [0x5d06] = 0x9f3a, [0x5d07] = 0x9f3c, [0x5d08] = 0x9f3f, [0x5d09] = 0x9f40, + [0x5d0a] = 0x9f41, [0x5d0b] = 0x9f42, [0x5d0c] = 0x9f43, [0x5d0d] = 0x9f45, + [0x5d0e] = 0x9f46, [0x5d0f] = 0x9f47, [0x5d10] = 0x9f48, [0x5d11] = 0x9f49, + [0x5d12] = 0x9f4a, [0x5d13] = 0x9f4b, [0x5d14] = 0x9f4c, [0x5d15] = 0x9f4d, + [0x5d16] = 0x9f4e, [0x5d17] = 0x9f4f, [0x5d18] = 0x9f52, [0x5d19] = 0x9f53, + [0x5d1a] = 0x9f54, [0x5d1b] = 0x9f55, [0x5d1c] = 0x9f56, [0x5d1d] = 0x9f57, + [0x5d1e] = 0x9f58, [0x5d1f] = 0x9f59, [0x5d20] = 0x9f5a, [0x5d21] = 0x9f5b, + [0x5d22] = 0x9f5c, [0x5d23] = 0x9f5d, [0x5d24] = 0x9f5e, [0x5d25] = 0x9f5f, + [0x5d26] = 0x9f60, [0x5d27] = 0x9f61, [0x5d28] = 0x9f62, [0x5d29] = 0x9f63, + [0x5d2a] = 0x9f64, [0x5d2b] = 0x9f65, [0x5d2c] = 0x9f66, [0x5d2d] = 0x9f67, + [0x5d2e] = 0x9f68, [0x5d2f] = 0x9f69, [0x5d30] = 0x9f6a, [0x5d31] = 0x9f6b, + [0x5d32] = 0x9f6c, [0x5d33] = 0x9f6d, [0x5d34] = 0x9f6e, [0x5d35] = 0x9f6f, + [0x5d36] = 0x9f70, [0x5d37] = 0x9f71, [0x5d38] = 0x9f72, [0x5d39] = 0x9f73, + [0x5d3a] = 0x9f74, [0x5d3b] = 0x9f75, [0x5d3c] = 0x9f76, [0x5d3d] = 0x9f77, + [0x5d3e] = 0x9f78, [0x5d40] = 0x9f79, [0x5d41] = 0x9f7a, [0x5d42] = 0x9f7b, + [0x5d43] = 0x9f7c, [0x5d44] = 0x9f7d, [0x5d45] = 0x9f7e, [0x5d46] = 0x9f81, + [0x5d47] = 0x9f82, [0x5d48] = 0x9f8d, [0x5d49] = 0x9f8e, [0x5d4a] = 0x9f8f, + [0x5d4b] = 0x9f90, [0x5d4c] = 0x9f91, [0x5d4d] = 0x9f92, [0x5d4e] = 0x9f93, + [0x5d4f] = 0x9f94, [0x5d50] = 0x9f95, [0x5d51] = 0x9f96, [0x5d52] = 0x9f97, + [0x5d53] = 0x9f98, [0x5d54] = 0x9f9c, [0x5d55] = 0x9f9d, [0x5d56] = 0x9f9e, + [0x5d57] = 0x9fa1, [0x5d58] = 0x9fa2, [0x5d59] = 0x9fa3, [0x5d5a] = 0x9fa4, + [0x5d5b] = 0x9fa5, [0x5d5c] = 0xf92c, [0x5d5d] = 0xf979, [0x5d5e] = 0xf995, + [0x5d5f] = 0xf9e7, [0x5d60] = 0xf9f1, [0x5dc0] = 0xfa0c, [0x5dc1] = 0xfa0d, + [0x5dc2] = 0xfa0e, [0x5dc3] = 0xfa0f, [0x5dc4] = 0xfa11, [0x5dc5] = 0xfa13, + [0x5dc6] = 0xfa14, [0x5dc7] = 0xfa18, [0x5dc8] = 0xfa1f, [0x5dc9] = 0xfa20, + [0x5dca] = 0xfa21, [0x5dcb] = 0xfa23, [0x5dcc] = 0xfa24, [0x5dcd] = 0xfa27, + [0x5dce] = 0xfa28, [0x5dcf] = 0xfa29, [0x5dd0] = 0xe815, [0x5dd1] = 0xe816, + [0x5dd2] = 0xe817, [0x5dd3] = 0xe818, [0x5dd4] = 0xe819, [0x5dd5] = 0xe81a, + [0x5dd6] = 0xe81b, [0x5dd7] = 0xe81c, [0x5dd8] = 0xe81d, [0x5dd9] = 0xe81e, + [0x5dda] = 0xe81f, [0x5ddb] = 0xe820, [0x5ddc] = 0xe821, [0x5ddd] = 0xe822, + [0x5dde] = 0xe823, [0x5ddf] = 0xe824, [0x5de0] = 0xe825, [0x5de1] = 0xe826, + [0x5de2] = 0xe827, [0x5de3] = 0xe828, [0x5de4] = 0xe829, [0x5de5] = 0xe82a, + [0x5de6] = 0xe82b, [0x5de7] = 0xe82c, [0x5de8] = 0xe82d, [0x5de9] = 0xe82e, + [0x5dea] = 0xe82f, [0x5deb] = 0xe830, [0x5dec] = 0xe831, [0x5ded] = 0xe832, + [0x5dee] = 0xe833, [0x5def] = 0xe834, [0x5df0] = 0xe835, [0x5df1] = 0xe836, + [0x5df2] = 0xe837, [0x5df3] = 0xe838, [0x5df4] = 0xe839, [0x5df5] = 0xe83a, + [0x5df6] = 0xe83b, [0x5df7] = 0xe83c, [0x5df8] = 0xe83d, [0x5df9] = 0xe83e, + [0x5dfa] = 0xe83f, [0x5dfb] = 0xe840, [0x5dfc] = 0xe841, [0x5dfd] = 0xe842, + [0x5dfe] = 0xe843, [0x5e00] = 0xe844, [0x5e01] = 0xe845, [0x5e02] = 0xe846, + [0x5e03] = 0xe847, [0x5e04] = 0xe848, [0x5e05] = 0xe849, [0x5e06] = 0xe84a, + [0x5e07] = 0xe84b, [0x5e08] = 0xe84c, [0x5e09] = 0xe84d, [0x5e0a] = 0xe84e, + [0x5e0b] = 0xe84f, [0x5e0c] = 0xe850, [0x5e0d] = 0xe851, [0x5e0e] = 0xe852, + [0x5e0f] = 0xe853, [0x5e10] = 0xe854, [0x5e11] = 0xe855, [0x5e12] = 0xe856, + [0x5e13] = 0xe857, [0x5e14] = 0xe858, [0x5e15] = 0xe859, [0x5e16] = 0xe85a, + [0x5e17] = 0xe85b, [0x5e18] = 0xe85c, [0x5e19] = 0xe85d, [0x5e1a] = 0xe85e, + [0x5e1b] = 0xe85f, [0x5e1c] = 0xe860, [0x5e1d] = 0xe861, [0x5e1e] = 0xe862, + [0x5e1f] = 0xe863, [0x5e20] = 0xe864, +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x00' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0xa4, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab1[][2] = +{ + [0x0000] = "\xa1\xe8", [0x0003] = "\xa1\xec", [0x0004] = "\xa1\xa7", + [0x000c] = "\xa1\xe3", [0x000d] = "\xa1\xc0", [0x0013] = "\xa1\xa4", + [0x0033] = "\xa1\xc1", [0x003c] = "\xa8\xa4", [0x003d] = "\xa8\xa2", + [0x0044] = "\xa8\xa8", [0x0045] = "\xa8\xa6", [0x0046] = "\xa8\xba", + [0x0048] = "\xa8\xac", [0x0049] = "\xa8\xaa", [0x004e] = "\xa8\xb0", + [0x004f] = "\xa8\xae", [0x0053] = "\xa1\xc2", [0x0055] = "\xa8\xb4", + [0x0056] = "\xa8\xb2", [0x0058] = "\xa8\xb9", [0x005d] = "\xa8\xa1" +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x03' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x391, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab2[][2] = +{ + [0x0000] = "\xa6\xa1", [0x0001] = "\xa6\xa2", [0x0002] = "\xa6\xa3", + [0x0003] = "\xa6\xa4", [0x0004] = "\xa6\xa5", [0x0005] = "\xa6\xa6", + [0x0006] = "\xa6\xa7", [0x0007] = "\xa6\xa8", [0x0008] = "\xa6\xa9", + [0x0009] = "\xa6\xaa", [0x000a] = "\xa6\xab", [0x000b] = "\xa6\xac", + [0x000c] = "\xa6\xad", [0x000d] = "\xa6\xae", [0x000e] = "\xa6\xaf", + [0x000f] = "\xa6\xb0", [0x0010] = "\xa6\xb1", [0x0012] = "\xa6\xb2", + [0x0013] = "\xa6\xb3", [0x0014] = "\xa6\xb4", [0x0015] = "\xa6\xb5", + [0x0016] = "\xa6\xb6", [0x0017] = "\xa6\xb7", [0x0018] = "\xa6\xb8", + [0x0020] = "\xa6\xc1", [0x0021] = "\xa6\xc2", [0x0022] = "\xa6\xc3", + [0x0023] = "\xa6\xc4", [0x0024] = "\xa6\xc5", [0x0025] = "\xa6\xc6", + [0x0026] = "\xa6\xc7", [0x0027] = "\xa6\xc8", [0x0028] = "\xa6\xc9", + [0x0029] = "\xa6\xca", [0x002a] = "\xa6\xcb", [0x002b] = "\xa6\xcc", + [0x002c] = "\xa6\xcd", [0x002d] = "\xa6\xce", [0x002e] = "\xa6\xcf", + [0x002f] = "\xa6\xd0", [0x0030] = "\xa6\xd1", [0x0032] = "\xa6\xd2", + [0x0033] = "\xa6\xd3", [0x0034] = "\xa6\xd4", [0x0035] = "\xa6\xd5", + [0x0036] = "\xa6\xd6", [0x0037] = "\xa6\xd7", [0x0038] = "\xa6\xd8", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x04' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x401, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab3[][2] = +{ + [0x0000] = "\xa7\xa7", [0x000f] = "\xa7\xa1", [0x0010] = "\xa7\xa2", + [0x0011] = "\xa7\xa3", [0x0012] = "\xa7\xa4", [0x0013] = "\xa7\xa5", + [0x0014] = "\xa7\xa6", [0x0015] = "\xa7\xa8", [0x0016] = "\xa7\xa9", + [0x0017] = "\xa7\xaa", [0x0018] = "\xa7\xab", [0x0019] = "\xa7\xac", + [0x001a] = "\xa7\xad", [0x001b] = "\xa7\xae", [0x001c] = "\xa7\xaf", + [0x001d] = "\xa7\xb0", [0x001e] = "\xa7\xb1", [0x001f] = "\xa7\xb2", + [0x0020] = "\xa7\xb3", [0x0021] = "\xa7\xb4", [0x0022] = "\xa7\xb5", + [0x0023] = "\xa7\xb6", [0x0024] = "\xa7\xb7", [0x0025] = "\xa7\xb8", + [0x0026] = "\xa7\xb9", [0x0027] = "\xa7\xba", [0x0028] = "\xa7\xbb", + [0x0029] = "\xa7\xbc", [0x002a] = "\xa7\xbd", [0x002b] = "\xa7\xbe", + [0x002c] = "\xa7\xbf", [0x002d] = "\xa7\xc0", [0x002e] = "\xa7\xc1", + [0x002f] = "\xa7\xd1", [0x0030] = "\xa7\xd2", [0x0031] = "\xa7\xd3", + [0x0032] = "\xa7\xd4", [0x0033] = "\xa7\xd5", [0x0034] = "\xa7\xd6", + [0x0035] = "\xa7\xd8", [0x0036] = "\xa7\xd9", [0x0037] = "\xa7\xda", + [0x0038] = "\xa7\xdb", [0x0039] = "\xa7\xdc", [0x003a] = "\xa7\xdd", + [0x003b] = "\xa7\xde", [0x003c] = "\xa7\xdf", [0x003d] = "\xa7\xe0", + [0x003e] = "\xa7\xe1", [0x003f] = "\xa7\xe2", [0x0040] = "\xa7\xe3", + [0x0041] = "\xa7\xe4", [0x0042] = "\xa7\xe5", [0x0043] = "\xa7\xe6", + [0x0044] = "\xa7\xe7", [0x0045] = "\xa7\xe8", [0x0046] = "\xa7\xe9", + [0x0047] = "\xa7\xea", [0x0048] = "\xa7\xeb", [0x0049] = "\xa7\xec", + [0x004a] = "\xa7\xed", [0x004b] = "\xa7\xee", [0x004c] = "\xa7\xef", + [0x004d] = "\xa7\xf0", [0x004e] = "\xa7\xf1", [0x0050] = "\xa7\xd7", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x20' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x2010, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab4[][2] = +{ + [0x0000] = "\xa9\x5c", [0x0003] = "\xa8\x43", [0x0004] = "\xa8\x44", + [0x0005] = "\xa1\xaa", [0x0006] = "\xa1\xac", [0x0008] = "\xa1\xae", + [0x0009] = "\xa1\xaf", [0x000c] = "\xa1\xb0", [0x000d] = "\xa1\xb1", + [0x0015] = "\xa8\x45", [0x0016] = "\xa1\xad", [0x0020] = "\xa1\xeb", + [0x0022] = "\xa1\xe4", [0x0023] = "\xa1\xe5", [0x0025] = "\xa8\x46", + [0x002b] = "\xa1\xf9", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x2[12]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x2103, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab5[][2] = +{ + [0x0000] = "\xa1\xe6", [0x0002] = "\xa8\x47", [0x0006] = "\xa8\x48", + [0x0013] = "\xa1\xed", [0x001e] = "\xa9\x59", [0x005d] = "\xa2\xf1", + [0x005e] = "\xa2\xf2", [0x005f] = "\xa2\xf3", [0x0060] = "\xa2\xf4", + [0x0061] = "\xa2\xf5", [0x0062] = "\xa2\xf6", [0x0063] = "\xa2\xf7", + [0x0064] = "\xa2\xf8", [0x0065] = "\xa2\xf9", [0x0066] = "\xa2\xfa", + [0x0067] = "\xa2\xfb", [0x0068] = "\xa2\xfc", [0x006d] = "\xa2\xa1", + [0x006e] = "\xa2\xa2", [0x006f] = "\xa2\xa3", [0x0070] = "\xa2\xa4", + [0x0071] = "\xa2\xa5", [0x0072] = "\xa2\xa6", [0x0073] = "\xa2\xa7", + [0x0074] = "\xa2\xa8", [0x0075] = "\xa2\xa9", [0x0076] = "\xa2\xaa", + [0x008d] = "\xa1\xfb", [0x008e] = "\xa1\xfc", [0x008f] = "\xa1\xfa", + [0x0090] = "\xa1\xfd", [0x0093] = "\xa8\x49", [0x0094] = "\xa8\x4a", + [0x0095] = "\xa8\x4b", [0x0096] = "\xa8\x4c", [0x0105] = "\xa1\xca", + [0x010c] = "\xa1\xc7", [0x010e] = "\xa1\xc6", [0x0112] = "\xa8\x4d", + [0x0117] = "\xa1\xcc", [0x011a] = "\xa1\xd8", [0x011b] = "\xa1\xde", + [0x011c] = "\xa8\x4e", [0x011d] = "\xa1\xcf", [0x0120] = "\xa8\x4f", + [0x0122] = "\xa1\xce", [0x0124] = "\xa1\xc4", [0x0125] = "\xa1\xc5", + [0x0126] = "\xa1\xc9", [0x0127] = "\xa1\xc8", [0x0128] = "\xa1\xd2", + [0x012b] = "\xa1\xd3", [0x0131] = "\xa1\xe0", [0x0132] = "\xa1\xdf", + [0x0133] = "\xa1\xc3", [0x0134] = "\xa1\xcb", [0x013a] = "\xa1\xd7", + [0x0145] = "\xa1\xd6", [0x0149] = "\xa1\xd5", [0x014f] = "\xa8\x50", + [0x015d] = "\xa1\xd9", [0x015e] = "\xa1\xd4", [0x0161] = "\xa1\xdc", + [0x0162] = "\xa1\xdd", [0x0163] = "\xa8\x51", [0x0164] = "\xa8\x52", + [0x016b] = "\xa1\xda", [0x016c] = "\xa1\xdb", [0x0192] = "\xa8\x92", + [0x0196] = "\xa1\xd1", [0x01a2] = "\xa1\xcd", [0x01bc] = "\xa8\x53", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x2[4-6]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x2460, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab6[][2] = +{ + [0x0000] = "\xa2\xd9", [0x0001] = "\xa2\xda", [0x0002] = "\xa2\xdb", + [0x0003] = "\xa2\xdc", [0x0004] = "\xa2\xdd", [0x0005] = "\xa2\xde", + [0x0006] = "\xa2\xdf", [0x0007] = "\xa2\xe0", [0x0008] = "\xa2\xe1", + [0x0009] = "\xa2\xe2", [0x0014] = "\xa2\xc5", [0x0015] = "\xa2\xc6", + [0x0016] = "\xa2\xc7", [0x0017] = "\xa2\xc8", [0x0018] = "\xa2\xc9", + [0x0019] = "\xa2\xca", [0x001a] = "\xa2\xcb", [0x001b] = "\xa2\xcc", + [0x001c] = "\xa2\xcd", [0x001d] = "\xa2\xce", [0x001e] = "\xa2\xcf", + [0x001f] = "\xa2\xd0", [0x0020] = "\xa2\xd1", [0x0021] = "\xa2\xd2", + [0x0022] = "\xa2\xd3", [0x0023] = "\xa2\xd4", [0x0024] = "\xa2\xd5", + [0x0025] = "\xa2\xd6", [0x0026] = "\xa2\xd7", [0x0027] = "\xa2\xd8", + [0x0028] = "\xa2\xb1", [0x0029] = "\xa2\xb2", [0x002a] = "\xa2\xb3", + [0x002b] = "\xa2\xb4", [0x002c] = "\xa2\xb5", [0x002d] = "\xa2\xb6", + [0x002e] = "\xa2\xb7", [0x002f] = "\xa2\xb8", [0x0030] = "\xa2\xb9", + [0x0031] = "\xa2\xba", [0x0032] = "\xa2\xbb", [0x0033] = "\xa2\xbc", + [0x0034] = "\xa2\xbd", [0x0035] = "\xa2\xbe", [0x0036] = "\xa2\xbf", + [0x0037] = "\xa2\xc0", [0x0038] = "\xa2\xc1", [0x0039] = "\xa2\xc2", + [0x003a] = "\xa2\xc3", [0x003b] = "\xa2\xc4", [0x00a0] = "\xa9\xa4", + [0x00a1] = "\xa9\xa5", [0x00a2] = "\xa9\xa6", [0x00a3] = "\xa9\xa7", + [0x00a4] = "\xa9\xa8", [0x00a5] = "\xa9\xa9", [0x00a6] = "\xa9\xaa", + [0x00a7] = "\xa9\xab", [0x00a8] = "\xa9\xac", [0x00a9] = "\xa9\xad", + [0x00aa] = "\xa9\xae", [0x00ab] = "\xa9\xaf", [0x00ac] = "\xa9\xb0", + [0x00ad] = "\xa9\xb1", [0x00ae] = "\xa9\xb2", [0x00af] = "\xa9\xb3", + [0x00b0] = "\xa9\xb4", [0x00b1] = "\xa9\xb5", [0x00b2] = "\xa9\xb6", + [0x00b3] = "\xa9\xb7", [0x00b4] = "\xa9\xb8", [0x00b5] = "\xa9\xb9", + [0x00b6] = "\xa9\xba", [0x00b7] = "\xa9\xbb", [0x00b8] = "\xa9\xbc", + [0x00b9] = "\xa9\xbd", [0x00ba] = "\xa9\xbe", [0x00bb] = "\xa9\xbf", + [0x00bc] = "\xa9\xc0", [0x00bd] = "\xa9\xc1", [0x00be] = "\xa9\xc2", + [0x00bf] = "\xa9\xc3", [0x00c0] = "\xa9\xc4", [0x00c1] = "\xa9\xc5", + [0x00c2] = "\xa9\xc6", [0x00c3] = "\xa9\xc7", [0x00c4] = "\xa9\xc8", + [0x00c5] = "\xa9\xc9", [0x00c6] = "\xa9\xca", [0x00c7] = "\xa9\xcb", + [0x00c8] = "\xa9\xcc", [0x00c9] = "\xa9\xcd", [0x00ca] = "\xa9\xce", + [0x00cb] = "\xa9\xcf", [0x00cc] = "\xa9\xd0", [0x00cd] = "\xa9\xd1", + [0x00ce] = "\xa9\xd2", [0x00cf] = "\xa9\xd3", [0x00d0] = "\xa9\xd4", + [0x00d1] = "\xa9\xd5", [0x00d2] = "\xa9\xd6", [0x00d3] = "\xa9\xd7", + [0x00d4] = "\xa9\xd8", [0x00d5] = "\xa9\xd9", [0x00d6] = "\xa9\xda", + [0x00d7] = "\xa9\xdb", [0x00d8] = "\xa9\xdc", [0x00d9] = "\xa9\xdd", + [0x00da] = "\xa9\xde", [0x00db] = "\xa9\xdf", [0x00dc] = "\xa9\xe0", + [0x00dd] = "\xa9\xe1", [0x00de] = "\xa9\xe2", [0x00df] = "\xa9\xe3", + [0x00e0] = "\xa9\xe4", [0x00e1] = "\xa9\xe5", [0x00e2] = "\xa9\xe6", + [0x00e3] = "\xa9\xe7", [0x00e4] = "\xa9\xe8", [0x00e5] = "\xa9\xe9", + [0x00e6] = "\xa9\xea", [0x00e7] = "\xa9\xeb", [0x00e8] = "\xa9\xec", + [0x00e9] = "\xa9\xed", [0x00ea] = "\xa9\xee", [0x00eb] = "\xa9\xef", + [0x00f0] = "\xa8\x54", [0x00f1] = "\xa8\x55", [0x00f2] = "\xa8\x56", + [0x00f3] = "\xa8\x57", [0x00f4] = "\xa8\x58", [0x00f5] = "\xa8\x59", + [0x00f6] = "\xa8\x5a", [0x00f7] = "\xa8\x5b", [0x00f8] = "\xa8\x5c", + [0x00f9] = "\xa8\x5d", [0x00fa] = "\xa8\x5e", [0x00fb] = "\xa8\x5f", + [0x00fc] = "\xa8\x60", [0x00fd] = "\xa8\x61", [0x00fe] = "\xa8\x62", + [0x00ff] = "\xa8\x63", [0x0100] = "\xa8\x64", [0x0101] = "\xa8\x65", + [0x0102] = "\xa8\x66", [0x0103] = "\xa8\x67", [0x0104] = "\xa8\x68", + [0x0105] = "\xa8\x69", [0x0106] = "\xa8\x6a", [0x0107] = "\xa8\x6b", + [0x0108] = "\xa8\x6c", [0x0109] = "\xa8\x6d", [0x010a] = "\xa8\x6e", + [0x010b] = "\xa8\x6f", [0x010c] = "\xa8\x70", [0x010d] = "\xa8\x71", + [0x010e] = "\xa8\x72", [0x010f] = "\xa8\x73", [0x0110] = "\xa8\x74", + [0x0111] = "\xa8\x75", [0x0112] = "\xa8\x76", [0x0113] = "\xa8\x77", + [0x0121] = "\xa8\x78", [0x0122] = "\xa8\x79", [0x0123] = "\xa8\x7a", + [0x0124] = "\xa8\x7b", [0x0125] = "\xa8\x7c", [0x0126] = "\xa8\x7d", + [0x0127] = "\xa8\x7e", [0x0128] = "\xa8\x80", [0x0129] = "\xa8\x81", + [0x012a] = "\xa8\x82", [0x012b] = "\xa8\x83", [0x012c] = "\xa8\x84", + [0x012d] = "\xa8\x85", [0x012e] = "\xa8\x86", [0x012f] = "\xa8\x87", + [0x0133] = "\xa8\x88", [0x0134] = "\xa8\x89", [0x0135] = "\xa8\x8a", + [0x0140] = "\xa1\xf6", [0x0141] = "\xa1\xf5", [0x0152] = "\xa1\xf8", + [0x0153] = "\xa1\xf7", [0x015c] = "\xa8\x8b", [0x015d] = "\xa8\x8c", + [0x0166] = "\xa1\xf4", [0x0167] = "\xa1\xf3", [0x016b] = "\xa1\xf0", + [0x016e] = "\xa1\xf2", [0x016f] = "\xa1\xf1", [0x0182] = "\xa8\x8d", + [0x0183] = "\xa8\x8e", [0x0184] = "\xa8\x8f", [0x0185] = "\xa8\x90", + [0x01a5] = "\xa1\xef", [0x01a6] = "\xa1\xee", [0x01a9] = "\xa8\x91", + [0x01e0] = "\xa1\xe2", [0x01e2] = "\xa1\xe1", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x3[0-3]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x3000, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab7[][2] = +{ + [0x0000] = "\xa1\xa1", [0x0001] = "\xa1\xa2", [0x0002] = "\xa1\xa3", + [0x0003] = "\xa1\xa8", [0x0005] = "\xa1\xa9", [0x0006] = "\xa9\x65", + [0x0007] = "\xa9\x96", [0x0008] = "\xa1\xb4", [0x0009] = "\xa1\xb5", + [0x000a] = "\xa1\xb6", [0x000b] = "\xa1\xb7", [0x000c] = "\xa1\xb8", + [0x000d] = "\xa1\xb9", [0x000e] = "\xa1\xba", [0x000f] = "\xa1\xbb", + [0x0010] = "\xa1\xbe", [0x0011] = "\xa1\xbf", [0x0012] = "\xa8\x93", + [0x0013] = "\xa1\xfe", [0x0014] = "\xa1\xb2", [0x0015] = "\xa1\xb3", + [0x0016] = "\xa1\xbc", [0x0017] = "\xa1\xbd", [0x001d] = "\xa8\x94", + [0x001e] = "\xa8\x95", [0x0021] = "\xa9\x40", [0x0022] = "\xa9\x41", + [0x0023] = "\xa9\x42", [0x0024] = "\xa9\x43", [0x0025] = "\xa9\x44", + [0x0026] = "\xa9\x45", [0x0027] = "\xa9\x46", [0x0028] = "\xa9\x47", + [0x0029] = "\xa9\x48", [0x0041] = "\xa4\xa1", [0x0042] = "\xa4\xa2", + [0x0043] = "\xa4\xa3", [0x0044] = "\xa4\xa4", [0x0045] = "\xa4\xa5", + [0x0046] = "\xa4\xa6", [0x0047] = "\xa4\xa7", [0x0048] = "\xa4\xa8", + [0x0049] = "\xa4\xa9", [0x004a] = "\xa4\xaa", [0x004b] = "\xa4\xab", + [0x004c] = "\xa4\xac", [0x004d] = "\xa4\xad", [0x004e] = "\xa4\xae", + [0x004f] = "\xa4\xaf", [0x0050] = "\xa4\xb0", [0x0051] = "\xa4\xb1", + [0x0052] = "\xa4\xb2", [0x0053] = "\xa4\xb3", [0x0054] = "\xa4\xb4", + [0x0055] = "\xa4\xb5", [0x0056] = "\xa4\xb6", [0x0057] = "\xa4\xb7", + [0x0058] = "\xa4\xb8", [0x0059] = "\xa4\xb9", [0x005a] = "\xa4\xba", + [0x005b] = "\xa4\xbb", [0x005c] = "\xa4\xbc", [0x005d] = "\xa4\xbd", + [0x005e] = "\xa4\xbe", [0x005f] = "\xa4\xbf", [0x0060] = "\xa4\xc0", + [0x0061] = "\xa4\xc1", [0x0062] = "\xa4\xc2", [0x0063] = "\xa4\xc3", + [0x0064] = "\xa4\xc4", [0x0065] = "\xa4\xc5", [0x0066] = "\xa4\xc6", + [0x0067] = "\xa4\xc7", [0x0068] = "\xa4\xc8", [0x0069] = "\xa4\xc9", + [0x006a] = "\xa4\xca", [0x006b] = "\xa4\xcb", [0x006c] = "\xa4\xcc", + [0x006d] = "\xa4\xcd", [0x006e] = "\xa4\xce", [0x006f] = "\xa4\xcf", + [0x0070] = "\xa4\xd0", [0x0071] = "\xa4\xd1", [0x0072] = "\xa4\xd2", + [0x0073] = "\xa4\xd3", [0x0074] = "\xa4\xd4", [0x0075] = "\xa4\xd5", + [0x0076] = "\xa4\xd6", [0x0077] = "\xa4\xd7", [0x0078] = "\xa4\xd8", + [0x0079] = "\xa4\xd9", [0x007a] = "\xa4\xda", [0x007b] = "\xa4\xdb", + [0x007c] = "\xa4\xdc", [0x007d] = "\xa4\xdd", [0x007e] = "\xa4\xde", + [0x007f] = "\xa4\xdf", [0x0080] = "\xa4\xe0", [0x0081] = "\xa4\xe1", + [0x0082] = "\xa4\xe2", [0x0083] = "\xa4\xe3", [0x0084] = "\xa4\xe4", + [0x0085] = "\xa4\xe5", [0x0086] = "\xa4\xe6", [0x0087] = "\xa4\xe7", + [0x0088] = "\xa4\xe8", [0x0089] = "\xa4\xe9", [0x008a] = "\xa4\xea", + [0x008b] = "\xa4\xeb", [0x008c] = "\xa4\xec", [0x008d] = "\xa4\xed", + [0x008e] = "\xa4\xee", [0x008f] = "\xa4\xef", [0x0090] = "\xa4\xf0", + [0x0091] = "\xa4\xf1", [0x0092] = "\xa4\xf2", [0x0093] = "\xa4\xf3", + [0x009b] = "\xa9\x61", [0x009c] = "\xa9\x62", [0x009d] = "\xa9\x66", + [0x009e] = "\xa9\x67", [0x00a1] = "\xa5\xa1", [0x00a2] = "\xa5\xa2", + [0x00a3] = "\xa5\xa3", [0x00a4] = "\xa5\xa4", [0x00a5] = "\xa5\xa5", + [0x00a6] = "\xa5\xa6", [0x00a7] = "\xa5\xa7", [0x00a8] = "\xa5\xa8", + [0x00a9] = "\xa5\xa9", [0x00aa] = "\xa5\xaa", [0x00ab] = "\xa5\xab", + [0x00ac] = "\xa5\xac", [0x00ad] = "\xa5\xad", [0x00ae] = "\xa5\xae", + [0x00af] = "\xa5\xaf", [0x00b0] = "\xa5\xb0", [0x00b1] = "\xa5\xb1", + [0x00b2] = "\xa5\xb2", [0x00b3] = "\xa5\xb3", [0x00b4] = "\xa5\xb4", + [0x00b5] = "\xa5\xb5", [0x00b6] = "\xa5\xb6", [0x00b7] = "\xa5\xb7", + [0x00b8] = "\xa5\xb8", [0x00b9] = "\xa5\xb9", [0x00ba] = "\xa5\xba", + [0x00bb] = "\xa5\xbb", [0x00bc] = "\xa5\xbc", [0x00bd] = "\xa5\xbd", + [0x00be] = "\xa5\xbe", [0x00bf] = "\xa5\xbf", [0x00c0] = "\xa5\xc0", + [0x00c1] = "\xa5\xc1", [0x00c2] = "\xa5\xc2", [0x00c3] = "\xa5\xc3", + [0x00c4] = "\xa5\xc4", [0x00c5] = "\xa5\xc5", [0x00c6] = "\xa5\xc6", + [0x00c7] = "\xa5\xc7", [0x00c8] = "\xa5\xc8", [0x00c9] = "\xa5\xc9", + [0x00ca] = "\xa5\xca", [0x00cb] = "\xa5\xcb", [0x00cc] = "\xa5\xcc", + [0x00cd] = "\xa5\xcd", [0x00ce] = "\xa5\xce", [0x00cf] = "\xa5\xcf", + [0x00d0] = "\xa5\xd0", [0x00d1] = "\xa5\xd1", [0x00d2] = "\xa5\xd2", + [0x00d3] = "\xa5\xd3", [0x00d4] = "\xa5\xd4", [0x00d5] = "\xa5\xd5", + [0x00d6] = "\xa5\xd6", [0x00d7] = "\xa5\xd7", [0x00d8] = "\xa5\xd8", + [0x00d9] = "\xa5\xd9", [0x00da] = "\xa5\xda", [0x00db] = "\xa5\xdb", + [0x00dc] = "\xa5\xdc", [0x00dd] = "\xa5\xdd", [0x00de] = "\xa5\xde", + [0x00df] = "\xa5\xdf", [0x00e0] = "\xa5\xe0", [0x00e1] = "\xa5\xe1", + [0x00e2] = "\xa5\xe2", [0x00e3] = "\xa5\xe3", [0x00e4] = "\xa5\xe4", + [0x00e5] = "\xa5\xe5", [0x00e6] = "\xa5\xe6", [0x00e7] = "\xa5\xe7", + [0x00e8] = "\xa5\xe8", [0x00e9] = "\xa5\xe9", [0x00ea] = "\xa5\xea", + [0x00eb] = "\xa5\xeb", [0x00ec] = "\xa5\xec", [0x00ed] = "\xa5\xed", + [0x00ee] = "\xa5\xee", [0x00ef] = "\xa5\xef", [0x00f0] = "\xa5\xf0", + [0x00f1] = "\xa5\xf1", [0x00f2] = "\xa5\xf2", [0x00f3] = "\xa5\xf3", + [0x00f4] = "\xa5\xf4", [0x00f5] = "\xa5\xf5", [0x00f6] = "\xa5\xf6", + [0x00fc] = "\xa9\x60", [0x00fd] = "\xa9\x63", [0x00fe] = "\xa9\x64", + [0x0105] = "\xa8\xc5", [0x0106] = "\xa8\xc6", [0x0107] = "\xa8\xc7", + [0x0108] = "\xa8\xc8", [0x0109] = "\xa8\xc9", [0x010a] = "\xa8\xca", + [0x010b] = "\xa8\xcb", [0x010c] = "\xa8\xcc", [0x010d] = "\xa8\xcd", + [0x010e] = "\xa8\xce", [0x010f] = "\xa8\xcf", [0x0110] = "\xa8\xd0", + [0x0111] = "\xa8\xd1", [0x0112] = "\xa8\xd2", [0x0113] = "\xa8\xd3", + [0x0114] = "\xa8\xd4", [0x0115] = "\xa8\xd5", [0x0116] = "\xa8\xd6", + [0x0117] = "\xa8\xd7", [0x0118] = "\xa8\xd8", [0x0119] = "\xa8\xd9", + [0x011a] = "\xa8\xda", [0x011b] = "\xa8\xdb", [0x011c] = "\xa8\xdc", + [0x011d] = "\xa8\xdd", [0x011e] = "\xa8\xde", [0x011f] = "\xa8\xdf", + [0x0120] = "\xa8\xe0", [0x0121] = "\xa8\xe1", [0x0122] = "\xa8\xe2", + [0x0123] = "\xa8\xe3", [0x0124] = "\xa8\xe4", [0x0125] = "\xa8\xe5", + [0x0126] = "\xa8\xe6", [0x0127] = "\xa8\xe7", [0x0128] = "\xa8\xe8", + [0x0129] = "\xa8\xe9", [0x0220] = "\xa2\xe5", [0x0221] = "\xa2\xe6", + [0x0222] = "\xa2\xe7", [0x0223] = "\xa2\xe8", [0x0224] = "\xa2\xe9", + [0x0225] = "\xa2\xea", [0x0226] = "\xa2\xeb", [0x0227] = "\xa2\xec", + [0x0228] = "\xa2\xed", [0x0229] = "\xa2\xee", [0x0231] = "\xa9\x5a", + [0x02a3] = "\xa9\x49", [0x038e] = "\xa9\x4a", [0x038f] = "\xa9\x4b", + [0x039c] = "\xa9\x4c", [0x039d] = "\xa9\x4d", [0x039e] = "\xa9\x4e", + [0x03a1] = "\xa9\x4f", [0x03c4] = "\xa9\x50", [0x03ce] = "\xa9\x51", + [0x03d1] = "\xa9\x52", [0x03d2] = "\xa9\x53", [0x03d5] = "\xa9\x54", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0x[4-9]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0x4e00, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab8[][2] = +{ + [0x0000] = "\xd2\xbb", [0x0001] = "\xb6\xa1", [0x0002] = "\x81\x40", + [0x0003] = "\xc6\xdf", [0x0004] = "\x81\x41", [0x0005] = "\x81\x42", + [0x0006] = "\x81\x43", [0x0007] = "\xcd\xf2", [0x0008] = "\xd5\xc9", + [0x0009] = "\xc8\xfd", [0x000a] = "\xc9\xcf", [0x000b] = "\xcf\xc2", + [0x000c] = "\xd8\xa2", [0x000d] = "\xb2\xbb", [0x000e] = "\xd3\xeb", + [0x000f] = "\x81\x44", [0x0010] = "\xd8\xa4", [0x0011] = "\xb3\xf3", + [0x0012] = "\x81\x45", [0x0013] = "\xd7\xa8", [0x0014] = "\xc7\xd2", + [0x0015] = "\xd8\xa7", [0x0016] = "\xca\xc0", [0x0017] = "\x81\x46", + [0x0018] = "\xc7\xf0", [0x0019] = "\xb1\xfb", [0x001a] = "\xd2\xb5", + [0x001b] = "\xb4\xd4", [0x001c] = "\xb6\xab", [0x001d] = "\xcb\xbf", + [0x001e] = "\xd8\xa9", [0x001f] = "\x81\x47", [0x0020] = "\x81\x48", + [0x0021] = "\x81\x49", [0x0022] = "\xb6\xaa", [0x0023] = "\x81\x4a", + [0x0024] = "\xc1\xbd", [0x0025] = "\xd1\xcf", [0x0026] = "\x81\x4b", + [0x0027] = "\xc9\xa5", [0x0028] = "\xd8\xad", [0x0029] = "\x81\x4c", + [0x002a] = "\xb8\xf6", [0x002b] = "\xd1\xbe", [0x002c] = "\xe3\xdc", + [0x002d] = "\xd6\xd0", [0x002e] = "\x81\x4d", [0x002f] = "\x81\x4e", + [0x0030] = "\xb7\xe1", [0x0031] = "\x81\x4f", [0x0032] = "\xb4\xae", + [0x0033] = "\x81\x50", [0x0034] = "\xc1\xd9", [0x0035] = "\x81\x51", + [0x0036] = "\xd8\xbc", [0x0037] = "\x81\x52", [0x0038] = "\xcd\xe8", + [0x0039] = "\xb5\xa4", [0x003a] = "\xce\xaa", [0x003b] = "\xd6\xf7", + [0x003c] = "\x81\x53", [0x003d] = "\xc0\xf6", [0x003e] = "\xbe\xd9", + [0x003f] = "\xd8\xaf", [0x0040] = "\x81\x54", [0x0041] = "\x81\x55", + [0x0042] = "\x81\x56", [0x0043] = "\xc4\xcb", [0x0044] = "\x81\x57", + [0x0045] = "\xbe\xc3", [0x0046] = "\x81\x58", [0x0047] = "\xd8\xb1", + [0x0048] = "\xc3\xb4", [0x0049] = "\xd2\xe5", [0x004a] = "\x81\x59", + [0x004b] = "\xd6\xae", [0x004c] = "\xce\xda", [0x004d] = "\xd5\xa7", + [0x004e] = "\xba\xf5", [0x004f] = "\xb7\xa6", [0x0050] = "\xc0\xd6", + [0x0051] = "\x81\x5a", [0x0052] = "\xc6\xb9", [0x0053] = "\xc5\xd2", + [0x0054] = "\xc7\xc7", [0x0055] = "\x81\x5b", [0x0056] = "\xb9\xd4", + [0x0057] = "\x81\x5c", [0x0058] = "\xb3\xcb", [0x0059] = "\xd2\xd2", + [0x005a] = "\x81\x5d", [0x005b] = "\x81\x5e", [0x005c] = "\xd8\xbf", + [0x005d] = "\xbe\xc5", [0x005e] = "\xc6\xf2", [0x005f] = "\xd2\xb2", + [0x0060] = "\xcf\xb0", [0x0061] = "\xcf\xe7", [0x0062] = "\x81\x5f", + [0x0063] = "\x81\x60", [0x0064] = "\x81\x61", [0x0065] = "\x81\x62", + [0x0066] = "\xca\xe9", [0x0067] = "\x81\x63", [0x0068] = "\x81\x64", + [0x0069] = "\xd8\xc0", [0x006a] = "\x81\x65", [0x006b] = "\x81\x66", + [0x006c] = "\x81\x67", [0x006d] = "\x81\x68", [0x006e] = "\x81\x69", + [0x006f] = "\x81\x6a", [0x0070] = "\xc2\xf2", [0x0071] = "\xc2\xd2", + [0x0072] = "\x81\x6b", [0x0073] = "\xc8\xe9", [0x0074] = "\x81\x6c", + [0x0075] = "\x81\x6d", [0x0076] = "\x81\x6e", [0x0077] = "\x81\x6f", + [0x0078] = "\x81\x70", [0x0079] = "\x81\x71", [0x007a] = "\x81\x72", + [0x007b] = "\x81\x73", [0x007c] = "\x81\x74", [0x007d] = "\x81\x75", + [0x007e] = "\xc7\xac", [0x007f] = "\x81\x76", [0x0080] = "\x81\x77", + [0x0081] = "\x81\x78", [0x0082] = "\x81\x79", [0x0083] = "\x81\x7a", + [0x0084] = "\x81\x7b", [0x0085] = "\x81\x7c", [0x0086] = "\xc1\xcb", + [0x0087] = "\x81\x7d", [0x0088] = "\xd3\xe8", [0x0089] = "\xd5\xf9", + [0x008a] = "\x81\x7e", [0x008b] = "\xca\xc2", [0x008c] = "\xb6\xfe", + [0x008d] = "\xd8\xa1", [0x008e] = "\xd3\xda", [0x008f] = "\xbf\xf7", + [0x0090] = "\x81\x80", [0x0091] = "\xd4\xc6", [0x0092] = "\xbb\xa5", + [0x0093] = "\xd8\xc1", [0x0094] = "\xce\xe5", [0x0095] = "\xbe\xae", + [0x0096] = "\x81\x81", [0x0097] = "\x81\x82", [0x0098] = "\xd8\xa8", + [0x0099] = "\x81\x83", [0x009a] = "\xd1\xc7", [0x009b] = "\xd0\xa9", + [0x009c] = "\x81\x84", [0x009d] = "\x81\x85", [0x009e] = "\x81\x86", + [0x009f] = "\xd8\xbd", [0x00a0] = "\xd9\xef", [0x00a1] = "\xcd\xf6", + [0x00a2] = "\xbf\xba", [0x00a3] = "\x81\x87", [0x00a4] = "\xbd\xbb", + [0x00a5] = "\xba\xa5", [0x00a6] = "\xd2\xe0", [0x00a7] = "\xb2\xfa", + [0x00a8] = "\xba\xe0", [0x00a9] = "\xc4\xb6", [0x00aa] = "\x81\x88", + [0x00ab] = "\xcf\xed", [0x00ac] = "\xbe\xa9", [0x00ad] = "\xcd\xa4", + [0x00ae] = "\xc1\xc1", [0x00af] = "\x81\x89", [0x00b0] = "\x81\x8a", + [0x00b1] = "\x81\x8b", [0x00b2] = "\xc7\xd7", [0x00b3] = "\xd9\xf1", + [0x00b4] = "\x81\x8c", [0x00b5] = "\xd9\xf4", [0x00b6] = "\x81\x8d", + [0x00b7] = "\x81\x8e", [0x00b8] = "\x81\x8f", [0x00b9] = "\x81\x90", + [0x00ba] = "\xc8\xcb", [0x00bb] = "\xd8\xe9", [0x00bc] = "\x81\x91", + [0x00bd] = "\x81\x92", [0x00be] = "\x81\x93", [0x00bf] = "\xd2\xda", + [0x00c0] = "\xca\xb2", [0x00c1] = "\xc8\xca", [0x00c2] = "\xd8\xec", + [0x00c3] = "\xd8\xea", [0x00c4] = "\xd8\xc6", [0x00c5] = "\xbd\xf6", + [0x00c6] = "\xc6\xcd", [0x00c7] = "\xb3\xf0", [0x00c8] = "\x81\x94", + [0x00c9] = "\xd8\xeb", [0x00ca] = "\xbd\xf1", [0x00cb] = "\xbd\xe9", + [0x00cc] = "\x81\x95", [0x00cd] = "\xc8\xd4", [0x00ce] = "\xb4\xd3", + [0x00cf] = "\x81\x96", [0x00d0] = "\x81\x97", [0x00d1] = "\xc2\xd8", + [0x00d2] = "\x81\x98", [0x00d3] = "\xb2\xd6", [0x00d4] = "\xd7\xd0", + [0x00d5] = "\xca\xcb", [0x00d6] = "\xcb\xfb", [0x00d7] = "\xd5\xcc", + [0x00d8] = "\xb8\xb6", [0x00d9] = "\xcf\xc9", [0x00da] = "\x81\x99", + [0x00db] = "\x81\x9a", [0x00dc] = "\x81\x9b", [0x00dd] = "\xd9\xda", + [0x00de] = "\xd8\xf0", [0x00df] = "\xc7\xaa", [0x00e0] = "\x81\x9c", + [0x00e1] = "\xd8\xee", [0x00e2] = "\x81\x9d", [0x00e3] = "\xb4\xfa", + [0x00e4] = "\xc1\xee", [0x00e5] = "\xd2\xd4", [0x00e6] = "\x81\x9e", + [0x00e7] = "\x81\x9f", [0x00e8] = "\xd8\xed", [0x00e9] = "\x81\xa0", + [0x00ea] = "\xd2\xc7", [0x00eb] = "\xd8\xef", [0x00ec] = "\xc3\xc7", + [0x00ed] = "\x81\xa1", [0x00ee] = "\x81\xa2", [0x00ef] = "\x81\xa3", + [0x00f0] = "\xd1\xf6", [0x00f1] = "\x81\xa4", [0x00f2] = "\xd6\xd9", + [0x00f3] = "\xd8\xf2", [0x00f4] = "\x81\xa5", [0x00f5] = "\xd8\xf5", + [0x00f6] = "\xbc\xfe", [0x00f7] = "\xbc\xdb", [0x00f8] = "\x81\xa6", + [0x00f9] = "\x81\xa7", [0x00fa] = "\x81\xa8", [0x00fb] = "\xc8\xce", + [0x00fc] = "\x81\xa9", [0x00fd] = "\xb7\xdd", [0x00fe] = "\x81\xaa", + [0x00ff] = "\xb7\xc2", [0x0100] = "\x81\xab", [0x0101] = "\xc6\xf3", + [0x0102] = "\x81\xac", [0x0103] = "\x81\xad", [0x0104] = "\x81\xae", + [0x0105] = "\x81\xaf", [0x0106] = "\x81\xb0", [0x0107] = "\x81\xb1", + [0x0108] = "\x81\xb2", [0x0109] = "\xd8\xf8", [0x010a] = "\xd2\xc1", + [0x010b] = "\x81\xb3", [0x010c] = "\x81\xb4", [0x010d] = "\xce\xe9", + [0x010e] = "\xbc\xbf", [0x010f] = "\xb7\xfc", [0x0110] = "\xb7\xa5", + [0x0111] = "\xd0\xdd", [0x0112] = "\x81\xb5", [0x0113] = "\x81\xb6", + [0x0114] = "\x81\xb7", [0x0115] = "\x81\xb8", [0x0116] = "\x81\xb9", + [0x0117] = "\xd6\xda", [0x0118] = "\xd3\xc5", [0x0119] = "\xbb\xef", + [0x011a] = "\xbb\xe1", [0x011b] = "\xd8\xf1", [0x011c] = "\x81\xba", + [0x011d] = "\x81\xbb", [0x011e] = "\xc9\xa1", [0x011f] = "\xce\xb0", + [0x0120] = "\xb4\xab", [0x0121] = "\x81\xbc", [0x0122] = "\xd8\xf3", + [0x0123] = "\x81\xbd", [0x0124] = "\xc9\xcb", [0x0125] = "\xd8\xf6", + [0x0126] = "\xc2\xd7", [0x0127] = "\xd8\xf7", [0x0128] = "\x81\xbe", + [0x0129] = "\x81\xbf", [0x012a] = "\xce\xb1", [0x012b] = "\xd8\xf9", + [0x012c] = "\x81\xc0", [0x012d] = "\x81\xc1", [0x012e] = "\x81\xc2", + [0x012f] = "\xb2\xae", [0x0130] = "\xb9\xc0", [0x0131] = "\x81\xc3", + [0x0132] = "\xd9\xa3", [0x0133] = "\x81\xc4", [0x0134] = "\xb0\xe9", + [0x0135] = "\x81\xc5", [0x0136] = "\xc1\xe6", [0x0137] = "\x81\xc6", + [0x0138] = "\xc9\xec", [0x0139] = "\x81\xc7", [0x013a] = "\xcb\xc5", + [0x013b] = "\x81\xc8", [0x013c] = "\xcb\xc6", [0x013d] = "\xd9\xa4", + [0x013e] = "\x81\xc9", [0x013f] = "\x81\xca", [0x0140] = "\x81\xcb", + [0x0141] = "\x81\xcc", [0x0142] = "\x81\xcd", [0x0143] = "\xb5\xe8", + [0x0144] = "\x81\xce", [0x0145] = "\x81\xcf", [0x0146] = "\xb5\xab", + [0x0147] = "\x81\xd0", [0x0148] = "\x81\xd1", [0x0149] = "\x81\xd2", + [0x014a] = "\x81\xd3", [0x014b] = "\x81\xd4", [0x014c] = "\x81\xd5", + [0x014d] = "\xce\xbb", [0x014e] = "\xb5\xcd", [0x014f] = "\xd7\xa1", + [0x0150] = "\xd7\xf4", [0x0151] = "\xd3\xd3", [0x0152] = "\x81\xd6", + [0x0153] = "\xcc\xe5", [0x0154] = "\x81\xd7", [0x0155] = "\xba\xce", + [0x0156] = "\x81\xd8", [0x0157] = "\xd9\xa2", [0x0158] = "\xd9\xdc", + [0x0159] = "\xd3\xe0", [0x015a] = "\xd8\xfd", [0x015b] = "\xb7\xf0", + [0x015c] = "\xd7\xf7", [0x015d] = "\xd8\xfe", [0x015e] = "\xd8\xfa", + [0x015f] = "\xd9\xa1", [0x0160] = "\xc4\xe3", [0x0161] = "\x81\xd9", + [0x0162] = "\x81\xda", [0x0163] = "\xd3\xb6", [0x0164] = "\xd8\xf4", + [0x0165] = "\xd9\xdd", [0x0166] = "\x81\xdb", [0x0167] = "\xd8\xfb", + [0x0168] = "\x81\xdc", [0x0169] = "\xc5\xe5", [0x016a] = "\x81\xdd", + [0x016b] = "\x81\xde", [0x016c] = "\xc0\xd0", [0x016d] = "\x81\xdf", + [0x016e] = "\x81\xe0", [0x016f] = "\xd1\xf0", [0x0170] = "\xb0\xdb", + [0x0171] = "\x81\xe1", [0x0172] = "\x81\xe2", [0x0173] = "\xbc\xd1", + [0x0174] = "\xd9\xa6", [0x0175] = "\x81\xe3", [0x0176] = "\xd9\xa5", + [0x0177] = "\x81\xe4", [0x0178] = "\x81\xe5", [0x0179] = "\x81\xe6", + [0x017a] = "\x81\xe7", [0x017b] = "\xd9\xac", [0x017c] = "\xd9\xae", + [0x017d] = "\x81\xe8", [0x017e] = "\xd9\xab", [0x017f] = "\xca\xb9", + [0x0180] = "\x81\xe9", [0x0181] = "\x81\xea", [0x0182] = "\x81\xeb", + [0x0183] = "\xd9\xa9", [0x0184] = "\xd6\xb6", [0x0185] = "\x81\xec", + [0x0186] = "\x81\xed", [0x0187] = "\x81\xee", [0x0188] = "\xb3\xde", + [0x0189] = "\xd9\xa8", [0x018a] = "\x81\xef", [0x018b] = "\xc0\xfd", + [0x018c] = "\x81\xf0", [0x018d] = "\xca\xcc", [0x018e] = "\x81\xf1", + [0x018f] = "\xd9\xaa", [0x0190] = "\x81\xf2", [0x0191] = "\xd9\xa7", + [0x0192] = "\x81\xf3", [0x0193] = "\x81\xf4", [0x0194] = "\xd9\xb0", + [0x0195] = "\x81\xf5", [0x0196] = "\x81\xf6", [0x0197] = "\xb6\xb1", + [0x0198] = "\x81\xf7", [0x0199] = "\x81\xf8", [0x019a] = "\x81\xf9", + [0x019b] = "\xb9\xa9", [0x019c] = "\x81\xfa", [0x019d] = "\xd2\xc0", + [0x019e] = "\x81\xfb", [0x019f] = "\x81\xfc", [0x01a0] = "\xcf\xc0", + [0x01a1] = "\x81\xfd", [0x01a2] = "\x81\xfe", [0x01a3] = "\xc2\xc2", + [0x01a4] = "\x82\x40", [0x01a5] = "\xbd\xc4", [0x01a6] = "\xd5\xec", + [0x01a7] = "\xb2\xe0", [0x01a8] = "\xc7\xc8", [0x01a9] = "\xbf\xeb", + [0x01aa] = "\xd9\xad", [0x01ab] = "\x82\x41", [0x01ac] = "\xd9\xaf", + [0x01ad] = "\x82\x42", [0x01ae] = "\xce\xea", [0x01af] = "\xba\xee", + [0x01b0] = "\x82\x43", [0x01b1] = "\x82\x44", [0x01b2] = "\x82\x45", + [0x01b3] = "\x82\x46", [0x01b4] = "\x82\x47", [0x01b5] = "\xc7\xd6", + [0x01b6] = "\x82\x48", [0x01b7] = "\x82\x49", [0x01b8] = "\x82\x4a", + [0x01b9] = "\x82\x4b", [0x01ba] = "\x82\x4c", [0x01bb] = "\x82\x4d", + [0x01bc] = "\x82\x4e", [0x01bd] = "\x82\x4f", [0x01be] = "\x82\x50", + [0x01bf] = "\xb1\xe3", [0x01c0] = "\x82\x51", [0x01c1] = "\x82\x52", + [0x01c2] = "\x82\x53", [0x01c3] = "\xb4\xd9", [0x01c4] = "\xb6\xed", + [0x01c5] = "\xd9\xb4", [0x01c6] = "\x82\x54", [0x01c7] = "\x82\x55", + [0x01c8] = "\x82\x56", [0x01c9] = "\x82\x57", [0x01ca] = "\xbf\xa1", + [0x01cb] = "\x82\x58", [0x01cc] = "\x82\x59", [0x01cd] = "\x82\x5a", + [0x01ce] = "\xd9\xde", [0x01cf] = "\xc7\xce", [0x01d0] = "\xc0\xfe", + [0x01d1] = "\xd9\xb8", [0x01d2] = "\x82\x5b", [0x01d3] = "\x82\x5c", + [0x01d4] = "\x82\x5d", [0x01d5] = "\x82\x5e", [0x01d6] = "\x82\x5f", + [0x01d7] = "\xcb\xd7", [0x01d8] = "\xb7\xfd", [0x01d9] = "\x82\x60", + [0x01da] = "\xd9\xb5", [0x01db] = "\x82\x61", [0x01dc] = "\xd9\xb7", + [0x01dd] = "\xb1\xa3", [0x01de] = "\xd3\xe1", [0x01df] = "\xd9\xb9", + [0x01e0] = "\x82\x62", [0x01e1] = "\xd0\xc5", [0x01e2] = "\x82\x63", + [0x01e3] = "\xd9\xb6", [0x01e4] = "\x82\x64", [0x01e5] = "\x82\x65", + [0x01e6] = "\xd9\xb1", [0x01e7] = "\x82\x66", [0x01e8] = "\xd9\xb2", + [0x01e9] = "\xc1\xa9", [0x01ea] = "\xd9\xb3", [0x01eb] = "\x82\x67", + [0x01ec] = "\x82\x68", [0x01ed] = "\xbc\xf3", [0x01ee] = "\xd0\xde", + [0x01ef] = "\xb8\xa9", [0x01f0] = "\x82\x69", [0x01f1] = "\xbe\xe3", + [0x01f2] = "\x82\x6a", [0x01f3] = "\xd9\xbd", [0x01f4] = "\x82\x6b", + [0x01f5] = "\x82\x6c", [0x01f6] = "\x82\x6d", [0x01f7] = "\x82\x6e", + [0x01f8] = "\xd9\xba", [0x01f9] = "\x82\x6f", [0x01fa] = "\xb0\xb3", + [0x01fb] = "\x82\x70", [0x01fc] = "\x82\x71", [0x01fd] = "\x82\x72", + [0x01fe] = "\xd9\xc2", [0x01ff] = "\x82\x73", [0x0200] = "\x82\x74", + [0x0201] = "\x82\x75", [0x0202] = "\x82\x76", [0x0203] = "\x82\x77", + [0x0204] = "\x82\x78", [0x0205] = "\x82\x79", [0x0206] = "\x82\x7a", + [0x0207] = "\x82\x7b", [0x0208] = "\x82\x7c", [0x0209] = "\x82\x7d", + [0x020a] = "\x82\x7e", [0x020b] = "\x82\x80", [0x020c] = "\xd9\xc4", + [0x020d] = "\xb1\xb6", [0x020e] = "\x82\x81", [0x020f] = "\xd9\xbf", + [0x0210] = "\x82\x82", [0x0211] = "\x82\x83", [0x0212] = "\xb5\xb9", + [0x0213] = "\x82\x84", [0x0214] = "\xbe\xf3", [0x0215] = "\x82\x85", + [0x0216] = "\x82\x86", [0x0217] = "\x82\x87", [0x0218] = "\xcc\xc8", + [0x0219] = "\xba\xf2", [0x021a] = "\xd2\xd0", [0x021b] = "\x82\x88", + [0x021c] = "\xd9\xc3", [0x021d] = "\x82\x89", [0x021e] = "\x82\x8a", + [0x021f] = "\xbd\xe8", [0x0220] = "\x82\x8b", [0x0221] = "\xb3\xab", + [0x0222] = "\x82\x8c", [0x0223] = "\x82\x8d", [0x0224] = "\x82\x8e", + [0x0225] = "\xd9\xc5", [0x0226] = "\xbe\xeb", [0x0227] = "\x82\x8f", + [0x0228] = "\xd9\xc6", [0x0229] = "\xd9\xbb", [0x022a] = "\xc4\xdf", + [0x022b] = "\x82\x90", [0x022c] = "\xd9\xbe", [0x022d] = "\xd9\xc1", + [0x022e] = "\xd9\xc0", [0x022f] = "\x82\x91", [0x0230] = "\x82\x92", + [0x0231] = "\x82\x93", [0x0232] = "\x82\x94", [0x0233] = "\x82\x95", + [0x0234] = "\x82\x96", [0x0235] = "\x82\x97", [0x0236] = "\x82\x98", + [0x0237] = "\x82\x99", [0x0238] = "\x82\x9a", [0x0239] = "\x82\x9b", + [0x023a] = "\xd5\xae", [0x023b] = "\x82\x9c", [0x023c] = "\xd6\xb5", + [0x023d] = "\x82\x9d", [0x023e] = "\xc7\xe3", [0x023f] = "\x82\x9e", + [0x0240] = "\x82\x9f", [0x0241] = "\x82\xa0", [0x0242] = "\x82\xa1", + [0x0243] = "\xd9\xc8", [0x0244] = "\x82\xa2", [0x0245] = "\x82\xa3", + [0x0246] = "\x82\xa4", [0x0247] = "\xbc\xd9", [0x0248] = "\xd9\xca", + [0x0249] = "\x82\xa5", [0x024a] = "\x82\xa6", [0x024b] = "\x82\xa7", + [0x024c] = "\xd9\xbc", [0x024d] = "\x82\xa8", [0x024e] = "\xd9\xcb", + [0x024f] = "\xc6\xab", [0x0250] = "\x82\xa9", [0x0251] = "\x82\xaa", + [0x0252] = "\x82\xab", [0x0253] = "\x82\xac", [0x0254] = "\x82\xad", + [0x0255] = "\xd9\xc9", [0x0256] = "\x82\xae", [0x0257] = "\x82\xaf", + [0x0258] = "\x82\xb0", [0x0259] = "\x82\xb1", [0x025a] = "\xd7\xf6", + [0x025b] = "\x82\xb2", [0x025c] = "\xcd\xa3", [0x025d] = "\x82\xb3", + [0x025e] = "\x82\xb4", [0x025f] = "\x82\xb5", [0x0260] = "\x82\xb6", + [0x0261] = "\x82\xb7", [0x0262] = "\x82\xb8", [0x0263] = "\x82\xb9", + [0x0264] = "\x82\xba", [0x0265] = "\xbd\xa1", [0x0266] = "\x82\xbb", + [0x0267] = "\x82\xbc", [0x0268] = "\x82\xbd", [0x0269] = "\x82\xbe", + [0x026a] = "\x82\xbf", [0x026b] = "\x82\xc0", [0x026c] = "\xd9\xcc", + [0x026d] = "\x82\xc1", [0x026e] = "\x82\xc2", [0x026f] = "\x82\xc3", + [0x0270] = "\x82\xc4", [0x0271] = "\x82\xc5", [0x0272] = "\x82\xc6", + [0x0273] = "\x82\xc7", [0x0274] = "\x82\xc8", [0x0275] = "\x82\xc9", + [0x0276] = "\xc5\xbc", [0x0277] = "\xcd\xb5", [0x0278] = "\x82\xca", + [0x0279] = "\x82\xcb", [0x027a] = "\x82\xcc", [0x027b] = "\xd9\xcd", + [0x027c] = "\x82\xcd", [0x027d] = "\x82\xce", [0x027e] = "\xd9\xc7", + [0x027f] = "\xb3\xa5", [0x0280] = "\xbf\xfe", [0x0281] = "\x82\xcf", + [0x0282] = "\x82\xd0", [0x0283] = "\x82\xd1", [0x0284] = "\x82\xd2", + [0x0285] = "\xb8\xb5", [0x0286] = "\x82\xd3", [0x0287] = "\x82\xd4", + [0x0288] = "\xc0\xfc", [0x0289] = "\x82\xd5", [0x028a] = "\x82\xd6", + [0x028b] = "\x82\xd7", [0x028c] = "\x82\xd8", [0x028d] = "\xb0\xf8", + [0x028e] = "\x82\xd9", [0x028f] = "\x82\xda", [0x0290] = "\x82\xdb", + [0x0291] = "\x82\xdc", [0x0292] = "\x82\xdd", [0x0293] = "\x82\xde", + [0x0294] = "\x82\xdf", [0x0295] = "\x82\xe0", [0x0296] = "\x82\xe1", + [0x0297] = "\x82\xe2", [0x0298] = "\x82\xe3", [0x0299] = "\x82\xe4", + [0x029a] = "\x82\xe5", [0x029b] = "\x82\xe6", [0x029c] = "\x82\xe7", + [0x029d] = "\x82\xe8", [0x029e] = "\x82\xe9", [0x029f] = "\x82\xea", + [0x02a0] = "\x82\xeb", [0x02a1] = "\x82\xec", [0x02a2] = "\x82\xed", + [0x02a3] = "\xb4\xf6", [0x02a4] = "\x82\xee", [0x02a5] = "\xd9\xce", + [0x02a6] = "\x82\xef", [0x02a7] = "\xd9\xcf", [0x02a8] = "\xb4\xa2", + [0x02a9] = "\xd9\xd0", [0x02aa] = "\x82\xf0", [0x02ab] = "\x82\xf1", + [0x02ac] = "\xb4\xdf", [0x02ad] = "\x82\xf2", [0x02ae] = "\x82\xf3", + [0x02af] = "\x82\xf4", [0x02b0] = "\x82\xf5", [0x02b1] = "\x82\xf6", + [0x02b2] = "\xb0\xc1", [0x02b3] = "\x82\xf7", [0x02b4] = "\x82\xf8", + [0x02b5] = "\x82\xf9", [0x02b6] = "\x82\xfa", [0x02b7] = "\x82\xfb", + [0x02b8] = "\x82\xfc", [0x02b9] = "\x82\xfd", [0x02ba] = "\xd9\xd1", + [0x02bb] = "\xc9\xb5", [0x02bc] = "\x82\xfe", [0x02bd] = "\x83\x40", + [0x02be] = "\x83\x41", [0x02bf] = "\x83\x42", [0x02c0] = "\x83\x43", + [0x02c1] = "\x83\x44", [0x02c2] = "\x83\x45", [0x02c3] = "\x83\x46", + [0x02c4] = "\x83\x47", [0x02c5] = "\x83\x48", [0x02c6] = "\x83\x49", + [0x02c7] = "\x83\x4a", [0x02c8] = "\x83\x4b", [0x02c9] = "\x83\x4c", + [0x02ca] = "\x83\x4d", [0x02cb] = "\x83\x4e", [0x02cc] = "\x83\x4f", + [0x02cd] = "\x83\x50", [0x02ce] = "\x83\x51", [0x02cf] = "\xcf\xf1", + [0x02d0] = "\x83\x52", [0x02d1] = "\x83\x53", [0x02d2] = "\x83\x54", + [0x02d3] = "\x83\x55", [0x02d4] = "\x83\x56", [0x02d5] = "\x83\x57", + [0x02d6] = "\xd9\xd2", [0x02d7] = "\x83\x58", [0x02d8] = "\x83\x59", + [0x02d9] = "\x83\x5a", [0x02da] = "\xc1\xc5", [0x02db] = "\x83\x5b", + [0x02dc] = "\x83\x5c", [0x02dd] = "\x83\x5d", [0x02de] = "\x83\x5e", + [0x02df] = "\x83\x5f", [0x02e0] = "\x83\x60", [0x02e1] = "\x83\x61", + [0x02e2] = "\x83\x62", [0x02e3] = "\x83\x63", [0x02e4] = "\x83\x64", + [0x02e5] = "\x83\x65", [0x02e6] = "\xd9\xd6", [0x02e7] = "\xc9\xae", + [0x02e8] = "\x83\x66", [0x02e9] = "\x83\x67", [0x02ea] = "\x83\x68", + [0x02eb] = "\x83\x69", [0x02ec] = "\xd9\xd5", [0x02ed] = "\xd9\xd4", + [0x02ee] = "\xd9\xd7", [0x02ef] = "\x83\x6a", [0x02f0] = "\x83\x6b", + [0x02f1] = "\x83\x6c", [0x02f2] = "\x83\x6d", [0x02f3] = "\xcb\xdb", + [0x02f4] = "\x83\x6e", [0x02f5] = "\xbd\xa9", [0x02f6] = "\x83\x6f", + [0x02f7] = "\x83\x70", [0x02f8] = "\x83\x71", [0x02f9] = "\x83\x72", + [0x02fa] = "\x83\x73", [0x02fb] = "\xc6\xa7", [0x02fc] = "\x83\x74", + [0x02fd] = "\x83\x75", [0x02fe] = "\x83\x76", [0x02ff] = "\x83\x77", + [0x0300] = "\x83\x78", [0x0301] = "\x83\x79", [0x0302] = "\x83\x7a", + [0x0303] = "\x83\x7b", [0x0304] = "\x83\x7c", [0x0305] = "\x83\x7d", + [0x0306] = "\xd9\xd3", [0x0307] = "\xd9\xd8", [0x0308] = "\x83\x7e", + [0x0309] = "\x83\x80", [0x030a] = "\x83\x81", [0x030b] = "\xd9\xd9", + [0x030c] = "\x83\x82", [0x030d] = "\x83\x83", [0x030e] = "\x83\x84", + [0x030f] = "\x83\x85", [0x0310] = "\x83\x86", [0x0311] = "\x83\x87", + [0x0312] = "\xc8\xe5", [0x0313] = "\x83\x88", [0x0314] = "\x83\x89", + [0x0315] = "\x83\x8a", [0x0316] = "\x83\x8b", [0x0317] = "\x83\x8c", + [0x0318] = "\x83\x8d", [0x0319] = "\x83\x8e", [0x031a] = "\x83\x8f", + [0x031b] = "\x83\x90", [0x031c] = "\x83\x91", [0x031d] = "\x83\x92", + [0x031e] = "\x83\x93", [0x031f] = "\x83\x94", [0x0320] = "\x83\x95", + [0x0321] = "\xc0\xdc", [0x0322] = "\x83\x96", [0x0323] = "\x83\x97", + [0x0324] = "\x83\x98", [0x0325] = "\x83\x99", [0x0326] = "\x83\x9a", + [0x0327] = "\x83\x9b", [0x0328] = "\x83\x9c", [0x0329] = "\x83\x9d", + [0x032a] = "\x83\x9e", [0x032b] = "\x83\x9f", [0x032c] = "\x83\xa0", + [0x032d] = "\x83\xa1", [0x032e] = "\x83\xa2", [0x032f] = "\x83\xa3", + [0x0330] = "\x83\xa4", [0x0331] = "\x83\xa5", [0x0332] = "\x83\xa6", + [0x0333] = "\x83\xa7", [0x0334] = "\x83\xa8", [0x0335] = "\x83\xa9", + [0x0336] = "\x83\xaa", [0x0337] = "\x83\xab", [0x0338] = "\x83\xac", + [0x0339] = "\x83\xad", [0x033a] = "\x83\xae", [0x033b] = "\x83\xaf", + [0x033c] = "\x83\xb0", [0x033d] = "\x83\xb1", [0x033e] = "\x83\xb2", + [0x033f] = "\xb6\xf9", [0x0340] = "\xd8\xa3", [0x0341] = "\xd4\xca", + [0x0342] = "\x83\xb3", [0x0343] = "\xd4\xaa", [0x0344] = "\xd0\xd6", + [0x0345] = "\xb3\xe4", [0x0346] = "\xd5\xd7", [0x0347] = "\x83\xb4", + [0x0348] = "\xcf\xc8", [0x0349] = "\xb9\xe2", [0x034a] = "\x83\xb5", + [0x034b] = "\xbf\xcb", [0x034c] = "\x83\xb6", [0x034d] = "\xc3\xe2", + [0x034e] = "\x83\xb7", [0x034f] = "\x83\xb8", [0x0350] = "\x83\xb9", + [0x0351] = "\xb6\xd2", [0x0352] = "\x83\xba", [0x0353] = "\x83\xbb", + [0x0354] = "\xcd\xc3", [0x0355] = "\xd9\xee", [0x0356] = "\xd9\xf0", + [0x0357] = "\x83\xbc", [0x0358] = "\x83\xbd", [0x0359] = "\x83\xbe", + [0x035a] = "\xb5\xb3", [0x035b] = "\x83\xbf", [0x035c] = "\xb6\xb5", + [0x035d] = "\x83\xc0", [0x035e] = "\x83\xc1", [0x035f] = "\x83\xc2", + [0x0360] = "\x83\xc3", [0x0361] = "\x83\xc4", [0x0362] = "\xbe\xa4", + [0x0363] = "\x83\xc5", [0x0364] = "\x83\xc6", [0x0365] = "\xc8\xeb", + [0x0366] = "\x83\xc7", [0x0367] = "\x83\xc8", [0x0368] = "\xc8\xab", + [0x0369] = "\x83\xc9", [0x036a] = "\x83\xca", [0x036b] = "\xb0\xcb", + [0x036c] = "\xb9\xab", [0x036d] = "\xc1\xf9", [0x036e] = "\xd9\xe2", + [0x036f] = "\x83\xcb", [0x0370] = "\xc0\xbc", [0x0371] = "\xb9\xb2", + [0x0372] = "\x83\xcc", [0x0373] = "\xb9\xd8", [0x0374] = "\xd0\xcb", + [0x0375] = "\xb1\xf8", [0x0376] = "\xc6\xe4", [0x0377] = "\xbe\xdf", + [0x0378] = "\xb5\xe4", [0x0379] = "\xd7\xc8", [0x037a] = "\x83\xcd", + [0x037b] = "\xd1\xf8", [0x037c] = "\xbc\xe6", [0x037d] = "\xca\xde", + [0x037e] = "\x83\xce", [0x037f] = "\x83\xcf", [0x0380] = "\xbc\xbd", + [0x0381] = "\xd9\xe6", [0x0382] = "\xd8\xe7", [0x0383] = "\x83\xd0", + [0x0384] = "\x83\xd1", [0x0385] = "\xc4\xda", [0x0386] = "\x83\xd2", + [0x0387] = "\x83\xd3", [0x0388] = "\xb8\xd4", [0x0389] = "\xc8\xbd", + [0x038a] = "\x83\xd4", [0x038b] = "\x83\xd5", [0x038c] = "\xb2\xe1", + [0x038d] = "\xd4\xd9", [0x038e] = "\x83\xd6", [0x038f] = "\x83\xd7", + [0x0390] = "\x83\xd8", [0x0391] = "\x83\xd9", [0x0392] = "\xc3\xb0", + [0x0393] = "\x83\xda", [0x0394] = "\x83\xdb", [0x0395] = "\xc3\xe1", + [0x0396] = "\xda\xa2", [0x0397] = "\xc8\xdf", [0x0398] = "\x83\xdc", + [0x0399] = "\xd0\xb4", [0x039a] = "\x83\xdd", [0x039b] = "\xbe\xfc", + [0x039c] = "\xc5\xa9", [0x039d] = "\x83\xde", [0x039e] = "\x83\xdf", + [0x039f] = "\x83\xe0", [0x03a0] = "\xb9\xda", [0x03a1] = "\x83\xe1", + [0x03a2] = "\xda\xa3", [0x03a3] = "\x83\xe2", [0x03a4] = "\xd4\xa9", + [0x03a5] = "\xda\xa4", [0x03a6] = "\x83\xe3", [0x03a7] = "\x83\xe4", + [0x03a8] = "\x83\xe5", [0x03a9] = "\x83\xe6", [0x03aa] = "\x83\xe7", + [0x03ab] = "\xd9\xfb", [0x03ac] = "\xb6\xac", [0x03ad] = "\x83\xe8", + [0x03ae] = "\x83\xe9", [0x03af] = "\xb7\xeb", [0x03b0] = "\xb1\xf9", + [0x03b1] = "\xd9\xfc", [0x03b2] = "\xb3\xe5", [0x03b3] = "\xbe\xf6", + [0x03b4] = "\x83\xea", [0x03b5] = "\xbf\xf6", [0x03b6] = "\xd2\xb1", + [0x03b7] = "\xc0\xe4", [0x03b8] = "\x83\xeb", [0x03b9] = "\x83\xec", + [0x03ba] = "\x83\xed", [0x03bb] = "\xb6\xb3", [0x03bc] = "\xd9\xfe", + [0x03bd] = "\xd9\xfd", [0x03be] = "\x83\xee", [0x03bf] = "\x83\xef", + [0x03c0] = "\xbe\xbb", [0x03c1] = "\x83\xf0", [0x03c2] = "\x83\xf1", + [0x03c3] = "\x83\xf2", [0x03c4] = "\xc6\xe0", [0x03c5] = "\x83\xf3", + [0x03c6] = "\xd7\xbc", [0x03c7] = "\xda\xa1", [0x03c8] = "\x83\xf4", + [0x03c9] = "\xc1\xb9", [0x03ca] = "\x83\xf5", [0x03cb] = "\xb5\xf2", + [0x03cc] = "\xc1\xe8", [0x03cd] = "\x83\xf6", [0x03ce] = "\x83\xf7", + [0x03cf] = "\xbc\xf5", [0x03d0] = "\x83\xf8", [0x03d1] = "\xb4\xd5", + [0x03d2] = "\x83\xf9", [0x03d3] = "\x83\xfa", [0x03d4] = "\x83\xfb", + [0x03d5] = "\x83\xfc", [0x03d6] = "\x83\xfd", [0x03d7] = "\x83\xfe", + [0x03d8] = "\x84\x40", [0x03d9] = "\x84\x41", [0x03da] = "\x84\x42", + [0x03db] = "\xc1\xdd", [0x03dc] = "\x84\x43", [0x03dd] = "\xc4\xfd", + [0x03de] = "\x84\x44", [0x03df] = "\x84\x45", [0x03e0] = "\xbc\xb8", + [0x03e1] = "\xb7\xb2", [0x03e2] = "\x84\x46", [0x03e3] = "\x84\x47", + [0x03e4] = "\xb7\xef", [0x03e5] = "\x84\x48", [0x03e6] = "\x84\x49", + [0x03e7] = "\x84\x4a", [0x03e8] = "\x84\x4b", [0x03e9] = "\x84\x4c", + [0x03ea] = "\x84\x4d", [0x03eb] = "\xd9\xec", [0x03ec] = "\x84\x4e", + [0x03ed] = "\xc6\xbe", [0x03ee] = "\x84\x4f", [0x03ef] = "\xbf\xad", + [0x03f0] = "\xbb\xcb", [0x03f1] = "\x84\x50", [0x03f2] = "\x84\x51", + [0x03f3] = "\xb5\xca", [0x03f4] = "\x84\x52", [0x03f5] = "\xdb\xc9", + [0x03f6] = "\xd0\xd7", [0x03f7] = "\x84\x53", [0x03f8] = "\xcd\xb9", + [0x03f9] = "\xb0\xbc", [0x03fa] = "\xb3\xf6", [0x03fb] = "\xbb\xf7", + [0x03fc] = "\xdb\xca", [0x03fd] = "\xba\xaf", [0x03fe] = "\x84\x54", + [0x03ff] = "\xd4\xe4", [0x0400] = "\xb5\xb6", [0x0401] = "\xb5\xf3", + [0x0402] = "\xd8\xd6", [0x0403] = "\xc8\xd0", [0x0404] = "\x84\x55", + [0x0405] = "\x84\x56", [0x0406] = "\xb7\xd6", [0x0407] = "\xc7\xd0", + [0x0408] = "\xd8\xd7", [0x0409] = "\x84\x57", [0x040a] = "\xbf\xaf", + [0x040b] = "\x84\x58", [0x040c] = "\x84\x59", [0x040d] = "\xdb\xbb", + [0x040e] = "\xd8\xd8", [0x040f] = "\x84\x5a", [0x0410] = "\x84\x5b", + [0x0411] = "\xd0\xcc", [0x0412] = "\xbb\xae", [0x0413] = "\x84\x5c", + [0x0414] = "\x84\x5d", [0x0415] = "\x84\x5e", [0x0416] = "\xeb\xbe", + [0x0417] = "\xc1\xd0", [0x0418] = "\xc1\xf5", [0x0419] = "\xd4\xf2", + [0x041a] = "\xb8\xd5", [0x041b] = "\xb4\xb4", [0x041c] = "\x84\x5f", + [0x041d] = "\xb3\xf5", [0x041e] = "\x84\x60", [0x041f] = "\x84\x61", + [0x0420] = "\xc9\xbe", [0x0421] = "\x84\x62", [0x0422] = "\x84\x63", + [0x0423] = "\x84\x64", [0x0424] = "\xc5\xd0", [0x0425] = "\x84\x65", + [0x0426] = "\x84\x66", [0x0427] = "\x84\x67", [0x0428] = "\xc5\xd9", + [0x0429] = "\xc0\xfb", [0x042a] = "\x84\x68", [0x042b] = "\xb1\xf0", + [0x042c] = "\x84\x69", [0x042d] = "\xd8\xd9", [0x042e] = "\xb9\xce", + [0x042f] = "\x84\x6a", [0x0430] = "\xb5\xbd", [0x0431] = "\x84\x6b", + [0x0432] = "\x84\x6c", [0x0433] = "\xd8\xda", [0x0434] = "\x84\x6d", + [0x0435] = "\x84\x6e", [0x0436] = "\xd6\xc6", [0x0437] = "\xcb\xa2", + [0x0438] = "\xc8\xaf", [0x0439] = "\xc9\xb2", [0x043a] = "\xb4\xcc", + [0x043b] = "\xbf\xcc", [0x043c] = "\x84\x6f", [0x043d] = "\xb9\xf4", + [0x043e] = "\x84\x70", [0x043f] = "\xd8\xdb", [0x0440] = "\xd8\xdc", + [0x0441] = "\xb6\xe7", [0x0442] = "\xbc\xc1", [0x0443] = "\xcc\xea", + [0x0444] = "\x84\x71", [0x0445] = "\x84\x72", [0x0446] = "\x84\x73", + [0x0447] = "\x84\x74", [0x0448] = "\x84\x75", [0x0449] = "\x84\x76", + [0x044a] = "\xcf\xf7", [0x044b] = "\x84\x77", [0x044c] = "\xd8\xdd", + [0x044d] = "\xc7\xb0", [0x044e] = "\x84\x78", [0x044f] = "\x84\x79", + [0x0450] = "\xb9\xd0", [0x0451] = "\xbd\xa3", [0x0452] = "\x84\x7a", + [0x0453] = "\x84\x7b", [0x0454] = "\xcc\xde", [0x0455] = "\x84\x7c", + [0x0456] = "\xc6\xca", [0x0457] = "\x84\x7d", [0x0458] = "\x84\x7e", + [0x0459] = "\x84\x80", [0x045a] = "\x84\x81", [0x045b] = "\x84\x82", + [0x045c] = "\xd8\xe0", [0x045d] = "\x84\x83", [0x045e] = "\xd8\xde", + [0x045f] = "\x84\x84", [0x0460] = "\x84\x85", [0x0461] = "\xd8\xdf", + [0x0462] = "\x84\x86", [0x0463] = "\x84\x87", [0x0464] = "\x84\x88", + [0x0465] = "\xb0\xfe", [0x0466] = "\x84\x89", [0x0467] = "\xbe\xe7", + [0x0468] = "\x84\x8a", [0x0469] = "\xca\xa3", [0x046a] = "\xbc\xf4", + [0x046b] = "\x84\x8b", [0x046c] = "\x84\x8c", [0x046d] = "\x84\x8d", + [0x046e] = "\x84\x8e", [0x046f] = "\xb8\xb1", [0x0470] = "\x84\x8f", + [0x0471] = "\x84\x90", [0x0472] = "\xb8\xee", [0x0473] = "\x84\x91", + [0x0474] = "\x84\x92", [0x0475] = "\x84\x93", [0x0476] = "\x84\x94", + [0x0477] = "\x84\x95", [0x0478] = "\x84\x96", [0x0479] = "\x84\x97", + [0x047a] = "\x84\x98", [0x047b] = "\x84\x99", [0x047c] = "\x84\x9a", + [0x047d] = "\xd8\xe2", [0x047e] = "\x84\x9b", [0x047f] = "\xbd\xcb", + [0x0480] = "\x84\x9c", [0x0481] = "\xd8\xe4", [0x0482] = "\xd8\xe3", + [0x0483] = "\x84\x9d", [0x0484] = "\x84\x9e", [0x0485] = "\x84\x9f", + [0x0486] = "\x84\xa0", [0x0487] = "\x84\xa1", [0x0488] = "\xc5\xfc", + [0x0489] = "\x84\xa2", [0x048a] = "\x84\xa3", [0x048b] = "\x84\xa4", + [0x048c] = "\x84\xa5", [0x048d] = "\x84\xa6", [0x048e] = "\x84\xa7", + [0x048f] = "\x84\xa8", [0x0490] = "\xd8\xe5", [0x0491] = "\x84\xa9", + [0x0492] = "\x84\xaa", [0x0493] = "\xd8\xe6", [0x0494] = "\x84\xab", + [0x0495] = "\x84\xac", [0x0496] = "\x84\xad", [0x0497] = "\x84\xae", + [0x0498] = "\x84\xaf", [0x0499] = "\x84\xb0", [0x049a] = "\x84\xb1", + [0x049b] = "\xc1\xa6", [0x049c] = "\x84\xb2", [0x049d] = "\xc8\xb0", + [0x049e] = "\xb0\xec", [0x049f] = "\xb9\xa6", [0x04a0] = "\xbc\xd3", + [0x04a1] = "\xce\xf1", [0x04a2] = "\xdb\xbd", [0x04a3] = "\xc1\xd3", + [0x04a4] = "\x84\xb3", [0x04a5] = "\x84\xb4", [0x04a6] = "\x84\xb5", + [0x04a7] = "\x84\xb6", [0x04a8] = "\xb6\xaf", [0x04a9] = "\xd6\xfa", + [0x04aa] = "\xc5\xac", [0x04ab] = "\xbd\xd9", [0x04ac] = "\xdb\xbe", + [0x04ad] = "\xdb\xbf", [0x04ae] = "\x84\xb7", [0x04af] = "\x84\xb8", + [0x04b0] = "\x84\xb9", [0x04b1] = "\xc0\xf8", [0x04b2] = "\xbe\xa2", + [0x04b3] = "\xc0\xcd", [0x04b4] = "\x84\xba", [0x04b5] = "\x84\xbb", + [0x04b6] = "\x84\xbc", [0x04b7] = "\x84\xbd", [0x04b8] = "\x84\xbe", + [0x04b9] = "\x84\xbf", [0x04ba] = "\x84\xc0", [0x04bb] = "\x84\xc1", + [0x04bc] = "\x84\xc2", [0x04bd] = "\x84\xc3", [0x04be] = "\xdb\xc0", + [0x04bf] = "\xca\xc6", [0x04c0] = "\x84\xc4", [0x04c1] = "\x84\xc5", + [0x04c2] = "\x84\xc6", [0x04c3] = "\xb2\xaa", [0x04c4] = "\x84\xc7", + [0x04c5] = "\x84\xc8", [0x04c6] = "\x84\xc9", [0x04c7] = "\xd3\xc2", + [0x04c8] = "\x84\xca", [0x04c9] = "\xc3\xe3", [0x04ca] = "\x84\xcb", + [0x04cb] = "\xd1\xab", [0x04cc] = "\x84\xcc", [0x04cd] = "\x84\xcd", + [0x04ce] = "\x84\xce", [0x04cf] = "\x84\xcf", [0x04d0] = "\xdb\xc2", + [0x04d1] = "\x84\xd0", [0x04d2] = "\xc0\xd5", [0x04d3] = "\x84\xd1", + [0x04d4] = "\x84\xd2", [0x04d5] = "\x84\xd3", [0x04d6] = "\xdb\xc3", + [0x04d7] = "\x84\xd4", [0x04d8] = "\xbf\xb1", [0x04d9] = "\x84\xd5", + [0x04da] = "\x84\xd6", [0x04db] = "\x84\xd7", [0x04dc] = "\x84\xd8", + [0x04dd] = "\x84\xd9", [0x04de] = "\x84\xda", [0x04df] = "\xc4\xbc", + [0x04e0] = "\x84\xdb", [0x04e1] = "\x84\xdc", [0x04e2] = "\x84\xdd", + [0x04e3] = "\x84\xde", [0x04e4] = "\xc7\xda", [0x04e5] = "\x84\xdf", + [0x04e6] = "\x84\xe0", [0x04e7] = "\x84\xe1", [0x04e8] = "\x84\xe2", + [0x04e9] = "\x84\xe3", [0x04ea] = "\x84\xe4", [0x04eb] = "\x84\xe5", + [0x04ec] = "\x84\xe6", [0x04ed] = "\x84\xe7", [0x04ee] = "\x84\xe8", + [0x04ef] = "\x84\xe9", [0x04f0] = "\xdb\xc4", [0x04f1] = "\x84\xea", + [0x04f2] = "\x84\xeb", [0x04f3] = "\x84\xec", [0x04f4] = "\x84\xed", + [0x04f5] = "\x84\xee", [0x04f6] = "\x84\xef", [0x04f7] = "\x84\xf0", + [0x04f8] = "\x84\xf1", [0x04f9] = "\xd9\xe8", [0x04fa] = "\xc9\xd7", + [0x04fb] = "\x84\xf2", [0x04fc] = "\x84\xf3", [0x04fd] = "\x84\xf4", + [0x04fe] = "\xb9\xb4", [0x04ff] = "\xce\xf0", [0x0500] = "\xd4\xc8", + [0x0501] = "\x84\xf5", [0x0502] = "\x84\xf6", [0x0503] = "\x84\xf7", + [0x0504] = "\x84\xf8", [0x0505] = "\xb0\xfc", [0x0506] = "\xb4\xd2", + [0x0507] = "\x84\xf9", [0x0508] = "\xd0\xd9", [0x0509] = "\x84\xfa", + [0x050a] = "\x84\xfb", [0x050b] = "\x84\xfc", [0x050c] = "\x84\xfd", + [0x050d] = "\xd9\xe9", [0x050e] = "\x84\xfe", [0x050f] = "\xde\xcb", + [0x0510] = "\xd9\xeb", [0x0511] = "\x85\x40", [0x0512] = "\x85\x41", + [0x0513] = "\x85\x42", [0x0514] = "\x85\x43", [0x0515] = "\xd8\xb0", + [0x0516] = "\xbb\xaf", [0x0517] = "\xb1\xb1", [0x0518] = "\x85\x44", + [0x0519] = "\xb3\xd7", [0x051a] = "\xd8\xce", [0x051b] = "\x85\x45", + [0x051c] = "\x85\x46", [0x051d] = "\xd4\xd1", [0x051e] = "\x85\x47", + [0x051f] = "\x85\x48", [0x0520] = "\xbd\xb3", [0x0521] = "\xbf\xef", + [0x0522] = "\x85\x49", [0x0523] = "\xcf\xbb", [0x0524] = "\x85\x4a", + [0x0525] = "\x85\x4b", [0x0526] = "\xd8\xd0", [0x0527] = "\x85\x4c", + [0x0528] = "\x85\x4d", [0x0529] = "\x85\x4e", [0x052a] = "\xb7\xcb", + [0x052b] = "\x85\x4f", [0x052c] = "\x85\x50", [0x052d] = "\x85\x51", + [0x052e] = "\xd8\xd1", [0x052f] = "\x85\x52", [0x0530] = "\x85\x53", + [0x0531] = "\x85\x54", [0x0532] = "\x85\x55", [0x0533] = "\x85\x56", + [0x0534] = "\x85\x57", [0x0535] = "\x85\x58", [0x0536] = "\x85\x59", + [0x0537] = "\x85\x5a", [0x0538] = "\x85\x5b", [0x0539] = "\xc6\xa5", + [0x053a] = "\xc7\xf8", [0x053b] = "\xd2\xbd", [0x053c] = "\x85\x5c", + [0x053d] = "\x85\x5d", [0x053e] = "\xd8\xd2", [0x053f] = "\xc4\xe4", + [0x0540] = "\x85\x5e", [0x0541] = "\xca\xae", [0x0542] = "\x85\x5f", + [0x0543] = "\xc7\xa7", [0x0544] = "\x85\x60", [0x0545] = "\xd8\xa6", + [0x0546] = "\x85\x61", [0x0547] = "\xc9\xfd", [0x0548] = "\xce\xe7", + [0x0549] = "\xbb\xdc", [0x054a] = "\xb0\xeb", [0x054b] = "\x85\x62", + [0x054c] = "\x85\x63", [0x054d] = "\x85\x64", [0x054e] = "\xbb\xaa", + [0x054f] = "\xd0\xad", [0x0550] = "\x85\x65", [0x0551] = "\xb1\xb0", + [0x0552] = "\xd7\xe4", [0x0553] = "\xd7\xbf", [0x0554] = "\x85\x66", + [0x0555] = "\xb5\xa5", [0x0556] = "\xc2\xf4", [0x0557] = "\xc4\xcf", + [0x0558] = "\x85\x67", [0x0559] = "\x85\x68", [0x055a] = "\xb2\xa9", + [0x055b] = "\x85\x69", [0x055c] = "\xb2\xb7", [0x055d] = "\x85\x6a", + [0x055e] = "\xb1\xe5", [0x055f] = "\xdf\xb2", [0x0560] = "\xd5\xbc", + [0x0561] = "\xbf\xa8", [0x0562] = "\xc2\xac", [0x0563] = "\xd8\xd5", + [0x0564] = "\xc2\xb1", [0x0565] = "\x85\x6b", [0x0566] = "\xd8\xd4", + [0x0567] = "\xce\xd4", [0x0568] = "\x85\x6c", [0x0569] = "\xda\xe0", + [0x056a] = "\x85\x6d", [0x056b] = "\xce\xc0", [0x056c] = "\x85\x6e", + [0x056d] = "\x85\x6f", [0x056e] = "\xd8\xb4", [0x056f] = "\xc3\xae", + [0x0570] = "\xd3\xa1", [0x0571] = "\xce\xa3", [0x0572] = "\x85\x70", + [0x0573] = "\xbc\xb4", [0x0574] = "\xc8\xb4", [0x0575] = "\xc2\xd1", + [0x0576] = "\x85\x71", [0x0577] = "\xbe\xed", [0x0578] = "\xd0\xb6", + [0x0579] = "\x85\x72", [0x057a] = "\xda\xe1", [0x057b] = "\x85\x73", + [0x057c] = "\x85\x74", [0x057d] = "\x85\x75", [0x057e] = "\x85\x76", + [0x057f] = "\xc7\xe4", [0x0580] = "\x85\x77", [0x0581] = "\x85\x78", + [0x0582] = "\xb3\xa7", [0x0583] = "\x85\x79", [0x0584] = "\xb6\xf2", + [0x0585] = "\xcc\xfc", [0x0586] = "\xc0\xfa", [0x0587] = "\x85\x7a", + [0x0588] = "\x85\x7b", [0x0589] = "\xc0\xf7", [0x058a] = "\x85\x7c", + [0x058b] = "\xd1\xb9", [0x058c] = "\xd1\xe1", [0x058d] = "\xd8\xc7", + [0x058e] = "\x85\x7d", [0x058f] = "\x85\x7e", [0x0590] = "\x85\x80", + [0x0591] = "\x85\x81", [0x0592] = "\x85\x82", [0x0593] = "\x85\x83", + [0x0594] = "\x85\x84", [0x0595] = "\xb2\xde", [0x0596] = "\x85\x85", + [0x0597] = "\x85\x86", [0x0598] = "\xc0\xe5", [0x0599] = "\x85\x87", + [0x059a] = "\xba\xf1", [0x059b] = "\x85\x88", [0x059c] = "\x85\x89", + [0x059d] = "\xd8\xc8", [0x059e] = "\x85\x8a", [0x059f] = "\xd4\xad", + [0x05a0] = "\x85\x8b", [0x05a1] = "\x85\x8c", [0x05a2] = "\xcf\xe1", + [0x05a3] = "\xd8\xc9", [0x05a4] = "\x85\x8d", [0x05a5] = "\xd8\xca", + [0x05a6] = "\xcf\xc3", [0x05a7] = "\x85\x8e", [0x05a8] = "\xb3\xf8", + [0x05a9] = "\xbe\xc7", [0x05aa] = "\x85\x8f", [0x05ab] = "\x85\x90", + [0x05ac] = "\x85\x91", [0x05ad] = "\x85\x92", [0x05ae] = "\xd8\xcb", + [0x05af] = "\x85\x93", [0x05b0] = "\x85\x94", [0x05b1] = "\x85\x95", + [0x05b2] = "\x85\x96", [0x05b3] = "\x85\x97", [0x05b4] = "\x85\x98", + [0x05b5] = "\x85\x99", [0x05b6] = "\xdb\xcc", [0x05b7] = "\x85\x9a", + [0x05b8] = "\x85\x9b", [0x05b9] = "\x85\x9c", [0x05ba] = "\x85\x9d", + [0x05bb] = "\xc8\xa5", [0x05bc] = "\x85\x9e", [0x05bd] = "\x85\x9f", + [0x05be] = "\x85\xa0", [0x05bf] = "\xcf\xd8", [0x05c0] = "\x85\xa1", + [0x05c1] = "\xc8\xfe", [0x05c2] = "\xb2\xce", [0x05c3] = "\x85\xa2", + [0x05c4] = "\x85\xa3", [0x05c5] = "\x85\xa4", [0x05c6] = "\x85\xa5", + [0x05c7] = "\x85\xa6", [0x05c8] = "\xd3\xd6", [0x05c9] = "\xb2\xe6", + [0x05ca] = "\xbc\xb0", [0x05cb] = "\xd3\xd1", [0x05cc] = "\xcb\xab", + [0x05cd] = "\xb7\xb4", [0x05ce] = "\x85\xa7", [0x05cf] = "\x85\xa8", + [0x05d0] = "\x85\xa9", [0x05d1] = "\xb7\xa2", [0x05d2] = "\x85\xaa", + [0x05d3] = "\x85\xab", [0x05d4] = "\xca\xe5", [0x05d5] = "\x85\xac", + [0x05d6] = "\xc8\xa1", [0x05d7] = "\xca\xdc", [0x05d8] = "\xb1\xe4", + [0x05d9] = "\xd0\xf0", [0x05da] = "\x85\xad", [0x05db] = "\xc5\xd1", + [0x05dc] = "\x85\xae", [0x05dd] = "\x85\xaf", [0x05de] = "\x85\xb0", + [0x05df] = "\xdb\xc5", [0x05e0] = "\xb5\xfe", [0x05e1] = "\x85\xb1", + [0x05e2] = "\x85\xb2", [0x05e3] = "\xbf\xda", [0x05e4] = "\xb9\xc5", + [0x05e5] = "\xbe\xe4", [0x05e6] = "\xc1\xed", [0x05e7] = "\x85\xb3", + [0x05e8] = "\xdf\xb6", [0x05e9] = "\xdf\xb5", [0x05ea] = "\xd6\xbb", + [0x05eb] = "\xbd\xd0", [0x05ec] = "\xd5\xd9", [0x05ed] = "\xb0\xc8", + [0x05ee] = "\xb6\xa3", [0x05ef] = "\xbf\xc9", [0x05f0] = "\xcc\xa8", + [0x05f1] = "\xdf\xb3", [0x05f2] = "\xca\xb7", [0x05f3] = "\xd3\xd2", + [0x05f4] = "\x85\xb4", [0x05f5] = "\xd8\xcf", [0x05f6] = "\xd2\xb6", + [0x05f7] = "\xba\xc5", [0x05f8] = "\xcb\xbe", [0x05f9] = "\xcc\xbe", + [0x05fa] = "\x85\xb5", [0x05fb] = "\xdf\xb7", [0x05fc] = "\xb5\xf0", + [0x05fd] = "\xdf\xb4", [0x05fe] = "\x85\xb6", [0x05ff] = "\x85\xb7", + [0x0600] = "\x85\xb8", [0x0601] = "\xd3\xf5", [0x0602] = "\x85\xb9", + [0x0603] = "\xb3\xd4", [0x0604] = "\xb8\xf7", [0x0605] = "\x85\xba", + [0x0606] = "\xdf\xba", [0x0607] = "\x85\xbb", [0x0608] = "\xba\xcf", + [0x0609] = "\xbc\xaa", [0x060a] = "\xb5\xf5", [0x060b] = "\x85\xbc", + [0x060c] = "\xcd\xac", [0x060d] = "\xc3\xfb", [0x060e] = "\xba\xf3", + [0x060f] = "\xc0\xf4", [0x0610] = "\xcd\xc2", [0x0611] = "\xcf\xf2", + [0x0612] = "\xdf\xb8", [0x0613] = "\xcf\xc5", [0x0614] = "\x85\xbd", + [0x0615] = "\xc2\xc0", [0x0616] = "\xdf\xb9", [0x0617] = "\xc2\xf0", + [0x0618] = "\x85\xbe", [0x0619] = "\x85\xbf", [0x061a] = "\x85\xc0", + [0x061b] = "\xbe\xfd", [0x061c] = "\x85\xc1", [0x061d] = "\xc1\xdf", + [0x061e] = "\xcd\xcc", [0x061f] = "\xd2\xf7", [0x0620] = "\xb7\xcd", + [0x0621] = "\xdf\xc1", [0x0622] = "\x85\xc2", [0x0623] = "\xdf\xc4", + [0x0624] = "\x85\xc3", [0x0625] = "\x85\xc4", [0x0626] = "\xb7\xf1", + [0x0627] = "\xb0\xc9", [0x0628] = "\xb6\xd6", [0x0629] = "\xb7\xd4", + [0x062a] = "\x85\xc5", [0x062b] = "\xba\xac", [0x062c] = "\xcc\xfd", + [0x062d] = "\xbf\xd4", [0x062e] = "\xcb\xb1", [0x062f] = "\xc6\xf4", + [0x0630] = "\x85\xc6", [0x0631] = "\xd6\xa8", [0x0632] = "\xdf\xc5", + [0x0633] = "\x85\xc7", [0x0634] = "\xce\xe2", [0x0635] = "\xb3\xb3", + [0x0636] = "\x85\xc8", [0x0637] = "\x85\xc9", [0x0638] = "\xce\xfc", + [0x0639] = "\xb4\xb5", [0x063a] = "\x85\xca", [0x063b] = "\xce\xc7", + [0x063c] = "\xba\xf0", [0x063d] = "\x85\xcb", [0x063e] = "\xce\xe1", + [0x063f] = "\x85\xcc", [0x0640] = "\xd1\xbd", [0x0641] = "\x85\xcd", + [0x0642] = "\x85\xce", [0x0643] = "\xdf\xc0", [0x0644] = "\x85\xcf", + [0x0645] = "\x85\xd0", [0x0646] = "\xb4\xf4", [0x0647] = "\x85\xd1", + [0x0648] = "\xb3\xca", [0x0649] = "\x85\xd2", [0x064a] = "\xb8\xe6", + [0x064b] = "\xdf\xbb", [0x064c] = "\x85\xd3", [0x064d] = "\x85\xd4", + [0x064e] = "\x85\xd5", [0x064f] = "\x85\xd6", [0x0650] = "\xc4\xc5", + [0x0651] = "\x85\xd7", [0x0652] = "\xdf\xbc", [0x0653] = "\xdf\xbd", + [0x0654] = "\xdf\xbe", [0x0655] = "\xc5\xbb", [0x0656] = "\xdf\xbf", + [0x0657] = "\xdf\xc2", [0x0658] = "\xd4\xb1", [0x0659] = "\xdf\xc3", + [0x065a] = "\x85\xd8", [0x065b] = "\xc7\xba", [0x065c] = "\xce\xd8", + [0x065d] = "\x85\xd9", [0x065e] = "\x85\xda", [0x065f] = "\x85\xdb", + [0x0660] = "\x85\xdc", [0x0661] = "\x85\xdd", [0x0662] = "\xc4\xd8", + [0x0663] = "\x85\xde", [0x0664] = "\xdf\xca", [0x0665] = "\x85\xdf", + [0x0666] = "\xdf\xcf", [0x0667] = "\x85\xe0", [0x0668] = "\xd6\xdc", + [0x0669] = "\x85\xe1", [0x066a] = "\x85\xe2", [0x066b] = "\x85\xe3", + [0x066c] = "\x85\xe4", [0x066d] = "\x85\xe5", [0x066e] = "\x85\xe6", + [0x066f] = "\x85\xe7", [0x0670] = "\x85\xe8", [0x0671] = "\xdf\xc9", + [0x0672] = "\xdf\xda", [0x0673] = "\xce\xb6", [0x0674] = "\x85\xe9", + [0x0675] = "\xba\xc7", [0x0676] = "\xdf\xce", [0x0677] = "\xdf\xc8", + [0x0678] = "\xc5\xde", [0x0679] = "\x85\xea", [0x067a] = "\x85\xeb", + [0x067b] = "\xc9\xeb", [0x067c] = "\xba\xf4", [0x067d] = "\xc3\xfc", + [0x067e] = "\x85\xec", [0x067f] = "\x85\xed", [0x0680] = "\xbe\xd7", + [0x0681] = "\x85\xee", [0x0682] = "\xdf\xc6", [0x0683] = "\x85\xef", + [0x0684] = "\xdf\xcd", [0x0685] = "\x85\xf0", [0x0686] = "\xc5\xd8", + [0x0687] = "\x85\xf1", [0x0688] = "\x85\xf2", [0x0689] = "\x85\xf3", + [0x068a] = "\x85\xf4", [0x068b] = "\xd5\xa6", [0x068c] = "\xba\xcd", + [0x068d] = "\x85\xf5", [0x068e] = "\xbe\xcc", [0x068f] = "\xd3\xbd", + [0x0690] = "\xb8\xc0", [0x0691] = "\x85\xf6", [0x0692] = "\xd6\xe4", + [0x0693] = "\x85\xf7", [0x0694] = "\xdf\xc7", [0x0695] = "\xb9\xbe", + [0x0696] = "\xbf\xa7", [0x0697] = "\x85\xf8", [0x0698] = "\x85\xf9", + [0x0699] = "\xc1\xfc", [0x069a] = "\xdf\xcb", [0x069b] = "\xdf\xcc", + [0x069c] = "\x85\xfa", [0x069d] = "\xdf\xd0", [0x069e] = "\x85\xfb", + [0x069f] = "\x85\xfc", [0x06a0] = "\x85\xfd", [0x06a1] = "\x85\xfe", + [0x06a2] = "\x86\x40", [0x06a3] = "\xdf\xdb", [0x06a4] = "\xdf\xe5", + [0x06a5] = "\x86\x41", [0x06a6] = "\xdf\xd7", [0x06a7] = "\xdf\xd6", + [0x06a8] = "\xd7\xc9", [0x06a9] = "\xdf\xe3", [0x06aa] = "\xdf\xe4", + [0x06ab] = "\xe5\xeb", [0x06ac] = "\xd2\xa7", [0x06ad] = "\xdf\xd2", + [0x06ae] = "\x86\x42", [0x06af] = "\xbf\xa9", [0x06b0] = "\x86\x43", + [0x06b1] = "\xd4\xdb", [0x06b2] = "\x86\x44", [0x06b3] = "\xbf\xc8", + [0x06b4] = "\xdf\xd4", [0x06b5] = "\x86\x45", [0x06b6] = "\x86\x46", + [0x06b7] = "\x86\x47", [0x06b8] = "\xcf\xcc", [0x06b9] = "\x86\x48", + [0x06ba] = "\x86\x49", [0x06bb] = "\xdf\xdd", [0x06bc] = "\x86\x4a", + [0x06bd] = "\xd1\xca", [0x06be] = "\x86\x4b", [0x06bf] = "\xdf\xde", + [0x06c0] = "\xb0\xa7", [0x06c1] = "\xc6\xb7", [0x06c2] = "\xdf\xd3", + [0x06c3] = "\x86\x4c", [0x06c4] = "\xba\xe5", [0x06c5] = "\x86\x4d", + [0x06c6] = "\xb6\xdf", [0x06c7] = "\xcd\xdb", [0x06c8] = "\xb9\xfe", + [0x06c9] = "\xd4\xd5", [0x06ca] = "\x86\x4e", [0x06cb] = "\x86\x4f", + [0x06cc] = "\xdf\xdf", [0x06cd] = "\xcf\xec", [0x06ce] = "\xb0\xa5", + [0x06cf] = "\xdf\xe7", [0x06d0] = "\xdf\xd1", [0x06d1] = "\xd1\xc6", + [0x06d2] = "\xdf\xd5", [0x06d3] = "\xdf\xd8", [0x06d4] = "\xdf\xd9", + [0x06d5] = "\xdf\xdc", [0x06d6] = "\x86\x50", [0x06d7] = "\xbb\xa9", + [0x06d8] = "\x86\x51", [0x06d9] = "\xdf\xe0", [0x06da] = "\xdf\xe1", + [0x06db] = "\x86\x52", [0x06dc] = "\xdf\xe2", [0x06dd] = "\xdf\xe6", + [0x06de] = "\xdf\xe8", [0x06df] = "\xd3\xb4", [0x06e0] = "\x86\x53", + [0x06e1] = "\x86\x54", [0x06e2] = "\x86\x55", [0x06e3] = "\x86\x56", + [0x06e4] = "\x86\x57", [0x06e5] = "\xb8\xe7", [0x06e6] = "\xc5\xb6", + [0x06e7] = "\xdf\xea", [0x06e8] = "\xc9\xda", [0x06e9] = "\xc1\xa8", + [0x06ea] = "\xc4\xc4", [0x06eb] = "\x86\x58", [0x06ec] = "\x86\x59", + [0x06ed] = "\xbf\xde", [0x06ee] = "\xcf\xf8", [0x06ef] = "\x86\x5a", + [0x06f0] = "\x86\x5b", [0x06f1] = "\x86\x5c", [0x06f2] = "\xd5\xdc", + [0x06f3] = "\xdf\xee", [0x06f4] = "\x86\x5d", [0x06f5] = "\x86\x5e", + [0x06f6] = "\x86\x5f", [0x06f7] = "\x86\x60", [0x06f8] = "\x86\x61", + [0x06f9] = "\x86\x62", [0x06fa] = "\xb2\xb8", [0x06fb] = "\x86\x63", + [0x06fc] = "\xba\xdf", [0x06fd] = "\xdf\xec", [0x06fe] = "\x86\x64", + [0x06ff] = "\xdb\xc1", [0x0700] = "\x86\x65", [0x0701] = "\xd1\xe4", + [0x0702] = "\x86\x66", [0x0703] = "\x86\x67", [0x0704] = "\x86\x68", + [0x0705] = "\x86\x69", [0x0706] = "\xcb\xf4", [0x0707] = "\xb4\xbd", + [0x0708] = "\x86\x6a", [0x0709] = "\xb0\xa6", [0x070a] = "\x86\x6b", + [0x070b] = "\x86\x6c", [0x070c] = "\x86\x6d", [0x070d] = "\x86\x6e", + [0x070e] = "\x86\x6f", [0x070f] = "\xdf\xf1", [0x0710] = "\xcc\xc6", + [0x0711] = "\xdf\xf2", [0x0712] = "\x86\x70", [0x0713] = "\x86\x71", + [0x0714] = "\xdf\xed", [0x0715] = "\x86\x72", [0x0716] = "\x86\x73", + [0x0717] = "\x86\x74", [0x0718] = "\x86\x75", [0x0719] = "\x86\x76", + [0x071a] = "\x86\x77", [0x071b] = "\xdf\xe9", [0x071c] = "\x86\x78", + [0x071d] = "\x86\x79", [0x071e] = "\x86\x7a", [0x071f] = "\x86\x7b", + [0x0720] = "\xdf\xeb", [0x0721] = "\x86\x7c", [0x0722] = "\xdf\xef", + [0x0723] = "\xdf\xf0", [0x0724] = "\xbb\xbd", [0x0725] = "\x86\x7d", + [0x0726] = "\x86\x7e", [0x0727] = "\xdf\xf3", [0x0728] = "\x86\x80", + [0x0729] = "\x86\x81", [0x072a] = "\xdf\xf4", [0x072b] = "\x86\x82", + [0x072c] = "\xbb\xa3", [0x072d] = "\x86\x83", [0x072e] = "\xca\xdb", + [0x072f] = "\xce\xa8", [0x0730] = "\xe0\xa7", [0x0731] = "\xb3\xaa", + [0x0732] = "\x86\x84", [0x0733] = "\xe0\xa6", [0x0734] = "\x86\x85", + [0x0735] = "\x86\x86", [0x0736] = "\x86\x87", [0x0737] = "\xe0\xa1", + [0x0738] = "\x86\x88", [0x0739] = "\x86\x89", [0x073a] = "\x86\x8a", + [0x073b] = "\x86\x8b", [0x073c] = "\xdf\xfe", [0x073d] = "\x86\x8c", + [0x073e] = "\xcd\xd9", [0x073f] = "\xdf\xfc", [0x0740] = "\x86\x8d", + [0x0741] = "\xdf\xfa", [0x0742] = "\x86\x8e", [0x0743] = "\xbf\xd0", + [0x0744] = "\xd7\xc4", [0x0745] = "\x86\x8f", [0x0746] = "\xc9\xcc", + [0x0747] = "\x86\x90", [0x0748] = "\x86\x91", [0x0749] = "\xdf\xf8", + [0x074a] = "\xb0\xa1", [0x074b] = "\x86\x92", [0x074c] = "\x86\x93", + [0x074d] = "\x86\x94", [0x074e] = "\x86\x95", [0x074f] = "\x86\x96", + [0x0750] = "\xdf\xfd", [0x0751] = "\x86\x97", [0x0752] = "\x86\x98", + [0x0753] = "\x86\x99", [0x0754] = "\x86\x9a", [0x0755] = "\xdf\xfb", + [0x0756] = "\xe0\xa2", [0x0757] = "\x86\x9b", [0x0758] = "\x86\x9c", + [0x0759] = "\x86\x9d", [0x075a] = "\x86\x9e", [0x075b] = "\x86\x9f", + [0x075c] = "\xe0\xa8", [0x075d] = "\x86\xa0", [0x075e] = "\x86\xa1", + [0x075f] = "\x86\xa2", [0x0760] = "\x86\xa3", [0x0761] = "\xb7\xc8", + [0x0762] = "\x86\xa4", [0x0763] = "\x86\xa5", [0x0764] = "\xc6\xa1", + [0x0765] = "\xc9\xb6", [0x0766] = "\xc0\xb2", [0x0767] = "\xdf\xf5", + [0x0768] = "\x86\xa6", [0x0769] = "\x86\xa7", [0x076a] = "\xc5\xbe", + [0x076b] = "\x86\xa8", [0x076c] = "\xd8\xc4", [0x076d] = "\xdf\xf9", + [0x076e] = "\xc4\xf6", [0x076f] = "\x86\xa9", [0x0770] = "\x86\xaa", + [0x0771] = "\x86\xab", [0x0772] = "\x86\xac", [0x0773] = "\x86\xad", + [0x0774] = "\x86\xae", [0x0775] = "\xe0\xa3", [0x0776] = "\xe0\xa4", + [0x0777] = "\xe0\xa5", [0x0778] = "\xd0\xa5", [0x0779] = "\x86\xaf", + [0x077a] = "\x86\xb0", [0x077b] = "\xe0\xb4", [0x077c] = "\xcc\xe4", + [0x077d] = "\x86\xb1", [0x077e] = "\xe0\xb1", [0x077f] = "\x86\xb2", + [0x0780] = "\xbf\xa6", [0x0781] = "\xe0\xaf", [0x0782] = "\xce\xb9", + [0x0783] = "\xe0\xab", [0x0784] = "\xc9\xc6", [0x0785] = "\x86\xb3", + [0x0786] = "\x86\xb4", [0x0787] = "\xc0\xae", [0x0788] = "\xe0\xae", + [0x0789] = "\xba\xed", [0x078a] = "\xba\xb0", [0x078b] = "\xe0\xa9", + [0x078c] = "\x86\xb5", [0x078d] = "\x86\xb6", [0x078e] = "\x86\xb7", + [0x078f] = "\xdf\xf6", [0x0790] = "\x86\xb8", [0x0791] = "\xe0\xb3", + [0x0792] = "\x86\xb9", [0x0793] = "\x86\xba", [0x0794] = "\xe0\xb8", + [0x0795] = "\x86\xbb", [0x0796] = "\x86\xbc", [0x0797] = "\x86\xbd", + [0x0798] = "\xb4\xad", [0x0799] = "\xe0\xb9", [0x079a] = "\x86\xbe", + [0x079b] = "\x86\xbf", [0x079c] = "\xcf\xb2", [0x079d] = "\xba\xc8", + [0x079e] = "\x86\xc0", [0x079f] = "\xe0\xb0", [0x07a0] = "\x86\xc1", + [0x07a1] = "\x86\xc2", [0x07a2] = "\x86\xc3", [0x07a3] = "\x86\xc4", + [0x07a4] = "\x86\xc5", [0x07a5] = "\x86\xc6", [0x07a6] = "\x86\xc7", + [0x07a7] = "\xd0\xfa", [0x07a8] = "\x86\xc8", [0x07a9] = "\x86\xc9", + [0x07aa] = "\x86\xca", [0x07ab] = "\x86\xcb", [0x07ac] = "\x86\xcc", + [0x07ad] = "\x86\xcd", [0x07ae] = "\x86\xce", [0x07af] = "\x86\xcf", + [0x07b0] = "\x86\xd0", [0x07b1] = "\xe0\xac", [0x07b2] = "\x86\xd1", + [0x07b3] = "\xd4\xfb", [0x07b4] = "\x86\xd2", [0x07b5] = "\xdf\xf7", + [0x07b6] = "\x86\xd3", [0x07b7] = "\xc5\xe7", [0x07b8] = "\x86\xd4", + [0x07b9] = "\xe0\xad", [0x07ba] = "\x86\xd5", [0x07bb] = "\xd3\xf7", + [0x07bc] = "\x86\xd6", [0x07bd] = "\xe0\xb6", [0x07be] = "\xe0\xb7", + [0x07bf] = "\x86\xd7", [0x07c0] = "\x86\xd8", [0x07c1] = "\x86\xd9", + [0x07c2] = "\x86\xda", [0x07c3] = "\x86\xdb", [0x07c4] = "\xe0\xc4", + [0x07c5] = "\xd0\xe1", [0x07c6] = "\x86\xdc", [0x07c7] = "\x86\xdd", + [0x07c8] = "\x86\xde", [0x07c9] = "\xe0\xbc", [0x07ca] = "\x86\xdf", + [0x07cb] = "\x86\xe0", [0x07cc] = "\xe0\xc9", [0x07cd] = "\xe0\xca", + [0x07ce] = "\x86\xe1", [0x07cf] = "\x86\xe2", [0x07d0] = "\x86\xe3", + [0x07d1] = "\xe0\xbe", [0x07d2] = "\xe0\xaa", [0x07d3] = "\xc9\xa4", + [0x07d4] = "\xe0\xc1", [0x07d5] = "\x86\xe4", [0x07d6] = "\xe0\xb2", + [0x07d7] = "\x86\xe5", [0x07d8] = "\x86\xe6", [0x07d9] = "\x86\xe7", + [0x07da] = "\x86\xe8", [0x07db] = "\x86\xe9", [0x07dc] = "\xca\xc8", + [0x07dd] = "\xe0\xc3", [0x07de] = "\x86\xea", [0x07df] = "\xe0\xb5", + [0x07e0] = "\x86\xeb", [0x07e1] = "\xce\xcb", [0x07e2] = "\x86\xec", + [0x07e3] = "\xcb\xc3", [0x07e4] = "\xe0\xcd", [0x07e5] = "\xe0\xc6", + [0x07e6] = "\xe0\xc2", [0x07e7] = "\x86\xed", [0x07e8] = "\xe0\xcb", + [0x07e9] = "\x86\xee", [0x07ea] = "\xe0\xba", [0x07eb] = "\xe0\xbf", + [0x07ec] = "\xe0\xc0", [0x07ed] = "\x86\xef", [0x07ee] = "\x86\xf0", + [0x07ef] = "\xe0\xc5", [0x07f0] = "\x86\xf1", [0x07f1] = "\x86\xf2", + [0x07f2] = "\xe0\xc7", [0x07f3] = "\xe0\xc8", [0x07f4] = "\x86\xf3", + [0x07f5] = "\xe0\xcc", [0x07f6] = "\x86\xf4", [0x07f7] = "\xe0\xbb", + [0x07f8] = "\x86\xf5", [0x07f9] = "\x86\xf6", [0x07fa] = "\x86\xf7", + [0x07fb] = "\x86\xf8", [0x07fc] = "\x86\xf9", [0x07fd] = "\xcb\xd4", + [0x07fe] = "\xe0\xd5", [0x07ff] = "\x86\xfa", [0x0800] = "\xe0\xd6", + [0x0801] = "\xe0\xd2", [0x0802] = "\x86\xfb", [0x0803] = "\x86\xfc", + [0x0804] = "\x86\xfd", [0x0805] = "\x86\xfe", [0x0806] = "\x87\x40", + [0x0807] = "\x87\x41", [0x0808] = "\xe0\xd0", [0x0809] = "\xbc\xce", + [0x080a] = "\x87\x42", [0x080b] = "\x87\x43", [0x080c] = "\xe0\xd1", + [0x080d] = "\x87\x44", [0x080e] = "\xb8\xc2", [0x080f] = "\xd8\xc5", + [0x0810] = "\x87\x45", [0x0811] = "\x87\x46", [0x0812] = "\x87\x47", + [0x0813] = "\x87\x48", [0x0814] = "\x87\x49", [0x0815] = "\x87\x4a", + [0x0816] = "\x87\x4b", [0x0817] = "\x87\x4c", [0x0818] = "\xd0\xea", + [0x0819] = "\x87\x4d", [0x081a] = "\x87\x4e", [0x081b] = "\xc2\xef", + [0x081c] = "\x87\x4f", [0x081d] = "\x87\x50", [0x081e] = "\xe0\xcf", + [0x081f] = "\xe0\xbd", [0x0820] = "\x87\x51", [0x0821] = "\x87\x52", + [0x0822] = "\x87\x53", [0x0823] = "\xe0\xd4", [0x0824] = "\xe0\xd3", + [0x0825] = "\x87\x54", [0x0826] = "\x87\x55", [0x0827] = "\xe0\xd7", + [0x0828] = "\x87\x56", [0x0829] = "\x87\x57", [0x082a] = "\x87\x58", + [0x082b] = "\x87\x59", [0x082c] = "\xe0\xdc", [0x082d] = "\xe0\xd8", + [0x082e] = "\x87\x5a", [0x082f] = "\x87\x5b", [0x0830] = "\x87\x5c", + [0x0831] = "\xd6\xf6", [0x0832] = "\xb3\xb0", [0x0833] = "\x87\x5d", + [0x0834] = "\xd7\xec", [0x0835] = "\x87\x5e", [0x0836] = "\xcb\xbb", + [0x0837] = "\x87\x5f", [0x0838] = "\x87\x60", [0x0839] = "\xe0\xda", + [0x083a] = "\x87\x61", [0x083b] = "\xce\xfb", [0x083c] = "\x87\x62", + [0x083d] = "\x87\x63", [0x083e] = "\x87\x64", [0x083f] = "\xba\xd9", + [0x0840] = "\x87\x65", [0x0841] = "\x87\x66", [0x0842] = "\x87\x67", + [0x0843] = "\x87\x68", [0x0844] = "\x87\x69", [0x0845] = "\x87\x6a", + [0x0846] = "\x87\x6b", [0x0847] = "\x87\x6c", [0x0848] = "\x87\x6d", + [0x0849] = "\x87\x6e", [0x084a] = "\x87\x6f", [0x084b] = "\x87\x70", + [0x084c] = "\xe0\xe1", [0x084d] = "\xe0\xdd", [0x084e] = "\xd2\xad", + [0x084f] = "\x87\x71", [0x0850] = "\x87\x72", [0x0851] = "\x87\x73", + [0x0852] = "\x87\x74", [0x0853] = "\x87\x75", [0x0854] = "\xe0\xe2", + [0x0855] = "\x87\x76", [0x0856] = "\x87\x77", [0x0857] = "\xe0\xdb", + [0x0858] = "\xe0\xd9", [0x0859] = "\xe0\xdf", [0x085a] = "\x87\x78", + [0x085b] = "\x87\x79", [0x085c] = "\xe0\xe0", [0x085d] = "\x87\x7a", + [0x085e] = "\x87\x7b", [0x085f] = "\x87\x7c", [0x0860] = "\x87\x7d", + [0x0861] = "\x87\x7e", [0x0862] = "\xe0\xde", [0x0863] = "\x87\x80", + [0x0864] = "\xe0\xe4", [0x0865] = "\x87\x81", [0x0866] = "\x87\x82", + [0x0867] = "\x87\x83", [0x0868] = "\xc6\xf7", [0x0869] = "\xd8\xac", + [0x086a] = "\xd4\xeb", [0x086b] = "\xe0\xe6", [0x086c] = "\xca\xc9", + [0x086d] = "\x87\x84", [0x086e] = "\x87\x85", [0x086f] = "\x87\x86", + [0x0870] = "\x87\x87", [0x0871] = "\xe0\xe5", [0x0872] = "\x87\x88", + [0x0873] = "\x87\x89", [0x0874] = "\x87\x8a", [0x0875] = "\x87\x8b", + [0x0876] = "\xb8\xc1", [0x0877] = "\x87\x8c", [0x0878] = "\x87\x8d", + [0x0879] = "\x87\x8e", [0x087a] = "\x87\x8f", [0x087b] = "\xe0\xe7", + [0x087c] = "\xe0\xe8", [0x087d] = "\x87\x90", [0x087e] = "\x87\x91", + [0x087f] = "\x87\x92", [0x0880] = "\x87\x93", [0x0881] = "\x87\x94", + [0x0882] = "\x87\x95", [0x0883] = "\x87\x96", [0x0884] = "\x87\x97", + [0x0885] = "\xe0\xe9", [0x0886] = "\xe0\xe3", [0x0887] = "\x87\x98", + [0x0888] = "\x87\x99", [0x0889] = "\x87\x9a", [0x088a] = "\x87\x9b", + [0x088b] = "\x87\x9c", [0x088c] = "\x87\x9d", [0x088d] = "\x87\x9e", + [0x088e] = "\xba\xbf", [0x088f] = "\xcc\xe7", [0x0890] = "\x87\x9f", + [0x0891] = "\x87\xa0", [0x0892] = "\x87\xa1", [0x0893] = "\xe0\xea", + [0x0894] = "\x87\xa2", [0x0895] = "\x87\xa3", [0x0896] = "\x87\xa4", + [0x0897] = "\x87\xa5", [0x0898] = "\x87\xa6", [0x0899] = "\x87\xa7", + [0x089a] = "\x87\xa8", [0x089b] = "\x87\xa9", [0x089c] = "\x87\xaa", + [0x089d] = "\x87\xab", [0x089e] = "\x87\xac", [0x089f] = "\x87\xad", + [0x08a0] = "\x87\xae", [0x08a1] = "\x87\xaf", [0x08a2] = "\x87\xb0", + [0x08a3] = "\xcf\xf9", [0x08a4] = "\x87\xb1", [0x08a5] = "\x87\xb2", + [0x08a6] = "\x87\xb3", [0x08a7] = "\x87\xb4", [0x08a8] = "\x87\xb5", + [0x08a9] = "\x87\xb6", [0x08aa] = "\x87\xb7", [0x08ab] = "\x87\xb8", + [0x08ac] = "\x87\xb9", [0x08ad] = "\x87\xba", [0x08ae] = "\x87\xbb", + [0x08af] = "\xe0\xeb", [0x08b0] = "\x87\xbc", [0x08b1] = "\x87\xbd", + [0x08b2] = "\x87\xbe", [0x08b3] = "\x87\xbf", [0x08b4] = "\x87\xc0", + [0x08b5] = "\x87\xc1", [0x08b6] = "\x87\xc2", [0x08b7] = "\xc8\xc2", + [0x08b8] = "\x87\xc3", [0x08b9] = "\x87\xc4", [0x08ba] = "\x87\xc5", + [0x08bb] = "\x87\xc6", [0x08bc] = "\xbd\xc0", [0x08bd] = "\x87\xc7", + [0x08be] = "\x87\xc8", [0x08bf] = "\x87\xc9", [0x08c0] = "\x87\xca", + [0x08c1] = "\x87\xcb", [0x08c2] = "\x87\xcc", [0x08c3] = "\x87\xcd", + [0x08c4] = "\x87\xce", [0x08c5] = "\x87\xcf", [0x08c6] = "\x87\xd0", + [0x08c7] = "\x87\xd1", [0x08c8] = "\x87\xd2", [0x08c9] = "\x87\xd3", + [0x08ca] = "\xc4\xd2", [0x08cb] = "\x87\xd4", [0x08cc] = "\x87\xd5", + [0x08cd] = "\x87\xd6", [0x08ce] = "\x87\xd7", [0x08cf] = "\x87\xd8", + [0x08d0] = "\x87\xd9", [0x08d1] = "\x87\xda", [0x08d2] = "\x87\xdb", + [0x08d3] = "\x87\xdc", [0x08d4] = "\xe0\xec", [0x08d5] = "\x87\xdd", + [0x08d6] = "\x87\xde", [0x08d7] = "\xe0\xed", [0x08d8] = "\x87\xdf", + [0x08d9] = "\x87\xe0", [0x08da] = "\xc7\xf4", [0x08db] = "\xcb\xc4", + [0x08dc] = "\x87\xe1", [0x08dd] = "\xe0\xee", [0x08de] = "\xbb\xd8", + [0x08df] = "\xd8\xb6", [0x08e0] = "\xd2\xf2", [0x08e1] = "\xe0\xef", + [0x08e2] = "\xcd\xc5", [0x08e3] = "\x87\xe2", [0x08e4] = "\xb6\xda", + [0x08e5] = "\x87\xe3", [0x08e6] = "\x87\xe4", [0x08e7] = "\x87\xe5", + [0x08e8] = "\x87\xe6", [0x08e9] = "\x87\xe7", [0x08ea] = "\x87\xe8", + [0x08eb] = "\xe0\xf1", [0x08ec] = "\x87\xe9", [0x08ed] = "\xd4\xb0", + [0x08ee] = "\x87\xea", [0x08ef] = "\x87\xeb", [0x08f0] = "\xc0\xa7", + [0x08f1] = "\xb4\xd1", [0x08f2] = "\x87\xec", [0x08f3] = "\x87\xed", + [0x08f4] = "\xce\xa7", [0x08f5] = "\xe0\xf0", [0x08f6] = "\x87\xee", + [0x08f7] = "\x87\xef", [0x08f8] = "\x87\xf0", [0x08f9] = "\xe0\xf2", + [0x08fa] = "\xb9\xcc", [0x08fb] = "\x87\xf1", [0x08fc] = "\x87\xf2", + [0x08fd] = "\xb9\xfa", [0x08fe] = "\xcd\xbc", [0x08ff] = "\xe0\xf3", + [0x0900] = "\x87\xf3", [0x0901] = "\x87\xf4", [0x0902] = "\x87\xf5", + [0x0903] = "\xc6\xd4", [0x0904] = "\xe0\xf4", [0x0905] = "\x87\xf6", + [0x0906] = "\xd4\xb2", [0x0907] = "\x87\xf7", [0x0908] = "\xc8\xa6", + [0x0909] = "\xe0\xf6", [0x090a] = "\xe0\xf5", [0x090b] = "\x87\xf8", + [0x090c] = "\x87\xf9", [0x090d] = "\x87\xfa", [0x090e] = "\x87\xfb", + [0x090f] = "\x87\xfc", [0x0910] = "\x87\xfd", [0x0911] = "\x87\xfe", + [0x0912] = "\x88\x40", [0x0913] = "\x88\x41", [0x0914] = "\x88\x42", + [0x0915] = "\x88\x43", [0x0916] = "\x88\x44", [0x0917] = "\x88\x45", + [0x0918] = "\x88\x46", [0x0919] = "\x88\x47", [0x091a] = "\x88\x48", + [0x091b] = "\x88\x49", [0x091c] = "\xe0\xf7", [0x091d] = "\x88\x4a", + [0x091e] = "\x88\x4b", [0x091f] = "\xcd\xc1", [0x0920] = "\x88\x4c", + [0x0921] = "\x88\x4d", [0x0922] = "\x88\x4e", [0x0923] = "\xca\xa5", + [0x0924] = "\x88\x4f", [0x0925] = "\x88\x50", [0x0926] = "\x88\x51", + [0x0927] = "\x88\x52", [0x0928] = "\xd4\xda", [0x0929] = "\xdb\xd7", + [0x092a] = "\xdb\xd9", [0x092b] = "\x88\x53", [0x092c] = "\xdb\xd8", + [0x092d] = "\xb9\xe7", [0x092e] = "\xdb\xdc", [0x092f] = "\xdb\xdd", + [0x0930] = "\xb5\xd8", [0x0931] = "\x88\x54", [0x0932] = "\x88\x55", + [0x0933] = "\xdb\xda", [0x0934] = "\x88\x56", [0x0935] = "\x88\x57", + [0x0936] = "\x88\x58", [0x0937] = "\x88\x59", [0x0938] = "\x88\x5a", + [0x0939] = "\xdb\xdb", [0x093a] = "\xb3\xa1", [0x093b] = "\xdb\xdf", + [0x093c] = "\x88\x5b", [0x093d] = "\x88\x5c", [0x093e] = "\xbb\xf8", + [0x093f] = "\x88\x5d", [0x0940] = "\xd6\xb7", [0x0941] = "\x88\x5e", + [0x0942] = "\xdb\xe0", [0x0943] = "\x88\x5f", [0x0944] = "\x88\x60", + [0x0945] = "\x88\x61", [0x0946] = "\x88\x62", [0x0947] = "\xbe\xf9", + [0x0948] = "\x88\x63", [0x0949] = "\x88\x64", [0x094a] = "\xb7\xbb", + [0x094b] = "\x88\x65", [0x094c] = "\xdb\xd0", [0x094d] = "\xcc\xae", + [0x094e] = "\xbf\xb2", [0x094f] = "\xbb\xb5", [0x0950] = "\xd7\xf8", + [0x0951] = "\xbf\xd3", [0x0952] = "\x88\x66", [0x0953] = "\x88\x67", + [0x0954] = "\x88\x68", [0x0955] = "\x88\x69", [0x0956] = "\x88\x6a", + [0x0957] = "\xbf\xe9", [0x0958] = "\x88\x6b", [0x0959] = "\x88\x6c", + [0x095a] = "\xbc\xe1", [0x095b] = "\xcc\xb3", [0x095c] = "\xdb\xde", + [0x095d] = "\xb0\xd3", [0x095e] = "\xce\xeb", [0x095f] = "\xb7\xd8", + [0x0960] = "\xd7\xb9", [0x0961] = "\xc6\xc2", [0x0962] = "\x88\x6d", + [0x0963] = "\x88\x6e", [0x0964] = "\xc0\xa4", [0x0965] = "\x88\x6f", + [0x0966] = "\xcc\xb9", [0x0967] = "\x88\x70", [0x0968] = "\xdb\xe7", + [0x0969] = "\xdb\xe1", [0x096a] = "\xc6\xba", [0x096b] = "\xdb\xe3", + [0x096c] = "\x88\x71", [0x096d] = "\xdb\xe8", [0x096e] = "\x88\x72", + [0x096f] = "\xc5\xf7", [0x0970] = "\x88\x73", [0x0971] = "\x88\x74", + [0x0972] = "\x88\x75", [0x0973] = "\xdb\xea", [0x0974] = "\x88\x76", + [0x0975] = "\x88\x77", [0x0976] = "\xdb\xe9", [0x0977] = "\xbf\xc0", + [0x0978] = "\x88\x78", [0x0979] = "\x88\x79", [0x097a] = "\x88\x7a", + [0x097b] = "\xdb\xe6", [0x097c] = "\xdb\xe5", [0x097d] = "\x88\x7b", + [0x097e] = "\x88\x7c", [0x097f] = "\x88\x7d", [0x0980] = "\x88\x7e", + [0x0981] = "\x88\x80", [0x0982] = "\xb4\xb9", [0x0983] = "\xc0\xac", + [0x0984] = "\xc2\xa2", [0x0985] = "\xdb\xe2", [0x0986] = "\xdb\xe4", + [0x0987] = "\x88\x81", [0x0988] = "\x88\x82", [0x0989] = "\x88\x83", + [0x098a] = "\x88\x84", [0x098b] = "\xd0\xcd", [0x098c] = "\xdb\xed", + [0x098d] = "\x88\x85", [0x098e] = "\x88\x86", [0x098f] = "\x88\x87", + [0x0990] = "\x88\x88", [0x0991] = "\x88\x89", [0x0992] = "\xc0\xdd", + [0x0993] = "\xdb\xf2", [0x0994] = "\x88\x8a", [0x0995] = "\x88\x8b", + [0x0996] = "\x88\x8c", [0x0997] = "\x88\x8d", [0x0998] = "\x88\x8e", + [0x0999] = "\x88\x8f", [0x099a] = "\x88\x90", [0x099b] = "\xb6\xe2", + [0x099c] = "\x88\x91", [0x099d] = "\x88\x92", [0x099e] = "\x88\x93", + [0x099f] = "\x88\x94", [0x09a0] = "\xdb\xf3", [0x09a1] = "\xdb\xd2", + [0x09a2] = "\xb9\xb8", [0x09a3] = "\xd4\xab", [0x09a4] = "\xdb\xec", + [0x09a5] = "\x88\x95", [0x09a6] = "\xbf\xd1", [0x09a7] = "\xdb\xf0", + [0x09a8] = "\x88\x96", [0x09a9] = "\xdb\xd1", [0x09aa] = "\x88\x97", + [0x09ab] = "\xb5\xe6", [0x09ac] = "\x88\x98", [0x09ad] = "\xdb\xeb", + [0x09ae] = "\xbf\xe5", [0x09af] = "\x88\x99", [0x09b0] = "\x88\x9a", + [0x09b1] = "\x88\x9b", [0x09b2] = "\xdb\xee", [0x09b3] = "\x88\x9c", + [0x09b4] = "\xdb\xf1", [0x09b5] = "\x88\x9d", [0x09b6] = "\x88\x9e", + [0x09b7] = "\x88\x9f", [0x09b8] = "\xdb\xf9", [0x09b9] = "\x88\xa0", + [0x09ba] = "\x88\xa1", [0x09bb] = "\x88\xa2", [0x09bc] = "\x88\xa3", + [0x09bd] = "\x88\xa4", [0x09be] = "\x88\xa5", [0x09bf] = "\x88\xa6", + [0x09c0] = "\x88\xa7", [0x09c1] = "\x88\xa8", [0x09c2] = "\xb9\xa1", + [0x09c3] = "\xb0\xa3", [0x09c4] = "\x88\xa9", [0x09c5] = "\x88\xaa", + [0x09c6] = "\x88\xab", [0x09c7] = "\x88\xac", [0x09c8] = "\x88\xad", + [0x09c9] = "\x88\xae", [0x09ca] = "\x88\xaf", [0x09cb] = "\xc2\xf1", + [0x09cc] = "\x88\xb0", [0x09cd] = "\x88\xb1", [0x09ce] = "\xb3\xc7", + [0x09cf] = "\xdb\xef", [0x09d0] = "\x88\xb2", [0x09d1] = "\x88\xb3", + [0x09d2] = "\xdb\xf8", [0x09d3] = "\x88\xb4", [0x09d4] = "\xc6\xd2", + [0x09d5] = "\xdb\xf4", [0x09d6] = "\x88\xb5", [0x09d7] = "\x88\xb6", + [0x09d8] = "\xdb\xf5", [0x09d9] = "\xdb\xf7", [0x09da] = "\xdb\xf6", + [0x09db] = "\x88\xb7", [0x09dc] = "\x88\xb8", [0x09dd] = "\xdb\xfe", + [0x09de] = "\x88\xb9", [0x09df] = "\xd3\xf2", [0x09e0] = "\xb2\xba", + [0x09e1] = "\x88\xba", [0x09e2] = "\x88\xbb", [0x09e3] = "\x88\xbc", + [0x09e4] = "\xdb\xfd", [0x09e5] = "\x88\xbd", [0x09e6] = "\x88\xbe", + [0x09e7] = "\x88\xbf", [0x09e8] = "\x88\xc0", [0x09e9] = "\x88\xc1", + [0x09ea] = "\x88\xc2", [0x09eb] = "\x88\xc3", [0x09ec] = "\x88\xc4", + [0x09ed] = "\xdc\xa4", [0x09ee] = "\x88\xc5", [0x09ef] = "\xdb\xfb", + [0x09f0] = "\x88\xc6", [0x09f1] = "\x88\xc7", [0x09f2] = "\x88\xc8", + [0x09f3] = "\x88\xc9", [0x09f4] = "\xdb\xfa", [0x09f5] = "\x88\xca", + [0x09f6] = "\x88\xcb", [0x09f7] = "\x88\xcc", [0x09f8] = "\xdb\xfc", + [0x09f9] = "\xc5\xe0", [0x09fa] = "\xbb\xf9", [0x09fb] = "\x88\xcd", + [0x09fc] = "\x88\xce", [0x09fd] = "\xdc\xa3", [0x09fe] = "\x88\xcf", + [0x09ff] = "\x88\xd0", [0x0a00] = "\xdc\xa5", [0x0a01] = "\x88\xd1", + [0x0a02] = "\xcc\xc3", [0x0a03] = "\x88\xd2", [0x0a04] = "\x88\xd3", + [0x0a05] = "\x88\xd4", [0x0a06] = "\xb6\xd1", [0x0a07] = "\xdd\xc0", + [0x0a08] = "\x88\xd5", [0x0a09] = "\x88\xd6", [0x0a0a] = "\x88\xd7", + [0x0a0b] = "\xdc\xa1", [0x0a0c] = "\x88\xd8", [0x0a0d] = "\xdc\xa2", + [0x0a0e] = "\x88\xd9", [0x0a0f] = "\x88\xda", [0x0a10] = "\x88\xdb", + [0x0a11] = "\xc7\xb5", [0x0a12] = "\x88\xdc", [0x0a13] = "\x88\xdd", + [0x0a14] = "\x88\xde", [0x0a15] = "\xb6\xe9", [0x0a16] = "\x88\xdf", + [0x0a17] = "\x88\xe0", [0x0a18] = "\x88\xe1", [0x0a19] = "\xdc\xa7", + [0x0a1a] = "\x88\xe2", [0x0a1b] = "\x88\xe3", [0x0a1c] = "\x88\xe4", + [0x0a1d] = "\x88\xe5", [0x0a1e] = "\xdc\xa6", [0x0a1f] = "\x88\xe6", + [0x0a20] = "\xdc\xa9", [0x0a21] = "\xb1\xa4", [0x0a22] = "\x88\xe7", + [0x0a23] = "\x88\xe8", [0x0a24] = "\xb5\xcc", [0x0a25] = "\x88\xe9", + [0x0a26] = "\x88\xea", [0x0a27] = "\x88\xeb", [0x0a28] = "\x88\xec", + [0x0a29] = "\x88\xed", [0x0a2a] = "\xbf\xb0", [0x0a2b] = "\x88\xee", + [0x0a2c] = "\x88\xef", [0x0a2d] = "\x88\xf0", [0x0a2e] = "\x88\xf1", + [0x0a2f] = "\x88\xf2", [0x0a30] = "\xd1\xdf", [0x0a31] = "\x88\xf3", + [0x0a32] = "\x88\xf4", [0x0a33] = "\x88\xf5", [0x0a34] = "\x88\xf6", + [0x0a35] = "\xb6\xc2", [0x0a36] = "\x88\xf7", [0x0a37] = "\x88\xf8", + [0x0a38] = "\x88\xf9", [0x0a39] = "\x88\xfa", [0x0a3a] = "\x88\xfb", + [0x0a3b] = "\x88\xfc", [0x0a3c] = "\x88\xfd", [0x0a3d] = "\x88\xfe", + [0x0a3e] = "\x89\x40", [0x0a3f] = "\x89\x41", [0x0a40] = "\x89\x42", + [0x0a41] = "\x89\x43", [0x0a42] = "\x89\x44", [0x0a43] = "\x89\x45", + [0x0a44] = "\xdc\xa8", [0x0a45] = "\x89\x46", [0x0a46] = "\x89\x47", + [0x0a47] = "\x89\x48", [0x0a48] = "\x89\x49", [0x0a49] = "\x89\x4a", + [0x0a4a] = "\x89\x4b", [0x0a4b] = "\x89\x4c", [0x0a4c] = "\xcb\xfa", + [0x0a4d] = "\xeb\xf3", [0x0a4e] = "\x89\x4d", [0x0a4f] = "\x89\x4e", + [0x0a50] = "\x89\x4f", [0x0a51] = "\xcb\xdc", [0x0a52] = "\x89\x50", + [0x0a53] = "\x89\x51", [0x0a54] = "\xcb\xfe", [0x0a55] = "\x89\x52", + [0x0a56] = "\x89\x53", [0x0a57] = "\x89\x54", [0x0a58] = "\xcc\xc1", + [0x0a59] = "\x89\x55", [0x0a5a] = "\x89\x56", [0x0a5b] = "\x89\x57", + [0x0a5c] = "\x89\x58", [0x0a5d] = "\x89\x59", [0x0a5e] = "\xc8\xfb", + [0x0a5f] = "\x89\x5a", [0x0a60] = "\x89\x5b", [0x0a61] = "\x89\x5c", + [0x0a62] = "\x89\x5d", [0x0a63] = "\x89\x5e", [0x0a64] = "\x89\x5f", + [0x0a65] = "\xdc\xaa", [0x0a66] = "\x89\x60", [0x0a67] = "\x89\x61", + [0x0a68] = "\x89\x62", [0x0a69] = "\x89\x63", [0x0a6a] = "\x89\x64", + [0x0a6b] = "\xcc\xee", [0x0a6c] = "\xdc\xab", [0x0a6d] = "\x89\x65", + [0x0a6e] = "\x89\x66", [0x0a6f] = "\x89\x67", [0x0a70] = "\x89\x68", + [0x0a71] = "\x89\x69", [0x0a72] = "\x89\x6a", [0x0a73] = "\x89\x6b", + [0x0a74] = "\x89\x6c", [0x0a75] = "\x89\x6d", [0x0a76] = "\x89\x6e", + [0x0a77] = "\x89\x6f", [0x0a78] = "\x89\x70", [0x0a79] = "\x89\x71", + [0x0a7a] = "\x89\x72", [0x0a7b] = "\x89\x73", [0x0a7c] = "\x89\x74", + [0x0a7d] = "\x89\x75", [0x0a7e] = "\xdb\xd3", [0x0a7f] = "\x89\x76", + [0x0a80] = "\xdc\xaf", [0x0a81] = "\xdc\xac", [0x0a82] = "\x89\x77", + [0x0a83] = "\xbe\xb3", [0x0a84] = "\x89\x78", [0x0a85] = "\xca\xfb", + [0x0a86] = "\x89\x79", [0x0a87] = "\x89\x7a", [0x0a88] = "\x89\x7b", + [0x0a89] = "\xdc\xad", [0x0a8a] = "\x89\x7c", [0x0a8b] = "\x89\x7d", + [0x0a8c] = "\x89\x7e", [0x0a8d] = "\x89\x80", [0x0a8e] = "\x89\x81", + [0x0a8f] = "\x89\x82", [0x0a90] = "\x89\x83", [0x0a91] = "\x89\x84", + [0x0a92] = "\xc9\xca", [0x0a93] = "\xc4\xb9", [0x0a94] = "\x89\x85", + [0x0a95] = "\x89\x86", [0x0a96] = "\x89\x87", [0x0a97] = "\x89\x88", + [0x0a98] = "\x89\x89", [0x0a99] = "\xc7\xbd", [0x0a9a] = "\xdc\xae", + [0x0a9b] = "\x89\x8a", [0x0a9c] = "\x89\x8b", [0x0a9d] = "\x89\x8c", + [0x0a9e] = "\xd4\xf6", [0x0a9f] = "\xd0\xe6", [0x0aa0] = "\x89\x8d", + [0x0aa1] = "\x89\x8e", [0x0aa2] = "\x89\x8f", [0x0aa3] = "\x89\x90", + [0x0aa4] = "\x89\x91", [0x0aa5] = "\x89\x92", [0x0aa6] = "\x89\x93", + [0x0aa7] = "\x89\x94", [0x0aa8] = "\xc4\xab", [0x0aa9] = "\xb6\xd5", + [0x0aaa] = "\x89\x95", [0x0aab] = "\x89\x96", [0x0aac] = "\x89\x97", + [0x0aad] = "\x89\x98", [0x0aae] = "\x89\x99", [0x0aaf] = "\x89\x9a", + [0x0ab0] = "\x89\x9b", [0x0ab1] = "\x89\x9c", [0x0ab2] = "\x89\x9d", + [0x0ab3] = "\x89\x9e", [0x0ab4] = "\x89\x9f", [0x0ab5] = "\x89\xa0", + [0x0ab6] = "\x89\xa1", [0x0ab7] = "\x89\xa2", [0x0ab8] = "\x89\xa3", + [0x0ab9] = "\x89\xa4", [0x0aba] = "\x89\xa5", [0x0abb] = "\x89\xa6", + [0x0abc] = "\xdb\xd4", [0x0abd] = "\x89\xa7", [0x0abe] = "\x89\xa8", + [0x0abf] = "\x89\xa9", [0x0ac0] = "\x89\xaa", [0x0ac1] = "\xb1\xda", + [0x0ac2] = "\x89\xab", [0x0ac3] = "\x89\xac", [0x0ac4] = "\x89\xad", + [0x0ac5] = "\xdb\xd5", [0x0ac6] = "\x89\xae", [0x0ac7] = "\x89\xaf", + [0x0ac8] = "\x89\xb0", [0x0ac9] = "\x89\xb1", [0x0aca] = "\x89\xb2", + [0x0acb] = "\x89\xb3", [0x0acc] = "\x89\xb4", [0x0acd] = "\x89\xb5", + [0x0ace] = "\x89\xb6", [0x0acf] = "\x89\xb7", [0x0ad0] = "\x89\xb8", + [0x0ad1] = "\xdb\xd6", [0x0ad2] = "\x89\xb9", [0x0ad3] = "\x89\xba", + [0x0ad4] = "\x89\xbb", [0x0ad5] = "\xba\xbe", [0x0ad6] = "\x89\xbc", + [0x0ad7] = "\x89\xbd", [0x0ad8] = "\x89\xbe", [0x0ad9] = "\x89\xbf", + [0x0ada] = "\x89\xc0", [0x0adb] = "\x89\xc1", [0x0adc] = "\x89\xc2", + [0x0add] = "\x89\xc3", [0x0ade] = "\x89\xc4", [0x0adf] = "\x89\xc5", + [0x0ae0] = "\x89\xc6", [0x0ae1] = "\x89\xc7", [0x0ae2] = "\x89\xc8", + [0x0ae3] = "\x89\xc9", [0x0ae4] = "\xc8\xc0", [0x0ae5] = "\x89\xca", + [0x0ae6] = "\x89\xcb", [0x0ae7] = "\x89\xcc", [0x0ae8] = "\x89\xcd", + [0x0ae9] = "\x89\xce", [0x0aea] = "\x89\xcf", [0x0aeb] = "\xca\xbf", + [0x0aec] = "\xc8\xc9", [0x0aed] = "\x89\xd0", [0x0aee] = "\xd7\xb3", + [0x0aef] = "\x89\xd1", [0x0af0] = "\xc9\xf9", [0x0af1] = "\x89\xd2", + [0x0af2] = "\x89\xd3", [0x0af3] = "\xbf\xc7", [0x0af4] = "\x89\xd4", + [0x0af5] = "\x89\xd5", [0x0af6] = "\xba\xf8", [0x0af7] = "\x89\xd6", + [0x0af8] = "\x89\xd7", [0x0af9] = "\xd2\xbc", [0x0afa] = "\x89\xd8", + [0x0afb] = "\x89\xd9", [0x0afc] = "\x89\xda", [0x0afd] = "\x89\xdb", + [0x0afe] = "\x89\xdc", [0x0aff] = "\x89\xdd", [0x0b00] = "\x89\xde", + [0x0b01] = "\x89\xdf", [0x0b02] = "\xe2\xba", [0x0b03] = "\x89\xe0", + [0x0b04] = "\xb4\xa6", [0x0b05] = "\x89\xe1", [0x0b06] = "\x89\xe2", + [0x0b07] = "\xb1\xb8", [0x0b08] = "\x89\xe3", [0x0b09] = "\x89\xe4", + [0x0b0a] = "\x89\xe5", [0x0b0b] = "\x89\xe6", [0x0b0c] = "\x89\xe7", + [0x0b0d] = "\xb8\xb4", [0x0b0e] = "\x89\xe8", [0x0b0f] = "\xcf\xc4", + [0x0b10] = "\x89\xe9", [0x0b11] = "\x89\xea", [0x0b12] = "\x89\xeb", + [0x0b13] = "\x89\xec", [0x0b14] = "\xd9\xe7", [0x0b15] = "\xcf\xa6", + [0x0b16] = "\xcd\xe2", [0x0b17] = "\x89\xed", [0x0b18] = "\x89\xee", + [0x0b19] = "\xd9\xed", [0x0b1a] = "\xb6\xe0", [0x0b1b] = "\x89\xef", + [0x0b1c] = "\xd2\xb9", [0x0b1d] = "\x89\xf0", [0x0b1e] = "\x89\xf1", + [0x0b1f] = "\xb9\xbb", [0x0b20] = "\x89\xf2", [0x0b21] = "\x89\xf3", + [0x0b22] = "\x89\xf4", [0x0b23] = "\x89\xf5", [0x0b24] = "\xe2\xb9", + [0x0b25] = "\xe2\xb7", [0x0b26] = "\x89\xf6", [0x0b27] = "\xb4\xf3", + [0x0b28] = "\x89\xf7", [0x0b29] = "\xcc\xec", [0x0b2a] = "\xcc\xab", + [0x0b2b] = "\xb7\xf2", [0x0b2c] = "\x89\xf8", [0x0b2d] = "\xd8\xb2", + [0x0b2e] = "\xd1\xeb", [0x0b2f] = "\xba\xbb", [0x0b30] = "\x89\xf9", + [0x0b31] = "\xca\xa7", [0x0b32] = "\x89\xfa", [0x0b33] = "\x89\xfb", + [0x0b34] = "\xcd\xb7", [0x0b35] = "\x89\xfc", [0x0b36] = "\x89\xfd", + [0x0b37] = "\xd2\xc4", [0x0b38] = "\xbf\xe4", [0x0b39] = "\xbc\xd0", + [0x0b3a] = "\xb6\xe1", [0x0b3b] = "\x89\xfe", [0x0b3c] = "\xde\xc5", + [0x0b3d] = "\x8a\x40", [0x0b3e] = "\x8a\x41", [0x0b3f] = "\x8a\x42", + [0x0b40] = "\x8a\x43", [0x0b41] = "\xde\xc6", [0x0b42] = "\xdb\xbc", + [0x0b43] = "\x8a\x44", [0x0b44] = "\xd1\xd9", [0x0b45] = "\x8a\x45", + [0x0b46] = "\x8a\x46", [0x0b47] = "\xc6\xe6", [0x0b48] = "\xc4\xce", + [0x0b49] = "\xb7\xee", [0x0b4a] = "\x8a\x47", [0x0b4b] = "\xb7\xdc", + [0x0b4c] = "\x8a\x48", [0x0b4d] = "\x8a\x49", [0x0b4e] = "\xbf\xfc", + [0x0b4f] = "\xd7\xe0", [0x0b50] = "\x8a\x4a", [0x0b51] = "\xc6\xf5", + [0x0b52] = "\x8a\x4b", [0x0b53] = "\x8a\x4c", [0x0b54] = "\xb1\xbc", + [0x0b55] = "\xde\xc8", [0x0b56] = "\xbd\xb1", [0x0b57] = "\xcc\xd7", + [0x0b58] = "\xde\xca", [0x0b59] = "\x8a\x4d", [0x0b5a] = "\xde\xc9", + [0x0b5b] = "\x8a\x4e", [0x0b5c] = "\x8a\x4f", [0x0b5d] = "\x8a\x50", + [0x0b5e] = "\x8a\x51", [0x0b5f] = "\x8a\x52", [0x0b60] = "\xb5\xec", + [0x0b61] = "\x8a\x53", [0x0b62] = "\xc9\xdd", [0x0b63] = "\x8a\x54", + [0x0b64] = "\x8a\x55", [0x0b65] = "\xb0\xc2", [0x0b66] = "\x8a\x56", + [0x0b67] = "\x8a\x57", [0x0b68] = "\x8a\x58", [0x0b69] = "\x8a\x59", + [0x0b6a] = "\x8a\x5a", [0x0b6b] = "\x8a\x5b", [0x0b6c] = "\x8a\x5c", + [0x0b6d] = "\x8a\x5d", [0x0b6e] = "\x8a\x5e", [0x0b6f] = "\x8a\x5f", + [0x0b70] = "\x8a\x60", [0x0b71] = "\x8a\x61", [0x0b72] = "\x8a\x62", + [0x0b73] = "\xc5\xae", [0x0b74] = "\xc5\xab", [0x0b75] = "\x8a\x63", + [0x0b76] = "\xc4\xcc", [0x0b77] = "\x8a\x64", [0x0b78] = "\xbc\xe9", + [0x0b79] = "\xcb\xfd", [0x0b7a] = "\x8a\x65", [0x0b7b] = "\x8a\x66", + [0x0b7c] = "\x8a\x67", [0x0b7d] = "\xba\xc3", [0x0b7e] = "\x8a\x68", + [0x0b7f] = "\x8a\x69", [0x0b80] = "\x8a\x6a", [0x0b81] = "\xe5\xf9", + [0x0b82] = "\xc8\xe7", [0x0b83] = "\xe5\xfa", [0x0b84] = "\xcd\xfd", + [0x0b85] = "\x8a\x6b", [0x0b86] = "\xd7\xb1", [0x0b87] = "\xb8\xbe", + [0x0b88] = "\xc2\xe8", [0x0b89] = "\x8a\x6c", [0x0b8a] = "\xc8\xd1", + [0x0b8b] = "\x8a\x6d", [0x0b8c] = "\x8a\x6e", [0x0b8d] = "\xe5\xfb", + [0x0b8e] = "\x8a\x6f", [0x0b8f] = "\x8a\x70", [0x0b90] = "\x8a\x71", + [0x0b91] = "\x8a\x72", [0x0b92] = "\xb6\xca", [0x0b93] = "\xbc\xcb", + [0x0b94] = "\x8a\x73", [0x0b95] = "\x8a\x74", [0x0b96] = "\xd1\xfd", + [0x0b97] = "\xe6\xa1", [0x0b98] = "\x8a\x75", [0x0b99] = "\xc3\xee", + [0x0b9a] = "\x8a\x76", [0x0b9b] = "\x8a\x77", [0x0b9c] = "\x8a\x78", + [0x0b9d] = "\x8a\x79", [0x0b9e] = "\xe6\xa4", [0x0b9f] = "\x8a\x7a", + [0x0ba0] = "\x8a\x7b", [0x0ba1] = "\x8a\x7c", [0x0ba2] = "\x8a\x7d", + [0x0ba3] = "\xe5\xfe", [0x0ba4] = "\xe6\xa5", [0x0ba5] = "\xcd\xd7", + [0x0ba6] = "\x8a\x7e", [0x0ba7] = "\x8a\x80", [0x0ba8] = "\xb7\xc1", + [0x0ba9] = "\xe5\xfc", [0x0baa] = "\xe5\xfd", [0x0bab] = "\xe6\xa3", + [0x0bac] = "\x8a\x81", [0x0bad] = "\x8a\x82", [0x0bae] = "\xc4\xdd", + [0x0baf] = "\xe6\xa8", [0x0bb0] = "\x8a\x83", [0x0bb1] = "\x8a\x84", + [0x0bb2] = "\xe6\xa7", [0x0bb3] = "\x8a\x85", [0x0bb4] = "\x8a\x86", + [0x0bb5] = "\x8a\x87", [0x0bb6] = "\x8a\x88", [0x0bb7] = "\x8a\x89", + [0x0bb8] = "\x8a\x8a", [0x0bb9] = "\xc3\xc3", [0x0bba] = "\x8a\x8b", + [0x0bbb] = "\xc6\xde", [0x0bbc] = "\x8a\x8c", [0x0bbd] = "\x8a\x8d", + [0x0bbe] = "\xe6\xaa", [0x0bbf] = "\x8a\x8e", [0x0bc0] = "\x8a\x8f", + [0x0bc1] = "\x8a\x90", [0x0bc2] = "\x8a\x91", [0x0bc3] = "\x8a\x92", + [0x0bc4] = "\x8a\x93", [0x0bc5] = "\x8a\x94", [0x0bc6] = "\xc4\xb7", + [0x0bc7] = "\x8a\x95", [0x0bc8] = "\x8a\x96", [0x0bc9] = "\x8a\x97", + [0x0bca] = "\xe6\xa2", [0x0bcb] = "\xca\xbc", [0x0bcc] = "\x8a\x98", + [0x0bcd] = "\x8a\x99", [0x0bce] = "\x8a\x9a", [0x0bcf] = "\x8a\x9b", + [0x0bd0] = "\xbd\xe3", [0x0bd1] = "\xb9\xc3", [0x0bd2] = "\xe6\xa6", + [0x0bd3] = "\xd0\xd5", [0x0bd4] = "\xce\xaf", [0x0bd5] = "\x8a\x9c", + [0x0bd6] = "\x8a\x9d", [0x0bd7] = "\xe6\xa9", [0x0bd8] = "\xe6\xb0", + [0x0bd9] = "\x8a\x9e", [0x0bda] = "\xd2\xa6", [0x0bdb] = "\x8a\x9f", + [0x0bdc] = "\xbd\xaa", [0x0bdd] = "\xe6\xad", [0x0bde] = "\x8a\xa0", + [0x0bdf] = "\x8a\xa1", [0x0be0] = "\x8a\xa2", [0x0be1] = "\x8a\xa3", + [0x0be2] = "\x8a\xa4", [0x0be3] = "\xe6\xaf", [0x0be4] = "\x8a\xa5", + [0x0be5] = "\xc0\xd1", [0x0be6] = "\x8a\xa6", [0x0be7] = "\x8a\xa7", + [0x0be8] = "\xd2\xcc", [0x0be9] = "\x8a\xa8", [0x0bea] = "\x8a\xa9", + [0x0beb] = "\x8a\xaa", [0x0bec] = "\xbc\xa7", [0x0bed] = "\x8a\xab", + [0x0bee] = "\x8a\xac", [0x0bef] = "\x8a\xad", [0x0bf0] = "\x8a\xae", + [0x0bf1] = "\x8a\xaf", [0x0bf2] = "\x8a\xb0", [0x0bf3] = "\x8a\xb1", + [0x0bf4] = "\x8a\xb2", [0x0bf5] = "\x8a\xb3", [0x0bf6] = "\x8a\xb4", + [0x0bf7] = "\x8a\xb5", [0x0bf8] = "\x8a\xb6", [0x0bf9] = "\xe6\xb1", + [0x0bfa] = "\x8a\xb7", [0x0bfb] = "\xd2\xf6", [0x0bfc] = "\x8a\xb8", + [0x0bfd] = "\x8a\xb9", [0x0bfe] = "\x8a\xba", [0x0bff] = "\xd7\xcb", + [0x0c00] = "\x8a\xbb", [0x0c01] = "\xcd\xfe", [0x0c02] = "\x8a\xbc", + [0x0c03] = "\xcd\xde", [0x0c04] = "\xc2\xa6", [0x0c05] = "\xe6\xab", + [0x0c06] = "\xe6\xac", [0x0c07] = "\xbd\xbf", [0x0c08] = "\xe6\xae", + [0x0c09] = "\xe6\xb3", [0x0c0a] = "\x8a\xbd", [0x0c0b] = "\x8a\xbe", + [0x0c0c] = "\xe6\xb2", [0x0c0d] = "\x8a\xbf", [0x0c0e] = "\x8a\xc0", + [0x0c0f] = "\x8a\xc1", [0x0c10] = "\x8a\xc2", [0x0c11] = "\xe6\xb6", + [0x0c12] = "\x8a\xc3", [0x0c13] = "\xe6\xb8", [0x0c14] = "\x8a\xc4", + [0x0c15] = "\x8a\xc5", [0x0c16] = "\x8a\xc6", [0x0c17] = "\x8a\xc7", + [0x0c18] = "\xc4\xef", [0x0c19] = "\x8a\xc8", [0x0c1a] = "\x8a\xc9", + [0x0c1b] = "\x8a\xca", [0x0c1c] = "\xc4\xc8", [0x0c1d] = "\x8a\xcb", + [0x0c1e] = "\x8a\xcc", [0x0c1f] = "\xbe\xea", [0x0c20] = "\xc9\xef", + [0x0c21] = "\x8a\xcd", [0x0c22] = "\x8a\xce", [0x0c23] = "\xe6\xb7", + [0x0c24] = "\x8a\xcf", [0x0c25] = "\xb6\xf0", [0x0c26] = "\x8a\xd0", + [0x0c27] = "\x8a\xd1", [0x0c28] = "\x8a\xd2", [0x0c29] = "\xc3\xe4", + [0x0c2a] = "\x8a\xd3", [0x0c2b] = "\x8a\xd4", [0x0c2c] = "\x8a\xd5", + [0x0c2d] = "\x8a\xd6", [0x0c2e] = "\x8a\xd7", [0x0c2f] = "\x8a\xd8", + [0x0c30] = "\x8a\xd9", [0x0c31] = "\xd3\xe9", [0x0c32] = "\xe6\xb4", + [0x0c33] = "\x8a\xda", [0x0c34] = "\xe6\xb5", [0x0c35] = "\x8a\xdb", + [0x0c36] = "\xc8\xa2", [0x0c37] = "\x8a\xdc", [0x0c38] = "\x8a\xdd", + [0x0c39] = "\x8a\xde", [0x0c3a] = "\x8a\xdf", [0x0c3b] = "\x8a\xe0", + [0x0c3c] = "\xe6\xbd", [0x0c3d] = "\x8a\xe1", [0x0c3e] = "\x8a\xe2", + [0x0c3f] = "\x8a\xe3", [0x0c40] = "\xe6\xb9", [0x0c41] = "\x8a\xe4", + [0x0c42] = "\x8a\xe5", [0x0c43] = "\x8a\xe6", [0x0c44] = "\x8a\xe7", + [0x0c45] = "\x8a\xe8", [0x0c46] = "\xc6\xc5", [0x0c47] = "\x8a\xe9", + [0x0c48] = "\x8a\xea", [0x0c49] = "\xcd\xf1", [0x0c4a] = "\xe6\xbb", + [0x0c4b] = "\x8a\xeb", [0x0c4c] = "\x8a\xec", [0x0c4d] = "\x8a\xed", + [0x0c4e] = "\x8a\xee", [0x0c4f] = "\x8a\xef", [0x0c50] = "\x8a\xf0", + [0x0c51] = "\x8a\xf1", [0x0c52] = "\x8a\xf2", [0x0c53] = "\x8a\xf3", + [0x0c54] = "\x8a\xf4", [0x0c55] = "\xe6\xbc", [0x0c56] = "\x8a\xf5", + [0x0c57] = "\x8a\xf6", [0x0c58] = "\x8a\xf7", [0x0c59] = "\x8a\xf8", + [0x0c5a] = "\xbb\xe9", [0x0c5b] = "\x8a\xf9", [0x0c5c] = "\x8a\xfa", + [0x0c5d] = "\x8a\xfb", [0x0c5e] = "\x8a\xfc", [0x0c5f] = "\x8a\xfd", + [0x0c60] = "\x8a\xfe", [0x0c61] = "\x8b\x40", [0x0c62] = "\xe6\xbe", + [0x0c63] = "\x8b\x41", [0x0c64] = "\x8b\x42", [0x0c65] = "\x8b\x43", + [0x0c66] = "\x8b\x44", [0x0c67] = "\xe6\xba", [0x0c68] = "\x8b\x45", + [0x0c69] = "\x8b\x46", [0x0c6a] = "\xc0\xb7", [0x0c6b] = "\x8b\x47", + [0x0c6c] = "\x8b\x48", [0x0c6d] = "\x8b\x49", [0x0c6e] = "\x8b\x4a", + [0x0c6f] = "\x8b\x4b", [0x0c70] = "\x8b\x4c", [0x0c71] = "\x8b\x4d", + [0x0c72] = "\x8b\x4e", [0x0c73] = "\x8b\x4f", [0x0c74] = "\xd3\xa4", + [0x0c75] = "\xe6\xbf", [0x0c76] = "\xc9\xf4", [0x0c77] = "\xe6\xc3", + [0x0c78] = "\x8b\x50", [0x0c79] = "\x8b\x51", [0x0c7a] = "\xe6\xc4", + [0x0c7b] = "\x8b\x52", [0x0c7c] = "\x8b\x53", [0x0c7d] = "\x8b\x54", + [0x0c7e] = "\x8b\x55", [0x0c7f] = "\xd0\xf6", [0x0c80] = "\x8b\x56", + [0x0c81] = "\x8b\x57", [0x0c82] = "\x8b\x58", [0x0c83] = "\x8b\x59", + [0x0c84] = "\x8b\x5a", [0x0c85] = "\x8b\x5b", [0x0c86] = "\x8b\x5c", + [0x0c87] = "\x8b\x5d", [0x0c88] = "\x8b\x5e", [0x0c89] = "\x8b\x5f", + [0x0c8a] = "\x8b\x60", [0x0c8b] = "\x8b\x61", [0x0c8c] = "\x8b\x62", + [0x0c8d] = "\x8b\x63", [0x0c8e] = "\x8b\x64", [0x0c8f] = "\x8b\x65", + [0x0c90] = "\x8b\x66", [0x0c91] = "\x8b\x67", [0x0c92] = "\xc3\xbd", + [0x0c93] = "\x8b\x68", [0x0c94] = "\x8b\x69", [0x0c95] = "\x8b\x6a", + [0x0c96] = "\x8b\x6b", [0x0c97] = "\x8b\x6c", [0x0c98] = "\x8b\x6d", + [0x0c99] = "\x8b\x6e", [0x0c9a] = "\xc3\xc4", [0x0c9b] = "\xe6\xc2", + [0x0c9c] = "\x8b\x6f", [0x0c9d] = "\x8b\x70", [0x0c9e] = "\x8b\x71", + [0x0c9f] = "\x8b\x72", [0x0ca0] = "\x8b\x73", [0x0ca1] = "\x8b\x74", + [0x0ca2] = "\x8b\x75", [0x0ca3] = "\x8b\x76", [0x0ca4] = "\x8b\x77", + [0x0ca5] = "\x8b\x78", [0x0ca6] = "\x8b\x79", [0x0ca7] = "\x8b\x7a", + [0x0ca8] = "\x8b\x7b", [0x0ca9] = "\x8b\x7c", [0x0caa] = "\xe6\xc1", + [0x0cab] = "\x8b\x7d", [0x0cac] = "\x8b\x7e", [0x0cad] = "\x8b\x80", + [0x0cae] = "\x8b\x81", [0x0caf] = "\x8b\x82", [0x0cb0] = "\x8b\x83", + [0x0cb1] = "\x8b\x84", [0x0cb2] = "\xe6\xc7", [0x0cb3] = "\xcf\xb1", + [0x0cb4] = "\x8b\x85", [0x0cb5] = "\xeb\xf4", [0x0cb6] = "\x8b\x86", + [0x0cb7] = "\x8b\x87", [0x0cb8] = "\xe6\xca", [0x0cb9] = "\x8b\x88", + [0x0cba] = "\x8b\x89", [0x0cbb] = "\x8b\x8a", [0x0cbc] = "\x8b\x8b", + [0x0cbd] = "\x8b\x8c", [0x0cbe] = "\xe6\xc5", [0x0cbf] = "\x8b\x8d", + [0x0cc0] = "\x8b\x8e", [0x0cc1] = "\xbc\xde", [0x0cc2] = "\xc9\xa9", + [0x0cc3] = "\x8b\x8f", [0x0cc4] = "\x8b\x90", [0x0cc5] = "\x8b\x91", + [0x0cc6] = "\x8b\x92", [0x0cc7] = "\x8b\x93", [0x0cc8] = "\x8b\x94", + [0x0cc9] = "\xbc\xb5", [0x0cca] = "\x8b\x95", [0x0ccb] = "\x8b\x96", + [0x0ccc] = "\xcf\xd3", [0x0ccd] = "\x8b\x97", [0x0cce] = "\x8b\x98", + [0x0ccf] = "\x8b\x99", [0x0cd0] = "\x8b\x9a", [0x0cd1] = "\x8b\x9b", + [0x0cd2] = "\xe6\xc8", [0x0cd3] = "\x8b\x9c", [0x0cd4] = "\xe6\xc9", + [0x0cd5] = "\x8b\x9d", [0x0cd6] = "\xe6\xce", [0x0cd7] = "\x8b\x9e", + [0x0cd8] = "\xe6\xd0", [0x0cd9] = "\x8b\x9f", [0x0cda] = "\x8b\xa0", + [0x0cdb] = "\x8b\xa1", [0x0cdc] = "\xe6\xd1", [0x0cdd] = "\x8b\xa2", + [0x0cde] = "\x8b\xa3", [0x0cdf] = "\x8b\xa4", [0x0ce0] = "\xe6\xcb", + [0x0ce1] = "\xb5\xd5", [0x0ce2] = "\x8b\xa5", [0x0ce3] = "\xe6\xcc", + [0x0ce4] = "\x8b\xa6", [0x0ce5] = "\x8b\xa7", [0x0ce6] = "\xe6\xcf", + [0x0ce7] = "\x8b\xa8", [0x0ce8] = "\x8b\xa9", [0x0ce9] = "\xc4\xdb", + [0x0cea] = "\x8b\xaa", [0x0ceb] = "\xe6\xc6", [0x0cec] = "\x8b\xab", + [0x0ced] = "\x8b\xac", [0x0cee] = "\x8b\xad", [0x0cef] = "\x8b\xae", + [0x0cf0] = "\x8b\xaf", [0x0cf1] = "\xe6\xcd", [0x0cf2] = "\x8b\xb0", + [0x0cf3] = "\x8b\xb1", [0x0cf4] = "\x8b\xb2", [0x0cf5] = "\x8b\xb3", + [0x0cf6] = "\x8b\xb4", [0x0cf7] = "\x8b\xb5", [0x0cf8] = "\x8b\xb6", + [0x0cf9] = "\x8b\xb7", [0x0cfa] = "\x8b\xb8", [0x0cfb] = "\x8b\xb9", + [0x0cfc] = "\x8b\xba", [0x0cfd] = "\x8b\xbb", [0x0cfe] = "\x8b\xbc", + [0x0cff] = "\x8b\xbd", [0x0d00] = "\x8b\xbe", [0x0d01] = "\x8b\xbf", + [0x0d02] = "\x8b\xc0", [0x0d03] = "\x8b\xc1", [0x0d04] = "\x8b\xc2", + [0x0d05] = "\x8b\xc3", [0x0d06] = "\x8b\xc4", [0x0d07] = "\x8b\xc5", + [0x0d08] = "\x8b\xc6", [0x0d09] = "\xe6\xd2", [0x0d0a] = "\x8b\xc7", + [0x0d0b] = "\x8b\xc8", [0x0d0c] = "\x8b\xc9", [0x0d0d] = "\x8b\xca", + [0x0d0e] = "\x8b\xcb", [0x0d0f] = "\x8b\xcc", [0x0d10] = "\x8b\xcd", + [0x0d11] = "\x8b\xce", [0x0d12] = "\x8b\xcf", [0x0d13] = "\x8b\xd0", + [0x0d14] = "\x8b\xd1", [0x0d15] = "\x8b\xd2", [0x0d16] = "\xe6\xd4", + [0x0d17] = "\xe6\xd3", [0x0d18] = "\x8b\xd3", [0x0d19] = "\x8b\xd4", + [0x0d1a] = "\x8b\xd5", [0x0d1b] = "\x8b\xd6", [0x0d1c] = "\x8b\xd7", + [0x0d1d] = "\x8b\xd8", [0x0d1e] = "\x8b\xd9", [0x0d1f] = "\x8b\xda", + [0x0d20] = "\x8b\xdb", [0x0d21] = "\x8b\xdc", [0x0d22] = "\x8b\xdd", + [0x0d23] = "\x8b\xde", [0x0d24] = "\x8b\xdf", [0x0d25] = "\x8b\xe0", + [0x0d26] = "\x8b\xe1", [0x0d27] = "\x8b\xe2", [0x0d28] = "\x8b\xe3", + [0x0d29] = "\x8b\xe4", [0x0d2a] = "\x8b\xe5", [0x0d2b] = "\x8b\xe6", + [0x0d2c] = "\x8b\xe7", [0x0d2d] = "\x8b\xe8", [0x0d2e] = "\x8b\xe9", + [0x0d2f] = "\x8b\xea", [0x0d30] = "\x8b\xeb", [0x0d31] = "\x8b\xec", + [0x0d32] = "\xe6\xd5", [0x0d33] = "\x8b\xed", [0x0d34] = "\xd9\xf8", + [0x0d35] = "\x8b\xee", [0x0d36] = "\x8b\xef", [0x0d37] = "\xe6\xd6", + [0x0d38] = "\x8b\xf0", [0x0d39] = "\x8b\xf1", [0x0d3a] = "\x8b\xf2", + [0x0d3b] = "\x8b\xf3", [0x0d3c] = "\x8b\xf4", [0x0d3d] = "\x8b\xf5", + [0x0d3e] = "\x8b\xf6", [0x0d3f] = "\x8b\xf7", [0x0d40] = "\xe6\xd7", + [0x0d41] = "\x8b\xf8", [0x0d42] = "\x8b\xf9", [0x0d43] = "\x8b\xfa", + [0x0d44] = "\x8b\xfb", [0x0d45] = "\x8b\xfc", [0x0d46] = "\x8b\xfd", + [0x0d47] = "\x8b\xfe", [0x0d48] = "\x8c\x40", [0x0d49] = "\x8c\x41", + [0x0d4a] = "\x8c\x42", [0x0d4b] = "\x8c\x43", [0x0d4c] = "\x8c\x44", + [0x0d4d] = "\x8c\x45", [0x0d4e] = "\x8c\x46", [0x0d4f] = "\x8c\x47", + [0x0d50] = "\xd7\xd3", [0x0d51] = "\xe6\xdd", [0x0d52] = "\x8c\x48", + [0x0d53] = "\xe6\xde", [0x0d54] = "\xbf\xd7", [0x0d55] = "\xd4\xd0", + [0x0d56] = "\x8c\x49", [0x0d57] = "\xd7\xd6", [0x0d58] = "\xb4\xe6", + [0x0d59] = "\xcb\xef", [0x0d5a] = "\xe6\xda", [0x0d5b] = "\xd8\xc3", + [0x0d5c] = "\xd7\xce", [0x0d5d] = "\xd0\xa2", [0x0d5e] = "\x8c\x4a", + [0x0d5f] = "\xc3\xcf", [0x0d60] = "\x8c\x4b", [0x0d61] = "\x8c\x4c", + [0x0d62] = "\xe6\xdf", [0x0d63] = "\xbc\xbe", [0x0d64] = "\xb9\xc2", + [0x0d65] = "\xe6\xdb", [0x0d66] = "\xd1\xa7", [0x0d67] = "\x8c\x4d", + [0x0d68] = "\x8c\x4e", [0x0d69] = "\xba\xa2", [0x0d6a] = "\xc2\xcf", + [0x0d6b] = "\x8c\x4f", [0x0d6c] = "\xd8\xab", [0x0d6d] = "\x8c\x50", + [0x0d6e] = "\x8c\x51", [0x0d6f] = "\x8c\x52", [0x0d70] = "\xca\xeb", + [0x0d71] = "\xe5\xee", [0x0d72] = "\x8c\x53", [0x0d73] = "\xe6\xdc", + [0x0d74] = "\x8c\x54", [0x0d75] = "\xb7\xf5", [0x0d76] = "\x8c\x55", + [0x0d77] = "\x8c\x56", [0x0d78] = "\x8c\x57", [0x0d79] = "\x8c\x58", + [0x0d7a] = "\xc8\xe6", [0x0d7b] = "\x8c\x59", [0x0d7c] = "\x8c\x5a", + [0x0d7d] = "\xc4\xf5", [0x0d7e] = "\x8c\x5b", [0x0d7f] = "\x8c\x5c", + [0x0d80] = "\xe5\xb2", [0x0d81] = "\xc4\xfe", [0x0d82] = "\x8c\x5d", + [0x0d83] = "\xcb\xfc", [0x0d84] = "\xe5\xb3", [0x0d85] = "\xd5\xac", + [0x0d86] = "\x8c\x5e", [0x0d87] = "\xd3\xee", [0x0d88] = "\xca\xd8", + [0x0d89] = "\xb0\xb2", [0x0d8a] = "\x8c\x5f", [0x0d8b] = "\xcb\xce", + [0x0d8c] = "\xcd\xea", [0x0d8d] = "\x8c\x60", [0x0d8e] = "\x8c\x61", + [0x0d8f] = "\xba\xea", [0x0d90] = "\x8c\x62", [0x0d91] = "\x8c\x63", + [0x0d92] = "\x8c\x64", [0x0d93] = "\xe5\xb5", [0x0d94] = "\x8c\x65", + [0x0d95] = "\xe5\xb4", [0x0d96] = "\x8c\x66", [0x0d97] = "\xd7\xda", + [0x0d98] = "\xb9\xd9", [0x0d99] = "\xd6\xe6", [0x0d9a] = "\xb6\xa8", + [0x0d9b] = "\xcd\xf0", [0x0d9c] = "\xd2\xcb", [0x0d9d] = "\xb1\xa6", + [0x0d9e] = "\xca\xb5", [0x0d9f] = "\x8c\x67", [0x0da0] = "\xb3\xe8", + [0x0da1] = "\xc9\xf3", [0x0da2] = "\xbf\xcd", [0x0da3] = "\xd0\xfb", + [0x0da4] = "\xca\xd2", [0x0da5] = "\xe5\xb6", [0x0da6] = "\xbb\xc2", + [0x0da7] = "\x8c\x68", [0x0da8] = "\x8c\x69", [0x0da9] = "\x8c\x6a", + [0x0daa] = "\xcf\xdc", [0x0dab] = "\xb9\xac", [0x0dac] = "\x8c\x6b", + [0x0dad] = "\x8c\x6c", [0x0dae] = "\x8c\x6d", [0x0daf] = "\x8c\x6e", + [0x0db0] = "\xd4\xd7", [0x0db1] = "\x8c\x6f", [0x0db2] = "\x8c\x70", + [0x0db3] = "\xba\xa6", [0x0db4] = "\xd1\xe7", [0x0db5] = "\xcf\xfc", + [0x0db6] = "\xbc\xd2", [0x0db7] = "\x8c\x71", [0x0db8] = "\xe5\xb7", + [0x0db9] = "\xc8\xdd", [0x0dba] = "\x8c\x72", [0x0dbb] = "\x8c\x73", + [0x0dbc] = "\x8c\x74", [0x0dbd] = "\xbf\xed", [0x0dbe] = "\xb1\xf6", + [0x0dbf] = "\xcb\xde", [0x0dc0] = "\x8c\x75", [0x0dc1] = "\x8c\x76", + [0x0dc2] = "\xbc\xc5", [0x0dc3] = "\x8c\x77", [0x0dc4] = "\xbc\xc4", + [0x0dc5] = "\xd2\xfa", [0x0dc6] = "\xc3\xdc", [0x0dc7] = "\xbf\xdc", + [0x0dc8] = "\x8c\x78", [0x0dc9] = "\x8c\x79", [0x0dca] = "\x8c\x7a", + [0x0dcb] = "\x8c\x7b", [0x0dcc] = "\xb8\xbb", [0x0dcd] = "\x8c\x7c", + [0x0dce] = "\x8c\x7d", [0x0dcf] = "\x8c\x7e", [0x0dd0] = "\xc3\xc2", + [0x0dd1] = "\x8c\x80", [0x0dd2] = "\xba\xae", [0x0dd3] = "\xd4\xa2", + [0x0dd4] = "\x8c\x81", [0x0dd5] = "\x8c\x82", [0x0dd6] = "\x8c\x83", + [0x0dd7] = "\x8c\x84", [0x0dd8] = "\x8c\x85", [0x0dd9] = "\x8c\x86", + [0x0dda] = "\x8c\x87", [0x0ddb] = "\x8c\x88", [0x0ddc] = "\x8c\x89", + [0x0ddd] = "\xc7\xde", [0x0dde] = "\xc4\xaf", [0x0ddf] = "\xb2\xec", + [0x0de0] = "\x8c\x8a", [0x0de1] = "\xb9\xd1", [0x0de2] = "\x8c\x8b", + [0x0de3] = "\x8c\x8c", [0x0de4] = "\xe5\xbb", [0x0de5] = "\xc1\xc8", + [0x0de6] = "\x8c\x8d", [0x0de7] = "\x8c\x8e", [0x0de8] = "\xd5\xaf", + [0x0de9] = "\x8c\x8f", [0x0dea] = "\x8c\x90", [0x0deb] = "\x8c\x91", + [0x0dec] = "\x8c\x92", [0x0ded] = "\x8c\x93", [0x0dee] = "\xe5\xbc", + [0x0def] = "\x8c\x94", [0x0df0] = "\xe5\xbe", [0x0df1] = "\x8c\x95", + [0x0df2] = "\x8c\x96", [0x0df3] = "\x8c\x97", [0x0df4] = "\x8c\x98", + [0x0df5] = "\x8c\x99", [0x0df6] = "\x8c\x9a", [0x0df7] = "\x8c\x9b", + [0x0df8] = "\xb4\xe7", [0x0df9] = "\xb6\xd4", [0x0dfa] = "\xcb\xc2", + [0x0dfb] = "\xd1\xb0", [0x0dfc] = "\xb5\xbc", [0x0dfd] = "\x8c\x9c", + [0x0dfe] = "\x8c\x9d", [0x0dff] = "\xca\xd9", [0x0e00] = "\x8c\x9e", + [0x0e01] = "\xb7\xe2", [0x0e02] = "\x8c\x9f", [0x0e03] = "\x8c\xa0", + [0x0e04] = "\xc9\xe4", [0x0e05] = "\x8c\xa1", [0x0e06] = "\xbd\xab", + [0x0e07] = "\x8c\xa2", [0x0e08] = "\x8c\xa3", [0x0e09] = "\xce\xbe", + [0x0e0a] = "\xd7\xf0", [0x0e0b] = "\x8c\xa4", [0x0e0c] = "\x8c\xa5", + [0x0e0d] = "\x8c\xa6", [0x0e0e] = "\x8c\xa7", [0x0e0f] = "\xd0\xa1", + [0x0e10] = "\x8c\xa8", [0x0e11] = "\xc9\xd9", [0x0e12] = "\x8c\xa9", + [0x0e13] = "\x8c\xaa", [0x0e14] = "\xb6\xfb", [0x0e15] = "\xe6\xd8", + [0x0e16] = "\xbc\xe2", [0x0e17] = "\x8c\xab", [0x0e18] = "\xb3\xbe", + [0x0e19] = "\x8c\xac", [0x0e1a] = "\xc9\xd0", [0x0e1b] = "\x8c\xad", + [0x0e1c] = "\xe6\xd9", [0x0e1d] = "\xb3\xa2", [0x0e1e] = "\x8c\xae", + [0x0e1f] = "\x8c\xaf", [0x0e20] = "\x8c\xb0", [0x0e21] = "\x8c\xb1", + [0x0e22] = "\xde\xcc", [0x0e23] = "\x8c\xb2", [0x0e24] = "\xd3\xc8", + [0x0e25] = "\xde\xcd", [0x0e26] = "\x8c\xb3", [0x0e27] = "\xd2\xa2", + [0x0e28] = "\x8c\xb4", [0x0e29] = "\x8c\xb5", [0x0e2a] = "\x8c\xb6", + [0x0e2b] = "\x8c\xb7", [0x0e2c] = "\xde\xce", [0x0e2d] = "\x8c\xb8", + [0x0e2e] = "\x8c\xb9", [0x0e2f] = "\x8c\xba", [0x0e30] = "\x8c\xbb", + [0x0e31] = "\xbe\xcd", [0x0e32] = "\x8c\xbc", [0x0e33] = "\x8c\xbd", + [0x0e34] = "\xde\xcf", [0x0e35] = "\x8c\xbe", [0x0e36] = "\x8c\xbf", + [0x0e37] = "\x8c\xc0", [0x0e38] = "\xca\xac", [0x0e39] = "\xd2\xfc", + [0x0e3a] = "\xb3\xdf", [0x0e3b] = "\xe5\xea", [0x0e3c] = "\xc4\xe1", + [0x0e3d] = "\xbe\xa1", [0x0e3e] = "\xce\xb2", [0x0e3f] = "\xc4\xf2", + [0x0e40] = "\xbe\xd6", [0x0e41] = "\xc6\xa8", [0x0e42] = "\xb2\xe3", + [0x0e43] = "\x8c\xc1", [0x0e44] = "\x8c\xc2", [0x0e45] = "\xbe\xd3", + [0x0e46] = "\x8c\xc3", [0x0e47] = "\x8c\xc4", [0x0e48] = "\xc7\xfc", + [0x0e49] = "\xcc\xeb", [0x0e4a] = "\xbd\xec", [0x0e4b] = "\xce\xdd", + [0x0e4c] = "\x8c\xc5", [0x0e4d] = "\x8c\xc6", [0x0e4e] = "\xca\xba", + [0x0e4f] = "\xc6\xc1", [0x0e50] = "\xe5\xec", [0x0e51] = "\xd0\xbc", + [0x0e52] = "\x8c\xc7", [0x0e53] = "\x8c\xc8", [0x0e54] = "\x8c\xc9", + [0x0e55] = "\xd5\xb9", [0x0e56] = "\x8c\xca", [0x0e57] = "\x8c\xcb", + [0x0e58] = "\x8c\xcc", [0x0e59] = "\xe5\xed", [0x0e5a] = "\x8c\xcd", + [0x0e5b] = "\x8c\xce", [0x0e5c] = "\x8c\xcf", [0x0e5d] = "\x8c\xd0", + [0x0e5e] = "\xca\xf4", [0x0e5f] = "\x8c\xd1", [0x0e60] = "\xcd\xc0", + [0x0e61] = "\xc2\xc5", [0x0e62] = "\x8c\xd2", [0x0e63] = "\xe5\xef", + [0x0e64] = "\x8c\xd3", [0x0e65] = "\xc2\xc4", [0x0e66] = "\xe5\xf0", + [0x0e67] = "\x8c\xd4", [0x0e68] = "\x8c\xd5", [0x0e69] = "\x8c\xd6", + [0x0e6a] = "\x8c\xd7", [0x0e6b] = "\x8c\xd8", [0x0e6c] = "\x8c\xd9", + [0x0e6d] = "\x8c\xda", [0x0e6e] = "\xe5\xf8", [0x0e6f] = "\xcd\xcd", + [0x0e70] = "\x8c\xdb", [0x0e71] = "\xc9\xbd", [0x0e72] = "\x8c\xdc", + [0x0e73] = "\x8c\xdd", [0x0e74] = "\x8c\xde", [0x0e75] = "\x8c\xdf", + [0x0e76] = "\x8c\xe0", [0x0e77] = "\x8c\xe1", [0x0e78] = "\x8c\xe2", + [0x0e79] = "\xd2\xd9", [0x0e7a] = "\xe1\xa8", [0x0e7b] = "\x8c\xe3", + [0x0e7c] = "\x8c\xe4", [0x0e7d] = "\x8c\xe5", [0x0e7e] = "\x8c\xe6", + [0x0e7f] = "\xd3\xec", [0x0e80] = "\x8c\xe7", [0x0e81] = "\xcb\xea", + [0x0e82] = "\xc6\xf1", [0x0e83] = "\x8c\xe8", [0x0e84] = "\x8c\xe9", + [0x0e85] = "\x8c\xea", [0x0e86] = "\x8c\xeb", [0x0e87] = "\x8c\xec", + [0x0e88] = "\xe1\xac", [0x0e89] = "\x8c\xed", [0x0e8a] = "\x8c\xee", + [0x0e8b] = "\x8c\xef", [0x0e8c] = "\xe1\xa7", [0x0e8d] = "\xe1\xa9", + [0x0e8e] = "\x8c\xf0", [0x0e8f] = "\x8c\xf1", [0x0e90] = "\xe1\xaa", + [0x0e91] = "\xe1\xaf", [0x0e92] = "\x8c\xf2", [0x0e93] = "\x8c\xf3", + [0x0e94] = "\xb2\xed", [0x0e95] = "\x8c\xf4", [0x0e96] = "\xe1\xab", + [0x0e97] = "\xb8\xda", [0x0e98] = "\xe1\xad", [0x0e99] = "\xe1\xae", + [0x0e9a] = "\xe1\xb0", [0x0e9b] = "\xb5\xba", [0x0e9c] = "\xe1\xb1", + [0x0e9d] = "\x8c\xf5", [0x0e9e] = "\x8c\xf6", [0x0e9f] = "\x8c\xf7", + [0x0ea0] = "\x8c\xf8", [0x0ea1] = "\x8c\xf9", [0x0ea2] = "\xe1\xb3", + [0x0ea3] = "\xe1\xb8", [0x0ea4] = "\x8c\xfa", [0x0ea5] = "\x8c\xfb", + [0x0ea6] = "\x8c\xfc", [0x0ea7] = "\x8c\xfd", [0x0ea8] = "\x8c\xfe", + [0x0ea9] = "\xd1\xd2", [0x0eaa] = "\x8d\x40", [0x0eab] = "\xe1\xb6", + [0x0eac] = "\xe1\xb5", [0x0ead] = "\xc1\xeb", [0x0eae] = "\x8d\x41", + [0x0eaf] = "\x8d\x42", [0x0eb0] = "\x8d\x43", [0x0eb1] = "\xe1\xb7", + [0x0eb2] = "\x8d\x44", [0x0eb3] = "\xd4\xc0", [0x0eb4] = "\x8d\x45", + [0x0eb5] = "\xe1\xb2", [0x0eb6] = "\x8d\x46", [0x0eb7] = "\xe1\xba", + [0x0eb8] = "\xb0\xb6", [0x0eb9] = "\x8d\x47", [0x0eba] = "\x8d\x48", + [0x0ebb] = "\x8d\x49", [0x0ebc] = "\x8d\x4a", [0x0ebd] = "\xe1\xb4", + [0x0ebe] = "\x8d\x4b", [0x0ebf] = "\xbf\xf9", [0x0ec0] = "\x8d\x4c", + [0x0ec1] = "\xe1\xb9", [0x0ec2] = "\x8d\x4d", [0x0ec3] = "\x8d\x4e", + [0x0ec4] = "\xe1\xbb", [0x0ec5] = "\x8d\x4f", [0x0ec6] = "\x8d\x50", + [0x0ec7] = "\x8d\x51", [0x0ec8] = "\x8d\x52", [0x0ec9] = "\x8d\x53", + [0x0eca] = "\x8d\x54", [0x0ecb] = "\xe1\xbe", [0x0ecc] = "\x8d\x55", + [0x0ecd] = "\x8d\x56", [0x0ece] = "\x8d\x57", [0x0ecf] = "\x8d\x58", + [0x0ed0] = "\x8d\x59", [0x0ed1] = "\x8d\x5a", [0x0ed2] = "\xe1\xbc", + [0x0ed3] = "\x8d\x5b", [0x0ed4] = "\x8d\x5c", [0x0ed5] = "\x8d\x5d", + [0x0ed6] = "\x8d\x5e", [0x0ed7] = "\x8d\x5f", [0x0ed8] = "\x8d\x60", + [0x0ed9] = "\xd6\xc5", [0x0eda] = "\x8d\x61", [0x0edb] = "\x8d\x62", + [0x0edc] = "\x8d\x63", [0x0edd] = "\x8d\x64", [0x0ede] = "\x8d\x65", + [0x0edf] = "\x8d\x66", [0x0ee0] = "\x8d\x67", [0x0ee1] = "\xcf\xbf", + [0x0ee2] = "\x8d\x68", [0x0ee3] = "\x8d\x69", [0x0ee4] = "\xe1\xbd", + [0x0ee5] = "\xe1\xbf", [0x0ee6] = "\xc2\xcd", [0x0ee7] = "\x8d\x6a", + [0x0ee8] = "\xb6\xeb", [0x0ee9] = "\x8d\x6b", [0x0eea] = "\xd3\xf8", + [0x0eeb] = "\x8d\x6c", [0x0eec] = "\x8d\x6d", [0x0eed] = "\xc7\xcd", + [0x0eee] = "\x8d\x6e", [0x0eef] = "\x8d\x6f", [0x0ef0] = "\xb7\xe5", + [0x0ef1] = "\x8d\x70", [0x0ef2] = "\x8d\x71", [0x0ef3] = "\x8d\x72", + [0x0ef4] = "\x8d\x73", [0x0ef5] = "\x8d\x74", [0x0ef6] = "\x8d\x75", + [0x0ef7] = "\x8d\x76", [0x0ef8] = "\x8d\x77", [0x0ef9] = "\x8d\x78", + [0x0efa] = "\x8d\x79", [0x0efb] = "\xbe\xfe", [0x0efc] = "\x8d\x7a", + [0x0efd] = "\x8d\x7b", [0x0efe] = "\x8d\x7c", [0x0eff] = "\x8d\x7d", + [0x0f00] = "\x8d\x7e", [0x0f01] = "\x8d\x80", [0x0f02] = "\xe1\xc0", + [0x0f03] = "\xe1\xc1", [0x0f04] = "\x8d\x81", [0x0f05] = "\x8d\x82", + [0x0f06] = "\xe1\xc7", [0x0f07] = "\xb3\xe7", [0x0f08] = "\x8d\x83", + [0x0f09] = "\x8d\x84", [0x0f0a] = "\x8d\x85", [0x0f0b] = "\x8d\x86", + [0x0f0c] = "\x8d\x87", [0x0f0d] = "\x8d\x88", [0x0f0e] = "\xc6\xe9", + [0x0f0f] = "\x8d\x89", [0x0f10] = "\x8d\x8a", [0x0f11] = "\x8d\x8b", + [0x0f12] = "\x8d\x8c", [0x0f13] = "\x8d\x8d", [0x0f14] = "\xb4\xde", + [0x0f15] = "\x8d\x8e", [0x0f16] = "\xd1\xc2", [0x0f17] = "\x8d\x8f", + [0x0f18] = "\x8d\x90", [0x0f19] = "\x8d\x91", [0x0f1a] = "\x8d\x92", + [0x0f1b] = "\xe1\xc8", [0x0f1c] = "\x8d\x93", [0x0f1d] = "\x8d\x94", + [0x0f1e] = "\xe1\xc6", [0x0f1f] = "\x8d\x95", [0x0f20] = "\x8d\x96", + [0x0f21] = "\x8d\x97", [0x0f22] = "\x8d\x98", [0x0f23] = "\x8d\x99", + [0x0f24] = "\xe1\xc5", [0x0f25] = "\x8d\x9a", [0x0f26] = "\xe1\xc3", + [0x0f27] = "\xe1\xc2", [0x0f28] = "\x8d\x9b", [0x0f29] = "\xb1\xc0", + [0x0f2a] = "\x8d\x9c", [0x0f2b] = "\x8d\x9d", [0x0f2c] = "\x8d\x9e", + [0x0f2d] = "\xd5\xb8", [0x0f2e] = "\xe1\xc4", [0x0f2f] = "\x8d\x9f", + [0x0f30] = "\x8d\xa0", [0x0f31] = "\x8d\xa1", [0x0f32] = "\x8d\xa2", + [0x0f33] = "\x8d\xa3", [0x0f34] = "\xe1\xcb", [0x0f35] = "\x8d\xa4", + [0x0f36] = "\x8d\xa5", [0x0f37] = "\x8d\xa6", [0x0f38] = "\x8d\xa7", + [0x0f39] = "\x8d\xa8", [0x0f3a] = "\x8d\xa9", [0x0f3b] = "\x8d\xaa", + [0x0f3c] = "\x8d\xab", [0x0f3d] = "\xe1\xcc", [0x0f3e] = "\xe1\xca", + [0x0f3f] = "\x8d\xac", [0x0f40] = "\x8d\xad", [0x0f41] = "\x8d\xae", + [0x0f42] = "\x8d\xaf", [0x0f43] = "\x8d\xb0", [0x0f44] = "\x8d\xb1", + [0x0f45] = "\x8d\xb2", [0x0f46] = "\x8d\xb3", [0x0f47] = "\xef\xfa", + [0x0f48] = "\x8d\xb4", [0x0f49] = "\x8d\xb5", [0x0f4a] = "\xe1\xd3", + [0x0f4b] = "\xe1\xd2", [0x0f4c] = "\xc7\xb6", [0x0f4d] = "\x8d\xb6", + [0x0f4e] = "\x8d\xb7", [0x0f4f] = "\x8d\xb8", [0x0f50] = "\x8d\xb9", + [0x0f51] = "\x8d\xba", [0x0f52] = "\x8d\xbb", [0x0f53] = "\x8d\xbc", + [0x0f54] = "\x8d\xbd", [0x0f55] = "\x8d\xbe", [0x0f56] = "\x8d\xbf", + [0x0f57] = "\x8d\xc0", [0x0f58] = "\xe1\xc9", [0x0f59] = "\x8d\xc1", + [0x0f5a] = "\x8d\xc2", [0x0f5b] = "\xe1\xce", [0x0f5c] = "\x8d\xc3", + [0x0f5d] = "\xe1\xd0", [0x0f5e] = "\x8d\xc4", [0x0f5f] = "\x8d\xc5", + [0x0f60] = "\x8d\xc6", [0x0f61] = "\x8d\xc7", [0x0f62] = "\x8d\xc8", + [0x0f63] = "\x8d\xc9", [0x0f64] = "\x8d\xca", [0x0f65] = "\x8d\xcb", + [0x0f66] = "\x8d\xcc", [0x0f67] = "\x8d\xcd", [0x0f68] = "\x8d\xce", + [0x0f69] = "\xe1\xd4", [0x0f6a] = "\x8d\xcf", [0x0f6b] = "\xe1\xd1", + [0x0f6c] = "\xe1\xcd", [0x0f6d] = "\x8d\xd0", [0x0f6e] = "\x8d\xd1", + [0x0f6f] = "\xe1\xcf", [0x0f70] = "\x8d\xd2", [0x0f71] = "\x8d\xd3", + [0x0f72] = "\x8d\xd4", [0x0f73] = "\x8d\xd5", [0x0f74] = "\xe1\xd5", + [0x0f75] = "\x8d\xd6", [0x0f76] = "\x8d\xd7", [0x0f77] = "\x8d\xd8", + [0x0f78] = "\x8d\xd9", [0x0f79] = "\x8d\xda", [0x0f7a] = "\x8d\xdb", + [0x0f7b] = "\x8d\xdc", [0x0f7c] = "\x8d\xdd", [0x0f7d] = "\x8d\xde", + [0x0f7e] = "\x8d\xdf", [0x0f7f] = "\x8d\xe0", [0x0f80] = "\x8d\xe1", + [0x0f81] = "\x8d\xe2", [0x0f82] = "\xe1\xd6", [0x0f83] = "\x8d\xe3", + [0x0f84] = "\x8d\xe4", [0x0f85] = "\x8d\xe5", [0x0f86] = "\x8d\xe6", + [0x0f87] = "\x8d\xe7", [0x0f88] = "\x8d\xe8", [0x0f89] = "\x8d\xe9", + [0x0f8a] = "\x8d\xea", [0x0f8b] = "\x8d\xeb", [0x0f8c] = "\x8d\xec", + [0x0f8d] = "\x8d\xed", [0x0f8e] = "\x8d\xee", [0x0f8f] = "\x8d\xef", + [0x0f90] = "\x8d\xf0", [0x0f91] = "\x8d\xf1", [0x0f92] = "\x8d\xf2", + [0x0f93] = "\x8d\xf3", [0x0f94] = "\x8d\xf4", [0x0f95] = "\x8d\xf5", + [0x0f96] = "\x8d\xf6", [0x0f97] = "\x8d\xf7", [0x0f98] = "\x8d\xf8", + [0x0f99] = "\xe1\xd7", [0x0f9a] = "\x8d\xf9", [0x0f9b] = "\x8d\xfa", + [0x0f9c] = "\x8d\xfb", [0x0f9d] = "\xe1\xd8", [0x0f9e] = "\x8d\xfc", + [0x0f9f] = "\x8d\xfd", [0x0fa0] = "\x8d\xfe", [0x0fa1] = "\x8e\x40", + [0x0fa2] = "\x8e\x41", [0x0fa3] = "\x8e\x42", [0x0fa4] = "\x8e\x43", + [0x0fa5] = "\x8e\x44", [0x0fa6] = "\x8e\x45", [0x0fa7] = "\x8e\x46", + [0x0fa8] = "\x8e\x47", [0x0fa9] = "\x8e\x48", [0x0faa] = "\x8e\x49", + [0x0fab] = "\x8e\x4a", [0x0fac] = "\x8e\x4b", [0x0fad] = "\x8e\x4c", + [0x0fae] = "\x8e\x4d", [0x0faf] = "\x8e\x4e", [0x0fb0] = "\x8e\x4f", + [0x0fb1] = "\x8e\x50", [0x0fb2] = "\x8e\x51", [0x0fb3] = "\x8e\x52", + [0x0fb4] = "\x8e\x53", [0x0fb5] = "\x8e\x54", [0x0fb6] = "\x8e\x55", + [0x0fb7] = "\xe1\xda", [0x0fb8] = "\x8e\x56", [0x0fb9] = "\x8e\x57", + [0x0fba] = "\x8e\x58", [0x0fbb] = "\x8e\x59", [0x0fbc] = "\x8e\x5a", + [0x0fbd] = "\x8e\x5b", [0x0fbe] = "\x8e\x5c", [0x0fbf] = "\x8e\x5d", + [0x0fc0] = "\x8e\x5e", [0x0fc1] = "\x8e\x5f", [0x0fc2] = "\x8e\x60", + [0x0fc3] = "\x8e\x61", [0x0fc4] = "\x8e\x62", [0x0fc5] = "\xe1\xdb", + [0x0fc6] = "\x8e\x63", [0x0fc7] = "\x8e\x64", [0x0fc8] = "\x8e\x65", + [0x0fc9] = "\x8e\x66", [0x0fca] = "\x8e\x67", [0x0fcb] = "\x8e\x68", + [0x0fcc] = "\x8e\x69", [0x0fcd] = "\xce\xa1", [0x0fce] = "\x8e\x6a", + [0x0fcf] = "\x8e\x6b", [0x0fd0] = "\x8e\x6c", [0x0fd1] = "\x8e\x6d", + [0x0fd2] = "\x8e\x6e", [0x0fd3] = "\x8e\x6f", [0x0fd4] = "\x8e\x70", + [0x0fd5] = "\x8e\x71", [0x0fd6] = "\x8e\x72", [0x0fd7] = "\x8e\x73", + [0x0fd8] = "\x8e\x74", [0x0fd9] = "\x8e\x75", [0x0fda] = "\x8e\x76", + [0x0fdb] = "\xe7\xdd", [0x0fdc] = "\x8e\x77", [0x0fdd] = "\xb4\xa8", + [0x0fde] = "\xd6\xdd", [0x0fdf] = "\x8e\x78", [0x0fe0] = "\x8e\x79", + [0x0fe1] = "\xd1\xb2", [0x0fe2] = "\xb3\xb2", [0x0fe3] = "\x8e\x7a", + [0x0fe4] = "\x8e\x7b", [0x0fe5] = "\xb9\xa4", [0x0fe6] = "\xd7\xf3", + [0x0fe7] = "\xc7\xc9", [0x0fe8] = "\xbe\xde", [0x0fe9] = "\xb9\xae", + [0x0fea] = "\x8e\x7c", [0x0feb] = "\xce\xd7", [0x0fec] = "\x8e\x7d", + [0x0fed] = "\x8e\x7e", [0x0fee] = "\xb2\xee", [0x0fef] = "\xdb\xcf", + [0x0ff0] = "\x8e\x80", [0x0ff1] = "\xbc\xba", [0x0ff2] = "\xd2\xd1", + [0x0ff3] = "\xcb\xc8", [0x0ff4] = "\xb0\xcd", [0x0ff5] = "\x8e\x81", + [0x0ff6] = "\x8e\x82", [0x0ff7] = "\xcf\xef", [0x0ff8] = "\x8e\x83", + [0x0ff9] = "\x8e\x84", [0x0ffa] = "\x8e\x85", [0x0ffb] = "\x8e\x86", + [0x0ffc] = "\x8e\x87", [0x0ffd] = "\xd9\xe3", [0x0ffe] = "\xbd\xed", + [0x0fff] = "\x8e\x88", [0x1000] = "\x8e\x89", [0x1001] = "\xb1\xd2", + [0x1002] = "\xca\xd0", [0x1003] = "\xb2\xbc", [0x1004] = "\x8e\x8a", + [0x1005] = "\xcb\xa7", [0x1006] = "\xb7\xab", [0x1007] = "\x8e\x8b", + [0x1008] = "\xca\xa6", [0x1009] = "\x8e\x8c", [0x100a] = "\x8e\x8d", + [0x100b] = "\x8e\x8e", [0x100c] = "\xcf\xa3", [0x100d] = "\x8e\x8f", + [0x100e] = "\x8e\x90", [0x100f] = "\xe0\xf8", [0x1010] = "\xd5\xca", + [0x1011] = "\xe0\xfb", [0x1012] = "\x8e\x91", [0x1013] = "\x8e\x92", + [0x1014] = "\xe0\xfa", [0x1015] = "\xc5\xc1", [0x1016] = "\xcc\xfb", + [0x1017] = "\x8e\x93", [0x1018] = "\xc1\xb1", [0x1019] = "\xe0\xf9", + [0x101a] = "\xd6\xe3", [0x101b] = "\xb2\xaf", [0x101c] = "\xd6\xc4", + [0x101d] = "\xb5\xdb", [0x101e] = "\x8e\x94", [0x101f] = "\x8e\x95", + [0x1020] = "\x8e\x96", [0x1021] = "\x8e\x97", [0x1022] = "\x8e\x98", + [0x1023] = "\x8e\x99", [0x1024] = "\x8e\x9a", [0x1025] = "\x8e\x9b", + [0x1026] = "\xb4\xf8", [0x1027] = "\xd6\xa1", [0x1028] = "\x8e\x9c", + [0x1029] = "\x8e\x9d", [0x102a] = "\x8e\x9e", [0x102b] = "\x8e\x9f", + [0x102c] = "\x8e\xa0", [0x102d] = "\xcf\xaf", [0x102e] = "\xb0\xef", + [0x102f] = "\x8e\xa1", [0x1030] = "\x8e\xa2", [0x1031] = "\xe0\xfc", + [0x1032] = "\x8e\xa3", [0x1033] = "\x8e\xa4", [0x1034] = "\x8e\xa5", + [0x1035] = "\x8e\xa6", [0x1036] = "\x8e\xa7", [0x1037] = "\xe1\xa1", + [0x1038] = "\xb3\xa3", [0x1039] = "\x8e\xa8", [0x103a] = "\x8e\xa9", + [0x103b] = "\xe0\xfd", [0x103c] = "\xe0\xfe", [0x103d] = "\xc3\xb1", + [0x103e] = "\x8e\xaa", [0x103f] = "\x8e\xab", [0x1040] = "\x8e\xac", + [0x1041] = "\x8e\xad", [0x1042] = "\xc3\xdd", [0x1043] = "\x8e\xae", + [0x1044] = "\xe1\xa2", [0x1045] = "\xb7\xf9", [0x1046] = "\x8e\xaf", + [0x1047] = "\x8e\xb0", [0x1048] = "\x8e\xb1", [0x1049] = "\x8e\xb2", + [0x104a] = "\x8e\xb3", [0x104b] = "\x8e\xb4", [0x104c] = "\xbb\xcf", + [0x104d] = "\x8e\xb5", [0x104e] = "\x8e\xb6", [0x104f] = "\x8e\xb7", + [0x1050] = "\x8e\xb8", [0x1051] = "\x8e\xb9", [0x1052] = "\x8e\xba", + [0x1053] = "\x8e\xbb", [0x1054] = "\xe1\xa3", [0x1055] = "\xc4\xbb", + [0x1056] = "\x8e\xbc", [0x1057] = "\x8e\xbd", [0x1058] = "\x8e\xbe", + [0x1059] = "\x8e\xbf", [0x105a] = "\x8e\xc0", [0x105b] = "\xe1\xa4", + [0x105c] = "\x8e\xc1", [0x105d] = "\x8e\xc2", [0x105e] = "\xe1\xa5", + [0x105f] = "\x8e\xc3", [0x1060] = "\x8e\xc4", [0x1061] = "\xe1\xa6", + [0x1062] = "\xb4\xb1", [0x1063] = "\x8e\xc5", [0x1064] = "\x8e\xc6", + [0x1065] = "\x8e\xc7", [0x1066] = "\x8e\xc8", [0x1067] = "\x8e\xc9", + [0x1068] = "\x8e\xca", [0x1069] = "\x8e\xcb", [0x106a] = "\x8e\xcc", + [0x106b] = "\x8e\xcd", [0x106c] = "\x8e\xce", [0x106d] = "\x8e\xcf", + [0x106e] = "\x8e\xd0", [0x106f] = "\x8e\xd1", [0x1070] = "\x8e\xd2", + [0x1071] = "\x8e\xd3", [0x1072] = "\xb8\xc9", [0x1073] = "\xc6\xbd", + [0x1074] = "\xc4\xea", [0x1075] = "\x8e\xd4", [0x1076] = "\xb2\xa2", + [0x1077] = "\x8e\xd5", [0x1078] = "\xd0\xd2", [0x1079] = "\x8e\xd6", + [0x107a] = "\xe7\xdb", [0x107b] = "\xbb\xc3", [0x107c] = "\xd3\xd7", + [0x107d] = "\xd3\xc4", [0x107e] = "\x8e\xd7", [0x107f] = "\xb9\xe3", + [0x1080] = "\xe2\xcf", [0x1081] = "\x8e\xd8", [0x1082] = "\x8e\xd9", + [0x1083] = "\x8e\xda", [0x1084] = "\xd7\xaf", [0x1085] = "\x8e\xdb", + [0x1086] = "\xc7\xec", [0x1087] = "\xb1\xd3", [0x1088] = "\x8e\xdc", + [0x1089] = "\x8e\xdd", [0x108a] = "\xb4\xb2", [0x108b] = "\xe2\xd1", + [0x108c] = "\x8e\xde", [0x108d] = "\x8e\xdf", [0x108e] = "\x8e\xe0", + [0x108f] = "\xd0\xf2", [0x1090] = "\xc2\xae", [0x1091] = "\xe2\xd0", + [0x1092] = "\x8e\xe1", [0x1093] = "\xbf\xe2", [0x1094] = "\xd3\xa6", + [0x1095] = "\xb5\xd7", [0x1096] = "\xe2\xd2", [0x1097] = "\xb5\xea", + [0x1098] = "\x8e\xe2", [0x1099] = "\xc3\xed", [0x109a] = "\xb8\xfd", + [0x109b] = "\x8e\xe3", [0x109c] = "\xb8\xae", [0x109d] = "\x8e\xe4", + [0x109e] = "\xc5\xd3", [0x109f] = "\xb7\xcf", [0x10a0] = "\xe2\xd4", + [0x10a1] = "\x8e\xe5", [0x10a2] = "\x8e\xe6", [0x10a3] = "\x8e\xe7", + [0x10a4] = "\x8e\xe8", [0x10a5] = "\xe2\xd3", [0x10a6] = "\xb6\xc8", + [0x10a7] = "\xd7\xf9", [0x10a8] = "\x8e\xe9", [0x10a9] = "\x8e\xea", + [0x10aa] = "\x8e\xeb", [0x10ab] = "\x8e\xec", [0x10ac] = "\x8e\xed", + [0x10ad] = "\xcd\xa5", [0x10ae] = "\x8e\xee", [0x10af] = "\x8e\xef", + [0x10b0] = "\x8e\xf0", [0x10b1] = "\x8e\xf1", [0x10b2] = "\x8e\xf2", + [0x10b3] = "\xe2\xd8", [0x10b4] = "\x8e\xf3", [0x10b5] = "\xe2\xd6", + [0x10b6] = "\xca\xfc", [0x10b7] = "\xbf\xb5", [0x10b8] = "\xd3\xb9", + [0x10b9] = "\xe2\xd5", [0x10ba] = "\x8e\xf4", [0x10bb] = "\x8e\xf5", + [0x10bc] = "\x8e\xf6", [0x10bd] = "\x8e\xf7", [0x10be] = "\xe2\xd7", + [0x10bf] = "\x8e\xf8", [0x10c0] = "\x8e\xf9", [0x10c1] = "\x8e\xfa", + [0x10c2] = "\x8e\xfb", [0x10c3] = "\x8e\xfc", [0x10c4] = "\x8e\xfd", + [0x10c5] = "\x8e\xfe", [0x10c6] = "\x8f\x40", [0x10c7] = "\x8f\x41", + [0x10c8] = "\x8f\x42", [0x10c9] = "\xc1\xae", [0x10ca] = "\xc0\xc8", + [0x10cb] = "\x8f\x43", [0x10cc] = "\x8f\x44", [0x10cd] = "\x8f\x45", + [0x10ce] = "\x8f\x46", [0x10cf] = "\x8f\x47", [0x10d0] = "\x8f\x48", + [0x10d1] = "\xe2\xdb", [0x10d2] = "\xe2\xda", [0x10d3] = "\xc0\xaa", + [0x10d4] = "\x8f\x49", [0x10d5] = "\x8f\x4a", [0x10d6] = "\xc1\xce", + [0x10d7] = "\x8f\x4b", [0x10d8] = "\x8f\x4c", [0x10d9] = "\x8f\x4d", + [0x10da] = "\x8f\x4e", [0x10db] = "\xe2\xdc", [0x10dc] = "\x8f\x4f", + [0x10dd] = "\x8f\x50", [0x10de] = "\x8f\x51", [0x10df] = "\x8f\x52", + [0x10e0] = "\x8f\x53", [0x10e1] = "\x8f\x54", [0x10e2] = "\x8f\x55", + [0x10e3] = "\x8f\x56", [0x10e4] = "\x8f\x57", [0x10e5] = "\x8f\x58", + [0x10e6] = "\x8f\x59", [0x10e7] = "\x8f\x5a", [0x10e8] = "\xe2\xdd", + [0x10e9] = "\x8f\x5b", [0x10ea] = "\xe2\xde", [0x10eb] = "\x8f\x5c", + [0x10ec] = "\x8f\x5d", [0x10ed] = "\x8f\x5e", [0x10ee] = "\x8f\x5f", + [0x10ef] = "\x8f\x60", [0x10f0] = "\x8f\x61", [0x10f1] = "\x8f\x62", + [0x10f2] = "\x8f\x63", [0x10f3] = "\x8f\x64", [0x10f4] = "\xdb\xc8", + [0x10f5] = "\x8f\x65", [0x10f6] = "\xd1\xd3", [0x10f7] = "\xcd\xa2", + [0x10f8] = "\x8f\x66", [0x10f9] = "\x8f\x67", [0x10fa] = "\xbd\xa8", + [0x10fb] = "\x8f\x68", [0x10fc] = "\x8f\x69", [0x10fd] = "\x8f\x6a", + [0x10fe] = "\xde\xc3", [0x10ff] = "\xd8\xa5", [0x1100] = "\xbf\xaa", + [0x1101] = "\xdb\xcd", [0x1102] = "\xd2\xec", [0x1103] = "\xc6\xfa", + [0x1104] = "\xc5\xaa", [0x1105] = "\x8f\x6b", [0x1106] = "\x8f\x6c", + [0x1107] = "\x8f\x6d", [0x1108] = "\xde\xc4", [0x1109] = "\x8f\x6e", + [0x110a] = "\xb1\xd7", [0x110b] = "\xdf\xae", [0x110c] = "\x8f\x6f", + [0x110d] = "\x8f\x70", [0x110e] = "\x8f\x71", [0x110f] = "\xca\xbd", + [0x1110] = "\x8f\x72", [0x1111] = "\xdf\xb1", [0x1112] = "\x8f\x73", + [0x1113] = "\xb9\xad", [0x1114] = "\x8f\x74", [0x1115] = "\xd2\xfd", + [0x1116] = "\x8f\x75", [0x1117] = "\xb8\xa5", [0x1118] = "\xba\xeb", + [0x1119] = "\x8f\x76", [0x111a] = "\x8f\x77", [0x111b] = "\xb3\xda", + [0x111c] = "\x8f\x78", [0x111d] = "\x8f\x79", [0x111e] = "\x8f\x7a", + [0x111f] = "\xb5\xdc", [0x1120] = "\xd5\xc5", [0x1121] = "\x8f\x7b", + [0x1122] = "\x8f\x7c", [0x1123] = "\x8f\x7d", [0x1124] = "\x8f\x7e", + [0x1125] = "\xc3\xd6", [0x1126] = "\xcf\xd2", [0x1127] = "\xbb\xa1", + [0x1128] = "\x8f\x80", [0x1129] = "\xe5\xf3", [0x112a] = "\xe5\xf2", + [0x112b] = "\x8f\x81", [0x112c] = "\x8f\x82", [0x112d] = "\xe5\xf4", + [0x112e] = "\x8f\x83", [0x112f] = "\xcd\xe4", [0x1130] = "\x8f\x84", + [0x1131] = "\xc8\xf5", [0x1132] = "\x8f\x85", [0x1133] = "\x8f\x86", + [0x1134] = "\x8f\x87", [0x1135] = "\x8f\x88", [0x1136] = "\x8f\x89", + [0x1137] = "\x8f\x8a", [0x1138] = "\x8f\x8b", [0x1139] = "\xb5\xaf", + [0x113a] = "\xc7\xbf", [0x113b] = "\x8f\x8c", [0x113c] = "\xe5\xf6", + [0x113d] = "\x8f\x8d", [0x113e] = "\x8f\x8e", [0x113f] = "\x8f\x8f", + [0x1140] = "\xec\xb0", [0x1141] = "\x8f\x90", [0x1142] = "\x8f\x91", + [0x1143] = "\x8f\x92", [0x1144] = "\x8f\x93", [0x1145] = "\x8f\x94", + [0x1146] = "\x8f\x95", [0x1147] = "\x8f\x96", [0x1148] = "\x8f\x97", + [0x1149] = "\x8f\x98", [0x114a] = "\x8f\x99", [0x114b] = "\x8f\x9a", + [0x114c] = "\x8f\x9b", [0x114d] = "\x8f\x9c", [0x114e] = "\x8f\x9d", + [0x114f] = "\x8f\x9e", [0x1150] = "\xe5\xe6", [0x1151] = "\x8f\x9f", + [0x1152] = "\xb9\xe9", [0x1153] = "\xb5\xb1", [0x1154] = "\x8f\xa0", + [0x1155] = "\xc2\xbc", [0x1156] = "\xe5\xe8", [0x1157] = "\xe5\xe7", + [0x1158] = "\xe5\xe9", [0x1159] = "\x8f\xa1", [0x115a] = "\x8f\xa2", + [0x115b] = "\x8f\xa3", [0x115c] = "\x8f\xa4", [0x115d] = "\xd2\xcd", + [0x115e] = "\x8f\xa5", [0x115f] = "\x8f\xa6", [0x1160] = "\x8f\xa7", + [0x1161] = "\xe1\xea", [0x1162] = "\xd0\xce", [0x1163] = "\x8f\xa8", + [0x1164] = "\xcd\xae", [0x1165] = "\x8f\xa9", [0x1166] = "\xd1\xe5", + [0x1167] = "\x8f\xaa", [0x1168] = "\x8f\xab", [0x1169] = "\xb2\xca", + [0x116a] = "\xb1\xeb", [0x116b] = "\x8f\xac", [0x116c] = "\xb1\xf2", + [0x116d] = "\xc5\xed", [0x116e] = "\x8f\xad", [0x116f] = "\x8f\xae", + [0x1170] = "\xd5\xc3", [0x1171] = "\xd3\xb0", [0x1172] = "\x8f\xaf", + [0x1173] = "\xe1\xdc", [0x1174] = "\x8f\xb0", [0x1175] = "\x8f\xb1", + [0x1176] = "\x8f\xb2", [0x1177] = "\xe1\xdd", [0x1178] = "\x8f\xb3", + [0x1179] = "\xd2\xdb", [0x117a] = "\x8f\xb4", [0x117b] = "\xb3\xb9", + [0x117c] = "\xb1\xcb", [0x117d] = "\x8f\xb5", [0x117e] = "\x8f\xb6", + [0x117f] = "\x8f\xb7", [0x1180] = "\xcd\xf9", [0x1181] = "\xd5\xf7", + [0x1182] = "\xe1\xde", [0x1183] = "\x8f\xb8", [0x1184] = "\xbe\xb6", + [0x1185] = "\xb4\xfd", [0x1186] = "\x8f\xb9", [0x1187] = "\xe1\xdf", + [0x1188] = "\xba\xdc", [0x1189] = "\xe1\xe0", [0x118a] = "\xbb\xb2", + [0x118b] = "\xc2\xc9", [0x118c] = "\xe1\xe1", [0x118d] = "\x8f\xba", + [0x118e] = "\x8f\xbb", [0x118f] = "\x8f\xbc", [0x1190] = "\xd0\xec", + [0x1191] = "\x8f\xbd", [0x1192] = "\xcd\xbd", [0x1193] = "\x8f\xbe", + [0x1194] = "\x8f\xbf", [0x1195] = "\xe1\xe2", [0x1196] = "\x8f\xc0", + [0x1197] = "\xb5\xc3", [0x1198] = "\xc5\xc7", [0x1199] = "\xe1\xe3", + [0x119a] = "\x8f\xc1", [0x119b] = "\x8f\xc2", [0x119c] = "\xe1\xe4", + [0x119d] = "\x8f\xc3", [0x119e] = "\x8f\xc4", [0x119f] = "\x8f\xc5", + [0x11a0] = "\x8f\xc6", [0x11a1] = "\xd3\xf9", [0x11a2] = "\x8f\xc7", + [0x11a3] = "\x8f\xc8", [0x11a4] = "\x8f\xc9", [0x11a5] = "\x8f\xca", + [0x11a6] = "\x8f\xcb", [0x11a7] = "\x8f\xcc", [0x11a8] = "\xe1\xe5", + [0x11a9] = "\x8f\xcd", [0x11aa] = "\xd1\xad", [0x11ab] = "\x8f\xce", + [0x11ac] = "\x8f\xcf", [0x11ad] = "\xe1\xe6", [0x11ae] = "\xce\xa2", + [0x11af] = "\x8f\xd0", [0x11b0] = "\x8f\xd1", [0x11b1] = "\x8f\xd2", + [0x11b2] = "\x8f\xd3", [0x11b3] = "\x8f\xd4", [0x11b4] = "\x8f\xd5", + [0x11b5] = "\xe1\xe7", [0x11b6] = "\x8f\xd6", [0x11b7] = "\xb5\xc2", + [0x11b8] = "\x8f\xd7", [0x11b9] = "\x8f\xd8", [0x11ba] = "\x8f\xd9", + [0x11bb] = "\x8f\xda", [0x11bc] = "\xe1\xe8", [0x11bd] = "\xbb\xd5", + [0x11be] = "\x8f\xdb", [0x11bf] = "\x8f\xdc", [0x11c0] = "\x8f\xdd", + [0x11c1] = "\x8f\xde", [0x11c2] = "\x8f\xdf", [0x11c3] = "\xd0\xc4", + [0x11c4] = "\xe2\xe0", [0x11c5] = "\xb1\xd8", [0x11c6] = "\xd2\xe4", + [0x11c7] = "\x8f\xe0", [0x11c8] = "\x8f\xe1", [0x11c9] = "\xe2\xe1", + [0x11ca] = "\x8f\xe2", [0x11cb] = "\x8f\xe3", [0x11cc] = "\xbc\xc9", + [0x11cd] = "\xc8\xcc", [0x11ce] = "\x8f\xe4", [0x11cf] = "\xe2\xe3", + [0x11d0] = "\xec\xfe", [0x11d1] = "\xec\xfd", [0x11d2] = "\xdf\xaf", + [0x11d3] = "\x8f\xe5", [0x11d4] = "\x8f\xe6", [0x11d5] = "\x8f\xe7", + [0x11d6] = "\xe2\xe2", [0x11d7] = "\xd6\xbe", [0x11d8] = "\xcd\xfc", + [0x11d9] = "\xc3\xa6", [0x11da] = "\x8f\xe8", [0x11db] = "\x8f\xe9", + [0x11dc] = "\x8f\xea", [0x11dd] = "\xe3\xc3", [0x11de] = "\x8f\xeb", + [0x11df] = "\x8f\xec", [0x11e0] = "\xd6\xd2", [0x11e1] = "\xe2\xe7", + [0x11e2] = "\x8f\xed", [0x11e3] = "\x8f\xee", [0x11e4] = "\xe2\xe8", + [0x11e5] = "\x8f\xef", [0x11e6] = "\x8f\xf0", [0x11e7] = "\xd3\xc7", + [0x11e8] = "\x8f\xf1", [0x11e9] = "\x8f\xf2", [0x11ea] = "\xe2\xec", + [0x11eb] = "\xbf\xec", [0x11ec] = "\x8f\xf3", [0x11ed] = "\xe2\xed", + [0x11ee] = "\xe2\xe5", [0x11ef] = "\x8f\xf4", [0x11f0] = "\x8f\xf5", + [0x11f1] = "\xb3\xc0", [0x11f2] = "\x8f\xf6", [0x11f3] = "\x8f\xf7", + [0x11f4] = "\x8f\xf8", [0x11f5] = "\xc4\xee", [0x11f6] = "\x8f\xf9", + [0x11f7] = "\x8f\xfa", [0x11f8] = "\xe2\xee", [0x11f9] = "\x8f\xfb", + [0x11fa] = "\x8f\xfc", [0x11fb] = "\xd0\xc3", [0x11fc] = "\x8f\xfd", + [0x11fd] = "\xba\xf6", [0x11fe] = "\xe2\xe9", [0x11ff] = "\xb7\xde", + [0x1200] = "\xbb\xb3", [0x1201] = "\xcc\xac", [0x1202] = "\xcb\xcb", + [0x1203] = "\xe2\xe4", [0x1204] = "\xe2\xe6", [0x1205] = "\xe2\xea", + [0x1206] = "\xe2\xeb", [0x1207] = "\x8f\xfe", [0x1208] = "\x90\x40", + [0x1209] = "\x90\x41", [0x120a] = "\xe2\xf7", [0x120b] = "\x90\x42", + [0x120c] = "\x90\x43", [0x120d] = "\xe2\xf4", [0x120e] = "\xd4\xf5", + [0x120f] = "\xe2\xf3", [0x1210] = "\x90\x44", [0x1211] = "\x90\x45", + [0x1212] = "\xc5\xad", [0x1213] = "\x90\x46", [0x1214] = "\xd5\xfa", + [0x1215] = "\xc5\xc2", [0x1216] = "\xb2\xc0", [0x1217] = "\x90\x47", + [0x1218] = "\x90\x48", [0x1219] = "\xe2\xef", [0x121a] = "\x90\x49", + [0x121b] = "\xe2\xf2", [0x121c] = "\xc1\xaf", [0x121d] = "\xcb\xbc", + [0x121e] = "\x90\x4a", [0x121f] = "\x90\x4b", [0x1220] = "\xb5\xa1", + [0x1221] = "\xe2\xf9", [0x1222] = "\x90\x4c", [0x1223] = "\x90\x4d", + [0x1224] = "\x90\x4e", [0x1225] = "\xbc\xb1", [0x1226] = "\xe2\xf1", + [0x1227] = "\xd0\xd4", [0x1228] = "\xd4\xb9", [0x1229] = "\xe2\xf5", + [0x122a] = "\xb9\xd6", [0x122b] = "\xe2\xf6", [0x122c] = "\x90\x4f", + [0x122d] = "\x90\x50", [0x122e] = "\x90\x51", [0x122f] = "\xc7\xd3", + [0x1230] = "\x90\x52", [0x1231] = "\x90\x53", [0x1232] = "\x90\x54", + [0x1233] = "\x90\x55", [0x1234] = "\x90\x56", [0x1235] = "\xe2\xf0", + [0x1236] = "\x90\x57", [0x1237] = "\x90\x58", [0x1238] = "\x90\x59", + [0x1239] = "\x90\x5a", [0x123a] = "\x90\x5b", [0x123b] = "\xd7\xdc", + [0x123c] = "\xed\xa1", [0x123d] = "\x90\x5c", [0x123e] = "\x90\x5d", + [0x123f] = "\xe2\xf8", [0x1240] = "\x90\x5e", [0x1241] = "\xed\xa5", + [0x1242] = "\xe2\xfe", [0x1243] = "\xca\xd1", [0x1244] = "\x90\x5f", + [0x1245] = "\x90\x60", [0x1246] = "\x90\x61", [0x1247] = "\x90\x62", + [0x1248] = "\x90\x63", [0x1249] = "\x90\x64", [0x124a] = "\x90\x65", + [0x124b] = "\xc1\xb5", [0x124c] = "\x90\x66", [0x124d] = "\xbb\xd0", + [0x124e] = "\x90\x67", [0x124f] = "\x90\x68", [0x1250] = "\xbf\xd6", + [0x1251] = "\x90\x69", [0x1252] = "\xba\xe3", [0x1253] = "\x90\x6a", + [0x1254] = "\x90\x6b", [0x1255] = "\xcb\xa1", [0x1256] = "\x90\x6c", + [0x1257] = "\x90\x6d", [0x1258] = "\x90\x6e", [0x1259] = "\xed\xa6", + [0x125a] = "\xed\xa3", [0x125b] = "\x90\x6f", [0x125c] = "\x90\x70", + [0x125d] = "\xed\xa2", [0x125e] = "\x90\x71", [0x125f] = "\x90\x72", + [0x1260] = "\x90\x73", [0x1261] = "\x90\x74", [0x1262] = "\xbb\xd6", + [0x1263] = "\xed\xa7", [0x1264] = "\xd0\xf4", [0x1265] = "\x90\x75", + [0x1266] = "\x90\x76", [0x1267] = "\xed\xa4", [0x1268] = "\xba\xde", + [0x1269] = "\xb6\xf7", [0x126a] = "\xe3\xa1", [0x126b] = "\xb6\xb2", + [0x126c] = "\xcc\xf1", [0x126d] = "\xb9\xa7", [0x126e] = "\x90\x77", + [0x126f] = "\xcf\xa2", [0x1270] = "\xc7\xa1", [0x1271] = "\x90\x78", + [0x1272] = "\x90\x79", [0x1273] = "\xbf\xd2", [0x1274] = "\x90\x7a", + [0x1275] = "\x90\x7b", [0x1276] = "\xb6\xf1", [0x1277] = "\x90\x7c", + [0x1278] = "\xe2\xfa", [0x1279] = "\xe2\xfb", [0x127a] = "\xe2\xfd", + [0x127b] = "\xe2\xfc", [0x127c] = "\xc4\xd5", [0x127d] = "\xe3\xa2", + [0x127e] = "\x90\x7d", [0x127f] = "\xd3\xc1", [0x1280] = "\x90\x7e", + [0x1281] = "\x90\x80", [0x1282] = "\x90\x81", [0x1283] = "\xe3\xa7", + [0x1284] = "\xc7\xc4", [0x1285] = "\x90\x82", [0x1286] = "\x90\x83", + [0x1287] = "\x90\x84", [0x1288] = "\x90\x85", [0x1289] = "\xcf\xa4", + [0x128a] = "\x90\x86", [0x128b] = "\x90\x87", [0x128c] = "\xe3\xa9", + [0x128d] = "\xba\xb7", [0x128e] = "\x90\x88", [0x128f] = "\x90\x89", + [0x1290] = "\x90\x8a", [0x1291] = "\x90\x8b", [0x1292] = "\xe3\xa8", + [0x1293] = "\x90\x8c", [0x1294] = "\xbb\xda", [0x1295] = "\x90\x8d", + [0x1296] = "\xe3\xa3", [0x1297] = "\x90\x8e", [0x1298] = "\x90\x8f", + [0x1299] = "\x90\x90", [0x129a] = "\xe3\xa4", [0x129b] = "\xe3\xaa", + [0x129c] = "\x90\x91", [0x129d] = "\xe3\xa6", [0x129e] = "\x90\x92", + [0x129f] = "\xce\xf2", [0x12a0] = "\xd3\xc6", [0x12a1] = "\x90\x93", + [0x12a2] = "\x90\x94", [0x12a3] = "\xbb\xbc", [0x12a4] = "\x90\x95", + [0x12a5] = "\x90\x96", [0x12a6] = "\xd4\xc3", [0x12a7] = "\x90\x97", + [0x12a8] = "\xc4\xfa", [0x12a9] = "\x90\x98", [0x12aa] = "\x90\x99", + [0x12ab] = "\xed\xa8", [0x12ac] = "\xd0\xfc", [0x12ad] = "\xe3\xa5", + [0x12ae] = "\x90\x9a", [0x12af] = "\xc3\xf5", [0x12b0] = "\x90\x9b", + [0x12b1] = "\xe3\xad", [0x12b2] = "\xb1\xaf", [0x12b3] = "\x90\x9c", + [0x12b4] = "\xe3\xb2", [0x12b5] = "\x90\x9d", [0x12b6] = "\x90\x9e", + [0x12b7] = "\x90\x9f", [0x12b8] = "\xbc\xc2", [0x12b9] = "\x90\xa0", + [0x12ba] = "\x90\xa1", [0x12bb] = "\xe3\xac", [0x12bc] = "\xb5\xbf", + [0x12bd] = "\x90\xa2", [0x12be] = "\x90\xa3", [0x12bf] = "\x90\xa4", + [0x12c0] = "\x90\xa5", [0x12c1] = "\x90\xa6", [0x12c2] = "\x90\xa7", + [0x12c3] = "\x90\xa8", [0x12c4] = "\x90\xa9", [0x12c5] = "\xc7\xe9", + [0x12c6] = "\xe3\xb0", [0x12c7] = "\x90\xaa", [0x12c8] = "\x90\xab", + [0x12c9] = "\x90\xac", [0x12ca] = "\xbe\xaa", [0x12cb] = "\xcd\xef", + [0x12cc] = "\x90\xad", [0x12cd] = "\x90\xae", [0x12ce] = "\x90\xaf", + [0x12cf] = "\x90\xb0", [0x12d0] = "\x90\xb1", [0x12d1] = "\xbb\xf3", + [0x12d2] = "\x90\xb2", [0x12d3] = "\x90\xb3", [0x12d4] = "\x90\xb4", + [0x12d5] = "\xcc\xe8", [0x12d6] = "\x90\xb5", [0x12d7] = "\x90\xb6", + [0x12d8] = "\xe3\xaf", [0x12d9] = "\x90\xb7", [0x12da] = "\xe3\xb1", + [0x12db] = "\x90\xb8", [0x12dc] = "\xcf\xa7", [0x12dd] = "\xe3\xae", + [0x12de] = "\x90\xb9", [0x12df] = "\xce\xa9", [0x12e0] = "\xbb\xdd", + [0x12e1] = "\x90\xba", [0x12e2] = "\x90\xbb", [0x12e3] = "\x90\xbc", + [0x12e4] = "\x90\xbd", [0x12e5] = "\x90\xbe", [0x12e6] = "\xb5\xeb", + [0x12e7] = "\xbe\xe5", [0x12e8] = "\xb2\xd2", [0x12e9] = "\xb3\xcd", + [0x12ea] = "\x90\xbf", [0x12eb] = "\xb1\xb9", [0x12ec] = "\xe3\xab", + [0x12ed] = "\xb2\xd1", [0x12ee] = "\xb5\xac", [0x12ef] = "\xb9\xdf", + [0x12f0] = "\xb6\xe8", [0x12f1] = "\x90\xc0", [0x12f2] = "\x90\xc1", + [0x12f3] = "\xcf\xeb", [0x12f4] = "\xe3\xb7", [0x12f5] = "\x90\xc2", + [0x12f6] = "\xbb\xcc", [0x12f7] = "\x90\xc3", [0x12f8] = "\x90\xc4", + [0x12f9] = "\xc8\xc7", [0x12fa] = "\xd0\xca", [0x12fb] = "\x90\xc5", + [0x12fc] = "\x90\xc6", [0x12fd] = "\x90\xc7", [0x12fe] = "\x90\xc8", + [0x12ff] = "\x90\xc9", [0x1300] = "\xe3\xb8", [0x1301] = "\xb3\xee", + [0x1302] = "\x90\xca", [0x1303] = "\x90\xcb", [0x1304] = "\x90\xcc", + [0x1305] = "\x90\xcd", [0x1306] = "\xed\xa9", [0x1307] = "\x90\xce", + [0x1308] = "\xd3\xfa", [0x1309] = "\xd3\xe4", [0x130a] = "\x90\xcf", + [0x130b] = "\x90\xd0", [0x130c] = "\x90\xd1", [0x130d] = "\xed\xaa", + [0x130e] = "\xe3\xb9", [0x130f] = "\xd2\xe2", [0x1310] = "\x90\xd2", + [0x1311] = "\x90\xd3", [0x1312] = "\x90\xd4", [0x1313] = "\x90\xd5", + [0x1314] = "\x90\xd6", [0x1315] = "\xe3\xb5", [0x1316] = "\x90\xd7", + [0x1317] = "\x90\xd8", [0x1318] = "\x90\xd9", [0x1319] = "\x90\xda", + [0x131a] = "\xd3\xde", [0x131b] = "\x90\xdb", [0x131c] = "\x90\xdc", + [0x131d] = "\x90\xdd", [0x131e] = "\x90\xde", [0x131f] = "\xb8\xd0", + [0x1320] = "\xe3\xb3", [0x1321] = "\x90\xdf", [0x1322] = "\x90\xe0", + [0x1323] = "\xe3\xb6", [0x1324] = "\xb7\xdf", [0x1325] = "\x90\xe1", + [0x1326] = "\xe3\xb4", [0x1327] = "\xc0\xa2", [0x1328] = "\x90\xe2", + [0x1329] = "\x90\xe3", [0x132a] = "\x90\xe4", [0x132b] = "\xe3\xba", + [0x132c] = "\x90\xe5", [0x132d] = "\x90\xe6", [0x132e] = "\x90\xe7", + [0x132f] = "\x90\xe8", [0x1330] = "\x90\xe9", [0x1331] = "\x90\xea", + [0x1332] = "\x90\xeb", [0x1333] = "\x90\xec", [0x1334] = "\x90\xed", + [0x1335] = "\x90\xee", [0x1336] = "\x90\xef", [0x1337] = "\x90\xf0", + [0x1338] = "\x90\xf1", [0x1339] = "\x90\xf2", [0x133a] = "\x90\xf3", + [0x133b] = "\x90\xf4", [0x133c] = "\x90\xf5", [0x133d] = "\x90\xf6", + [0x133e] = "\x90\xf7", [0x133f] = "\xd4\xb8", [0x1340] = "\x90\xf8", + [0x1341] = "\x90\xf9", [0x1342] = "\x90\xfa", [0x1343] = "\x90\xfb", + [0x1344] = "\x90\xfc", [0x1345] = "\x90\xfd", [0x1346] = "\x90\xfe", + [0x1347] = "\x91\x40", [0x1348] = "\xb4\xc8", [0x1349] = "\x91\x41", + [0x134a] = "\xe3\xbb", [0x134b] = "\x91\x42", [0x134c] = "\xbb\xc5", + [0x134d] = "\x91\x43", [0x134e] = "\xc9\xf7", [0x134f] = "\x91\x44", + [0x1350] = "\x91\x45", [0x1351] = "\xc9\xe5", [0x1352] = "\x91\x46", + [0x1353] = "\x91\x47", [0x1354] = "\x91\x48", [0x1355] = "\xc4\xbd", + [0x1356] = "\x91\x49", [0x1357] = "\x91\x4a", [0x1358] = "\x91\x4b", + [0x1359] = "\x91\x4c", [0x135a] = "\x91\x4d", [0x135b] = "\x91\x4e", + [0x135c] = "\x91\x4f", [0x135d] = "\xed\xab", [0x135e] = "\x91\x50", + [0x135f] = "\x91\x51", [0x1360] = "\x91\x52", [0x1361] = "\x91\x53", + [0x1362] = "\xc2\xfd", [0x1363] = "\x91\x54", [0x1364] = "\x91\x55", + [0x1365] = "\x91\x56", [0x1366] = "\x91\x57", [0x1367] = "\xbb\xdb", + [0x1368] = "\xbf\xae", [0x1369] = "\x91\x58", [0x136a] = "\x91\x59", + [0x136b] = "\x91\x5a", [0x136c] = "\x91\x5b", [0x136d] = "\x91\x5c", + [0x136e] = "\x91\x5d", [0x136f] = "\x91\x5e", [0x1370] = "\xce\xbf", + [0x1371] = "\x91\x5f", [0x1372] = "\x91\x60", [0x1373] = "\x91\x61", + [0x1374] = "\x91\x62", [0x1375] = "\xe3\xbc", [0x1376] = "\x91\x63", + [0x1377] = "\xbf\xb6", [0x1378] = "\x91\x64", [0x1379] = "\x91\x65", + [0x137a] = "\x91\x66", [0x137b] = "\x91\x67", [0x137c] = "\x91\x68", + [0x137d] = "\x91\x69", [0x137e] = "\x91\x6a", [0x137f] = "\x91\x6b", + [0x1380] = "\x91\x6c", [0x1381] = "\x91\x6d", [0x1382] = "\x91\x6e", + [0x1383] = "\x91\x6f", [0x1384] = "\x91\x70", [0x1385] = "\x91\x71", + [0x1386] = "\x91\x72", [0x1387] = "\x91\x73", [0x1388] = "\x91\x74", + [0x1389] = "\x91\x75", [0x138a] = "\x91\x76", [0x138b] = "\xb1\xef", + [0x138c] = "\x91\x77", [0x138d] = "\x91\x78", [0x138e] = "\xd4\xf7", + [0x138f] = "\x91\x79", [0x1390] = "\x91\x7a", [0x1391] = "\x91\x7b", + [0x1392] = "\x91\x7c", [0x1393] = "\x91\x7d", [0x1394] = "\xe3\xbe", + [0x1395] = "\x91\x7e", [0x1396] = "\x91\x80", [0x1397] = "\x91\x81", + [0x1398] = "\x91\x82", [0x1399] = "\x91\x83", [0x139a] = "\x91\x84", + [0x139b] = "\x91\x85", [0x139c] = "\x91\x86", [0x139d] = "\xed\xad", + [0x139e] = "\x91\x87", [0x139f] = "\x91\x88", [0x13a0] = "\x91\x89", + [0x13a1] = "\x91\x8a", [0x13a2] = "\x91\x8b", [0x13a3] = "\x91\x8c", + [0x13a4] = "\x91\x8d", [0x13a5] = "\x91\x8e", [0x13a6] = "\x91\x8f", + [0x13a7] = "\xe3\xbf", [0x13a8] = "\xba\xa9", [0x13a9] = "\xed\xac", + [0x13aa] = "\x91\x90", [0x13ab] = "\x91\x91", [0x13ac] = "\xe3\xbd", + [0x13ad] = "\x91\x92", [0x13ae] = "\x91\x93", [0x13af] = "\x91\x94", + [0x13b0] = "\x91\x95", [0x13b1] = "\x91\x96", [0x13b2] = "\x91\x97", + [0x13b3] = "\x91\x98", [0x13b4] = "\x91\x99", [0x13b5] = "\x91\x9a", + [0x13b6] = "\x91\x9b", [0x13b7] = "\xe3\xc0", [0x13b8] = "\x91\x9c", + [0x13b9] = "\x91\x9d", [0x13ba] = "\x91\x9e", [0x13bb] = "\x91\x9f", + [0x13bc] = "\x91\xa0", [0x13bd] = "\x91\xa1", [0x13be] = "\xba\xb6", + [0x13bf] = "\x91\xa2", [0x13c0] = "\x91\xa3", [0x13c1] = "\x91\xa4", + [0x13c2] = "\xb6\xae", [0x13c3] = "\x91\xa5", [0x13c4] = "\x91\xa6", + [0x13c5] = "\x91\xa7", [0x13c6] = "\x91\xa8", [0x13c7] = "\x91\xa9", + [0x13c8] = "\xd0\xb8", [0x13c9] = "\x91\xaa", [0x13ca] = "\xb0\xc3", + [0x13cb] = "\xed\xae", [0x13cc] = "\x91\xab", [0x13cd] = "\x91\xac", + [0x13ce] = "\x91\xad", [0x13cf] = "\x91\xae", [0x13d0] = "\x91\xaf", + [0x13d1] = "\xed\xaf", [0x13d2] = "\xc0\xc1", [0x13d3] = "\x91\xb0", + [0x13d4] = "\xe3\xc1", [0x13d5] = "\x91\xb1", [0x13d6] = "\x91\xb2", + [0x13d7] = "\x91\xb3", [0x13d8] = "\x91\xb4", [0x13d9] = "\x91\xb5", + [0x13da] = "\x91\xb6", [0x13db] = "\x91\xb7", [0x13dc] = "\x91\xb8", + [0x13dd] = "\x91\xb9", [0x13de] = "\x91\xba", [0x13df] = "\x91\xbb", + [0x13e0] = "\x91\xbc", [0x13e1] = "\x91\xbd", [0x13e2] = "\x91\xbe", + [0x13e3] = "\x91\xbf", [0x13e4] = "\x91\xc0", [0x13e5] = "\x91\xc1", + [0x13e6] = "\xc5\xb3", [0x13e7] = "\x91\xc2", [0x13e8] = "\x91\xc3", + [0x13e9] = "\x91\xc4", [0x13ea] = "\x91\xc5", [0x13eb] = "\x91\xc6", + [0x13ec] = "\x91\xc7", [0x13ed] = "\x91\xc8", [0x13ee] = "\x91\xc9", + [0x13ef] = "\x91\xca", [0x13f0] = "\x91\xcb", [0x13f1] = "\x91\xcc", + [0x13f2] = "\x91\xcd", [0x13f3] = "\x91\xce", [0x13f4] = "\x91\xcf", + [0x13f5] = "\xe3\xc2", [0x13f6] = "\x91\xd0", [0x13f7] = "\x91\xd1", + [0x13f8] = "\x91\xd2", [0x13f9] = "\x91\xd3", [0x13fa] = "\x91\xd4", + [0x13fb] = "\x91\xd5", [0x13fc] = "\x91\xd6", [0x13fd] = "\x91\xd7", + [0x13fe] = "\x91\xd8", [0x13ff] = "\xdc\xb2", [0x1400] = "\x91\xd9", + [0x1401] = "\x91\xda", [0x1402] = "\x91\xdb", [0x1403] = "\x91\xdc", + [0x1404] = "\x91\xdd", [0x1405] = "\x91\xde", [0x1406] = "\xed\xb0", + [0x1407] = "\x91\xdf", [0x1408] = "\xb8\xea", [0x1409] = "\x91\xe0", + [0x140a] = "\xce\xec", [0x140b] = "\xea\xa7", [0x140c] = "\xd0\xe7", + [0x140d] = "\xca\xf9", [0x140e] = "\xc8\xd6", [0x140f] = "\xcf\xb7", + [0x1410] = "\xb3\xc9", [0x1411] = "\xce\xd2", [0x1412] = "\xbd\xe4", + [0x1413] = "\x91\xe1", [0x1414] = "\x91\xe2", [0x1415] = "\xe3\xde", + [0x1416] = "\xbb\xf2", [0x1417] = "\xea\xa8", [0x1418] = "\xd5\xbd", + [0x1419] = "\x91\xe3", [0x141a] = "\xc6\xdd", [0x141b] = "\xea\xa9", + [0x141c] = "\x91\xe4", [0x141d] = "\x91\xe5", [0x141e] = "\x91\xe6", + [0x141f] = "\xea\xaa", [0x1420] = "\x91\xe7", [0x1421] = "\xea\xac", + [0x1422] = "\xea\xab", [0x1423] = "\x91\xe8", [0x1424] = "\xea\xae", + [0x1425] = "\xea\xad", [0x1426] = "\x91\xe9", [0x1427] = "\x91\xea", + [0x1428] = "\x91\xeb", [0x1429] = "\x91\xec", [0x142a] = "\xbd\xd8", + [0x142b] = "\x91\xed", [0x142c] = "\xea\xaf", [0x142d] = "\x91\xee", + [0x142e] = "\xc2\xbe", [0x142f] = "\x91\xef", [0x1430] = "\x91\xf0", + [0x1431] = "\x91\xf1", [0x1432] = "\x91\xf2", [0x1433] = "\xb4\xc1", + [0x1434] = "\xb4\xf7", [0x1435] = "\x91\xf3", [0x1436] = "\x91\xf4", + [0x1437] = "\xbb\xa7", [0x1438] = "\x91\xf5", [0x1439] = "\x91\xf6", + [0x143a] = "\x91\xf7", [0x143b] = "\x91\xf8", [0x143c] = "\x91\xf9", + [0x143d] = "\xec\xe6", [0x143e] = "\xec\xe5", [0x143f] = "\xb7\xbf", + [0x1440] = "\xcb\xf9", [0x1441] = "\xb1\xe2", [0x1442] = "\x91\xfa", + [0x1443] = "\xec\xe7", [0x1444] = "\x91\xfb", [0x1445] = "\x91\xfc", + [0x1446] = "\x91\xfd", [0x1447] = "\xc9\xc8", [0x1448] = "\xec\xe8", + [0x1449] = "\xec\xe9", [0x144a] = "\x91\xfe", [0x144b] = "\xca\xd6", + [0x144c] = "\xde\xd0", [0x144d] = "\xb2\xc5", [0x144e] = "\xd4\xfa", + [0x144f] = "\x92\x40", [0x1450] = "\x92\x41", [0x1451] = "\xc6\xcb", + [0x1452] = "\xb0\xc7", [0x1453] = "\xb4\xf2", [0x1454] = "\xc8\xd3", + [0x1455] = "\x92\x42", [0x1456] = "\x92\x43", [0x1457] = "\x92\x44", + [0x1458] = "\xcd\xd0", [0x1459] = "\x92\x45", [0x145a] = "\x92\x46", + [0x145b] = "\xbf\xb8", [0x145c] = "\x92\x47", [0x145d] = "\x92\x48", + [0x145e] = "\x92\x49", [0x145f] = "\x92\x4a", [0x1460] = "\x92\x4b", + [0x1461] = "\x92\x4c", [0x1462] = "\x92\x4d", [0x1463] = "\xbf\xdb", + [0x1464] = "\x92\x4e", [0x1465] = "\x92\x4f", [0x1466] = "\xc7\xa4", + [0x1467] = "\xd6\xb4", [0x1468] = "\x92\x50", [0x1469] = "\xc0\xa9", + [0x146a] = "\xde\xd1", [0x146b] = "\xc9\xa8", [0x146c] = "\xd1\xef", + [0x146d] = "\xc5\xa4", [0x146e] = "\xb0\xe7", [0x146f] = "\xb3\xb6", + [0x1470] = "\xc8\xc5", [0x1471] = "\x92\x51", [0x1472] = "\x92\x52", + [0x1473] = "\xb0\xe2", [0x1474] = "\x92\x53", [0x1475] = "\x92\x54", + [0x1476] = "\xb7\xf6", [0x1477] = "\x92\x55", [0x1478] = "\x92\x56", + [0x1479] = "\xc5\xfa", [0x147a] = "\x92\x57", [0x147b] = "\x92\x58", + [0x147c] = "\xb6\xf3", [0x147d] = "\x92\x59", [0x147e] = "\xd5\xd2", + [0x147f] = "\xb3\xd0", [0x1480] = "\xbc\xbc", [0x1481] = "\x92\x5a", + [0x1482] = "\x92\x5b", [0x1483] = "\x92\x5c", [0x1484] = "\xb3\xad", + [0x1485] = "\x92\x5d", [0x1486] = "\x92\x5e", [0x1487] = "\x92\x5f", + [0x1488] = "\x92\x60", [0x1489] = "\xbe\xf1", [0x148a] = "\xb0\xd1", + [0x148b] = "\x92\x61", [0x148c] = "\x92\x62", [0x148d] = "\x92\x63", + [0x148e] = "\x92\x64", [0x148f] = "\x92\x65", [0x1490] = "\x92\x66", + [0x1491] = "\xd2\xd6", [0x1492] = "\xca\xe3", [0x1493] = "\xd7\xa5", + [0x1494] = "\x92\x67", [0x1495] = "\xcd\xb6", [0x1496] = "\xb6\xb6", + [0x1497] = "\xbf\xb9", [0x1498] = "\xd5\xdb", [0x1499] = "\x92\x68", + [0x149a] = "\xb8\xa7", [0x149b] = "\xc5\xd7", [0x149c] = "\x92\x69", + [0x149d] = "\x92\x6a", [0x149e] = "\x92\x6b", [0x149f] = "\xde\xd2", + [0x14a0] = "\xbf\xd9", [0x14a1] = "\xc2\xd5", [0x14a2] = "\xc7\xc0", + [0x14a3] = "\x92\x6c", [0x14a4] = "\xbb\xa4", [0x14a5] = "\xb1\xa8", + [0x14a6] = "\x92\x6d", [0x14a7] = "\x92\x6e", [0x14a8] = "\xc5\xea", + [0x14a9] = "\x92\x6f", [0x14aa] = "\x92\x70", [0x14ab] = "\xc5\xfb", + [0x14ac] = "\xcc\xa7", [0x14ad] = "\x92\x71", [0x14ae] = "\x92\x72", + [0x14af] = "\x92\x73", [0x14b0] = "\x92\x74", [0x14b1] = "\xb1\xa7", + [0x14b2] = "\x92\x75", [0x14b3] = "\x92\x76", [0x14b4] = "\x92\x77", + [0x14b5] = "\xb5\xd6", [0x14b6] = "\x92\x78", [0x14b7] = "\x92\x79", + [0x14b8] = "\x92\x7a", [0x14b9] = "\xc4\xa8", [0x14ba] = "\x92\x7b", + [0x14bb] = "\xde\xd3", [0x14bc] = "\xd1\xba", [0x14bd] = "\xb3\xe9", + [0x14be] = "\x92\x7c", [0x14bf] = "\xc3\xf2", [0x14c0] = "\x92\x7d", + [0x14c1] = "\x92\x7e", [0x14c2] = "\xb7\xf7", [0x14c3] = "\x92\x80", + [0x14c4] = "\xd6\xf4", [0x14c5] = "\xb5\xa3", [0x14c6] = "\xb2\xf0", + [0x14c7] = "\xc4\xb4", [0x14c8] = "\xc4\xe9", [0x14c9] = "\xc0\xad", + [0x14ca] = "\xde\xd4", [0x14cb] = "\x92\x81", [0x14cc] = "\xb0\xe8", + [0x14cd] = "\xc5\xc4", [0x14ce] = "\xc1\xe0", [0x14cf] = "\x92\x82", + [0x14d0] = "\xb9\xd5", [0x14d1] = "\x92\x83", [0x14d2] = "\xbe\xdc", + [0x14d3] = "\xcd\xd8", [0x14d4] = "\xb0\xce", [0x14d5] = "\x92\x84", + [0x14d6] = "\xcd\xcf", [0x14d7] = "\xde\xd6", [0x14d8] = "\xbe\xd0", + [0x14d9] = "\xd7\xbe", [0x14da] = "\xde\xd5", [0x14db] = "\xd5\xd0", + [0x14dc] = "\xb0\xdd", [0x14dd] = "\x92\x85", [0x14de] = "\x92\x86", + [0x14df] = "\xc4\xe2", [0x14e0] = "\x92\x87", [0x14e1] = "\x92\x88", + [0x14e2] = "\xc2\xa3", [0x14e3] = "\xbc\xf0", [0x14e4] = "\x92\x89", + [0x14e5] = "\xd3\xb5", [0x14e6] = "\xc0\xb9", [0x14e7] = "\xc5\xa1", + [0x14e8] = "\xb2\xa6", [0x14e9] = "\xd4\xf1", [0x14ea] = "\x92\x8a", + [0x14eb] = "\x92\x8b", [0x14ec] = "\xc0\xa8", [0x14ed] = "\xca\xc3", + [0x14ee] = "\xde\xd7", [0x14ef] = "\xd5\xfc", [0x14f0] = "\x92\x8c", + [0x14f1] = "\xb9\xb0", [0x14f2] = "\x92\x8d", [0x14f3] = "\xc8\xad", + [0x14f4] = "\xcb\xa9", [0x14f5] = "\x92\x8e", [0x14f6] = "\xde\xd9", + [0x14f7] = "\xbf\xbd", [0x14f8] = "\x92\x8f", [0x14f9] = "\x92\x90", + [0x14fa] = "\x92\x91", [0x14fb] = "\x92\x92", [0x14fc] = "\xc6\xb4", + [0x14fd] = "\xd7\xa7", [0x14fe] = "\xca\xb0", [0x14ff] = "\xc4\xc3", + [0x1500] = "\x92\x93", [0x1501] = "\xb3\xd6", [0x1502] = "\xb9\xd2", + [0x1503] = "\x92\x94", [0x1504] = "\x92\x95", [0x1505] = "\x92\x96", + [0x1506] = "\x92\x97", [0x1507] = "\xd6\xb8", [0x1508] = "\xea\xfc", + [0x1509] = "\xb0\xb4", [0x150a] = "\x92\x98", [0x150b] = "\x92\x99", + [0x150c] = "\x92\x9a", [0x150d] = "\x92\x9b", [0x150e] = "\xbf\xe6", + [0x150f] = "\x92\x9c", [0x1510] = "\x92\x9d", [0x1511] = "\xcc\xf4", + [0x1512] = "\x92\x9e", [0x1513] = "\x92\x9f", [0x1514] = "\x92\xa0", + [0x1515] = "\x92\xa1", [0x1516] = "\xcd\xda", [0x1517] = "\x92\xa2", + [0x1518] = "\x92\xa3", [0x1519] = "\x92\xa4", [0x151a] = "\xd6\xbf", + [0x151b] = "\xc2\xce", [0x151c] = "\x92\xa5", [0x151d] = "\xce\xce", + [0x151e] = "\xcc\xa2", [0x151f] = "\xd0\xae", [0x1520] = "\xc4\xd3", + [0x1521] = "\xb5\xb2", [0x1522] = "\xde\xd8", [0x1523] = "\xd5\xf5", + [0x1524] = "\xbc\xb7", [0x1525] = "\xbb\xd3", [0x1526] = "\x92\xa6", + [0x1527] = "\x92\xa7", [0x1528] = "\xb0\xa4", [0x1529] = "\x92\xa8", + [0x152a] = "\xc5\xb2", [0x152b] = "\xb4\xec", [0x152c] = "\x92\xa9", + [0x152d] = "\x92\xaa", [0x152e] = "\x92\xab", [0x152f] = "\xd5\xf1", + [0x1530] = "\x92\xac", [0x1531] = "\x92\xad", [0x1532] = "\xea\xfd", + [0x1533] = "\x92\xae", [0x1534] = "\x92\xaf", [0x1535] = "\x92\xb0", + [0x1536] = "\x92\xb1", [0x1537] = "\x92\xb2", [0x1538] = "\x92\xb3", + [0x1539] = "\xde\xda", [0x153a] = "\xcd\xa6", [0x153b] = "\x92\xb4", + [0x153c] = "\x92\xb5", [0x153d] = "\xcd\xec", [0x153e] = "\x92\xb6", + [0x153f] = "\x92\xb7", [0x1540] = "\x92\xb8", [0x1541] = "\x92\xb9", + [0x1542] = "\xce\xe6", [0x1543] = "\xde\xdc", [0x1544] = "\x92\xba", + [0x1545] = "\xcd\xb1", [0x1546] = "\xc0\xa6", [0x1547] = "\x92\xbb", + [0x1548] = "\x92\xbc", [0x1549] = "\xd7\xbd", [0x154a] = "\x92\xbd", + [0x154b] = "\xde\xdb", [0x154c] = "\xb0\xc6", [0x154d] = "\xba\xb4", + [0x154e] = "\xc9\xd3", [0x154f] = "\xc4\xf3", [0x1550] = "\xbe\xe8", + [0x1551] = "\x92\xbe", [0x1552] = "\x92\xbf", [0x1553] = "\x92\xc0", + [0x1554] = "\x92\xc1", [0x1555] = "\xb2\xb6", [0x1556] = "\x92\xc2", + [0x1557] = "\x92\xc3", [0x1558] = "\x92\xc4", [0x1559] = "\x92\xc5", + [0x155a] = "\x92\xc6", [0x155b] = "\x92\xc7", [0x155c] = "\x92\xc8", + [0x155d] = "\x92\xc9", [0x155e] = "\xc0\xcc", [0x155f] = "\xcb\xf0", + [0x1560] = "\x92\xca", [0x1561] = "\xbc\xf1", [0x1562] = "\xbb\xbb", + [0x1563] = "\xb5\xb7", [0x1564] = "\x92\xcb", [0x1565] = "\x92\xcc", + [0x1566] = "\x92\xcd", [0x1567] = "\xc5\xf5", [0x1568] = "\x92\xce", + [0x1569] = "\xde\xe6", [0x156a] = "\x92\xcf", [0x156b] = "\x92\xd0", + [0x156c] = "\x92\xd1", [0x156d] = "\xde\xe3", [0x156e] = "\xbe\xdd", + [0x156f] = "\x92\xd2", [0x1570] = "\x92\xd3", [0x1571] = "\xde\xdf", + [0x1572] = "\x92\xd4", [0x1573] = "\x92\xd5", [0x1574] = "\x92\xd6", + [0x1575] = "\x92\xd7", [0x1576] = "\xb4\xb7", [0x1577] = "\xbd\xdd", + [0x1578] = "\x92\xd8", [0x1579] = "\x92\xd9", [0x157a] = "\xde\xe0", + [0x157b] = "\xc4\xed", [0x157c] = "\x92\xda", [0x157d] = "\x92\xdb", + [0x157e] = "\x92\xdc", [0x157f] = "\x92\xdd", [0x1580] = "\xcf\xc6", + [0x1581] = "\x92\xde", [0x1582] = "\xb5\xe0", [0x1583] = "\x92\xdf", + [0x1584] = "\x92\xe0", [0x1585] = "\x92\xe1", [0x1586] = "\x92\xe2", + [0x1587] = "\xb6\xde", [0x1588] = "\xca\xda", [0x1589] = "\xb5\xf4", + [0x158a] = "\xde\xe5", [0x158b] = "\x92\xe3", [0x158c] = "\xd5\xc6", + [0x158d] = "\x92\xe4", [0x158e] = "\xde\xe1", [0x158f] = "\xcc\xcd", + [0x1590] = "\xc6\xfe", [0x1591] = "\x92\xe5", [0x1592] = "\xc5\xc5", + [0x1593] = "\x92\xe6", [0x1594] = "\x92\xe7", [0x1595] = "\x92\xe8", + [0x1596] = "\xd2\xb4", [0x1597] = "\x92\xe9", [0x1598] = "\xbe\xf2", + [0x1599] = "\x92\xea", [0x159a] = "\x92\xeb", [0x159b] = "\x92\xec", + [0x159c] = "\x92\xed", [0x159d] = "\x92\xee", [0x159e] = "\x92\xef", + [0x159f] = "\x92\xf0", [0x15a0] = "\xc2\xd3", [0x15a1] = "\x92\xf1", + [0x15a2] = "\xcc\xbd", [0x15a3] = "\xb3\xb8", [0x15a4] = "\x92\xf2", + [0x15a5] = "\xbd\xd3", [0x15a6] = "\x92\xf3", [0x15a7] = "\xbf\xd8", + [0x15a8] = "\xcd\xc6", [0x15a9] = "\xd1\xda", [0x15aa] = "\xb4\xeb", + [0x15ab] = "\x92\xf4", [0x15ac] = "\xde\xe4", [0x15ad] = "\xde\xdd", + [0x15ae] = "\xde\xe7", [0x15af] = "\x92\xf5", [0x15b0] = "\xea\xfe", + [0x15b1] = "\x92\xf6", [0x15b2] = "\x92\xf7", [0x15b3] = "\xc2\xb0", + [0x15b4] = "\xde\xe2", [0x15b5] = "\x92\xf8", [0x15b6] = "\x92\xf9", + [0x15b7] = "\xd6\xc0", [0x15b8] = "\xb5\xa7", [0x15b9] = "\x92\xfa", + [0x15ba] = "\xb2\xf4", [0x15bb] = "\x92\xfb", [0x15bc] = "\xde\xe8", + [0x15bd] = "\x92\xfc", [0x15be] = "\xde\xf2", [0x15bf] = "\x92\xfd", + [0x15c0] = "\x92\xfe", [0x15c1] = "\x93\x40", [0x15c2] = "\x93\x41", + [0x15c3] = "\x93\x42", [0x15c4] = "\xde\xed", [0x15c5] = "\x93\x43", + [0x15c6] = "\xde\xf1", [0x15c7] = "\x93\x44", [0x15c8] = "\x93\x45", + [0x15c9] = "\xc8\xe0", [0x15ca] = "\x93\x46", [0x15cb] = "\x93\x47", + [0x15cc] = "\x93\x48", [0x15cd] = "\xd7\xe1", [0x15ce] = "\xde\xef", + [0x15cf] = "\xc3\xe8", [0x15d0] = "\xcc\xe1", [0x15d1] = "\x93\x49", + [0x15d2] = "\xb2\xe5", [0x15d3] = "\x93\x4a", [0x15d4] = "\x93\x4b", + [0x15d5] = "\x93\x4c", [0x15d6] = "\xd2\xbe", [0x15d7] = "\x93\x4d", + [0x15d8] = "\x93\x4e", [0x15d9] = "\x93\x4f", [0x15da] = "\x93\x50", + [0x15db] = "\x93\x51", [0x15dc] = "\x93\x52", [0x15dd] = "\x93\x53", + [0x15de] = "\xde\xee", [0x15df] = "\x93\x54", [0x15e0] = "\xde\xeb", + [0x15e1] = "\xce\xd5", [0x15e2] = "\x93\x55", [0x15e3] = "\xb4\xa7", + [0x15e4] = "\x93\x56", [0x15e5] = "\x93\x57", [0x15e6] = "\x93\x58", + [0x15e7] = "\x93\x59", [0x15e8] = "\x93\x5a", [0x15e9] = "\xbf\xab", + [0x15ea] = "\xbe\xbe", [0x15eb] = "\x93\x5b", [0x15ec] = "\x93\x5c", + [0x15ed] = "\xbd\xd2", [0x15ee] = "\x93\x5d", [0x15ef] = "\x93\x5e", + [0x15f0] = "\x93\x5f", [0x15f1] = "\x93\x60", [0x15f2] = "\xde\xe9", + [0x15f3] = "\x93\x61", [0x15f4] = "\xd4\xae", [0x15f5] = "\x93\x62", + [0x15f6] = "\xde\xde", [0x15f7] = "\x93\x63", [0x15f8] = "\xde\xea", + [0x15f9] = "\x93\x64", [0x15fa] = "\x93\x65", [0x15fb] = "\x93\x66", + [0x15fc] = "\x93\x67", [0x15fd] = "\xc0\xbf", [0x15fe] = "\x93\x68", + [0x15ff] = "\xde\xec", [0x1600] = "\xb2\xf3", [0x1601] = "\xb8\xe9", + [0x1602] = "\xc2\xa7", [0x1603] = "\x93\x69", [0x1604] = "\x93\x6a", + [0x1605] = "\xbd\xc1", [0x1606] = "\x93\x6b", [0x1607] = "\x93\x6c", + [0x1608] = "\x93\x6d", [0x1609] = "\x93\x6e", [0x160a] = "\x93\x6f", + [0x160b] = "\xde\xf5", [0x160c] = "\xde\xf8", [0x160d] = "\x93\x70", + [0x160e] = "\x93\x71", [0x160f] = "\xb2\xab", [0x1610] = "\xb4\xa4", + [0x1611] = "\x93\x72", [0x1612] = "\x93\x73", [0x1613] = "\xb4\xea", + [0x1614] = "\xc9\xa6", [0x1615] = "\x93\x74", [0x1616] = "\x93\x75", + [0x1617] = "\x93\x76", [0x1618] = "\x93\x77", [0x1619] = "\x93\x78", + [0x161a] = "\x93\x79", [0x161b] = "\xde\xf6", [0x161c] = "\xcb\xd1", + [0x161d] = "\x93\x7a", [0x161e] = "\xb8\xe3", [0x161f] = "\x93\x7b", + [0x1620] = "\xde\xf7", [0x1621] = "\xde\xfa", [0x1622] = "\x93\x7c", + [0x1623] = "\x93\x7d", [0x1624] = "\x93\x7e", [0x1625] = "\x93\x80", + [0x1626] = "\xde\xf9", [0x1627] = "\x93\x81", [0x1628] = "\x93\x82", + [0x1629] = "\x93\x83", [0x162a] = "\xcc\xc2", [0x162b] = "\x93\x84", + [0x162c] = "\xb0\xe1", [0x162d] = "\xb4\xee", [0x162e] = "\x93\x85", + [0x162f] = "\x93\x86", [0x1630] = "\x93\x87", [0x1631] = "\x93\x88", + [0x1632] = "\x93\x89", [0x1633] = "\x93\x8a", [0x1634] = "\xe5\xba", + [0x1635] = "\x93\x8b", [0x1636] = "\x93\x8c", [0x1637] = "\x93\x8d", + [0x1638] = "\x93\x8e", [0x1639] = "\x93\x8f", [0x163a] = "\xd0\xaf", + [0x163b] = "\x93\x90", [0x163c] = "\x93\x91", [0x163d] = "\xb2\xeb", + [0x163e] = "\x93\x92", [0x163f] = "\xeb\xa1", [0x1640] = "\x93\x93", + [0x1641] = "\xde\xf4", [0x1642] = "\x93\x94", [0x1643] = "\x93\x95", + [0x1644] = "\xc9\xe3", [0x1645] = "\xde\xf3", [0x1646] = "\xb0\xda", + [0x1647] = "\xd2\xa1", [0x1648] = "\xb1\xf7", [0x1649] = "\x93\x96", + [0x164a] = "\xcc\xaf", [0x164b] = "\x93\x97", [0x164c] = "\x93\x98", + [0x164d] = "\x93\x99", [0x164e] = "\x93\x9a", [0x164f] = "\x93\x9b", + [0x1650] = "\x93\x9c", [0x1651] = "\x93\x9d", [0x1652] = "\xde\xf0", + [0x1653] = "\x93\x9e", [0x1654] = "\xcb\xa4", [0x1655] = "\x93\x9f", + [0x1656] = "\x93\xa0", [0x1657] = "\x93\xa1", [0x1658] = "\xd5\xaa", + [0x1659] = "\x93\xa2", [0x165a] = "\x93\xa3", [0x165b] = "\x93\xa4", + [0x165c] = "\x93\xa5", [0x165d] = "\x93\xa6", [0x165e] = "\xde\xfb", + [0x165f] = "\x93\xa7", [0x1660] = "\x93\xa8", [0x1661] = "\x93\xa9", + [0x1662] = "\x93\xaa", [0x1663] = "\x93\xab", [0x1664] = "\x93\xac", + [0x1665] = "\x93\xad", [0x1666] = "\x93\xae", [0x1667] = "\xb4\xdd", + [0x1668] = "\x93\xaf", [0x1669] = "\xc4\xa6", [0x166a] = "\x93\xb0", + [0x166b] = "\x93\xb1", [0x166c] = "\x93\xb2", [0x166d] = "\xde\xfd", + [0x166e] = "\x93\xb3", [0x166f] = "\x93\xb4", [0x1670] = "\x93\xb5", + [0x1671] = "\x93\xb6", [0x1672] = "\x93\xb7", [0x1673] = "\x93\xb8", + [0x1674] = "\x93\xb9", [0x1675] = "\x93\xba", [0x1676] = "\x93\xbb", + [0x1677] = "\x93\xbc", [0x1678] = "\xc3\xfe", [0x1679] = "\xc4\xa1", + [0x167a] = "\xdf\xa1", [0x167b] = "\x93\xbd", [0x167c] = "\x93\xbe", + [0x167d] = "\x93\xbf", [0x167e] = "\x93\xc0", [0x167f] = "\x93\xc1", + [0x1680] = "\x93\xc2", [0x1681] = "\x93\xc3", [0x1682] = "\xc1\xcc", + [0x1683] = "\x93\xc4", [0x1684] = "\xde\xfc", [0x1685] = "\xbe\xef", + [0x1686] = "\x93\xc5", [0x1687] = "\xc6\xb2", [0x1688] = "\x93\xc6", + [0x1689] = "\x93\xc7", [0x168a] = "\x93\xc8", [0x168b] = "\x93\xc9", + [0x168c] = "\x93\xca", [0x168d] = "\x93\xcb", [0x168e] = "\x93\xcc", + [0x168f] = "\x93\xcd", [0x1690] = "\x93\xce", [0x1691] = "\xb3\xc5", + [0x1692] = "\xc8\xf6", [0x1693] = "\x93\xcf", [0x1694] = "\x93\xd0", + [0x1695] = "\xcb\xba", [0x1696] = "\xde\xfe", [0x1697] = "\x93\xd1", + [0x1698] = "\x93\xd2", [0x1699] = "\xdf\xa4", [0x169a] = "\x93\xd3", + [0x169b] = "\x93\xd4", [0x169c] = "\x93\xd5", [0x169d] = "\x93\xd6", + [0x169e] = "\xd7\xb2", [0x169f] = "\x93\xd7", [0x16a0] = "\x93\xd8", + [0x16a1] = "\x93\xd9", [0x16a2] = "\x93\xda", [0x16a3] = "\x93\xdb", + [0x16a4] = "\xb3\xb7", [0x16a5] = "\x93\xdc", [0x16a6] = "\x93\xdd", + [0x16a7] = "\x93\xde", [0x16a8] = "\x93\xdf", [0x16a9] = "\xc1\xc3", + [0x16aa] = "\x93\xe0", [0x16ab] = "\x93\xe1", [0x16ac] = "\xc7\xcb", + [0x16ad] = "\xb2\xa5", [0x16ae] = "\xb4\xe9", [0x16af] = "\x93\xe2", + [0x16b0] = "\xd7\xab", [0x16b1] = "\x93\xe3", [0x16b2] = "\x93\xe4", + [0x16b3] = "\x93\xe5", [0x16b4] = "\x93\xe6", [0x16b5] = "\xc4\xec", + [0x16b6] = "\x93\xe7", [0x16b7] = "\xdf\xa2", [0x16b8] = "\xdf\xa3", + [0x16b9] = "\x93\xe8", [0x16ba] = "\xdf\xa5", [0x16bb] = "\x93\xe9", + [0x16bc] = "\xba\xb3", [0x16bd] = "\x93\xea", [0x16be] = "\x93\xeb", + [0x16bf] = "\x93\xec", [0x16c0] = "\xdf\xa6", [0x16c1] = "\x93\xed", + [0x16c2] = "\xc0\xde", [0x16c3] = "\x93\xee", [0x16c4] = "\x93\xef", + [0x16c5] = "\xc9\xc3", [0x16c6] = "\x93\xf0", [0x16c7] = "\x93\xf1", + [0x16c8] = "\x93\xf2", [0x16c9] = "\x93\xf3", [0x16ca] = "\x93\xf4", + [0x16cb] = "\x93\xf5", [0x16cc] = "\x93\xf6", [0x16cd] = "\xb2\xd9", + [0x16ce] = "\xc7\xe6", [0x16cf] = "\x93\xf7", [0x16d0] = "\xdf\xa7", + [0x16d1] = "\x93\xf8", [0x16d2] = "\xc7\xdc", [0x16d3] = "\x93\xf9", + [0x16d4] = "\x93\xfa", [0x16d5] = "\x93\xfb", [0x16d6] = "\x93\xfc", + [0x16d7] = "\xdf\xa8", [0x16d8] = "\xeb\xa2", [0x16d9] = "\x93\xfd", + [0x16da] = "\x93\xfe", [0x16db] = "\x94\x40", [0x16dc] = "\x94\x41", + [0x16dd] = "\x94\x42", [0x16de] = "\xcb\xd3", [0x16df] = "\x94\x43", + [0x16e0] = "\x94\x44", [0x16e1] = "\x94\x45", [0x16e2] = "\xdf\xaa", + [0x16e3] = "\x94\x46", [0x16e4] = "\xdf\xa9", [0x16e5] = "\x94\x47", + [0x16e6] = "\xb2\xc1", [0x16e7] = "\x94\x48", [0x16e8] = "\x94\x49", + [0x16e9] = "\x94\x4a", [0x16ea] = "\x94\x4b", [0x16eb] = "\x94\x4c", + [0x16ec] = "\x94\x4d", [0x16ed] = "\x94\x4e", [0x16ee] = "\x94\x4f", + [0x16ef] = "\x94\x50", [0x16f0] = "\x94\x51", [0x16f1] = "\x94\x52", + [0x16f2] = "\x94\x53", [0x16f3] = "\x94\x54", [0x16f4] = "\x94\x55", + [0x16f5] = "\x94\x56", [0x16f6] = "\x94\x57", [0x16f7] = "\x94\x58", + [0x16f8] = "\x94\x59", [0x16f9] = "\x94\x5a", [0x16fa] = "\x94\x5b", + [0x16fb] = "\x94\x5c", [0x16fc] = "\x94\x5d", [0x16fd] = "\x94\x5e", + [0x16fe] = "\x94\x5f", [0x16ff] = "\x94\x60", [0x1700] = "\xc5\xca", + [0x1701] = "\x94\x61", [0x1702] = "\x94\x62", [0x1703] = "\x94\x63", + [0x1704] = "\x94\x64", [0x1705] = "\x94\x65", [0x1706] = "\x94\x66", + [0x1707] = "\x94\x67", [0x1708] = "\x94\x68", [0x1709] = "\xdf\xab", + [0x170a] = "\x94\x69", [0x170b] = "\x94\x6a", [0x170c] = "\x94\x6b", + [0x170d] = "\x94\x6c", [0x170e] = "\x94\x6d", [0x170f] = "\x94\x6e", + [0x1710] = "\x94\x6f", [0x1711] = "\x94\x70", [0x1712] = "\xd4\xdc", + [0x1713] = "\x94\x71", [0x1714] = "\x94\x72", [0x1715] = "\x94\x73", + [0x1716] = "\x94\x74", [0x1717] = "\x94\x75", [0x1718] = "\xc8\xc1", + [0x1719] = "\x94\x76", [0x171a] = "\x94\x77", [0x171b] = "\x94\x78", + [0x171c] = "\x94\x79", [0x171d] = "\x94\x7a", [0x171e] = "\x94\x7b", + [0x171f] = "\x94\x7c", [0x1720] = "\x94\x7d", [0x1721] = "\x94\x7e", + [0x1722] = "\x94\x80", [0x1723] = "\x94\x81", [0x1724] = "\x94\x82", + [0x1725] = "\xdf\xac", [0x1726] = "\x94\x83", [0x1727] = "\x94\x84", + [0x1728] = "\x94\x85", [0x1729] = "\x94\x86", [0x172a] = "\x94\x87", + [0x172b] = "\xbe\xf0", [0x172c] = "\x94\x88", [0x172d] = "\x94\x89", + [0x172e] = "\xdf\xad", [0x172f] = "\xd6\xa7", [0x1730] = "\x94\x8a", + [0x1731] = "\x94\x8b", [0x1732] = "\x94\x8c", [0x1733] = "\x94\x8d", + [0x1734] = "\xea\xb7", [0x1735] = "\xeb\xb6", [0x1736] = "\xca\xd5", + [0x1737] = "\x94\x8e", [0x1738] = "\xd8\xfc", [0x1739] = "\xb8\xc4", + [0x173a] = "\x94\x8f", [0x173b] = "\xb9\xa5", [0x173c] = "\x94\x90", + [0x173d] = "\x94\x91", [0x173e] = "\xb7\xc5", [0x173f] = "\xd5\xfe", + [0x1740] = "\x94\x92", [0x1741] = "\x94\x93", [0x1742] = "\x94\x94", + [0x1743] = "\x94\x95", [0x1744] = "\x94\x96", [0x1745] = "\xb9\xca", + [0x1746] = "\x94\x97", [0x1747] = "\x94\x98", [0x1748] = "\xd0\xa7", + [0x1749] = "\xf4\xcd", [0x174a] = "\x94\x99", [0x174b] = "\x94\x9a", + [0x174c] = "\xb5\xd0", [0x174d] = "\x94\x9b", [0x174e] = "\x94\x9c", + [0x174f] = "\xc3\xf4", [0x1750] = "\x94\x9d", [0x1751] = "\xbe\xc8", + [0x1752] = "\x94\x9e", [0x1753] = "\x94\x9f", [0x1754] = "\x94\xa0", + [0x1755] = "\xeb\xb7", [0x1756] = "\xb0\xbd", [0x1757] = "\x94\xa1", + [0x1758] = "\x94\xa2", [0x1759] = "\xbd\xcc", [0x175a] = "\x94\xa3", + [0x175b] = "\xc1\xb2", [0x175c] = "\x94\xa4", [0x175d] = "\xb1\xd6", + [0x175e] = "\xb3\xa8", [0x175f] = "\x94\xa5", [0x1760] = "\x94\xa6", + [0x1761] = "\x94\xa7", [0x1762] = "\xb8\xd2", [0x1763] = "\xc9\xa2", + [0x1764] = "\x94\xa8", [0x1765] = "\x94\xa9", [0x1766] = "\xb6\xd8", + [0x1767] = "\x94\xaa", [0x1768] = "\x94\xab", [0x1769] = "\x94\xac", + [0x176a] = "\x94\xad", [0x176b] = "\xeb\xb8", [0x176c] = "\xbe\xb4", + [0x176d] = "\x94\xae", [0x176e] = "\x94\xaf", [0x176f] = "\x94\xb0", + [0x1770] = "\xca\xfd", [0x1771] = "\x94\xb1", [0x1772] = "\xc7\xc3", + [0x1773] = "\x94\xb2", [0x1774] = "\xd5\xfb", [0x1775] = "\x94\xb3", + [0x1776] = "\x94\xb4", [0x1777] = "\xb7\xf3", [0x1778] = "\x94\xb5", + [0x1779] = "\x94\xb6", [0x177a] = "\x94\xb7", [0x177b] = "\x94\xb8", + [0x177c] = "\x94\xb9", [0x177d] = "\x94\xba", [0x177e] = "\x94\xbb", + [0x177f] = "\x94\xbc", [0x1780] = "\x94\xbd", [0x1781] = "\x94\xbe", + [0x1782] = "\x94\xbf", [0x1783] = "\x94\xc0", [0x1784] = "\x94\xc1", + [0x1785] = "\x94\xc2", [0x1786] = "\x94\xc3", [0x1787] = "\xce\xc4", + [0x1788] = "\x94\xc4", [0x1789] = "\x94\xc5", [0x178a] = "\x94\xc6", + [0x178b] = "\xd5\xab", [0x178c] = "\xb1\xf3", [0x178d] = "\x94\xc7", + [0x178e] = "\x94\xc8", [0x178f] = "\x94\xc9", [0x1790] = "\xec\xb3", + [0x1791] = "\xb0\xdf", [0x1792] = "\x94\xca", [0x1793] = "\xec\xb5", + [0x1794] = "\x94\xcb", [0x1795] = "\x94\xcc", [0x1796] = "\x94\xcd", + [0x1797] = "\xb6\xb7", [0x1798] = "\x94\xce", [0x1799] = "\xc1\xcf", + [0x179a] = "\x94\xcf", [0x179b] = "\xf5\xfa", [0x179c] = "\xd0\xb1", + [0x179d] = "\x94\xd0", [0x179e] = "\x94\xd1", [0x179f] = "\xd5\xe5", + [0x17a0] = "\x94\xd2", [0x17a1] = "\xce\xd3", [0x17a2] = "\x94\xd3", + [0x17a3] = "\x94\xd4", [0x17a4] = "\xbd\xef", [0x17a5] = "\xb3\xe2", + [0x17a6] = "\x94\xd5", [0x17a7] = "\xb8\xab", [0x17a8] = "\x94\xd6", + [0x17a9] = "\xd5\xb6", [0x17aa] = "\x94\xd7", [0x17ab] = "\xed\xbd", + [0x17ac] = "\x94\xd8", [0x17ad] = "\xb6\xcf", [0x17ae] = "\x94\xd9", + [0x17af] = "\xcb\xb9", [0x17b0] = "\xd0\xc2", [0x17b1] = "\x94\xda", + [0x17b2] = "\x94\xdb", [0x17b3] = "\x94\xdc", [0x17b4] = "\x94\xdd", + [0x17b5] = "\x94\xde", [0x17b6] = "\x94\xdf", [0x17b7] = "\x94\xe0", + [0x17b8] = "\x94\xe1", [0x17b9] = "\xb7\xbd", [0x17ba] = "\x94\xe2", + [0x17bb] = "\x94\xe3", [0x17bc] = "\xec\xb6", [0x17bd] = "\xca\xa9", + [0x17be] = "\x94\xe4", [0x17bf] = "\x94\xe5", [0x17c0] = "\x94\xe6", + [0x17c1] = "\xc5\xd4", [0x17c2] = "\x94\xe7", [0x17c3] = "\xec\xb9", + [0x17c4] = "\xec\xb8", [0x17c5] = "\xc2\xc3", [0x17c6] = "\xec\xb7", + [0x17c7] = "\x94\xe8", [0x17c8] = "\x94\xe9", [0x17c9] = "\x94\xea", + [0x17ca] = "\x94\xeb", [0x17cb] = "\xd0\xfd", [0x17cc] = "\xec\xba", + [0x17cd] = "\x94\xec", [0x17ce] = "\xec\xbb", [0x17cf] = "\xd7\xe5", + [0x17d0] = "\x94\xed", [0x17d1] = "\x94\xee", [0x17d2] = "\xec\xbc", + [0x17d3] = "\x94\xef", [0x17d4] = "\x94\xf0", [0x17d5] = "\x94\xf1", + [0x17d6] = "\xec\xbd", [0x17d7] = "\xc6\xec", [0x17d8] = "\x94\xf2", + [0x17d9] = "\x94\xf3", [0x17da] = "\x94\xf4", [0x17db] = "\x94\xf5", + [0x17dc] = "\x94\xf6", [0x17dd] = "\x94\xf7", [0x17de] = "\x94\xf8", + [0x17df] = "\x94\xf9", [0x17e0] = "\xce\xde", [0x17e1] = "\x94\xfa", + [0x17e2] = "\xbc\xc8", [0x17e3] = "\x94\xfb", [0x17e4] = "\x94\xfc", + [0x17e5] = "\xc8\xd5", [0x17e6] = "\xb5\xa9", [0x17e7] = "\xbe\xc9", + [0x17e8] = "\xd6\xbc", [0x17e9] = "\xd4\xe7", [0x17ea] = "\x94\xfd", + [0x17eb] = "\x94\xfe", [0x17ec] = "\xd1\xae", [0x17ed] = "\xd0\xf1", + [0x17ee] = "\xea\xb8", [0x17ef] = "\xea\xb9", [0x17f0] = "\xea\xba", + [0x17f1] = "\xba\xb5", [0x17f2] = "\x95\x40", [0x17f3] = "\x95\x41", + [0x17f4] = "\x95\x42", [0x17f5] = "\x95\x43", [0x17f6] = "\xca\xb1", + [0x17f7] = "\xbf\xf5", [0x17f8] = "\x95\x44", [0x17f9] = "\x95\x45", + [0x17fa] = "\xcd\xfa", [0x17fb] = "\x95\x46", [0x17fc] = "\x95\x47", + [0x17fd] = "\x95\x48", [0x17fe] = "\x95\x49", [0x17ff] = "\x95\x4a", + [0x1800] = "\xea\xc0", [0x1801] = "\x95\x4b", [0x1802] = "\xb0\xba", + [0x1803] = "\xea\xbe", [0x1804] = "\x95\x4c", [0x1805] = "\x95\x4d", + [0x1806] = "\xc0\xa5", [0x1807] = "\x95\x4e", [0x1808] = "\x95\x4f", + [0x1809] = "\x95\x50", [0x180a] = "\xea\xbb", [0x180b] = "\x95\x51", + [0x180c] = "\xb2\xfd", [0x180d] = "\x95\x52", [0x180e] = "\xc3\xf7", + [0x180f] = "\xbb\xe8", [0x1810] = "\x95\x53", [0x1811] = "\x95\x54", + [0x1812] = "\x95\x55", [0x1813] = "\xd2\xd7", [0x1814] = "\xce\xf4", + [0x1815] = "\xea\xbf", [0x1816] = "\x95\x56", [0x1817] = "\x95\x57", + [0x1818] = "\x95\x58", [0x1819] = "\xea\xbc", [0x181a] = "\x95\x59", + [0x181b] = "\x95\x5a", [0x181c] = "\x95\x5b", [0x181d] = "\xea\xc3", + [0x181e] = "\x95\x5c", [0x181f] = "\xd0\xc7", [0x1820] = "\xd3\xb3", + [0x1821] = "\x95\x5d", [0x1822] = "\x95\x5e", [0x1823] = "\x95\x5f", + [0x1824] = "\x95\x60", [0x1825] = "\xb4\xba", [0x1826] = "\x95\x61", + [0x1827] = "\xc3\xc1", [0x1828] = "\xd7\xf2", [0x1829] = "\x95\x62", + [0x182a] = "\x95\x63", [0x182b] = "\x95\x64", [0x182c] = "\x95\x65", + [0x182d] = "\xd5\xd1", [0x182e] = "\x95\x66", [0x182f] = "\xca\xc7", + [0x1830] = "\x95\x67", [0x1831] = "\xea\xc5", [0x1832] = "\x95\x68", + [0x1833] = "\x95\x69", [0x1834] = "\xea\xc4", [0x1835] = "\xea\xc7", + [0x1836] = "\xea\xc6", [0x1837] = "\x95\x6a", [0x1838] = "\x95\x6b", + [0x1839] = "\x95\x6c", [0x183a] = "\x95\x6d", [0x183b] = "\x95\x6e", + [0x183c] = "\xd6\xe7", [0x183d] = "\x95\x6f", [0x183e] = "\xcf\xd4", + [0x183f] = "\x95\x70", [0x1840] = "\x95\x71", [0x1841] = "\xea\xcb", + [0x1842] = "\x95\x72", [0x1843] = "\xbb\xce", [0x1844] = "\x95\x73", + [0x1845] = "\x95\x74", [0x1846] = "\x95\x75", [0x1847] = "\x95\x76", + [0x1848] = "\x95\x77", [0x1849] = "\x95\x78", [0x184a] = "\x95\x79", + [0x184b] = "\xbd\xfa", [0x184c] = "\xc9\xce", [0x184d] = "\x95\x7a", + [0x184e] = "\x95\x7b", [0x184f] = "\xea\xcc", [0x1850] = "\x95\x7c", + [0x1851] = "\x95\x7d", [0x1852] = "\xc9\xb9", [0x1853] = "\xcf\xfe", + [0x1854] = "\xea\xca", [0x1855] = "\xd4\xce", [0x1856] = "\xea\xcd", + [0x1857] = "\xea\xcf", [0x1858] = "\x95\x7e", [0x1859] = "\x95\x80", + [0x185a] = "\xcd\xed", [0x185b] = "\x95\x81", [0x185c] = "\x95\x82", + [0x185d] = "\x95\x83", [0x185e] = "\x95\x84", [0x185f] = "\xea\xc9", + [0x1860] = "\x95\x85", [0x1861] = "\xea\xce", [0x1862] = "\x95\x86", + [0x1863] = "\x95\x87", [0x1864] = "\xce\xee", [0x1865] = "\x95\x88", + [0x1866] = "\xbb\xde", [0x1867] = "\x95\x89", [0x1868] = "\xb3\xbf", + [0x1869] = "\x95\x8a", [0x186a] = "\x95\x8b", [0x186b] = "\x95\x8c", + [0x186c] = "\x95\x8d", [0x186d] = "\x95\x8e", [0x186e] = "\xc6\xd5", + [0x186f] = "\xbe\xb0", [0x1870] = "\xce\xfa", [0x1871] = "\x95\x8f", + [0x1872] = "\x95\x90", [0x1873] = "\x95\x91", [0x1874] = "\xc7\xe7", + [0x1875] = "\x95\x92", [0x1876] = "\xbe\xa7", [0x1877] = "\xea\xd0", + [0x1878] = "\x95\x93", [0x1879] = "\x95\x94", [0x187a] = "\xd6\xc7", + [0x187b] = "\x95\x95", [0x187c] = "\x95\x96", [0x187d] = "\x95\x97", + [0x187e] = "\xc1\xc0", [0x187f] = "\x95\x98", [0x1880] = "\x95\x99", + [0x1881] = "\x95\x9a", [0x1882] = "\xd4\xdd", [0x1883] = "\x95\x9b", + [0x1884] = "\xea\xd1", [0x1885] = "\x95\x9c", [0x1886] = "\x95\x9d", + [0x1887] = "\xcf\xbe", [0x1888] = "\x95\x9e", [0x1889] = "\x95\x9f", + [0x188a] = "\x95\xa0", [0x188b] = "\x95\xa1", [0x188c] = "\xea\xd2", + [0x188d] = "\x95\xa2", [0x188e] = "\x95\xa3", [0x188f] = "\x95\xa4", + [0x1890] = "\x95\xa5", [0x1891] = "\xca\xee", [0x1892] = "\x95\xa6", + [0x1893] = "\x95\xa7", [0x1894] = "\x95\xa8", [0x1895] = "\x95\xa9", + [0x1896] = "\xc5\xaf", [0x1897] = "\xb0\xb5", [0x1898] = "\x95\xaa", + [0x1899] = "\x95\xab", [0x189a] = "\x95\xac", [0x189b] = "\x95\xad", + [0x189c] = "\x95\xae", [0x189d] = "\xea\xd4", [0x189e] = "\x95\xaf", + [0x189f] = "\x95\xb0", [0x18a0] = "\x95\xb1", [0x18a1] = "\x95\xb2", + [0x18a2] = "\x95\xb3", [0x18a3] = "\x95\xb4", [0x18a4] = "\x95\xb5", + [0x18a5] = "\x95\xb6", [0x18a6] = "\x95\xb7", [0x18a7] = "\xea\xd3", + [0x18a8] = "\xf4\xdf", [0x18a9] = "\x95\xb8", [0x18aa] = "\x95\xb9", + [0x18ab] = "\x95\xba", [0x18ac] = "\x95\xbb", [0x18ad] = "\x95\xbc", + [0x18ae] = "\xc4\xba", [0x18af] = "\x95\xbd", [0x18b0] = "\x95\xbe", + [0x18b1] = "\x95\xbf", [0x18b2] = "\x95\xc0", [0x18b3] = "\x95\xc1", + [0x18b4] = "\xb1\xa9", [0x18b5] = "\x95\xc2", [0x18b6] = "\x95\xc3", + [0x18b7] = "\x95\xc4", [0x18b8] = "\x95\xc5", [0x18b9] = "\xe5\xdf", + [0x18ba] = "\x95\xc6", [0x18bb] = "\x95\xc7", [0x18bc] = "\x95\xc8", + [0x18bd] = "\x95\xc9", [0x18be] = "\xea\xd5", [0x18bf] = "\x95\xca", + [0x18c0] = "\x95\xcb", [0x18c1] = "\x95\xcc", [0x18c2] = "\x95\xcd", + [0x18c3] = "\x95\xce", [0x18c4] = "\x95\xcf", [0x18c5] = "\x95\xd0", + [0x18c6] = "\x95\xd1", [0x18c7] = "\x95\xd2", [0x18c8] = "\x95\xd3", + [0x18c9] = "\x95\xd4", [0x18ca] = "\x95\xd5", [0x18cb] = "\x95\xd6", + [0x18cc] = "\x95\xd7", [0x18cd] = "\x95\xd8", [0x18ce] = "\x95\xd9", + [0x18cf] = "\x95\xda", [0x18d0] = "\x95\xdb", [0x18d1] = "\x95\xdc", + [0x18d2] = "\x95\xdd", [0x18d3] = "\x95\xde", [0x18d4] = "\x95\xdf", + [0x18d5] = "\x95\xe0", [0x18d6] = "\x95\xe1", [0x18d7] = "\x95\xe2", + [0x18d8] = "\x95\xe3", [0x18d9] = "\xca\xef", [0x18da] = "\x95\xe4", + [0x18db] = "\xea\xd6", [0x18dc] = "\xea\xd7", [0x18dd] = "\xc6\xd8", + [0x18de] = "\x95\xe5", [0x18df] = "\x95\xe6", [0x18e0] = "\x95\xe7", + [0x18e1] = "\x95\xe8", [0x18e2] = "\x95\xe9", [0x18e3] = "\x95\xea", + [0x18e4] = "\x95\xeb", [0x18e5] = "\x95\xec", [0x18e6] = "\xea\xd8", + [0x18e7] = "\x95\xed", [0x18e8] = "\x95\xee", [0x18e9] = "\xea\xd9", + [0x18ea] = "\x95\xef", [0x18eb] = "\x95\xf0", [0x18ec] = "\x95\xf1", + [0x18ed] = "\x95\xf2", [0x18ee] = "\x95\xf3", [0x18ef] = "\x95\xf4", + [0x18f0] = "\xd4\xbb", [0x18f1] = "\x95\xf5", [0x18f2] = "\xc7\xfa", + [0x18f3] = "\xd2\xb7", [0x18f4] = "\xb8\xfc", [0x18f5] = "\x95\xf6", + [0x18f6] = "\x95\xf7", [0x18f7] = "\xea\xc2", [0x18f8] = "\x95\xf8", + [0x18f9] = "\xb2\xdc", [0x18fa] = "\x95\xf9", [0x18fb] = "\x95\xfa", + [0x18fc] = "\xc2\xfc", [0x18fd] = "\x95\xfb", [0x18fe] = "\xd4\xf8", + [0x18ff] = "\xcc\xe6", [0x1900] = "\xd7\xee", [0x1901] = "\x95\xfc", + [0x1902] = "\x95\xfd", [0x1903] = "\x95\xfe", [0x1904] = "\x96\x40", + [0x1905] = "\x96\x41", [0x1906] = "\x96\x42", [0x1907] = "\x96\x43", + [0x1908] = "\xd4\xc2", [0x1909] = "\xd3\xd0", [0x190a] = "\xeb\xc3", + [0x190b] = "\xc5\xf3", [0x190c] = "\x96\x44", [0x190d] = "\xb7\xfe", + [0x190e] = "\x96\x45", [0x190f] = "\x96\x46", [0x1910] = "\xeb\xd4", + [0x1911] = "\x96\x47", [0x1912] = "\x96\x48", [0x1913] = "\x96\x49", + [0x1914] = "\xcb\xb7", [0x1915] = "\xeb\xde", [0x1916] = "\x96\x4a", + [0x1917] = "\xc0\xca", [0x1918] = "\x96\x4b", [0x1919] = "\x96\x4c", + [0x191a] = "\x96\x4d", [0x191b] = "\xcd\xfb", [0x191c] = "\x96\x4e", + [0x191d] = "\xb3\xaf", [0x191e] = "\x96\x4f", [0x191f] = "\xc6\xda", + [0x1920] = "\x96\x50", [0x1921] = "\x96\x51", [0x1922] = "\x96\x52", + [0x1923] = "\x96\x53", [0x1924] = "\x96\x54", [0x1925] = "\x96\x55", + [0x1926] = "\xeb\xfc", [0x1927] = "\x96\x56", [0x1928] = "\xc4\xbe", + [0x1929] = "\x96\x57", [0x192a] = "\xce\xb4", [0x192b] = "\xc4\xa9", + [0x192c] = "\xb1\xbe", [0x192d] = "\xd4\xfd", [0x192e] = "\x96\x58", + [0x192f] = "\xca\xf5", [0x1930] = "\x96\x59", [0x1931] = "\xd6\xec", + [0x1932] = "\x96\x5a", [0x1933] = "\x96\x5b", [0x1934] = "\xc6\xd3", + [0x1935] = "\xb6\xe4", [0x1936] = "\x96\x5c", [0x1937] = "\x96\x5d", + [0x1938] = "\x96\x5e", [0x1939] = "\x96\x5f", [0x193a] = "\xbb\xfa", + [0x193b] = "\x96\x60", [0x193c] = "\x96\x61", [0x193d] = "\xd0\xe0", + [0x193e] = "\x96\x62", [0x193f] = "\x96\x63", [0x1940] = "\xc9\xb1", + [0x1941] = "\x96\x64", [0x1942] = "\xd4\xd3", [0x1943] = "\xc8\xa8", + [0x1944] = "\x96\x65", [0x1945] = "\x96\x66", [0x1946] = "\xb8\xcb", + [0x1947] = "\x96\x67", [0x1948] = "\xe8\xbe", [0x1949] = "\xc9\xbc", + [0x194a] = "\x96\x68", [0x194b] = "\x96\x69", [0x194c] = "\xe8\xbb", + [0x194d] = "\x96\x6a", [0x194e] = "\xc0\xee", [0x194f] = "\xd0\xd3", + [0x1950] = "\xb2\xc4", [0x1951] = "\xb4\xe5", [0x1952] = "\x96\x6b", + [0x1953] = "\xe8\xbc", [0x1954] = "\x96\x6c", [0x1955] = "\x96\x6d", + [0x1956] = "\xd5\xc8", [0x1957] = "\x96\x6e", [0x1958] = "\x96\x6f", + [0x1959] = "\x96\x70", [0x195a] = "\x96\x71", [0x195b] = "\x96\x72", + [0x195c] = "\xb6\xc5", [0x195d] = "\x96\x73", [0x195e] = "\xe8\xbd", + [0x195f] = "\xca\xf8", [0x1960] = "\xb8\xdc", [0x1961] = "\xcc\xf5", + [0x1962] = "\x96\x74", [0x1963] = "\x96\x75", [0x1964] = "\x96\x76", + [0x1965] = "\xc0\xb4", [0x1966] = "\x96\x77", [0x1967] = "\x96\x78", + [0x1968] = "\xd1\xee", [0x1969] = "\xe8\xbf", [0x196a] = "\xe8\xc2", + [0x196b] = "\x96\x79", [0x196c] = "\x96\x7a", [0x196d] = "\xba\xbc", + [0x196e] = "\x96\x7b", [0x196f] = "\xb1\xad", [0x1970] = "\xbd\xdc", + [0x1971] = "\x96\x7c", [0x1972] = "\xea\xbd", [0x1973] = "\xe8\xc3", + [0x1974] = "\x96\x7d", [0x1975] = "\xe8\xc6", [0x1976] = "\x96\x7e", + [0x1977] = "\xe8\xcb", [0x1978] = "\x96\x80", [0x1979] = "\x96\x81", + [0x197a] = "\x96\x82", [0x197b] = "\x96\x83", [0x197c] = "\xe8\xcc", + [0x197d] = "\x96\x84", [0x197e] = "\xcb\xc9", [0x197f] = "\xb0\xe5", + [0x1980] = "\x96\x85", [0x1981] = "\xbc\xab", [0x1982] = "\x96\x86", + [0x1983] = "\x96\x87", [0x1984] = "\xb9\xb9", [0x1985] = "\x96\x88", + [0x1986] = "\x96\x89", [0x1987] = "\xe8\xc1", [0x1988] = "\x96\x8a", + [0x1989] = "\xcd\xf7", [0x198a] = "\x96\x8b", [0x198b] = "\xe8\xca", + [0x198c] = "\x96\x8c", [0x198d] = "\x96\x8d", [0x198e] = "\x96\x8e", + [0x198f] = "\x96\x8f", [0x1990] = "\xce\xf6", [0x1991] = "\x96\x90", + [0x1992] = "\x96\x91", [0x1993] = "\x96\x92", [0x1994] = "\x96\x93", + [0x1995] = "\xd5\xed", [0x1996] = "\x96\x94", [0x1997] = "\xc1\xd6", + [0x1998] = "\xe8\xc4", [0x1999] = "\x96\x95", [0x199a] = "\xc3\xb6", + [0x199b] = "\x96\x96", [0x199c] = "\xb9\xfb", [0x199d] = "\xd6\xa6", + [0x199e] = "\xe8\xc8", [0x199f] = "\x96\x97", [0x19a0] = "\x96\x98", + [0x19a1] = "\x96\x99", [0x19a2] = "\xca\xe0", [0x19a3] = "\xd4\xe6", + [0x19a4] = "\x96\x9a", [0x19a5] = "\xe8\xc0", [0x19a6] = "\x96\x9b", + [0x19a7] = "\xe8\xc5", [0x19a8] = "\xe8\xc7", [0x19a9] = "\x96\x9c", + [0x19aa] = "\xc7\xb9", [0x19ab] = "\xb7\xe3", [0x19ac] = "\x96\x9d", + [0x19ad] = "\xe8\xc9", [0x19ae] = "\x96\x9e", [0x19af] = "\xbf\xdd", + [0x19b0] = "\xe8\xd2", [0x19b1] = "\x96\x9f", [0x19b2] = "\x96\xa0", + [0x19b3] = "\xe8\xd7", [0x19b4] = "\x96\xa1", [0x19b5] = "\xe8\xd5", + [0x19b6] = "\xbc\xdc", [0x19b7] = "\xbc\xcf", [0x19b8] = "\xe8\xdb", + [0x19b9] = "\x96\xa2", [0x19ba] = "\x96\xa3", [0x19bb] = "\x96\xa4", + [0x19bc] = "\x96\xa5", [0x19bd] = "\x96\xa6", [0x19be] = "\x96\xa7", + [0x19bf] = "\x96\xa8", [0x19c0] = "\x96\xa9", [0x19c1] = "\xe8\xde", + [0x19c2] = "\x96\xaa", [0x19c3] = "\xe8\xda", [0x19c4] = "\xb1\xfa", + [0x19c5] = "\x96\xab", [0x19c6] = "\x96\xac", [0x19c7] = "\x96\xad", + [0x19c8] = "\x96\xae", [0x19c9] = "\x96\xaf", [0x19ca] = "\x96\xb0", + [0x19cb] = "\x96\xb1", [0x19cc] = "\x96\xb2", [0x19cd] = "\x96\xb3", + [0x19ce] = "\x96\xb4", [0x19cf] = "\xb0\xd8", [0x19d0] = "\xc4\xb3", + [0x19d1] = "\xb8\xcc", [0x19d2] = "\xc6\xe2", [0x19d3] = "\xc8\xbe", + [0x19d4] = "\xc8\xe1", [0x19d5] = "\x96\xb5", [0x19d6] = "\x96\xb6", + [0x19d7] = "\x96\xb7", [0x19d8] = "\xe8\xcf", [0x19d9] = "\xe8\xd4", + [0x19da] = "\xe8\xd6", [0x19db] = "\x96\xb8", [0x19dc] = "\xb9\xf1", + [0x19dd] = "\xe8\xd8", [0x19de] = "\xd7\xf5", [0x19df] = "\x96\xb9", + [0x19e0] = "\xc4\xfb", [0x19e1] = "\x96\xba", [0x19e2] = "\xe8\xdc", + [0x19e3] = "\x96\xbb", [0x19e4] = "\x96\xbc", [0x19e5] = "\xb2\xe9", + [0x19e6] = "\x96\xbd", [0x19e7] = "\x96\xbe", [0x19e8] = "\x96\xbf", + [0x19e9] = "\xe8\xd1", [0x19ea] = "\x96\xc0", [0x19eb] = "\x96\xc1", + [0x19ec] = "\xbc\xed", [0x19ed] = "\x96\xc2", [0x19ee] = "\x96\xc3", + [0x19ef] = "\xbf\xc2", [0x19f0] = "\xe8\xcd", [0x19f1] = "\xd6\xf9", + [0x19f2] = "\x96\xc4", [0x19f3] = "\xc1\xf8", [0x19f4] = "\xb2\xf1", + [0x19f5] = "\x96\xc5", [0x19f6] = "\x96\xc6", [0x19f7] = "\x96\xc7", + [0x19f8] = "\x96\xc8", [0x19f9] = "\x96\xc9", [0x19fa] = "\x96\xca", + [0x19fb] = "\x96\xcb", [0x19fc] = "\x96\xcc", [0x19fd] = "\xe8\xdf", + [0x19fe] = "\x96\xcd", [0x19ff] = "\xca\xc1", [0x1a00] = "\xe8\xd9", + [0x1a01] = "\x96\xce", [0x1a02] = "\x96\xcf", [0x1a03] = "\x96\xd0", + [0x1a04] = "\x96\xd1", [0x1a05] = "\xd5\xa4", [0x1a06] = "\x96\xd2", + [0x1a07] = "\xb1\xea", [0x1a08] = "\xd5\xbb", [0x1a09] = "\xe8\xce", + [0x1a0a] = "\xe8\xd0", [0x1a0b] = "\xb6\xb0", [0x1a0c] = "\xe8\xd3", + [0x1a0d] = "\x96\xd3", [0x1a0e] = "\xe8\xdd", [0x1a0f] = "\xc0\xb8", + [0x1a10] = "\x96\xd4", [0x1a11] = "\xca\xf7", [0x1a12] = "\x96\xd5", + [0x1a13] = "\xcb\xa8", [0x1a14] = "\x96\xd6", [0x1a15] = "\x96\xd7", + [0x1a16] = "\xc6\xdc", [0x1a17] = "\xc0\xf5", [0x1a18] = "\x96\xd8", + [0x1a19] = "\x96\xd9", [0x1a1a] = "\x96\xda", [0x1a1b] = "\x96\xdb", + [0x1a1c] = "\x96\xdc", [0x1a1d] = "\xe8\xe9", [0x1a1e] = "\x96\xdd", + [0x1a1f] = "\x96\xde", [0x1a20] = "\x96\xdf", [0x1a21] = "\xd0\xa3", + [0x1a22] = "\x96\xe0", [0x1a23] = "\x96\xe1", [0x1a24] = "\x96\xe2", + [0x1a25] = "\x96\xe3", [0x1a26] = "\x96\xe4", [0x1a27] = "\x96\xe5", + [0x1a28] = "\x96\xe6", [0x1a29] = "\xe8\xf2", [0x1a2a] = "\xd6\xea", + [0x1a2b] = "\x96\xe7", [0x1a2c] = "\x96\xe8", [0x1a2d] = "\x96\xe9", + [0x1a2e] = "\x96\xea", [0x1a2f] = "\x96\xeb", [0x1a30] = "\x96\xec", + [0x1a31] = "\x96\xed", [0x1a32] = "\xe8\xe0", [0x1a33] = "\xe8\xe1", + [0x1a34] = "\x96\xee", [0x1a35] = "\x96\xef", [0x1a36] = "\x96\xf0", + [0x1a37] = "\xd1\xf9", [0x1a38] = "\xba\xcb", [0x1a39] = "\xb8\xf9", + [0x1a3a] = "\x96\xf1", [0x1a3b] = "\x96\xf2", [0x1a3c] = "\xb8\xf1", + [0x1a3d] = "\xd4\xd4", [0x1a3e] = "\xe8\xef", [0x1a3f] = "\x96\xf3", + [0x1a40] = "\xe8\xee", [0x1a41] = "\xe8\xec", [0x1a42] = "\xb9\xf0", + [0x1a43] = "\xcc\xd2", [0x1a44] = "\xe8\xe6", [0x1a45] = "\xce\xa6", + [0x1a46] = "\xbf\xf2", [0x1a47] = "\x96\xf4", [0x1a48] = "\xb0\xb8", + [0x1a49] = "\xe8\xf1", [0x1a4a] = "\xe8\xf0", [0x1a4b] = "\x96\xf5", + [0x1a4c] = "\xd7\xc0", [0x1a4d] = "\x96\xf6", [0x1a4e] = "\xe8\xe4", + [0x1a4f] = "\x96\xf7", [0x1a50] = "\xcd\xa9", [0x1a51] = "\xc9\xa3", + [0x1a52] = "\x96\xf8", [0x1a53] = "\xbb\xb8", [0x1a54] = "\xbd\xdb", + [0x1a55] = "\xe8\xea", [0x1a56] = "\x96\xf9", [0x1a57] = "\x96\xfa", + [0x1a58] = "\x96\xfb", [0x1a59] = "\x96\xfc", [0x1a5a] = "\x96\xfd", + [0x1a5b] = "\x96\xfe", [0x1a5c] = "\x97\x40", [0x1a5d] = "\x97\x41", + [0x1a5e] = "\x97\x42", [0x1a5f] = "\x97\x43", [0x1a60] = "\xe8\xe2", + [0x1a61] = "\xe8\xe3", [0x1a62] = "\xe8\xe5", [0x1a63] = "\xb5\xb5", + [0x1a64] = "\xe8\xe7", [0x1a65] = "\xc7\xc5", [0x1a66] = "\xe8\xeb", + [0x1a67] = "\xe8\xed", [0x1a68] = "\xbd\xb0", [0x1a69] = "\xd7\xae", + [0x1a6a] = "\x97\x44", [0x1a6b] = "\xe8\xf8", [0x1a6c] = "\x97\x45", + [0x1a6d] = "\x97\x46", [0x1a6e] = "\x97\x47", [0x1a6f] = "\x97\x48", + [0x1a70] = "\x97\x49", [0x1a71] = "\x97\x4a", [0x1a72] = "\x97\x4b", + [0x1a73] = "\x97\x4c", [0x1a74] = "\xe8\xf5", [0x1a75] = "\x97\x4d", + [0x1a76] = "\xcd\xb0", [0x1a77] = "\xe8\xf6", [0x1a78] = "\x97\x4e", + [0x1a79] = "\x97\x4f", [0x1a7a] = "\x97\x50", [0x1a7b] = "\x97\x51", + [0x1a7c] = "\x97\x52", [0x1a7d] = "\x97\x53", [0x1a7e] = "\x97\x54", + [0x1a7f] = "\x97\x55", [0x1a80] = "\x97\x56", [0x1a81] = "\xc1\xba", + [0x1a82] = "\x97\x57", [0x1a83] = "\xe8\xe8", [0x1a84] = "\x97\x58", + [0x1a85] = "\xc3\xb7", [0x1a86] = "\xb0\xf0", [0x1a87] = "\x97\x59", + [0x1a88] = "\x97\x5a", [0x1a89] = "\x97\x5b", [0x1a8a] = "\x97\x5c", + [0x1a8b] = "\x97\x5d", [0x1a8c] = "\x97\x5e", [0x1a8d] = "\x97\x5f", + [0x1a8e] = "\x97\x60", [0x1a8f] = "\xe8\xf4", [0x1a90] = "\x97\x61", + [0x1a91] = "\x97\x62", [0x1a92] = "\x97\x63", [0x1a93] = "\xe8\xf7", + [0x1a94] = "\x97\x64", [0x1a95] = "\x97\x65", [0x1a96] = "\x97\x66", + [0x1a97] = "\xb9\xa3", [0x1a98] = "\x97\x67", [0x1a99] = "\x97\x68", + [0x1a9a] = "\x97\x69", [0x1a9b] = "\x97\x6a", [0x1a9c] = "\x97\x6b", + [0x1a9d] = "\x97\x6c", [0x1a9e] = "\x97\x6d", [0x1a9f] = "\x97\x6e", + [0x1aa0] = "\x97\x6f", [0x1aa1] = "\x97\x70", [0x1aa2] = "\xc9\xd2", + [0x1aa3] = "\x97\x71", [0x1aa4] = "\x97\x72", [0x1aa5] = "\x97\x73", + [0x1aa6] = "\xc3\xce", [0x1aa7] = "\xce\xe0", [0x1aa8] = "\xc0\xe6", + [0x1aa9] = "\x97\x74", [0x1aaa] = "\x97\x75", [0x1aab] = "\x97\x76", + [0x1aac] = "\x97\x77", [0x1aad] = "\xcb\xf3", [0x1aae] = "\x97\x78", + [0x1aaf] = "\xcc\xdd", [0x1ab0] = "\xd0\xb5", [0x1ab1] = "\x97\x79", + [0x1ab2] = "\x97\x7a", [0x1ab3] = "\xca\xe1", [0x1ab4] = "\x97\x7b", + [0x1ab5] = "\xe8\xf3", [0x1ab6] = "\x97\x7c", [0x1ab7] = "\x97\x7d", + [0x1ab8] = "\x97\x7e", [0x1ab9] = "\x97\x80", [0x1aba] = "\x97\x81", + [0x1abb] = "\x97\x82", [0x1abc] = "\x97\x83", [0x1abd] = "\x97\x84", + [0x1abe] = "\x97\x85", [0x1abf] = "\x97\x86", [0x1ac0] = "\xbc\xec", + [0x1ac1] = "\x97\x87", [0x1ac2] = "\xe8\xf9", [0x1ac3] = "\x97\x88", + [0x1ac4] = "\x97\x89", [0x1ac5] = "\x97\x8a", [0x1ac6] = "\x97\x8b", + [0x1ac7] = "\x97\x8c", [0x1ac8] = "\x97\x8d", [0x1ac9] = "\xc3\xde", + [0x1aca] = "\x97\x8e", [0x1acb] = "\xc6\xe5", [0x1acc] = "\x97\x8f", + [0x1acd] = "\xb9\xf7", [0x1ace] = "\x97\x90", [0x1acf] = "\x97\x91", + [0x1ad0] = "\x97\x92", [0x1ad1] = "\x97\x93", [0x1ad2] = "\xb0\xf4", + [0x1ad3] = "\x97\x94", [0x1ad4] = "\x97\x95", [0x1ad5] = "\xd7\xd8", + [0x1ad6] = "\x97\x96", [0x1ad7] = "\x97\x97", [0x1ad8] = "\xbc\xac", + [0x1ad9] = "\x97\x98", [0x1ada] = "\xc5\xef", [0x1adb] = "\x97\x99", + [0x1adc] = "\x97\x9a", [0x1add] = "\x97\x9b", [0x1ade] = "\x97\x9c", + [0x1adf] = "\x97\x9d", [0x1ae0] = "\xcc\xc4", [0x1ae1] = "\x97\x9e", + [0x1ae2] = "\x97\x9f", [0x1ae3] = "\xe9\xa6", [0x1ae4] = "\x97\xa0", + [0x1ae5] = "\x97\xa1", [0x1ae6] = "\x97\xa2", [0x1ae7] = "\x97\xa3", + [0x1ae8] = "\x97\xa4", [0x1ae9] = "\x97\xa5", [0x1aea] = "\x97\xa6", + [0x1aeb] = "\x97\xa7", [0x1aec] = "\x97\xa8", [0x1aed] = "\x97\xa9", + [0x1aee] = "\xc9\xad", [0x1aef] = "\x97\xaa", [0x1af0] = "\xe9\xa2", + [0x1af1] = "\xc0\xe2", [0x1af2] = "\x97\xab", [0x1af3] = "\x97\xac", + [0x1af4] = "\x97\xad", [0x1af5] = "\xbf\xc3", [0x1af6] = "\x97\xae", + [0x1af7] = "\x97\xaf", [0x1af8] = "\x97\xb0", [0x1af9] = "\xe8\xfe", + [0x1afa] = "\xb9\xd7", [0x1afb] = "\x97\xb1", [0x1afc] = "\xe8\xfb", + [0x1afd] = "\x97\xb2", [0x1afe] = "\x97\xb3", [0x1aff] = "\x97\xb4", + [0x1b00] = "\x97\xb5", [0x1b01] = "\xe9\xa4", [0x1b02] = "\x97\xb6", + [0x1b03] = "\x97\xb7", [0x1b04] = "\x97\xb8", [0x1b05] = "\xd2\xce", + [0x1b06] = "\x97\xb9", [0x1b07] = "\x97\xba", [0x1b08] = "\x97\xbb", + [0x1b09] = "\x97\xbc", [0x1b0a] = "\x97\xbd", [0x1b0b] = "\xe9\xa3", + [0x1b0c] = "\x97\xbe", [0x1b0d] = "\xd6\xb2", [0x1b0e] = "\xd7\xb5", + [0x1b0f] = "\x97\xbf", [0x1b10] = "\xe9\xa7", [0x1b11] = "\x97\xc0", + [0x1b12] = "\xbd\xb7", [0x1b13] = "\x97\xc1", [0x1b14] = "\x97\xc2", + [0x1b15] = "\x97\xc3", [0x1b16] = "\x97\xc4", [0x1b17] = "\x97\xc5", + [0x1b18] = "\x97\xc6", [0x1b19] = "\x97\xc7", [0x1b1a] = "\x97\xc8", + [0x1b1b] = "\x97\xc9", [0x1b1c] = "\x97\xca", [0x1b1d] = "\x97\xcb", + [0x1b1e] = "\x97\xcc", [0x1b1f] = "\xe8\xfc", [0x1b20] = "\xe8\xfd", + [0x1b21] = "\x97\xcd", [0x1b22] = "\x97\xce", [0x1b23] = "\x97\xcf", + [0x1b24] = "\xe9\xa1", [0x1b25] = "\x97\xd0", [0x1b26] = "\x97\xd1", + [0x1b27] = "\x97\xd2", [0x1b28] = "\x97\xd3", [0x1b29] = "\x97\xd4", + [0x1b2a] = "\x97\xd5", [0x1b2b] = "\x97\xd6", [0x1b2c] = "\x97\xd7", + [0x1b2d] = "\xcd\xd6", [0x1b2e] = "\x97\xd8", [0x1b2f] = "\x97\xd9", + [0x1b30] = "\xd2\xac", [0x1b31] = "\x97\xda", [0x1b32] = "\x97\xdb", + [0x1b33] = "\x97\xdc", [0x1b34] = "\xe9\xb2", [0x1b35] = "\x97\xdd", + [0x1b36] = "\x97\xde", [0x1b37] = "\x97\xdf", [0x1b38] = "\x97\xe0", + [0x1b39] = "\xe9\xa9", [0x1b3a] = "\x97\xe1", [0x1b3b] = "\x97\xe2", + [0x1b3c] = "\x97\xe3", [0x1b3d] = "\xb4\xaa", [0x1b3e] = "\x97\xe4", + [0x1b3f] = "\xb4\xbb", [0x1b40] = "\x97\xe5", [0x1b41] = "\x97\xe6", + [0x1b42] = "\xe9\xab", [0x1b43] = "\x97\xe7", [0x1b44] = "\x97\xe8", + [0x1b45] = "\x97\xe9", [0x1b46] = "\x97\xea", [0x1b47] = "\x97\xeb", + [0x1b48] = "\x97\xec", [0x1b49] = "\x97\xed", [0x1b4a] = "\x97\xee", + [0x1b4b] = "\x97\xef", [0x1b4c] = "\x97\xf0", [0x1b4d] = "\x97\xf1", + [0x1b4e] = "\x97\xf2", [0x1b4f] = "\x97\xf3", [0x1b50] = "\x97\xf4", + [0x1b51] = "\x97\xf5", [0x1b52] = "\x97\xf6", [0x1b53] = "\x97\xf7", + [0x1b54] = "\xd0\xa8", [0x1b55] = "\x97\xf8", [0x1b56] = "\x97\xf9", + [0x1b57] = "\xe9\xa5", [0x1b58] = "\x97\xfa", [0x1b59] = "\x97\xfb", + [0x1b5a] = "\xb3\xfe", [0x1b5b] = "\x97\xfc", [0x1b5c] = "\x97\xfd", + [0x1b5d] = "\xe9\xac", [0x1b5e] = "\xc0\xe3", [0x1b5f] = "\x97\xfe", + [0x1b60] = "\xe9\xaa", [0x1b61] = "\x98\x40", [0x1b62] = "\x98\x41", + [0x1b63] = "\xe9\xb9", [0x1b64] = "\x98\x42", [0x1b65] = "\x98\x43", + [0x1b66] = "\xe9\xb8", [0x1b67] = "\x98\x44", [0x1b68] = "\x98\x45", + [0x1b69] = "\x98\x46", [0x1b6a] = "\x98\x47", [0x1b6b] = "\xe9\xae", + [0x1b6c] = "\x98\x48", [0x1b6d] = "\x98\x49", [0x1b6e] = "\xe8\xfa", + [0x1b6f] = "\x98\x4a", [0x1b70] = "\x98\x4b", [0x1b71] = "\xe9\xa8", + [0x1b72] = "\x98\x4c", [0x1b73] = "\x98\x4d", [0x1b74] = "\x98\x4e", + [0x1b75] = "\x98\x4f", [0x1b76] = "\x98\x50", [0x1b77] = "\xbf\xac", + [0x1b78] = "\xe9\xb1", [0x1b79] = "\xe9\xba", [0x1b7a] = "\x98\x51", + [0x1b7b] = "\x98\x52", [0x1b7c] = "\xc2\xa5", [0x1b7d] = "\x98\x53", + [0x1b7e] = "\x98\x54", [0x1b7f] = "\x98\x55", [0x1b80] = "\xe9\xaf", + [0x1b81] = "\x98\x56", [0x1b82] = "\xb8\xc5", [0x1b83] = "\x98\x57", + [0x1b84] = "\xe9\xad", [0x1b85] = "\x98\x58", [0x1b86] = "\xd3\xdc", + [0x1b87] = "\xe9\xb4", [0x1b88] = "\xe9\xb5", [0x1b89] = "\xe9\xb7", + [0x1b8a] = "\x98\x59", [0x1b8b] = "\x98\x5a", [0x1b8c] = "\x98\x5b", + [0x1b8d] = "\xe9\xc7", [0x1b8e] = "\x98\x5c", [0x1b8f] = "\x98\x5d", + [0x1b90] = "\x98\x5e", [0x1b91] = "\x98\x5f", [0x1b92] = "\x98\x60", + [0x1b93] = "\x98\x61", [0x1b94] = "\xc0\xc6", [0x1b95] = "\xe9\xc5", + [0x1b96] = "\x98\x62", [0x1b97] = "\x98\x63", [0x1b98] = "\xe9\xb0", + [0x1b99] = "\x98\x64", [0x1b9a] = "\x98\x65", [0x1b9b] = "\xe9\xbb", + [0x1b9c] = "\xb0\xf1", [0x1b9d] = "\x98\x66", [0x1b9e] = "\x98\x67", + [0x1b9f] = "\x98\x68", [0x1ba0] = "\x98\x69", [0x1ba1] = "\x98\x6a", + [0x1ba2] = "\x98\x6b", [0x1ba3] = "\x98\x6c", [0x1ba4] = "\x98\x6d", + [0x1ba5] = "\x98\x6e", [0x1ba6] = "\x98\x6f", [0x1ba7] = "\xe9\xbc", + [0x1ba8] = "\xd5\xa5", [0x1ba9] = "\x98\x70", [0x1baa] = "\x98\x71", + [0x1bab] = "\xe9\xbe", [0x1bac] = "\x98\x72", [0x1bad] = "\xe9\xbf", + [0x1bae] = "\x98\x73", [0x1baf] = "\x98\x74", [0x1bb0] = "\x98\x75", + [0x1bb1] = "\xe9\xc1", [0x1bb2] = "\x98\x76", [0x1bb3] = "\x98\x77", + [0x1bb4] = "\xc1\xf1", [0x1bb5] = "\x98\x78", [0x1bb6] = "\x98\x79", + [0x1bb7] = "\xc8\xb6", [0x1bb8] = "\x98\x7a", [0x1bb9] = "\x98\x7b", + [0x1bba] = "\x98\x7c", [0x1bbb] = "\xe9\xbd", [0x1bbc] = "\x98\x7d", + [0x1bbd] = "\x98\x7e", [0x1bbe] = "\x98\x80", [0x1bbf] = "\x98\x81", + [0x1bc0] = "\x98\x82", [0x1bc1] = "\xe9\xc2", [0x1bc2] = "\x98\x83", + [0x1bc3] = "\x98\x84", [0x1bc4] = "\x98\x85", [0x1bc5] = "\x98\x86", + [0x1bc6] = "\x98\x87", [0x1bc7] = "\x98\x88", [0x1bc8] = "\x98\x89", + [0x1bc9] = "\x98\x8a", [0x1bca] = "\xe9\xc3", [0x1bcb] = "\x98\x8b", + [0x1bcc] = "\xe9\xb3", [0x1bcd] = "\x98\x8c", [0x1bce] = "\xe9\xb6", + [0x1bcf] = "\x98\x8d", [0x1bd0] = "\xbb\xb1", [0x1bd1] = "\x98\x8e", + [0x1bd2] = "\x98\x8f", [0x1bd3] = "\x98\x90", [0x1bd4] = "\xe9\xc0", + [0x1bd5] = "\x98\x91", [0x1bd6] = "\x98\x92", [0x1bd7] = "\x98\x93", + [0x1bd8] = "\x98\x94", [0x1bd9] = "\x98\x95", [0x1bda] = "\x98\x96", + [0x1bdb] = "\xbc\xf7", [0x1bdc] = "\x98\x97", [0x1bdd] = "\x98\x98", + [0x1bde] = "\x98\x99", [0x1bdf] = "\xe9\xc4", [0x1be0] = "\xe9\xc6", + [0x1be1] = "\x98\x9a", [0x1be2] = "\x98\x9b", [0x1be3] = "\x98\x9c", + [0x1be4] = "\x98\x9d", [0x1be5] = "\x98\x9e", [0x1be6] = "\x98\x9f", + [0x1be7] = "\x98\xa0", [0x1be8] = "\x98\xa1", [0x1be9] = "\x98\xa2", + [0x1bea] = "\x98\xa3", [0x1beb] = "\x98\xa4", [0x1bec] = "\x98\xa5", + [0x1bed] = "\xe9\xca", [0x1bee] = "\x98\xa6", [0x1bef] = "\x98\xa7", + [0x1bf0] = "\x98\xa8", [0x1bf1] = "\x98\xa9", [0x1bf2] = "\xe9\xce", + [0x1bf3] = "\x98\xaa", [0x1bf4] = "\x98\xab", [0x1bf5] = "\x98\xac", + [0x1bf6] = "\x98\xad", [0x1bf7] = "\x98\xae", [0x1bf8] = "\x98\xaf", + [0x1bf9] = "\x98\xb0", [0x1bfa] = "\x98\xb1", [0x1bfb] = "\x98\xb2", + [0x1bfc] = "\x98\xb3", [0x1bfd] = "\xb2\xdb", [0x1bfe] = "\x98\xb4", + [0x1bff] = "\xe9\xc8", [0x1c00] = "\x98\xb5", [0x1c01] = "\x98\xb6", + [0x1c02] = "\x98\xb7", [0x1c03] = "\x98\xb8", [0x1c04] = "\x98\xb9", + [0x1c05] = "\x98\xba", [0x1c06] = "\x98\xbb", [0x1c07] = "\x98\xbc", + [0x1c08] = "\x98\xbd", [0x1c09] = "\x98\xbe", [0x1c0a] = "\xb7\xae", + [0x1c0b] = "\x98\xbf", [0x1c0c] = "\x98\xc0", [0x1c0d] = "\x98\xc1", + [0x1c0e] = "\x98\xc2", [0x1c0f] = "\x98\xc3", [0x1c10] = "\x98\xc4", + [0x1c11] = "\x98\xc5", [0x1c12] = "\x98\xc6", [0x1c13] = "\x98\xc7", + [0x1c14] = "\x98\xc8", [0x1c15] = "\x98\xc9", [0x1c16] = "\x98\xca", + [0x1c17] = "\xe9\xcb", [0x1c18] = "\xe9\xcc", [0x1c19] = "\x98\xcb", + [0x1c1a] = "\x98\xcc", [0x1c1b] = "\x98\xcd", [0x1c1c] = "\x98\xce", + [0x1c1d] = "\x98\xcf", [0x1c1e] = "\x98\xd0", [0x1c1f] = "\xd5\xc1", + [0x1c20] = "\x98\xd1", [0x1c21] = "\xc4\xa3", [0x1c22] = "\x98\xd2", + [0x1c23] = "\x98\xd3", [0x1c24] = "\x98\xd4", [0x1c25] = "\x98\xd5", + [0x1c26] = "\x98\xd6", [0x1c27] = "\x98\xd7", [0x1c28] = "\xe9\xd8", + [0x1c29] = "\x98\xd8", [0x1c2a] = "\xba\xe1", [0x1c2b] = "\x98\xd9", + [0x1c2c] = "\x98\xda", [0x1c2d] = "\x98\xdb", [0x1c2e] = "\x98\xdc", + [0x1c2f] = "\xe9\xc9", [0x1c30] = "\x98\xdd", [0x1c31] = "\xd3\xa3", + [0x1c32] = "\x98\xde", [0x1c33] = "\x98\xdf", [0x1c34] = "\x98\xe0", + [0x1c35] = "\xe9\xd4", [0x1c36] = "\x98\xe1", [0x1c37] = "\x98\xe2", + [0x1c38] = "\x98\xe3", [0x1c39] = "\x98\xe4", [0x1c3a] = "\x98\xe5", + [0x1c3b] = "\x98\xe6", [0x1c3c] = "\x98\xe7", [0x1c3d] = "\xe9\xd7", + [0x1c3e] = "\xe9\xd0", [0x1c3f] = "\x98\xe8", [0x1c40] = "\x98\xe9", + [0x1c41] = "\x98\xea", [0x1c42] = "\x98\xeb", [0x1c43] = "\x98\xec", + [0x1c44] = "\xe9\xcf", [0x1c45] = "\x98\xed", [0x1c46] = "\x98\xee", + [0x1c47] = "\xc7\xc1", [0x1c48] = "\x98\xef", [0x1c49] = "\x98\xf0", + [0x1c4a] = "\x98\xf1", [0x1c4b] = "\x98\xf2", [0x1c4c] = "\x98\xf3", + [0x1c4d] = "\x98\xf4", [0x1c4e] = "\x98\xf5", [0x1c4f] = "\x98\xf6", + [0x1c50] = "\xe9\xd2", [0x1c51] = "\x98\xf7", [0x1c52] = "\x98\xf8", + [0x1c53] = "\x98\xf9", [0x1c54] = "\x98\xfa", [0x1c55] = "\x98\xfb", + [0x1c56] = "\x98\xfc", [0x1c57] = "\x98\xfd", [0x1c58] = "\xe9\xd9", + [0x1c59] = "\xb3\xc8", [0x1c5a] = "\x98\xfe", [0x1c5b] = "\xe9\xd3", + [0x1c5c] = "\x99\x40", [0x1c5d] = "\x99\x41", [0x1c5e] = "\x99\x42", + [0x1c5f] = "\x99\x43", [0x1c60] = "\x99\x44", [0x1c61] = "\xcf\xf0", + [0x1c62] = "\x99\x45", [0x1c63] = "\x99\x46", [0x1c64] = "\x99\x47", + [0x1c65] = "\xe9\xcd", [0x1c66] = "\x99\x48", [0x1c67] = "\x99\x49", + [0x1c68] = "\x99\x4a", [0x1c69] = "\x99\x4b", [0x1c6a] = "\x99\x4c", + [0x1c6b] = "\x99\x4d", [0x1c6c] = "\x99\x4e", [0x1c6d] = "\x99\x4f", + [0x1c6e] = "\x99\x50", [0x1c6f] = "\x99\x51", [0x1c70] = "\x99\x52", + [0x1c71] = "\xb3\xf7", [0x1c72] = "\x99\x53", [0x1c73] = "\x99\x54", + [0x1c74] = "\x99\x55", [0x1c75] = "\x99\x56", [0x1c76] = "\x99\x57", + [0x1c77] = "\x99\x58", [0x1c78] = "\x99\x59", [0x1c79] = "\xe9\xd6", + [0x1c7a] = "\x99\x5a", [0x1c7b] = "\x99\x5b", [0x1c7c] = "\xe9\xda", + [0x1c7d] = "\x99\x5c", [0x1c7e] = "\x99\x5d", [0x1c7f] = "\x99\x5e", + [0x1c80] = "\xcc\xb4", [0x1c81] = "\x99\x5f", [0x1c82] = "\x99\x60", + [0x1c83] = "\x99\x61", [0x1c84] = "\xcf\xad", [0x1c85] = "\x99\x62", + [0x1c86] = "\x99\x63", [0x1c87] = "\x99\x64", [0x1c88] = "\x99\x65", + [0x1c89] = "\x99\x66", [0x1c8a] = "\x99\x67", [0x1c8b] = "\x99\x68", + [0x1c8c] = "\x99\x69", [0x1c8d] = "\x99\x6a", [0x1c8e] = "\xe9\xd5", + [0x1c8f] = "\x99\x6b", [0x1c90] = "\xe9\xdc", [0x1c91] = "\xe9\xdb", + [0x1c92] = "\x99\x6c", [0x1c93] = "\x99\x6d", [0x1c94] = "\x99\x6e", + [0x1c95] = "\x99\x6f", [0x1c96] = "\x99\x70", [0x1c97] = "\xe9\xde", + [0x1c98] = "\x99\x71", [0x1c99] = "\x99\x72", [0x1c9a] = "\x99\x73", + [0x1c9b] = "\x99\x74", [0x1c9c] = "\x99\x75", [0x1c9d] = "\x99\x76", + [0x1c9e] = "\x99\x77", [0x1c9f] = "\x99\x78", [0x1ca0] = "\xe9\xd1", + [0x1ca1] = "\x99\x79", [0x1ca2] = "\x99\x7a", [0x1ca3] = "\x99\x7b", + [0x1ca4] = "\x99\x7c", [0x1ca5] = "\x99\x7d", [0x1ca6] = "\x99\x7e", + [0x1ca7] = "\x99\x80", [0x1ca8] = "\x99\x81", [0x1ca9] = "\xe9\xdd", + [0x1caa] = "\x99\x82", [0x1cab] = "\xe9\xdf", [0x1cac] = "\xc3\xca", + [0x1cad] = "\x99\x83", [0x1cae] = "\x99\x84", [0x1caf] = "\x99\x85", + [0x1cb0] = "\x99\x86", [0x1cb1] = "\x99\x87", [0x1cb2] = "\x99\x88", + [0x1cb3] = "\x99\x89", [0x1cb4] = "\x99\x8a", [0x1cb5] = "\x99\x8b", + [0x1cb6] = "\x99\x8c", [0x1cb7] = "\x99\x8d", [0x1cb8] = "\x99\x8e", + [0x1cb9] = "\x99\x8f", [0x1cba] = "\x99\x90", [0x1cbb] = "\x99\x91", + [0x1cbc] = "\x99\x92", [0x1cbd] = "\x99\x93", [0x1cbe] = "\x99\x94", + [0x1cbf] = "\x99\x95", [0x1cc0] = "\x99\x96", [0x1cc1] = "\x99\x97", + [0x1cc2] = "\x99\x98", [0x1cc3] = "\x99\x99", [0x1cc4] = "\x99\x9a", + [0x1cc5] = "\x99\x9b", [0x1cc6] = "\x99\x9c", [0x1cc7] = "\x99\x9d", + [0x1cc8] = "\x99\x9e", [0x1cc9] = "\x99\x9f", [0x1cca] = "\x99\xa0", + [0x1ccb] = "\x99\xa1", [0x1ccc] = "\x99\xa2", [0x1ccd] = "\x99\xa3", + [0x1cce] = "\x99\xa4", [0x1ccf] = "\x99\xa5", [0x1cd0] = "\x99\xa6", + [0x1cd1] = "\x99\xa7", [0x1cd2] = "\x99\xa8", [0x1cd3] = "\x99\xa9", + [0x1cd4] = "\x99\xaa", [0x1cd5] = "\x99\xab", [0x1cd6] = "\x99\xac", + [0x1cd7] = "\x99\xad", [0x1cd8] = "\x99\xae", [0x1cd9] = "\x99\xaf", + [0x1cda] = "\x99\xb0", [0x1cdb] = "\x99\xb1", [0x1cdc] = "\x99\xb2", + [0x1cdd] = "\x99\xb3", [0x1cde] = "\x99\xb4", [0x1cdf] = "\x99\xb5", + [0x1ce0] = "\x99\xb6", [0x1ce1] = "\x99\xb7", [0x1ce2] = "\x99\xb8", + [0x1ce3] = "\x99\xb9", [0x1ce4] = "\x99\xba", [0x1ce5] = "\x99\xbb", + [0x1ce6] = "\x99\xbc", [0x1ce7] = "\x99\xbd", [0x1ce8] = "\x99\xbe", + [0x1ce9] = "\x99\xbf", [0x1cea] = "\x99\xc0", [0x1ceb] = "\x99\xc1", + [0x1cec] = "\x99\xc2", [0x1ced] = "\x99\xc3", [0x1cee] = "\x99\xc4", + [0x1cef] = "\x99\xc5", [0x1cf0] = "\x99\xc6", [0x1cf1] = "\x99\xc7", + [0x1cf2] = "\x99\xc8", [0x1cf3] = "\x99\xc9", [0x1cf4] = "\x99\xca", + [0x1cf5] = "\x99\xcb", [0x1cf6] = "\x99\xcc", [0x1cf7] = "\x99\xcd", + [0x1cf8] = "\x99\xce", [0x1cf9] = "\x99\xcf", [0x1cfa] = "\x99\xd0", + [0x1cfb] = "\x99\xd1", [0x1cfc] = "\x99\xd2", [0x1cfd] = "\x99\xd3", + [0x1cfe] = "\x99\xd4", [0x1cff] = "\x99\xd5", [0x1d00] = "\x99\xd6", + [0x1d01] = "\x99\xd7", [0x1d02] = "\x99\xd8", [0x1d03] = "\x99\xd9", + [0x1d04] = "\x99\xda", [0x1d05] = "\x99\xdb", [0x1d06] = "\x99\xdc", + [0x1d07] = "\x99\xdd", [0x1d08] = "\x99\xde", [0x1d09] = "\x99\xdf", + [0x1d0a] = "\x99\xe0", [0x1d0b] = "\x99\xe1", [0x1d0c] = "\x99\xe2", + [0x1d0d] = "\x99\xe3", [0x1d0e] = "\x99\xe4", [0x1d0f] = "\x99\xe5", + [0x1d10] = "\x99\xe6", [0x1d11] = "\x99\xe7", [0x1d12] = "\x99\xe8", + [0x1d13] = "\x99\xe9", [0x1d14] = "\x99\xea", [0x1d15] = "\x99\xeb", + [0x1d16] = "\x99\xec", [0x1d17] = "\x99\xed", [0x1d18] = "\x99\xee", + [0x1d19] = "\x99\xef", [0x1d1a] = "\x99\xf0", [0x1d1b] = "\x99\xf1", + [0x1d1c] = "\x99\xf2", [0x1d1d] = "\x99\xf3", [0x1d1e] = "\x99\xf4", + [0x1d1f] = "\x99\xf5", [0x1d20] = "\xc7\xb7", [0x1d21] = "\xb4\xce", + [0x1d22] = "\xbb\xb6", [0x1d23] = "\xd0\xc0", [0x1d24] = "\xec\xa3", + [0x1d25] = "\x99\xf6", [0x1d26] = "\x99\xf7", [0x1d27] = "\xc5\xb7", + [0x1d28] = "\x99\xf8", [0x1d29] = "\x99\xf9", [0x1d2a] = "\x99\xfa", + [0x1d2b] = "\x99\xfb", [0x1d2c] = "\x99\xfc", [0x1d2d] = "\x99\xfd", + [0x1d2e] = "\x99\xfe", [0x1d2f] = "\x9a\x40", [0x1d30] = "\x9a\x41", + [0x1d31] = "\x9a\x42", [0x1d32] = "\xd3\xfb", [0x1d33] = "\x9a\x43", + [0x1d34] = "\x9a\x44", [0x1d35] = "\x9a\x45", [0x1d36] = "\x9a\x46", + [0x1d37] = "\xec\xa4", [0x1d38] = "\x9a\x47", [0x1d39] = "\xec\xa5", + [0x1d3a] = "\xc6\xdb", [0x1d3b] = "\x9a\x48", [0x1d3c] = "\x9a\x49", + [0x1d3d] = "\x9a\x4a", [0x1d3e] = "\xbf\xee", [0x1d3f] = "\x9a\x4b", + [0x1d40] = "\x9a\x4c", [0x1d41] = "\x9a\x4d", [0x1d42] = "\x9a\x4e", + [0x1d43] = "\xec\xa6", [0x1d44] = "\x9a\x4f", [0x1d45] = "\x9a\x50", + [0x1d46] = "\xec\xa7", [0x1d47] = "\xd0\xaa", [0x1d48] = "\x9a\x51", + [0x1d49] = "\xc7\xb8", [0x1d4a] = "\x9a\x52", [0x1d4b] = "\x9a\x53", + [0x1d4c] = "\xb8\xe8", [0x1d4d] = "\x9a\x54", [0x1d4e] = "\x9a\x55", + [0x1d4f] = "\x9a\x56", [0x1d50] = "\x9a\x57", [0x1d51] = "\x9a\x58", + [0x1d52] = "\x9a\x59", [0x1d53] = "\x9a\x5a", [0x1d54] = "\x9a\x5b", + [0x1d55] = "\x9a\x5c", [0x1d56] = "\x9a\x5d", [0x1d57] = "\x9a\x5e", + [0x1d58] = "\x9a\x5f", [0x1d59] = "\xec\xa8", [0x1d5a] = "\x9a\x60", + [0x1d5b] = "\x9a\x61", [0x1d5c] = "\x9a\x62", [0x1d5d] = "\x9a\x63", + [0x1d5e] = "\x9a\x64", [0x1d5f] = "\x9a\x65", [0x1d60] = "\x9a\x66", + [0x1d61] = "\x9a\x67", [0x1d62] = "\xd6\xb9", [0x1d63] = "\xd5\xfd", + [0x1d64] = "\xb4\xcb", [0x1d65] = "\xb2\xbd", [0x1d66] = "\xce\xe4", + [0x1d67] = "\xc6\xe7", [0x1d68] = "\x9a\x68", [0x1d69] = "\x9a\x69", + [0x1d6a] = "\xcd\xe1", [0x1d6b] = "\x9a\x6a", [0x1d6c] = "\x9a\x6b", + [0x1d6d] = "\x9a\x6c", [0x1d6e] = "\x9a\x6d", [0x1d6f] = "\x9a\x6e", + [0x1d70] = "\x9a\x6f", [0x1d71] = "\x9a\x70", [0x1d72] = "\x9a\x71", + [0x1d73] = "\x9a\x72", [0x1d74] = "\x9a\x73", [0x1d75] = "\x9a\x74", + [0x1d76] = "\x9a\x75", [0x1d77] = "\x9a\x76", [0x1d78] = "\x9a\x77", + [0x1d79] = "\xb4\xf5", [0x1d7a] = "\x9a\x78", [0x1d7b] = "\xcb\xc0", + [0x1d7c] = "\xbc\xdf", [0x1d7d] = "\x9a\x79", [0x1d7e] = "\x9a\x7a", + [0x1d7f] = "\x9a\x7b", [0x1d80] = "\x9a\x7c", [0x1d81] = "\xe9\xe2", + [0x1d82] = "\xe9\xe3", [0x1d83] = "\xd1\xea", [0x1d84] = "\xe9\xe5", + [0x1d85] = "\x9a\x7d", [0x1d86] = "\xb4\xf9", [0x1d87] = "\xe9\xe4", + [0x1d88] = "\x9a\x7e", [0x1d89] = "\xd1\xb3", [0x1d8a] = "\xca\xe2", + [0x1d8b] = "\xb2\xd0", [0x1d8c] = "\x9a\x80", [0x1d8d] = "\xe9\xe8", + [0x1d8e] = "\x9a\x81", [0x1d8f] = "\x9a\x82", [0x1d90] = "\x9a\x83", + [0x1d91] = "\x9a\x84", [0x1d92] = "\xe9\xe6", [0x1d93] = "\xe9\xe7", + [0x1d94] = "\x9a\x85", [0x1d95] = "\x9a\x86", [0x1d96] = "\xd6\xb3", + [0x1d97] = "\x9a\x87", [0x1d98] = "\x9a\x88", [0x1d99] = "\x9a\x89", + [0x1d9a] = "\xe9\xe9", [0x1d9b] = "\xe9\xea", [0x1d9c] = "\x9a\x8a", + [0x1d9d] = "\x9a\x8b", [0x1d9e] = "\x9a\x8c", [0x1d9f] = "\x9a\x8d", + [0x1da0] = "\x9a\x8e", [0x1da1] = "\xe9\xeb", [0x1da2] = "\x9a\x8f", + [0x1da3] = "\x9a\x90", [0x1da4] = "\x9a\x91", [0x1da5] = "\x9a\x92", + [0x1da6] = "\x9a\x93", [0x1da7] = "\x9a\x94", [0x1da8] = "\x9a\x95", + [0x1da9] = "\x9a\x96", [0x1daa] = "\xe9\xec", [0x1dab] = "\x9a\x97", + [0x1dac] = "\x9a\x98", [0x1dad] = "\x9a\x99", [0x1dae] = "\x9a\x9a", + [0x1daf] = "\x9a\x9b", [0x1db0] = "\x9a\x9c", [0x1db1] = "\x9a\x9d", + [0x1db2] = "\x9a\x9e", [0x1db3] = "\xec\xaf", [0x1db4] = "\xc5\xb9", + [0x1db5] = "\xb6\xce", [0x1db6] = "\x9a\x9f", [0x1db7] = "\xd2\xf3", + [0x1db8] = "\x9a\xa0", [0x1db9] = "\x9a\xa1", [0x1dba] = "\x9a\xa2", + [0x1dbb] = "\x9a\xa3", [0x1dbc] = "\x9a\xa4", [0x1dbd] = "\x9a\xa5", + [0x1dbe] = "\x9a\xa6", [0x1dbf] = "\xb5\xee", [0x1dc0] = "\x9a\xa7", + [0x1dc1] = "\xbb\xd9", [0x1dc2] = "\xec\xb1", [0x1dc3] = "\x9a\xa8", + [0x1dc4] = "\x9a\xa9", [0x1dc5] = "\xd2\xe3", [0x1dc6] = "\x9a\xaa", + [0x1dc7] = "\x9a\xab", [0x1dc8] = "\x9a\xac", [0x1dc9] = "\x9a\xad", + [0x1dca] = "\x9a\xae", [0x1dcb] = "\xce\xe3", [0x1dcc] = "\x9a\xaf", + [0x1dcd] = "\xc4\xb8", [0x1dce] = "\x9a\xb0", [0x1dcf] = "\xc3\xbf", + [0x1dd0] = "\x9a\xb1", [0x1dd1] = "\x9a\xb2", [0x1dd2] = "\xb6\xbe", + [0x1dd3] = "\xd8\xb9", [0x1dd4] = "\xb1\xc8", [0x1dd5] = "\xb1\xcf", + [0x1dd6] = "\xb1\xd1", [0x1dd7] = "\xc5\xfe", [0x1dd8] = "\x9a\xb3", + [0x1dd9] = "\xb1\xd0", [0x1dda] = "\x9a\xb4", [0x1ddb] = "\xc3\xab", + [0x1ddc] = "\x9a\xb5", [0x1ddd] = "\x9a\xb6", [0x1dde] = "\x9a\xb7", + [0x1ddf] = "\x9a\xb8", [0x1de0] = "\x9a\xb9", [0x1de1] = "\xd5\xb1", + [0x1de2] = "\x9a\xba", [0x1de3] = "\x9a\xbb", [0x1de4] = "\x9a\xbc", + [0x1de5] = "\x9a\xbd", [0x1de6] = "\x9a\xbe", [0x1de7] = "\x9a\xbf", + [0x1de8] = "\x9a\xc0", [0x1de9] = "\x9a\xc1", [0x1dea] = "\xeb\xa4", + [0x1deb] = "\xba\xc1", [0x1dec] = "\x9a\xc2", [0x1ded] = "\x9a\xc3", + [0x1dee] = "\x9a\xc4", [0x1def] = "\xcc\xba", [0x1df0] = "\x9a\xc5", + [0x1df1] = "\x9a\xc6", [0x1df2] = "\x9a\xc7", [0x1df3] = "\xeb\xa5", + [0x1df4] = "\x9a\xc8", [0x1df5] = "\xeb\xa7", [0x1df6] = "\x9a\xc9", + [0x1df7] = "\x9a\xca", [0x1df8] = "\x9a\xcb", [0x1df9] = "\xeb\xa8", + [0x1dfa] = "\x9a\xcc", [0x1dfb] = "\x9a\xcd", [0x1dfc] = "\x9a\xce", + [0x1dfd] = "\xeb\xa6", [0x1dfe] = "\x9a\xcf", [0x1dff] = "\x9a\xd0", + [0x1e00] = "\x9a\xd1", [0x1e01] = "\x9a\xd2", [0x1e02] = "\x9a\xd3", + [0x1e03] = "\x9a\xd4", [0x1e04] = "\x9a\xd5", [0x1e05] = "\xeb\xa9", + [0x1e06] = "\xeb\xab", [0x1e07] = "\xeb\xaa", [0x1e08] = "\x9a\xd6", + [0x1e09] = "\x9a\xd7", [0x1e0a] = "\x9a\xd8", [0x1e0b] = "\x9a\xd9", + [0x1e0c] = "\x9a\xda", [0x1e0d] = "\xeb\xac", [0x1e0e] = "\x9a\xdb", + [0x1e0f] = "\xca\xcf", [0x1e10] = "\xd8\xb5", [0x1e11] = "\xc3\xf1", + [0x1e12] = "\x9a\xdc", [0x1e13] = "\xc3\xa5", [0x1e14] = "\xc6\xf8", + [0x1e15] = "\xeb\xad", [0x1e16] = "\xc4\xca", [0x1e17] = "\x9a\xdd", + [0x1e18] = "\xeb\xae", [0x1e19] = "\xeb\xaf", [0x1e1a] = "\xeb\xb0", + [0x1e1b] = "\xb7\xd5", [0x1e1c] = "\x9a\xde", [0x1e1d] = "\x9a\xdf", + [0x1e1e] = "\x9a\xe0", [0x1e1f] = "\xb7\xfa", [0x1e20] = "\x9a\xe1", + [0x1e21] = "\xeb\xb1", [0x1e22] = "\xc7\xe2", [0x1e23] = "\x9a\xe2", + [0x1e24] = "\xeb\xb3", [0x1e25] = "\x9a\xe3", [0x1e26] = "\xba\xa4", + [0x1e27] = "\xd1\xf5", [0x1e28] = "\xb0\xb1", [0x1e29] = "\xeb\xb2", + [0x1e2a] = "\xeb\xb4", [0x1e2b] = "\x9a\xe4", [0x1e2c] = "\x9a\xe5", + [0x1e2d] = "\x9a\xe6", [0x1e2e] = "\xb5\xaa", [0x1e2f] = "\xc2\xc8", + [0x1e30] = "\xc7\xe8", [0x1e31] = "\x9a\xe7", [0x1e32] = "\xeb\xb5", + [0x1e33] = "\x9a\xe8", [0x1e34] = "\xcb\xae", [0x1e35] = "\xe3\xdf", + [0x1e36] = "\x9a\xe9", [0x1e37] = "\x9a\xea", [0x1e38] = "\xd3\xc0", + [0x1e39] = "\x9a\xeb", [0x1e3a] = "\x9a\xec", [0x1e3b] = "\x9a\xed", + [0x1e3c] = "\x9a\xee", [0x1e3d] = "\xd9\xdb", [0x1e3e] = "\x9a\xef", + [0x1e3f] = "\x9a\xf0", [0x1e40] = "\xcd\xa1", [0x1e41] = "\xd6\xad", + [0x1e42] = "\xc7\xf3", [0x1e43] = "\x9a\xf1", [0x1e44] = "\x9a\xf2", + [0x1e45] = "\x9a\xf3", [0x1e46] = "\xd9\xe0", [0x1e47] = "\xbb\xe3", + [0x1e48] = "\x9a\xf4", [0x1e49] = "\xba\xba", [0x1e4a] = "\xe3\xe2", + [0x1e4b] = "\x9a\xf5", [0x1e4c] = "\x9a\xf6", [0x1e4d] = "\x9a\xf7", + [0x1e4e] = "\x9a\xf8", [0x1e4f] = "\x9a\xf9", [0x1e50] = "\xcf\xab", + [0x1e51] = "\x9a\xfa", [0x1e52] = "\x9a\xfb", [0x1e53] = "\x9a\xfc", + [0x1e54] = "\xe3\xe0", [0x1e55] = "\xc9\xc7", [0x1e56] = "\x9a\xfd", + [0x1e57] = "\xba\xb9", [0x1e58] = "\x9a\xfe", [0x1e59] = "\x9b\x40", + [0x1e5a] = "\x9b\x41", [0x1e5b] = "\xd1\xb4", [0x1e5c] = "\xe3\xe1", + [0x1e5d] = "\xc8\xea", [0x1e5e] = "\xb9\xaf", [0x1e5f] = "\xbd\xad", + [0x1e60] = "\xb3\xd8", [0x1e61] = "\xce\xdb", [0x1e62] = "\x9b\x42", + [0x1e63] = "\x9b\x43", [0x1e64] = "\xcc\xc0", [0x1e65] = "\x9b\x44", + [0x1e66] = "\x9b\x45", [0x1e67] = "\x9b\x46", [0x1e68] = "\xe3\xe8", + [0x1e69] = "\xe3\xe9", [0x1e6a] = "\xcd\xf4", [0x1e6b] = "\x9b\x47", + [0x1e6c] = "\x9b\x48", [0x1e6d] = "\x9b\x49", [0x1e6e] = "\x9b\x4a", + [0x1e6f] = "\x9b\x4b", [0x1e70] = "\xcc\xad", [0x1e71] = "\x9b\x4c", + [0x1e72] = "\xbc\xb3", [0x1e73] = "\x9b\x4d", [0x1e74] = "\xe3\xea", + [0x1e75] = "\x9b\x4e", [0x1e76] = "\xe3\xeb", [0x1e77] = "\x9b\x4f", + [0x1e78] = "\x9b\x50", [0x1e79] = "\xd0\xda", [0x1e7a] = "\x9b\x51", + [0x1e7b] = "\x9b\x52", [0x1e7c] = "\x9b\x53", [0x1e7d] = "\xc6\xfb", + [0x1e7e] = "\xb7\xda", [0x1e7f] = "\x9b\x54", [0x1e80] = "\x9b\x55", + [0x1e81] = "\xc7\xdf", [0x1e82] = "\xd2\xca", [0x1e83] = "\xce\xd6", + [0x1e84] = "\x9b\x56", [0x1e85] = "\xe3\xe4", [0x1e86] = "\xe3\xec", + [0x1e87] = "\x9b\x57", [0x1e88] = "\xc9\xf2", [0x1e89] = "\xb3\xc1", + [0x1e8a] = "\x9b\x58", [0x1e8b] = "\x9b\x59", [0x1e8c] = "\xe3\xe7", + [0x1e8d] = "\x9b\x5a", [0x1e8e] = "\x9b\x5b", [0x1e8f] = "\xc6\xe3", + [0x1e90] = "\xe3\xe5", [0x1e91] = "\x9b\x5c", [0x1e92] = "\x9b\x5d", + [0x1e93] = "\xed\xb3", [0x1e94] = "\xe3\xe6", [0x1e95] = "\x9b\x5e", + [0x1e96] = "\x9b\x5f", [0x1e97] = "\x9b\x60", [0x1e98] = "\x9b\x61", + [0x1e99] = "\xc9\xb3", [0x1e9a] = "\x9b\x62", [0x1e9b] = "\xc5\xe6", + [0x1e9c] = "\x9b\x63", [0x1e9d] = "\x9b\x64", [0x1e9e] = "\x9b\x65", + [0x1e9f] = "\xb9\xb5", [0x1ea0] = "\x9b\x66", [0x1ea1] = "\xc3\xbb", + [0x1ea2] = "\x9b\x67", [0x1ea3] = "\xe3\xe3", [0x1ea4] = "\xc5\xbd", + [0x1ea5] = "\xc1\xa4", [0x1ea6] = "\xc2\xd9", [0x1ea7] = "\xb2\xd7", + [0x1ea8] = "\x9b\x68", [0x1ea9] = "\xe3\xed", [0x1eaa] = "\xbb\xa6", + [0x1eab] = "\xc4\xad", [0x1eac] = "\x9b\x69", [0x1ead] = "\xe3\xf0", + [0x1eae] = "\xbe\xda", [0x1eaf] = "\x9b\x6a", [0x1eb0] = "\x9b\x6b", + [0x1eb1] = "\xe3\xfb", [0x1eb2] = "\xe3\xf5", [0x1eb3] = "\xba\xd3", + [0x1eb4] = "\x9b\x6c", [0x1eb5] = "\x9b\x6d", [0x1eb6] = "\x9b\x6e", + [0x1eb7] = "\x9b\x6f", [0x1eb8] = "\xb7\xd0", [0x1eb9] = "\xd3\xcd", + [0x1eba] = "\x9b\x70", [0x1ebb] = "\xd6\xce", [0x1ebc] = "\xd5\xd3", + [0x1ebd] = "\xb9\xc1", [0x1ebe] = "\xd5\xb4", [0x1ebf] = "\xd1\xd8", + [0x1ec0] = "\x9b\x71", [0x1ec1] = "\x9b\x72", [0x1ec2] = "\x9b\x73", + [0x1ec3] = "\x9b\x74", [0x1ec4] = "\xd0\xb9", [0x1ec5] = "\xc7\xf6", + [0x1ec6] = "\x9b\x75", [0x1ec7] = "\x9b\x76", [0x1ec8] = "\x9b\x77", + [0x1ec9] = "\xc8\xaa", [0x1eca] = "\xb2\xb4", [0x1ecb] = "\x9b\x78", + [0x1ecc] = "\xc3\xda", [0x1ecd] = "\x9b\x79", [0x1ece] = "\x9b\x7a", + [0x1ecf] = "\x9b\x7b", [0x1ed0] = "\xe3\xee", [0x1ed1] = "\x9b\x7c", + [0x1ed2] = "\x9b\x7d", [0x1ed3] = "\xe3\xfc", [0x1ed4] = "\xe3\xef", + [0x1ed5] = "\xb7\xa8", [0x1ed6] = "\xe3\xf7", [0x1ed7] = "\xe3\xf4", + [0x1ed8] = "\x9b\x7e", [0x1ed9] = "\x9b\x80", [0x1eda] = "\x9b\x81", + [0x1edb] = "\xb7\xba", [0x1edc] = "\x9b\x82", [0x1edd] = "\x9b\x83", + [0x1ede] = "\xc5\xa2", [0x1edf] = "\x9b\x84", [0x1ee0] = "\xe3\xf6", + [0x1ee1] = "\xc5\xdd", [0x1ee2] = "\xb2\xa8", [0x1ee3] = "\xc6\xfc", + [0x1ee4] = "\x9b\x85", [0x1ee5] = "\xc4\xe0", [0x1ee6] = "\x9b\x86", + [0x1ee7] = "\x9b\x87", [0x1ee8] = "\xd7\xa2", [0x1ee9] = "\x9b\x88", + [0x1eea] = "\xc0\xe1", [0x1eeb] = "\xe3\xf9", [0x1eec] = "\x9b\x89", + [0x1eed] = "\x9b\x8a", [0x1eee] = "\xe3\xfa", [0x1eef] = "\xe3\xfd", + [0x1ef0] = "\xcc\xa9", [0x1ef1] = "\xe3\xf3", [0x1ef2] = "\x9b\x8b", + [0x1ef3] = "\xd3\xbe", [0x1ef4] = "\x9b\x8c", [0x1ef5] = "\xb1\xc3", + [0x1ef6] = "\xed\xb4", [0x1ef7] = "\xe3\xf1", [0x1ef8] = "\xe3\xf2", + [0x1ef9] = "\x9b\x8d", [0x1efa] = "\xe3\xf8", [0x1efb] = "\xd0\xba", + [0x1efc] = "\xc6\xc3", [0x1efd] = "\xd4\xf3", [0x1efe] = "\xe3\xfe", + [0x1eff] = "\x9b\x8e", [0x1f00] = "\x9b\x8f", [0x1f01] = "\xbd\xe0", + [0x1f02] = "\x9b\x90", [0x1f03] = "\x9b\x91", [0x1f04] = "\xe4\xa7", + [0x1f05] = "\x9b\x92", [0x1f06] = "\x9b\x93", [0x1f07] = "\xe4\xa6", + [0x1f08] = "\x9b\x94", [0x1f09] = "\x9b\x95", [0x1f0a] = "\x9b\x96", + [0x1f0b] = "\xd1\xf3", [0x1f0c] = "\xe4\xa3", [0x1f0d] = "\x9b\x97", + [0x1f0e] = "\xe4\xa9", [0x1f0f] = "\x9b\x98", [0x1f10] = "\x9b\x99", + [0x1f11] = "\x9b\x9a", [0x1f12] = "\xc8\xf7", [0x1f13] = "\x9b\x9b", + [0x1f14] = "\x9b\x9c", [0x1f15] = "\x9b\x9d", [0x1f16] = "\x9b\x9e", + [0x1f17] = "\xcf\xb4", [0x1f18] = "\x9b\x9f", [0x1f19] = "\xe4\xa8", + [0x1f1a] = "\xe4\xae", [0x1f1b] = "\xc2\xe5", [0x1f1c] = "\x9b\xa0", + [0x1f1d] = "\x9b\xa1", [0x1f1e] = "\xb6\xb4", [0x1f1f] = "\x9b\xa2", + [0x1f20] = "\x9b\xa3", [0x1f21] = "\x9b\xa4", [0x1f22] = "\x9b\xa5", + [0x1f23] = "\x9b\xa6", [0x1f24] = "\x9b\xa7", [0x1f25] = "\xbd\xf2", + [0x1f26] = "\x9b\xa8", [0x1f27] = "\xe4\xa2", [0x1f28] = "\x9b\xa9", + [0x1f29] = "\x9b\xaa", [0x1f2a] = "\xba\xe9", [0x1f2b] = "\xe4\xaa", + [0x1f2c] = "\x9b\xab", [0x1f2d] = "\x9b\xac", [0x1f2e] = "\xe4\xac", + [0x1f2f] = "\x9b\xad", [0x1f30] = "\x9b\xae", [0x1f31] = "\xb6\xfd", + [0x1f32] = "\xd6\xde", [0x1f33] = "\xe4\xb2", [0x1f34] = "\x9b\xaf", + [0x1f35] = "\xe4\xad", [0x1f36] = "\x9b\xb0", [0x1f37] = "\x9b\xb1", + [0x1f38] = "\x9b\xb2", [0x1f39] = "\xe4\xa1", [0x1f3a] = "\x9b\xb3", + [0x1f3b] = "\xbb\xee", [0x1f3c] = "\xcd\xdd", [0x1f3d] = "\xc7\xa2", + [0x1f3e] = "\xc5\xc9", [0x1f3f] = "\x9b\xb4", [0x1f40] = "\x9b\xb5", + [0x1f41] = "\xc1\xf7", [0x1f42] = "\x9b\xb6", [0x1f43] = "\xe4\xa4", + [0x1f44] = "\x9b\xb7", [0x1f45] = "\xc7\xb3", [0x1f46] = "\xbd\xac", + [0x1f47] = "\xbd\xbd", [0x1f48] = "\xe4\xa5", [0x1f49] = "\x9b\xb8", + [0x1f4a] = "\xd7\xc7", [0x1f4b] = "\xb2\xe2", [0x1f4c] = "\x9b\xb9", + [0x1f4d] = "\xe4\xab", [0x1f4e] = "\xbc\xc3", [0x1f4f] = "\xe4\xaf", + [0x1f50] = "\x9b\xba", [0x1f51] = "\xbb\xeb", [0x1f52] = "\xe4\xb0", + [0x1f53] = "\xc5\xa8", [0x1f54] = "\xe4\xb1", [0x1f55] = "\x9b\xbb", + [0x1f56] = "\x9b\xbc", [0x1f57] = "\x9b\xbd", [0x1f58] = "\x9b\xbe", + [0x1f59] = "\xd5\xe3", [0x1f5a] = "\xbf\xa3", [0x1f5b] = "\x9b\xbf", + [0x1f5c] = "\xe4\xba", [0x1f5d] = "\x9b\xc0", [0x1f5e] = "\xe4\xb7", + [0x1f5f] = "\x9b\xc1", [0x1f60] = "\xe4\xbb", [0x1f61] = "\x9b\xc2", + [0x1f62] = "\x9b\xc3", [0x1f63] = "\xe4\xbd", [0x1f64] = "\x9b\xc4", + [0x1f65] = "\x9b\xc5", [0x1f66] = "\xc6\xd6", [0x1f67] = "\x9b\xc6", + [0x1f68] = "\x9b\xc7", [0x1f69] = "\xba\xc6", [0x1f6a] = "\xc0\xcb", + [0x1f6b] = "\x9b\xc8", [0x1f6c] = "\x9b\xc9", [0x1f6d] = "\x9b\xca", + [0x1f6e] = "\xb8\xa1", [0x1f6f] = "\xe4\xb4", [0x1f70] = "\x9b\xcb", + [0x1f71] = "\x9b\xcc", [0x1f72] = "\x9b\xcd", [0x1f73] = "\x9b\xce", + [0x1f74] = "\xd4\xa1", [0x1f75] = "\x9b\xcf", [0x1f76] = "\x9b\xd0", + [0x1f77] = "\xba\xa3", [0x1f78] = "\xbd\xfe", [0x1f79] = "\x9b\xd1", + [0x1f7a] = "\x9b\xd2", [0x1f7b] = "\x9b\xd3", [0x1f7c] = "\xe4\xbc", + [0x1f7d] = "\x9b\xd4", [0x1f7e] = "\x9b\xd5", [0x1f7f] = "\x9b\xd6", + [0x1f80] = "\x9b\xd7", [0x1f81] = "\x9b\xd8", [0x1f82] = "\xcd\xbf", + [0x1f83] = "\x9b\xd9", [0x1f84] = "\x9b\xda", [0x1f85] = "\xc4\xf9", + [0x1f86] = "\x9b\xdb", [0x1f87] = "\x9b\xdc", [0x1f88] = "\xcf\xfb", + [0x1f89] = "\xc9\xe6", [0x1f8a] = "\x9b\xdd", [0x1f8b] = "\x9b\xde", + [0x1f8c] = "\xd3\xbf", [0x1f8d] = "\x9b\xdf", [0x1f8e] = "\xcf\xd1", + [0x1f8f] = "\x9b\xe0", [0x1f90] = "\x9b\xe1", [0x1f91] = "\xe4\xb3", + [0x1f92] = "\x9b\xe2", [0x1f93] = "\xe4\xb8", [0x1f94] = "\xe4\xb9", + [0x1f95] = "\xcc\xe9", [0x1f96] = "\x9b\xe3", [0x1f97] = "\x9b\xe4", + [0x1f98] = "\x9b\xe5", [0x1f99] = "\x9b\xe6", [0x1f9a] = "\x9b\xe7", + [0x1f9b] = "\xcc\xce", [0x1f9c] = "\x9b\xe8", [0x1f9d] = "\xc0\xd4", + [0x1f9e] = "\xe4\xb5", [0x1f9f] = "\xc1\xb0", [0x1fa0] = "\xe4\xb6", + [0x1fa1] = "\xce\xd0", [0x1fa2] = "\x9b\xe9", [0x1fa3] = "\xbb\xc1", + [0x1fa4] = "\xb5\xd3", [0x1fa5] = "\x9b\xea", [0x1fa6] = "\xc8\xf3", + [0x1fa7] = "\xbd\xa7", [0x1fa8] = "\xd5\xc7", [0x1fa9] = "\xc9\xac", + [0x1faa] = "\xb8\xa2", [0x1fab] = "\xe4\xca", [0x1fac] = "\x9b\xeb", + [0x1fad] = "\x9b\xec", [0x1fae] = "\xe4\xcc", [0x1faf] = "\xd1\xc4", + [0x1fb0] = "\x9b\xed", [0x1fb1] = "\x9b\xee", [0x1fb2] = "\xd2\xba", + [0x1fb3] = "\x9b\xef", [0x1fb4] = "\x9b\xf0", [0x1fb5] = "\xba\xad", + [0x1fb6] = "\x9b\xf1", [0x1fb7] = "\x9b\xf2", [0x1fb8] = "\xba\xd4", + [0x1fb9] = "\x9b\xf3", [0x1fba] = "\x9b\xf4", [0x1fbb] = "\x9b\xf5", + [0x1fbc] = "\x9b\xf6", [0x1fbd] = "\x9b\xf7", [0x1fbe] = "\x9b\xf8", + [0x1fbf] = "\xe4\xc3", [0x1fc0] = "\xb5\xed", [0x1fc1] = "\x9b\xf9", + [0x1fc2] = "\x9b\xfa", [0x1fc3] = "\x9b\xfb", [0x1fc4] = "\xd7\xcd", + [0x1fc5] = "\xe4\xc0", [0x1fc6] = "\xcf\xfd", [0x1fc7] = "\xe4\xbf", + [0x1fc8] = "\x9b\xfc", [0x1fc9] = "\x9b\xfd", [0x1fca] = "\x9b\xfe", + [0x1fcb] = "\xc1\xdc", [0x1fcc] = "\xcc\xca", [0x1fcd] = "\x9c\x40", + [0x1fce] = "\x9c\x41", [0x1fcf] = "\x9c\x42", [0x1fd0] = "\x9c\x43", + [0x1fd1] = "\xca\xe7", [0x1fd2] = "\x9c\x44", [0x1fd3] = "\x9c\x45", + [0x1fd4] = "\x9c\x46", [0x1fd5] = "\x9c\x47", [0x1fd6] = "\xc4\xd7", + [0x1fd7] = "\x9c\x48", [0x1fd8] = "\xcc\xd4", [0x1fd9] = "\xe4\xc8", + [0x1fda] = "\x9c\x49", [0x1fdb] = "\x9c\x4a", [0x1fdc] = "\x9c\x4b", + [0x1fdd] = "\xe4\xc7", [0x1fde] = "\xe4\xc1", [0x1fdf] = "\x9c\x4c", + [0x1fe0] = "\xe4\xc4", [0x1fe1] = "\xb5\xad", [0x1fe2] = "\x9c\x4d", + [0x1fe3] = "\x9c\x4e", [0x1fe4] = "\xd3\xd9", [0x1fe5] = "\x9c\x4f", + [0x1fe6] = "\xe4\xc6", [0x1fe7] = "\x9c\x50", [0x1fe8] = "\x9c\x51", + [0x1fe9] = "\x9c\x52", [0x1fea] = "\x9c\x53", [0x1feb] = "\xd2\xf9", + [0x1fec] = "\xb4\xe3", [0x1fed] = "\x9c\x54", [0x1fee] = "\xbb\xb4", + [0x1fef] = "\x9c\x55", [0x1ff0] = "\x9c\x56", [0x1ff1] = "\xc9\xee", + [0x1ff2] = "\x9c\x57", [0x1ff3] = "\xb4\xbe", [0x1ff4] = "\x9c\x58", + [0x1ff5] = "\x9c\x59", [0x1ff6] = "\x9c\x5a", [0x1ff7] = "\xbb\xec", + [0x1ff8] = "\x9c\x5b", [0x1ff9] = "\xd1\xcd", [0x1ffa] = "\x9c\x5c", + [0x1ffb] = "\xcc\xed", [0x1ffc] = "\xed\xb5", [0x1ffd] = "\x9c\x5d", + [0x1ffe] = "\x9c\x5e", [0x1fff] = "\x9c\x5f", [0x2000] = "\x9c\x60", + [0x2001] = "\x9c\x61", [0x2002] = "\x9c\x62", [0x2003] = "\x9c\x63", + [0x2004] = "\x9c\x64", [0x2005] = "\xc7\xe5", [0x2006] = "\x9c\x65", + [0x2007] = "\x9c\x66", [0x2008] = "\x9c\x67", [0x2009] = "\x9c\x68", + [0x200a] = "\xd4\xa8", [0x200b] = "\x9c\x69", [0x200c] = "\xe4\xcb", + [0x200d] = "\xd7\xd5", [0x200e] = "\xe4\xc2", [0x200f] = "\x9c\x6a", + [0x2010] = "\xbd\xa5", [0x2011] = "\xe4\xc5", [0x2012] = "\x9c\x6b", + [0x2013] = "\x9c\x6c", [0x2014] = "\xd3\xe6", [0x2015] = "\x9c\x6d", + [0x2016] = "\xe4\xc9", [0x2017] = "\xc9\xf8", [0x2018] = "\x9c\x6e", + [0x2019] = "\x9c\x6f", [0x201a] = "\xe4\xbe", [0x201b] = "\x9c\x70", + [0x201c] = "\x9c\x71", [0x201d] = "\xd3\xe5", [0x201e] = "\x9c\x72", + [0x201f] = "\x9c\x73", [0x2020] = "\xc7\xfe", [0x2021] = "\xb6\xc9", + [0x2022] = "\x9c\x74", [0x2023] = "\xd4\xfc", [0x2024] = "\xb2\xb3", + [0x2025] = "\xe4\xd7", [0x2026] = "\x9c\x75", [0x2027] = "\x9c\x76", + [0x2028] = "\x9c\x77", [0x2029] = "\xce\xc2", [0x202a] = "\x9c\x78", + [0x202b] = "\xe4\xcd", [0x202c] = "\x9c\x79", [0x202d] = "\xce\xbc", + [0x202e] = "\x9c\x7a", [0x202f] = "\xb8\xdb", [0x2030] = "\x9c\x7b", + [0x2031] = "\x9c\x7c", [0x2032] = "\xe4\xd6", [0x2033] = "\x9c\x7d", + [0x2034] = "\xbf\xca", [0x2035] = "\x9c\x7e", [0x2036] = "\x9c\x80", + [0x2037] = "\x9c\x81", [0x2038] = "\xd3\xce", [0x2039] = "\x9c\x82", + [0x203a] = "\xc3\xec", [0x203b] = "\x9c\x83", [0x203c] = "\x9c\x84", + [0x203d] = "\x9c\x85", [0x203e] = "\x9c\x86", [0x203f] = "\x9c\x87", + [0x2040] = "\x9c\x88", [0x2041] = "\x9c\x89", [0x2042] = "\x9c\x8a", + [0x2043] = "\xc5\xc8", [0x2044] = "\xe4\xd8", [0x2045] = "\x9c\x8b", + [0x2046] = "\x9c\x8c", [0x2047] = "\x9c\x8d", [0x2048] = "\x9c\x8e", + [0x2049] = "\x9c\x8f", [0x204a] = "\x9c\x90", [0x204b] = "\x9c\x91", + [0x204c] = "\x9c\x92", [0x204d] = "\xcd\xc4", [0x204e] = "\xe4\xcf", + [0x204f] = "\x9c\x93", [0x2050] = "\x9c\x94", [0x2051] = "\x9c\x95", + [0x2052] = "\x9c\x96", [0x2053] = "\xe4\xd4", [0x2054] = "\xe4\xd5", + [0x2055] = "\x9c\x97", [0x2056] = "\xba\xfe", [0x2057] = "\x9c\x98", + [0x2058] = "\xcf\xe6", [0x2059] = "\x9c\x99", [0x205a] = "\x9c\x9a", + [0x205b] = "\xd5\xbf", [0x205c] = "\x9c\x9b", [0x205d] = "\x9c\x9c", + [0x205e] = "\x9c\x9d", [0x205f] = "\xe4\xd2", [0x2060] = "\x9c\x9e", + [0x2061] = "\x9c\x9f", [0x2062] = "\x9c\xa0", [0x2063] = "\x9c\xa1", + [0x2064] = "\x9c\xa2", [0x2065] = "\x9c\xa3", [0x2066] = "\x9c\xa4", + [0x2067] = "\x9c\xa5", [0x2068] = "\x9c\xa6", [0x2069] = "\x9c\xa7", + [0x206a] = "\x9c\xa8", [0x206b] = "\xe4\xd0", [0x206c] = "\x9c\xa9", + [0x206d] = "\x9c\xaa", [0x206e] = "\xe4\xce", [0x206f] = "\x9c\xab", + [0x2070] = "\x9c\xac", [0x2071] = "\x9c\xad", [0x2072] = "\x9c\xae", + [0x2073] = "\x9c\xaf", [0x2074] = "\x9c\xb0", [0x2075] = "\x9c\xb1", + [0x2076] = "\x9c\xb2", [0x2077] = "\x9c\xb3", [0x2078] = "\x9c\xb4", + [0x2079] = "\x9c\xb5", [0x207a] = "\x9c\xb6", [0x207b] = "\x9c\xb7", + [0x207c] = "\x9c\xb8", [0x207d] = "\x9c\xb9", [0x207e] = "\xcd\xe5", + [0x207f] = "\xca\xaa", [0x2080] = "\x9c\xba", [0x2081] = "\x9c\xbb", + [0x2082] = "\x9c\xbc", [0x2083] = "\xc0\xa3", [0x2084] = "\x9c\xbd", + [0x2085] = "\xbd\xa6", [0x2086] = "\xe4\xd3", [0x2087] = "\x9c\xbe", + [0x2088] = "\x9c\xbf", [0x2089] = "\xb8\xc8", [0x208a] = "\x9c\xc0", + [0x208b] = "\x9c\xc1", [0x208c] = "\x9c\xc2", [0x208d] = "\x9c\xc3", + [0x208e] = "\x9c\xc4", [0x208f] = "\xe4\xe7", [0x2090] = "\xd4\xb4", + [0x2091] = "\x9c\xc5", [0x2092] = "\x9c\xc6", [0x2093] = "\x9c\xc7", + [0x2094] = "\x9c\xc8", [0x2095] = "\x9c\xc9", [0x2096] = "\x9c\xca", + [0x2097] = "\x9c\xcb", [0x2098] = "\xe4\xdb", [0x2099] = "\x9c\xcc", + [0x209a] = "\x9c\xcd", [0x209b] = "\x9c\xce", [0x209c] = "\xc1\xef", + [0x209d] = "\x9c\xcf", [0x209e] = "\x9c\xd0", [0x209f] = "\xe4\xe9", + [0x20a0] = "\x9c\xd1", [0x20a1] = "\x9c\xd2", [0x20a2] = "\xd2\xe7", + [0x20a3] = "\x9c\xd3", [0x20a4] = "\x9c\xd4", [0x20a5] = "\xe4\xdf", + [0x20a6] = "\x9c\xd5", [0x20a7] = "\xe4\xe0", [0x20a8] = "\x9c\xd6", + [0x20a9] = "\x9c\xd7", [0x20aa] = "\xcf\xaa", [0x20ab] = "\x9c\xd8", + [0x20ac] = "\x9c\xd9", [0x20ad] = "\x9c\xda", [0x20ae] = "\x9c\xdb", + [0x20af] = "\xcb\xdd", [0x20b0] = "\x9c\xdc", [0x20b1] = "\xe4\xda", + [0x20b2] = "\xe4\xd1", [0x20b3] = "\x9c\xdd", [0x20b4] = "\xe4\xe5", + [0x20b5] = "\x9c\xde", [0x20b6] = "\xc8\xdc", [0x20b7] = "\xe4\xe3", + [0x20b8] = "\x9c\xdf", [0x20b9] = "\x9c\xe0", [0x20ba] = "\xc4\xe7", + [0x20bb] = "\xe4\xe2", [0x20bc] = "\x9c\xe1", [0x20bd] = "\xe4\xe1", + [0x20be] = "\x9c\xe2", [0x20bf] = "\x9c\xe3", [0x20c0] = "\x9c\xe4", + [0x20c1] = "\xb3\xfc", [0x20c2] = "\xe4\xe8", [0x20c3] = "\x9c\xe5", + [0x20c4] = "\x9c\xe6", [0x20c5] = "\x9c\xe7", [0x20c6] = "\x9c\xe8", + [0x20c7] = "\xb5\xe1", [0x20c8] = "\x9c\xe9", [0x20c9] = "\x9c\xea", + [0x20ca] = "\x9c\xeb", [0x20cb] = "\xd7\xcc", [0x20cc] = "\x9c\xec", + [0x20cd] = "\x9c\xed", [0x20ce] = "\x9c\xee", [0x20cf] = "\xe4\xe6", + [0x20d0] = "\x9c\xef", [0x20d1] = "\xbb\xac", [0x20d2] = "\x9c\xf0", + [0x20d3] = "\xd7\xd2", [0x20d4] = "\xcc\xcf", [0x20d5] = "\xeb\xf8", + [0x20d6] = "\x9c\xf1", [0x20d7] = "\xe4\xe4", [0x20d8] = "\x9c\xf2", + [0x20d9] = "\x9c\xf3", [0x20da] = "\xb9\xf6", [0x20db] = "\x9c\xf4", + [0x20dc] = "\x9c\xf5", [0x20dd] = "\x9c\xf6", [0x20de] = "\xd6\xcd", + [0x20df] = "\xe4\xd9", [0x20e0] = "\xe4\xdc", [0x20e1] = "\xc2\xfa", + [0x20e2] = "\xe4\xde", [0x20e3] = "\x9c\xf7", [0x20e4] = "\xc2\xcb", + [0x20e5] = "\xc0\xc4", [0x20e6] = "\xc2\xd0", [0x20e7] = "\x9c\xf8", + [0x20e8] = "\xb1\xf5", [0x20e9] = "\xcc\xb2", [0x20ea] = "\x9c\xf9", + [0x20eb] = "\x9c\xfa", [0x20ec] = "\x9c\xfb", [0x20ed] = "\x9c\xfc", + [0x20ee] = "\x9c\xfd", [0x20ef] = "\x9c\xfe", [0x20f0] = "\x9d\x40", + [0x20f1] = "\x9d\x41", [0x20f2] = "\x9d\x42", [0x20f3] = "\x9d\x43", + [0x20f4] = "\xb5\xce", [0x20f5] = "\x9d\x44", [0x20f6] = "\x9d\x45", + [0x20f7] = "\x9d\x46", [0x20f8] = "\x9d\x47", [0x20f9] = "\xe4\xef", + [0x20fa] = "\x9d\x48", [0x20fb] = "\x9d\x49", [0x20fc] = "\x9d\x4a", + [0x20fd] = "\x9d\x4b", [0x20fe] = "\x9d\x4c", [0x20ff] = "\x9d\x4d", + [0x2100] = "\x9d\x4e", [0x2101] = "\x9d\x4f", [0x2102] = "\xc6\xaf", + [0x2103] = "\x9d\x50", [0x2104] = "\x9d\x51", [0x2105] = "\x9d\x52", + [0x2106] = "\xc6\xe1", [0x2107] = "\x9d\x53", [0x2108] = "\x9d\x54", + [0x2109] = "\xe4\xf5", [0x210a] = "\x9d\x55", [0x210b] = "\x9d\x56", + [0x210c] = "\x9d\x57", [0x210d] = "\x9d\x58", [0x210e] = "\x9d\x59", + [0x210f] = "\xc2\xa9", [0x2110] = "\x9d\x5a", [0x2111] = "\x9d\x5b", + [0x2112] = "\x9d\x5c", [0x2113] = "\xc0\xec", [0x2114] = "\xd1\xdd", + [0x2115] = "\xe4\xee", [0x2116] = "\x9d\x5d", [0x2117] = "\x9d\x5e", + [0x2118] = "\x9d\x5f", [0x2119] = "\x9d\x60", [0x211a] = "\x9d\x61", + [0x211b] = "\x9d\x62", [0x211c] = "\x9d\x63", [0x211d] = "\x9d\x64", + [0x211e] = "\x9d\x65", [0x211f] = "\x9d\x66", [0x2120] = "\xc4\xae", + [0x2121] = "\x9d\x67", [0x2122] = "\x9d\x68", [0x2123] = "\x9d\x69", + [0x2124] = "\xe4\xed", [0x2125] = "\x9d\x6a", [0x2126] = "\x9d\x6b", + [0x2127] = "\x9d\x6c", [0x2128] = "\x9d\x6d", [0x2129] = "\xe4\xf6", + [0x212a] = "\xe4\xf4", [0x212b] = "\xc2\xfe", [0x212c] = "\x9d\x6e", + [0x212d] = "\xe4\xdd", [0x212e] = "\x9d\x6f", [0x212f] = "\xe4\xf0", + [0x2130] = "\x9d\x70", [0x2131] = "\xca\xfe", [0x2132] = "\x9d\x71", + [0x2133] = "\xd5\xc4", [0x2134] = "\x9d\x72", [0x2135] = "\x9d\x73", + [0x2136] = "\xe4\xf1", [0x2137] = "\x9d\x74", [0x2138] = "\x9d\x75", + [0x2139] = "\x9d\x76", [0x213a] = "\x9d\x77", [0x213b] = "\x9d\x78", + [0x213c] = "\x9d\x79", [0x213d] = "\x9d\x7a", [0x213e] = "\xd1\xfa", + [0x213f] = "\x9d\x7b", [0x2140] = "\x9d\x7c", [0x2141] = "\x9d\x7d", + [0x2142] = "\x9d\x7e", [0x2143] = "\x9d\x80", [0x2144] = "\x9d\x81", + [0x2145] = "\x9d\x82", [0x2146] = "\xe4\xeb", [0x2147] = "\xe4\xec", + [0x2148] = "\x9d\x83", [0x2149] = "\x9d\x84", [0x214a] = "\x9d\x85", + [0x214b] = "\xe4\xf2", [0x214c] = "\x9d\x86", [0x214d] = "\xce\xab", + [0x214e] = "\x9d\x87", [0x214f] = "\x9d\x88", [0x2150] = "\x9d\x89", + [0x2151] = "\x9d\x8a", [0x2152] = "\x9d\x8b", [0x2153] = "\x9d\x8c", + [0x2154] = "\x9d\x8d", [0x2155] = "\x9d\x8e", [0x2156] = "\x9d\x8f", + [0x2157] = "\x9d\x90", [0x2158] = "\xc5\xcb", [0x2159] = "\x9d\x91", + [0x215a] = "\x9d\x92", [0x215b] = "\x9d\x93", [0x215c] = "\xc7\xb1", + [0x215d] = "\x9d\x94", [0x215e] = "\xc2\xba", [0x215f] = "\x9d\x95", + [0x2160] = "\x9d\x96", [0x2161] = "\x9d\x97", [0x2162] = "\xe4\xea", + [0x2163] = "\x9d\x98", [0x2164] = "\x9d\x99", [0x2165] = "\x9d\x9a", + [0x2166] = "\xc1\xca", [0x2167] = "\x9d\x9b", [0x2168] = "\x9d\x9c", + [0x2169] = "\x9d\x9d", [0x216a] = "\x9d\x9e", [0x216b] = "\x9d\x9f", + [0x216c] = "\x9d\xa0", [0x216d] = "\xcc\xb6", [0x216e] = "\xb3\xb1", + [0x216f] = "\x9d\xa1", [0x2170] = "\x9d\xa2", [0x2171] = "\x9d\xa3", + [0x2172] = "\xe4\xfb", [0x2173] = "\x9d\xa4", [0x2174] = "\xe4\xf3", + [0x2175] = "\x9d\xa5", [0x2176] = "\x9d\xa6", [0x2177] = "\x9d\xa7", + [0x2178] = "\xe4\xfa", [0x2179] = "\x9d\xa8", [0x217a] = "\xe4\xfd", + [0x217b] = "\x9d\xa9", [0x217c] = "\xe4\xfc", [0x217d] = "\x9d\xaa", + [0x217e] = "\x9d\xab", [0x217f] = "\x9d\xac", [0x2180] = "\x9d\xad", + [0x2181] = "\x9d\xae", [0x2182] = "\x9d\xaf", [0x2183] = "\x9d\xb0", + [0x2184] = "\xb3\xce", [0x2185] = "\x9d\xb1", [0x2186] = "\x9d\xb2", + [0x2187] = "\x9d\xb3", [0x2188] = "\xb3\xba", [0x2189] = "\xe4\xf7", + [0x218a] = "\x9d\xb4", [0x218b] = "\x9d\xb5", [0x218c] = "\xe4\xf9", + [0x218d] = "\xe4\xf8", [0x218e] = "\xc5\xec", [0x218f] = "\x9d\xb6", + [0x2190] = "\x9d\xb7", [0x2191] = "\x9d\xb8", [0x2192] = "\x9d\xb9", + [0x2193] = "\x9d\xba", [0x2194] = "\x9d\xbb", [0x2195] = "\x9d\xbc", + [0x2196] = "\x9d\xbd", [0x2197] = "\x9d\xbe", [0x2198] = "\x9d\xbf", + [0x2199] = "\x9d\xc0", [0x219a] = "\x9d\xc1", [0x219b] = "\x9d\xc2", + [0x219c] = "\xc0\xbd", [0x219d] = "\x9d\xc3", [0x219e] = "\x9d\xc4", + [0x219f] = "\x9d\xc5", [0x21a0] = "\x9d\xc6", [0x21a1] = "\xd4\xe8", + [0x21a2] = "\x9d\xc7", [0x21a3] = "\x9d\xc8", [0x21a4] = "\x9d\xc9", + [0x21a5] = "\x9d\xca", [0x21a6] = "\x9d\xcb", [0x21a7] = "\xe5\xa2", + [0x21a8] = "\x9d\xcc", [0x21a9] = "\x9d\xcd", [0x21aa] = "\x9d\xce", + [0x21ab] = "\x9d\xcf", [0x21ac] = "\x9d\xd0", [0x21ad] = "\x9d\xd1", + [0x21ae] = "\x9d\xd2", [0x21af] = "\x9d\xd3", [0x21b0] = "\x9d\xd4", + [0x21b1] = "\x9d\xd5", [0x21b2] = "\x9d\xd6", [0x21b3] = "\xb0\xc4", + [0x21b4] = "\x9d\xd7", [0x21b5] = "\x9d\xd8", [0x21b6] = "\xe5\xa4", + [0x21b7] = "\x9d\xd9", [0x21b8] = "\x9d\xda", [0x21b9] = "\xe5\xa3", + [0x21ba] = "\x9d\xdb", [0x21bb] = "\x9d\xdc", [0x21bc] = "\x9d\xdd", + [0x21bd] = "\x9d\xde", [0x21be] = "\x9d\xdf", [0x21bf] = "\x9d\xe0", + [0x21c0] = "\xbc\xa4", [0x21c1] = "\x9d\xe1", [0x21c2] = "\xe5\xa5", + [0x21c3] = "\x9d\xe2", [0x21c4] = "\x9d\xe3", [0x21c5] = "\x9d\xe4", + [0x21c6] = "\x9d\xe5", [0x21c7] = "\x9d\xe6", [0x21c8] = "\x9d\xe7", + [0x21c9] = "\xe5\xa1", [0x21ca] = "\x9d\xe8", [0x21cb] = "\x9d\xe9", + [0x21cc] = "\x9d\xea", [0x21cd] = "\x9d\xeb", [0x21ce] = "\x9d\xec", + [0x21cf] = "\x9d\xed", [0x21d0] = "\x9d\xee", [0x21d1] = "\xe4\xfe", + [0x21d2] = "\xb1\xf4", [0x21d3] = "\x9d\xef", [0x21d4] = "\x9d\xf0", + [0x21d5] = "\x9d\xf1", [0x21d6] = "\x9d\xf2", [0x21d7] = "\x9d\xf3", + [0x21d8] = "\x9d\xf4", [0x21d9] = "\x9d\xf5", [0x21da] = "\x9d\xf6", + [0x21db] = "\x9d\xf7", [0x21dc] = "\x9d\xf8", [0x21dd] = "\x9d\xf9", + [0x21de] = "\xe5\xa8", [0x21df] = "\x9d\xfa", [0x21e0] = "\xe5\xa9", + [0x21e1] = "\xe5\xa6", [0x21e2] = "\x9d\xfb", [0x21e3] = "\x9d\xfc", + [0x21e4] = "\x9d\xfd", [0x21e5] = "\x9d\xfe", [0x21e6] = "\x9e\x40", + [0x21e7] = "\x9e\x41", [0x21e8] = "\x9e\x42", [0x21e9] = "\x9e\x43", + [0x21ea] = "\x9e\x44", [0x21eb] = "\x9e\x45", [0x21ec] = "\x9e\x46", + [0x21ed] = "\x9e\x47", [0x21ee] = "\xe5\xa7", [0x21ef] = "\xe5\xaa", + [0x21f0] = "\x9e\x48", [0x21f1] = "\x9e\x49", [0x21f2] = "\x9e\x4a", + [0x21f3] = "\x9e\x4b", [0x21f4] = "\x9e\x4c", [0x21f5] = "\x9e\x4d", + [0x21f6] = "\x9e\x4e", [0x21f7] = "\x9e\x4f", [0x21f8] = "\x9e\x50", + [0x21f9] = "\x9e\x51", [0x21fa] = "\x9e\x52", [0x21fb] = "\x9e\x53", + [0x21fc] = "\x9e\x54", [0x21fd] = "\x9e\x55", [0x21fe] = "\x9e\x56", + [0x21ff] = "\x9e\x57", [0x2200] = "\x9e\x58", [0x2201] = "\x9e\x59", + [0x2202] = "\x9e\x5a", [0x2203] = "\x9e\x5b", [0x2204] = "\x9e\x5c", + [0x2205] = "\x9e\x5d", [0x2206] = "\x9e\x5e", [0x2207] = "\x9e\x5f", + [0x2208] = "\x9e\x60", [0x2209] = "\x9e\x61", [0x220a] = "\x9e\x62", + [0x220b] = "\x9e\x63", [0x220c] = "\x9e\x64", [0x220d] = "\x9e\x65", + [0x220e] = "\x9e\x66", [0x220f] = "\x9e\x67", [0x2210] = "\x9e\x68", + [0x2211] = "\xc6\xd9", [0x2212] = "\x9e\x69", [0x2213] = "\x9e\x6a", + [0x2214] = "\x9e\x6b", [0x2215] = "\x9e\x6c", [0x2216] = "\x9e\x6d", + [0x2217] = "\x9e\x6e", [0x2218] = "\x9e\x6f", [0x2219] = "\x9e\x70", + [0x221a] = "\xe5\xab", [0x221b] = "\xe5\xad", [0x221c] = "\x9e\x71", + [0x221d] = "\x9e\x72", [0x221e] = "\x9e\x73", [0x221f] = "\x9e\x74", + [0x2220] = "\x9e\x75", [0x2221] = "\x9e\x76", [0x2222] = "\x9e\x77", + [0x2223] = "\xe5\xac", [0x2224] = "\x9e\x78", [0x2225] = "\x9e\x79", + [0x2226] = "\x9e\x7a", [0x2227] = "\x9e\x7b", [0x2228] = "\x9e\x7c", + [0x2229] = "\x9e\x7d", [0x222a] = "\x9e\x7e", [0x222b] = "\x9e\x80", + [0x222c] = "\x9e\x81", [0x222d] = "\x9e\x82", [0x222e] = "\x9e\x83", + [0x222f] = "\x9e\x84", [0x2230] = "\x9e\x85", [0x2231] = "\x9e\x86", + [0x2232] = "\x9e\x87", [0x2233] = "\x9e\x88", [0x2234] = "\x9e\x89", + [0x2235] = "\xe5\xaf", [0x2236] = "\x9e\x8a", [0x2237] = "\x9e\x8b", + [0x2238] = "\x9e\x8c", [0x2239] = "\xe5\xae", [0x223a] = "\x9e\x8d", + [0x223b] = "\x9e\x8e", [0x223c] = "\x9e\x8f", [0x223d] = "\x9e\x90", + [0x223e] = "\x9e\x91", [0x223f] = "\x9e\x92", [0x2240] = "\x9e\x93", + [0x2241] = "\x9e\x94", [0x2242] = "\x9e\x95", [0x2243] = "\x9e\x96", + [0x2244] = "\x9e\x97", [0x2245] = "\x9e\x98", [0x2246] = "\x9e\x99", + [0x2247] = "\x9e\x9a", [0x2248] = "\x9e\x9b", [0x2249] = "\x9e\x9c", + [0x224a] = "\x9e\x9d", [0x224b] = "\x9e\x9e", [0x224c] = "\xb9\xe0", + [0x224d] = "\x9e\x9f", [0x224e] = "\x9e\xa0", [0x224f] = "\xe5\xb0", + [0x2250] = "\x9e\xa1", [0x2251] = "\x9e\xa2", [0x2252] = "\x9e\xa3", + [0x2253] = "\x9e\xa4", [0x2254] = "\x9e\xa5", [0x2255] = "\x9e\xa6", + [0x2256] = "\x9e\xa7", [0x2257] = "\x9e\xa8", [0x2258] = "\x9e\xa9", + [0x2259] = "\x9e\xaa", [0x225a] = "\x9e\xab", [0x225b] = "\x9e\xac", + [0x225c] = "\x9e\xad", [0x225d] = "\x9e\xae", [0x225e] = "\xe5\xb1", + [0x225f] = "\x9e\xaf", [0x2260] = "\x9e\xb0", [0x2261] = "\x9e\xb1", + [0x2262] = "\x9e\xb2", [0x2263] = "\x9e\xb3", [0x2264] = "\x9e\xb4", + [0x2265] = "\x9e\xb5", [0x2266] = "\x9e\xb6", [0x2267] = "\x9e\xb7", + [0x2268] = "\x9e\xb8", [0x2269] = "\x9e\xb9", [0x226a] = "\x9e\xba", + [0x226b] = "\xbb\xf0", [0x226c] = "\xec\xe1", [0x226d] = "\xc3\xf0", + [0x226e] = "\x9e\xbb", [0x226f] = "\xb5\xc6", [0x2270] = "\xbb\xd2", + [0x2271] = "\x9e\xbc", [0x2272] = "\x9e\xbd", [0x2273] = "\x9e\xbe", + [0x2274] = "\x9e\xbf", [0x2275] = "\xc1\xe9", [0x2276] = "\xd4\xee", + [0x2277] = "\x9e\xc0", [0x2278] = "\xbe\xc4", [0x2279] = "\x9e\xc1", + [0x227a] = "\x9e\xc2", [0x227b] = "\x9e\xc3", [0x227c] = "\xd7\xc6", + [0x227d] = "\x9e\xc4", [0x227e] = "\xd4\xd6", [0x227f] = "\xb2\xd3", + [0x2280] = "\xec\xbe", [0x2281] = "\x9e\xc5", [0x2282] = "\x9e\xc6", + [0x2283] = "\x9e\xc7", [0x2284] = "\x9e\xc8", [0x2285] = "\xea\xc1", + [0x2286] = "\x9e\xc9", [0x2287] = "\x9e\xca", [0x2288] = "\x9e\xcb", + [0x2289] = "\xc2\xaf", [0x228a] = "\xb4\xb6", [0x228b] = "\x9e\xcc", + [0x228c] = "\x9e\xcd", [0x228d] = "\x9e\xce", [0x228e] = "\xd1\xd7", + [0x228f] = "\x9e\xcf", [0x2290] = "\x9e\xd0", [0x2291] = "\x9e\xd1", + [0x2292] = "\xb3\xb4", [0x2293] = "\x9e\xd2", [0x2294] = "\xc8\xb2", + [0x2295] = "\xbf\xbb", [0x2296] = "\xec\xc0", [0x2297] = "\x9e\xd3", + [0x2298] = "\x9e\xd4", [0x2299] = "\xd6\xcb", [0x229a] = "\x9e\xd5", + [0x229b] = "\x9e\xd6", [0x229c] = "\xec\xbf", [0x229d] = "\xec\xc1", + [0x229e] = "\x9e\xd7", [0x229f] = "\x9e\xd8", [0x22a0] = "\x9e\xd9", + [0x22a1] = "\x9e\xda", [0x22a2] = "\x9e\xdb", [0x22a3] = "\x9e\xdc", + [0x22a4] = "\x9e\xdd", [0x22a5] = "\x9e\xde", [0x22a6] = "\x9e\xdf", + [0x22a7] = "\x9e\xe0", [0x22a8] = "\x9e\xe1", [0x22a9] = "\x9e\xe2", + [0x22aa] = "\x9e\xe3", [0x22ab] = "\xec\xc5", [0x22ac] = "\xbe\xe6", + [0x22ad] = "\xcc\xbf", [0x22ae] = "\xc5\xda", [0x22af] = "\xbe\xbc", + [0x22b0] = "\x9e\xe4", [0x22b1] = "\xec\xc6", [0x22b2] = "\x9e\xe5", + [0x22b3] = "\xb1\xfe", [0x22b4] = "\x9e\xe6", [0x22b5] = "\x9e\xe7", + [0x22b6] = "\x9e\xe8", [0x22b7] = "\xec\xc4", [0x22b8] = "\xd5\xa8", + [0x22b9] = "\xb5\xe3", [0x22ba] = "\x9e\xe9", [0x22bb] = "\xec\xc2", + [0x22bc] = "\xc1\xb6", [0x22bd] = "\xb3\xe3", [0x22be] = "\x9e\xea", + [0x22bf] = "\x9e\xeb", [0x22c0] = "\xec\xc3", [0x22c1] = "\xcb\xb8", + [0x22c2] = "\xc0\xc3", [0x22c3] = "\xcc\xfe", [0x22c4] = "\x9e\xec", + [0x22c5] = "\x9e\xed", [0x22c6] = "\x9e\xee", [0x22c7] = "\x9e\xef", + [0x22c8] = "\xc1\xd2", [0x22c9] = "\x9e\xf0", [0x22ca] = "\xec\xc8", + [0x22cb] = "\x9e\xf1", [0x22cc] = "\x9e\xf2", [0x22cd] = "\x9e\xf3", + [0x22ce] = "\x9e\xf4", [0x22cf] = "\x9e\xf5", [0x22d0] = "\x9e\xf6", + [0x22d1] = "\x9e\xf7", [0x22d2] = "\x9e\xf8", [0x22d3] = "\x9e\xf9", + [0x22d4] = "\x9e\xfa", [0x22d5] = "\x9e\xfb", [0x22d6] = "\x9e\xfc", + [0x22d7] = "\x9e\xfd", [0x22d8] = "\xba\xe6", [0x22d9] = "\xc0\xd3", + [0x22da] = "\x9e\xfe", [0x22db] = "\xd6\xf2", [0x22dc] = "\x9f\x40", + [0x22dd] = "\x9f\x41", [0x22de] = "\x9f\x42", [0x22df] = "\xd1\xcc", + [0x22e0] = "\x9f\x43", [0x22e1] = "\x9f\x44", [0x22e2] = "\x9f\x45", + [0x22e3] = "\x9f\x46", [0x22e4] = "\xbf\xbe", [0x22e5] = "\x9f\x47", + [0x22e6] = "\xb7\xb3", [0x22e7] = "\xc9\xd5", [0x22e8] = "\xec\xc7", + [0x22e9] = "\xbb\xe2", [0x22ea] = "\x9f\x48", [0x22eb] = "\xcc\xcc", + [0x22ec] = "\xbd\xfd", [0x22ed] = "\xc8\xc8", [0x22ee] = "\x9f\x49", + [0x22ef] = "\xcf\xa9", [0x22f0] = "\x9f\x4a", [0x22f1] = "\x9f\x4b", + [0x22f2] = "\x9f\x4c", [0x22f3] = "\x9f\x4d", [0x22f4] = "\x9f\x4e", + [0x22f5] = "\x9f\x4f", [0x22f6] = "\x9f\x50", [0x22f7] = "\xcd\xe9", + [0x22f8] = "\x9f\x51", [0x22f9] = "\xc5\xeb", [0x22fa] = "\x9f\x52", + [0x22fb] = "\x9f\x53", [0x22fc] = "\x9f\x54", [0x22fd] = "\xb7\xe9", + [0x22fe] = "\x9f\x55", [0x22ff] = "\x9f\x56", [0x2300] = "\x9f\x57", + [0x2301] = "\x9f\x58", [0x2302] = "\x9f\x59", [0x2303] = "\x9f\x5a", + [0x2304] = "\x9f\x5b", [0x2305] = "\x9f\x5c", [0x2306] = "\x9f\x5d", + [0x2307] = "\x9f\x5e", [0x2308] = "\x9f\x5f", [0x2309] = "\xd1\xc9", + [0x230a] = "\xba\xb8", [0x230b] = "\x9f\x60", [0x230c] = "\x9f\x61", + [0x230d] = "\x9f\x62", [0x230e] = "\x9f\x63", [0x230f] = "\x9f\x64", + [0x2310] = "\xec\xc9", [0x2311] = "\x9f\x65", [0x2312] = "\x9f\x66", + [0x2313] = "\xec\xca", [0x2314] = "\x9f\x67", [0x2315] = "\xbb\xc0", + [0x2316] = "\xec\xcb", [0x2317] = "\x9f\x68", [0x2318] = "\xec\xe2", + [0x2319] = "\xb1\xba", [0x231a] = "\xb7\xd9", [0x231b] = "\x9f\x69", + [0x231c] = "\x9f\x6a", [0x231d] = "\x9f\x6b", [0x231e] = "\x9f\x6c", + [0x231f] = "\x9f\x6d", [0x2320] = "\x9f\x6e", [0x2321] = "\x9f\x6f", + [0x2322] = "\x9f\x70", [0x2323] = "\x9f\x71", [0x2324] = "\x9f\x72", + [0x2325] = "\x9f\x73", [0x2326] = "\xbd\xb9", [0x2327] = "\x9f\x74", + [0x2328] = "\x9f\x75", [0x2329] = "\x9f\x76", [0x232a] = "\x9f\x77", + [0x232b] = "\x9f\x78", [0x232c] = "\x9f\x79", [0x232d] = "\x9f\x7a", + [0x232e] = "\x9f\x7b", [0x232f] = "\xec\xcc", [0x2330] = "\xd1\xe6", + [0x2331] = "\xec\xcd", [0x2332] = "\x9f\x7c", [0x2333] = "\x9f\x7d", + [0x2334] = "\x9f\x7e", [0x2335] = "\x9f\x80", [0x2336] = "\xc8\xbb", + [0x2337] = "\x9f\x81", [0x2338] = "\x9f\x82", [0x2339] = "\x9f\x83", + [0x233a] = "\x9f\x84", [0x233b] = "\x9f\x85", [0x233c] = "\x9f\x86", + [0x233d] = "\x9f\x87", [0x233e] = "\x9f\x88", [0x233f] = "\x9f\x89", + [0x2340] = "\x9f\x8a", [0x2341] = "\x9f\x8b", [0x2342] = "\x9f\x8c", + [0x2343] = "\x9f\x8d", [0x2344] = "\x9f\x8e", [0x2345] = "\xec\xd1", + [0x2346] = "\x9f\x8f", [0x2347] = "\x9f\x90", [0x2348] = "\x9f\x91", + [0x2349] = "\x9f\x92", [0x234a] = "\xec\xd3", [0x234b] = "\x9f\x93", + [0x234c] = "\xbb\xcd", [0x234d] = "\x9f\x94", [0x234e] = "\xbc\xe5", + [0x234f] = "\x9f\x95", [0x2350] = "\x9f\x96", [0x2351] = "\x9f\x97", + [0x2352] = "\x9f\x98", [0x2353] = "\x9f\x99", [0x2354] = "\x9f\x9a", + [0x2355] = "\x9f\x9b", [0x2356] = "\x9f\x9c", [0x2357] = "\x9f\x9d", + [0x2358] = "\x9f\x9e", [0x2359] = "\x9f\x9f", [0x235a] = "\x9f\xa0", + [0x235b] = "\x9f\xa1", [0x235c] = "\xec\xcf", [0x235d] = "\x9f\xa2", + [0x235e] = "\xc9\xb7", [0x235f] = "\x9f\xa3", [0x2360] = "\x9f\xa4", + [0x2361] = "\x9f\xa5", [0x2362] = "\x9f\xa6", [0x2363] = "\x9f\xa7", + [0x2364] = "\xc3\xba", [0x2365] = "\x9f\xa8", [0x2366] = "\xec\xe3", + [0x2367] = "\xd5\xd5", [0x2368] = "\xec\xd0", [0x2369] = "\x9f\xa9", + [0x236a] = "\x9f\xaa", [0x236b] = "\x9f\xab", [0x236c] = "\x9f\xac", + [0x236d] = "\x9f\xad", [0x236e] = "\xd6\xf3", [0x236f] = "\x9f\xae", + [0x2370] = "\x9f\xaf", [0x2371] = "\x9f\xb0", [0x2372] = "\xec\xd2", + [0x2373] = "\xec\xce", [0x2374] = "\x9f\xb1", [0x2375] = "\x9f\xb2", + [0x2376] = "\x9f\xb3", [0x2377] = "\x9f\xb4", [0x2378] = "\xec\xd4", + [0x2379] = "\x9f\xb5", [0x237a] = "\xec\xd5", [0x237b] = "\x9f\xb6", + [0x237c] = "\x9f\xb7", [0x237d] = "\xc9\xbf", [0x237e] = "\x9f\xb8", + [0x237f] = "\x9f\xb9", [0x2380] = "\x9f\xba", [0x2381] = "\x9f\xbb", + [0x2382] = "\x9f\xbc", [0x2383] = "\x9f\xbd", [0x2384] = "\xcf\xa8", + [0x2385] = "\x9f\xbe", [0x2386] = "\x9f\xbf", [0x2387] = "\x9f\xc0", + [0x2388] = "\x9f\xc1", [0x2389] = "\x9f\xc2", [0x238a] = "\xd0\xdc", + [0x238b] = "\x9f\xc3", [0x238c] = "\x9f\xc4", [0x238d] = "\x9f\xc5", + [0x238e] = "\x9f\xc6", [0x238f] = "\xd1\xac", [0x2390] = "\x9f\xc7", + [0x2391] = "\x9f\xc8", [0x2392] = "\x9f\xc9", [0x2393] = "\x9f\xca", + [0x2394] = "\xc8\xdb", [0x2395] = "\x9f\xcb", [0x2396] = "\x9f\xcc", + [0x2397] = "\x9f\xcd", [0x2398] = "\xec\xd6", [0x2399] = "\xce\xf5", + [0x239a] = "\x9f\xce", [0x239b] = "\x9f\xcf", [0x239c] = "\x9f\xd0", + [0x239d] = "\x9f\xd1", [0x239e] = "\x9f\xd2", [0x239f] = "\xca\xec", + [0x23a0] = "\xec\xda", [0x23a1] = "\x9f\xd3", [0x23a2] = "\x9f\xd4", + [0x23a3] = "\x9f\xd5", [0x23a4] = "\x9f\xd6", [0x23a5] = "\x9f\xd7", + [0x23a6] = "\x9f\xd8", [0x23a7] = "\x9f\xd9", [0x23a8] = "\xec\xd9", + [0x23a9] = "\x9f\xda", [0x23aa] = "\x9f\xdb", [0x23ab] = "\x9f\xdc", + [0x23ac] = "\xb0\xbe", [0x23ad] = "\x9f\xdd", [0x23ae] = "\x9f\xde", + [0x23af] = "\x9f\xdf", [0x23b0] = "\x9f\xe0", [0x23b1] = "\x9f\xe1", + [0x23b2] = "\x9f\xe2", [0x23b3] = "\xec\xd7", [0x23b4] = "\x9f\xe3", + [0x23b5] = "\xec\xd8", [0x23b6] = "\x9f\xe4", [0x23b7] = "\x9f\xe5", + [0x23b8] = "\x9f\xe6", [0x23b9] = "\xec\xe4", [0x23ba] = "\x9f\xe7", + [0x23bb] = "\x9f\xe8", [0x23bc] = "\x9f\xe9", [0x23bd] = "\x9f\xea", + [0x23be] = "\x9f\xeb", [0x23bf] = "\x9f\xec", [0x23c0] = "\x9f\xed", + [0x23c1] = "\x9f\xee", [0x23c2] = "\x9f\xef", [0x23c3] = "\xc8\xbc", + [0x23c4] = "\x9f\xf0", [0x23c5] = "\x9f\xf1", [0x23c6] = "\x9f\xf2", + [0x23c7] = "\x9f\xf3", [0x23c8] = "\x9f\xf4", [0x23c9] = "\x9f\xf5", + [0x23ca] = "\x9f\xf6", [0x23cb] = "\x9f\xf7", [0x23cc] = "\x9f\xf8", + [0x23cd] = "\x9f\xf9", [0x23ce] = "\xc1\xc7", [0x23cf] = "\x9f\xfa", + [0x23d0] = "\x9f\xfb", [0x23d1] = "\x9f\xfc", [0x23d2] = "\x9f\xfd", + [0x23d3] = "\x9f\xfe", [0x23d4] = "\xec\xdc", [0x23d5] = "\xd1\xe0", + [0x23d6] = "\xa0\x40", [0x23d7] = "\xa0\x41", [0x23d8] = "\xa0\x42", + [0x23d9] = "\xa0\x43", [0x23da] = "\xa0\x44", [0x23db] = "\xa0\x45", + [0x23dc] = "\xa0\x46", [0x23dd] = "\xa0\x47", [0x23de] = "\xa0\x48", + [0x23df] = "\xa0\x49", [0x23e0] = "\xec\xdb", [0x23e1] = "\xa0\x4a", + [0x23e2] = "\xa0\x4b", [0x23e3] = "\xa0\x4c", [0x23e4] = "\xa0\x4d", + [0x23e5] = "\xd4\xef", [0x23e6] = "\xa0\x4e", [0x23e7] = "\xec\xdd", + [0x23e8] = "\xa0\x4f", [0x23e9] = "\xa0\x50", [0x23ea] = "\xa0\x51", + [0x23eb] = "\xa0\x52", [0x23ec] = "\xa0\x53", [0x23ed] = "\xa0\x54", + [0x23ee] = "\xdb\xc6", [0x23ef] = "\xa0\x55", [0x23f0] = "\xa0\x56", + [0x23f1] = "\xa0\x57", [0x23f2] = "\xa0\x58", [0x23f3] = "\xa0\x59", + [0x23f4] = "\xa0\x5a", [0x23f5] = "\xa0\x5b", [0x23f6] = "\xa0\x5c", + [0x23f7] = "\xa0\x5d", [0x23f8] = "\xa0\x5e", [0x23f9] = "\xec\xde", + [0x23fa] = "\xa0\x5f", [0x23fb] = "\xa0\x60", [0x23fc] = "\xa0\x61", + [0x23fd] = "\xa0\x62", [0x23fe] = "\xa0\x63", [0x23ff] = "\xa0\x64", + [0x2400] = "\xa0\x65", [0x2401] = "\xa0\x66", [0x2402] = "\xa0\x67", + [0x2403] = "\xa0\x68", [0x2404] = "\xa0\x69", [0x2405] = "\xa0\x6a", + [0x2406] = "\xb1\xac", [0x2407] = "\xa0\x6b", [0x2408] = "\xa0\x6c", + [0x2409] = "\xa0\x6d", [0x240a] = "\xa0\x6e", [0x240b] = "\xa0\x6f", + [0x240c] = "\xa0\x70", [0x240d] = "\xa0\x71", [0x240e] = "\xa0\x72", + [0x240f] = "\xa0\x73", [0x2410] = "\xa0\x74", [0x2411] = "\xa0\x75", + [0x2412] = "\xa0\x76", [0x2413] = "\xa0\x77", [0x2414] = "\xa0\x78", + [0x2415] = "\xa0\x79", [0x2416] = "\xa0\x7a", [0x2417] = "\xa0\x7b", + [0x2418] = "\xa0\x7c", [0x2419] = "\xa0\x7d", [0x241a] = "\xa0\x7e", + [0x241b] = "\xa0\x80", [0x241c] = "\xa0\x81", [0x241d] = "\xec\xdf", + [0x241e] = "\xa0\x82", [0x241f] = "\xa0\x83", [0x2420] = "\xa0\x84", + [0x2421] = "\xa0\x85", [0x2422] = "\xa0\x86", [0x2423] = "\xa0\x87", + [0x2424] = "\xa0\x88", [0x2425] = "\xa0\x89", [0x2426] = "\xa0\x8a", + [0x2427] = "\xa0\x8b", [0x2428] = "\xec\xe0", [0x2429] = "\xa0\x8c", + [0x242a] = "\xd7\xa6", [0x242b] = "\xa0\x8d", [0x242c] = "\xc5\xc0", + [0x242d] = "\xa0\x8e", [0x242e] = "\xa0\x8f", [0x242f] = "\xa0\x90", + [0x2430] = "\xeb\xbc", [0x2431] = "\xb0\xae", [0x2432] = "\xa0\x91", + [0x2433] = "\xa0\x92", [0x2434] = "\xa0\x93", [0x2435] = "\xbe\xf4", + [0x2436] = "\xb8\xb8", [0x2437] = "\xd2\xaf", [0x2438] = "\xb0\xd6", + [0x2439] = "\xb5\xf9", [0x243a] = "\xa0\x94", [0x243b] = "\xd8\xb3", + [0x243c] = "\xa0\x95", [0x243d] = "\xcb\xac", [0x243e] = "\xa0\x96", + [0x243f] = "\xe3\xdd", [0x2440] = "\xa0\x97", [0x2441] = "\xa0\x98", + [0x2442] = "\xa0\x99", [0x2443] = "\xa0\x9a", [0x2444] = "\xa0\x9b", + [0x2445] = "\xa0\x9c", [0x2446] = "\xa0\x9d", [0x2447] = "\xc6\xac", + [0x2448] = "\xb0\xe6", [0x2449] = "\xa0\x9e", [0x244a] = "\xa0\x9f", + [0x244b] = "\xa0\xa0", [0x244c] = "\xc5\xc6", [0x244d] = "\xeb\xb9", + [0x244e] = "\xa0\xa1", [0x244f] = "\xa0\xa2", [0x2450] = "\xa0\xa3", + [0x2451] = "\xa0\xa4", [0x2452] = "\xeb\xba", [0x2453] = "\xa0\xa5", + [0x2454] = "\xa0\xa6", [0x2455] = "\xa0\xa7", [0x2456] = "\xeb\xbb", + [0x2457] = "\xa0\xa8", [0x2458] = "\xa0\xa9", [0x2459] = "\xd1\xc0", + [0x245a] = "\xa0\xaa", [0x245b] = "\xc5\xa3", [0x245c] = "\xa0\xab", + [0x245d] = "\xea\xf2", [0x245e] = "\xa0\xac", [0x245f] = "\xc4\xb2", + [0x2460] = "\xa0\xad", [0x2461] = "\xc4\xb5", [0x2462] = "\xc0\xce", + [0x2463] = "\xa0\xae", [0x2464] = "\xa0\xaf", [0x2465] = "\xa0\xb0", + [0x2466] = "\xea\xf3", [0x2467] = "\xc4\xc1", [0x2468] = "\xa0\xb1", + [0x2469] = "\xce\xef", [0x246a] = "\xa0\xb2", [0x246b] = "\xa0\xb3", + [0x246c] = "\xa0\xb4", [0x246d] = "\xa0\xb5", [0x246e] = "\xea\xf0", + [0x246f] = "\xea\xf4", [0x2470] = "\xa0\xb6", [0x2471] = "\xa0\xb7", + [0x2472] = "\xc9\xfc", [0x2473] = "\xa0\xb8", [0x2474] = "\xa0\xb9", + [0x2475] = "\xc7\xa3", [0x2476] = "\xa0\xba", [0x2477] = "\xa0\xbb", + [0x2478] = "\xa0\xbc", [0x2479] = "\xcc\xd8", [0x247a] = "\xce\xfe", + [0x247b] = "\xa0\xbd", [0x247c] = "\xa0\xbe", [0x247d] = "\xa0\xbf", + [0x247e] = "\xea\xf5", [0x247f] = "\xea\xf6", [0x2480] = "\xcf\xac", + [0x2481] = "\xc0\xe7", [0x2482] = "\xa0\xc0", [0x2483] = "\xa0\xc1", + [0x2484] = "\xea\xf7", [0x2485] = "\xa0\xc2", [0x2486] = "\xa0\xc3", + [0x2487] = "\xa0\xc4", [0x2488] = "\xa0\xc5", [0x2489] = "\xa0\xc6", + [0x248a] = "\xb6\xbf", [0x248b] = "\xea\xf8", [0x248c] = "\xa0\xc7", + [0x248d] = "\xea\xf9", [0x248e] = "\xa0\xc8", [0x248f] = "\xea\xfa", + [0x2490] = "\xa0\xc9", [0x2491] = "\xa0\xca", [0x2492] = "\xea\xfb", + [0x2493] = "\xa0\xcb", [0x2494] = "\xa0\xcc", [0x2495] = "\xa0\xcd", + [0x2496] = "\xa0\xce", [0x2497] = "\xa0\xcf", [0x2498] = "\xa0\xd0", + [0x2499] = "\xa0\xd1", [0x249a] = "\xa0\xd2", [0x249b] = "\xa0\xd3", + [0x249c] = "\xa0\xd4", [0x249d] = "\xa0\xd5", [0x249e] = "\xa0\xd6", + [0x249f] = "\xea\xf1", [0x24a0] = "\xa0\xd7", [0x24a1] = "\xa0\xd8", + [0x24a2] = "\xa0\xd9", [0x24a3] = "\xa0\xda", [0x24a4] = "\xa0\xdb", + [0x24a5] = "\xa0\xdc", [0x24a6] = "\xa0\xdd", [0x24a7] = "\xa0\xde", + [0x24a8] = "\xa0\xdf", [0x24a9] = "\xa0\xe0", [0x24aa] = "\xa0\xe1", + [0x24ab] = "\xa0\xe2", [0x24ac] = "\xc8\xae", [0x24ad] = "\xe1\xeb", + [0x24ae] = "\xa0\xe3", [0x24af] = "\xb7\xb8", [0x24b0] = "\xe1\xec", + [0x24b1] = "\xa0\xe4", [0x24b2] = "\xa0\xe5", [0x24b3] = "\xa0\xe6", + [0x24b4] = "\xe1\xed", [0x24b5] = "\xa0\xe7", [0x24b6] = "\xd7\xb4", + [0x24b7] = "\xe1\xee", [0x24b8] = "\xe1\xef", [0x24b9] = "\xd3\xcc", + [0x24ba] = "\xa0\xe8", [0x24bb] = "\xa0\xe9", [0x24bc] = "\xa0\xea", + [0x24bd] = "\xa0\xeb", [0x24be] = "\xa0\xec", [0x24bf] = "\xa0\xed", + [0x24c0] = "\xa0\xee", [0x24c1] = "\xe1\xf1", [0x24c2] = "\xbf\xf1", + [0x24c3] = "\xe1\xf0", [0x24c4] = "\xb5\xd2", [0x24c5] = "\xa0\xef", + [0x24c6] = "\xa0\xf0", [0x24c7] = "\xa0\xf1", [0x24c8] = "\xb1\xb7", + [0x24c9] = "\xa0\xf2", [0x24ca] = "\xa0\xf3", [0x24cb] = "\xa0\xf4", + [0x24cc] = "\xa0\xf5", [0x24cd] = "\xe1\xf3", [0x24ce] = "\xe1\xf2", + [0x24cf] = "\xa0\xf6", [0x24d0] = "\xba\xfc", [0x24d1] = "\xa0\xf7", + [0x24d2] = "\xe1\xf4", [0x24d3] = "\xa0\xf8", [0x24d4] = "\xa0\xf9", + [0x24d5] = "\xa0\xfa", [0x24d6] = "\xa0\xfb", [0x24d7] = "\xb9\xb7", + [0x24d8] = "\xa0\xfc", [0x24d9] = "\xbe\xd1", [0x24da] = "\xa0\xfd", + [0x24db] = "\xa0\xfe", [0x24dc] = "\xaa\x40", [0x24dd] = "\xaa\x41", + [0x24de] = "\xc4\xfc", [0x24df] = "\xaa\x42", [0x24e0] = "\xba\xdd", + [0x24e1] = "\xbd\xc6", [0x24e2] = "\xaa\x43", [0x24e3] = "\xaa\x44", + [0x24e4] = "\xaa\x45", [0x24e5] = "\xaa\x46", [0x24e6] = "\xaa\x47", + [0x24e7] = "\xaa\x48", [0x24e8] = "\xe1\xf5", [0x24e9] = "\xe1\xf7", + [0x24ea] = "\xaa\x49", [0x24eb] = "\xaa\x4a", [0x24ec] = "\xb6\xc0", + [0x24ed] = "\xcf\xc1", [0x24ee] = "\xca\xa8", [0x24ef] = "\xe1\xf6", + [0x24f0] = "\xd5\xf8", [0x24f1] = "\xd3\xfc", [0x24f2] = "\xe1\xf8", + [0x24f3] = "\xe1\xfc", [0x24f4] = "\xe1\xf9", [0x24f5] = "\xaa\x4b", + [0x24f6] = "\xaa\x4c", [0x24f7] = "\xe1\xfa", [0x24f8] = "\xc0\xea", + [0x24f9] = "\xaa\x4d", [0x24fa] = "\xe1\xfe", [0x24fb] = "\xe2\xa1", + [0x24fc] = "\xc0\xc7", [0x24fd] = "\xaa\x4e", [0x24fe] = "\xaa\x4f", + [0x24ff] = "\xaa\x50", [0x2500] = "\xaa\x51", [0x2501] = "\xe1\xfb", + [0x2502] = "\xaa\x52", [0x2503] = "\xe1\xfd", [0x2504] = "\xaa\x53", + [0x2505] = "\xaa\x54", [0x2506] = "\xaa\x55", [0x2507] = "\xaa\x56", + [0x2508] = "\xaa\x57", [0x2509] = "\xaa\x58", [0x250a] = "\xe2\xa5", + [0x250b] = "\xaa\x59", [0x250c] = "\xaa\x5a", [0x250d] = "\xaa\x5b", + [0x250e] = "\xc1\xd4", [0x250f] = "\xaa\x5c", [0x2510] = "\xaa\x5d", + [0x2511] = "\xaa\x5e", [0x2512] = "\xaa\x5f", [0x2513] = "\xe2\xa3", + [0x2514] = "\xaa\x60", [0x2515] = "\xe2\xa8", [0x2516] = "\xb2\xfe", + [0x2517] = "\xe2\xa2", [0x2518] = "\xaa\x61", [0x2519] = "\xaa\x62", + [0x251a] = "\xaa\x63", [0x251b] = "\xc3\xcd", [0x251c] = "\xb2\xc2", + [0x251d] = "\xe2\xa7", [0x251e] = "\xe2\xa6", [0x251f] = "\xaa\x64", + [0x2520] = "\xaa\x65", [0x2521] = "\xe2\xa4", [0x2522] = "\xe2\xa9", + [0x2523] = "\xaa\x66", [0x2524] = "\xaa\x67", [0x2525] = "\xe2\xab", + [0x2526] = "\xaa\x68", [0x2527] = "\xaa\x69", [0x2528] = "\xaa\x6a", + [0x2529] = "\xd0\xc9", [0x252a] = "\xd6\xed", [0x252b] = "\xc3\xa8", + [0x252c] = "\xe2\xac", [0x252d] = "\xaa\x6b", [0x252e] = "\xcf\xd7", + [0x252f] = "\xaa\x6c", [0x2530] = "\xaa\x6d", [0x2531] = "\xe2\xae", + [0x2532] = "\xaa\x6e", [0x2533] = "\xaa\x6f", [0x2534] = "\xba\xef", + [0x2535] = "\xaa\x70", [0x2536] = "\xaa\x71", [0x2537] = "\xe9\xe0", + [0x2538] = "\xe2\xad", [0x2539] = "\xe2\xaa", [0x253a] = "\xaa\x72", + [0x253b] = "\xaa\x73", [0x253c] = "\xaa\x74", [0x253d] = "\xaa\x75", + [0x253e] = "\xbb\xab", [0x253f] = "\xd4\xb3", [0x2540] = "\xaa\x76", + [0x2541] = "\xaa\x77", [0x2542] = "\xaa\x78", [0x2543] = "\xaa\x79", + [0x2544] = "\xaa\x7a", [0x2545] = "\xaa\x7b", [0x2546] = "\xaa\x7c", + [0x2547] = "\xaa\x7d", [0x2548] = "\xaa\x7e", [0x2549] = "\xaa\x80", + [0x254a] = "\xaa\x81", [0x254b] = "\xaa\x82", [0x254c] = "\xaa\x83", + [0x254d] = "\xe2\xb0", [0x254e] = "\xaa\x84", [0x254f] = "\xaa\x85", + [0x2550] = "\xe2\xaf", [0x2551] = "\xaa\x86", [0x2552] = "\xe9\xe1", + [0x2553] = "\xaa\x87", [0x2554] = "\xaa\x88", [0x2555] = "\xaa\x89", + [0x2556] = "\xaa\x8a", [0x2557] = "\xe2\xb1", [0x2558] = "\xaa\x8b", + [0x2559] = "\xaa\x8c", [0x255a] = "\xaa\x8d", [0x255b] = "\xaa\x8e", + [0x255c] = "\xaa\x8f", [0x255d] = "\xaa\x90", [0x255e] = "\xaa\x91", + [0x255f] = "\xaa\x92", [0x2560] = "\xe2\xb2", [0x2561] = "\xaa\x93", + [0x2562] = "\xaa\x94", [0x2563] = "\xaa\x95", [0x2564] = "\xaa\x96", + [0x2565] = "\xaa\x97", [0x2566] = "\xaa\x98", [0x2567] = "\xaa\x99", + [0x2568] = "\xaa\x9a", [0x2569] = "\xaa\x9b", [0x256a] = "\xaa\x9c", + [0x256b] = "\xaa\x9d", [0x256c] = "\xe2\xb3", [0x256d] = "\xcc\xa1", + [0x256e] = "\xaa\x9e", [0x256f] = "\xe2\xb4", [0x2570] = "\xaa\x9f", + [0x2571] = "\xaa\xa0", [0x2572] = "\xab\x40", [0x2573] = "\xab\x41", + [0x2574] = "\xab\x42", [0x2575] = "\xab\x43", [0x2576] = "\xab\x44", + [0x2577] = "\xab\x45", [0x2578] = "\xab\x46", [0x2579] = "\xab\x47", + [0x257a] = "\xab\x48", [0x257b] = "\xab\x49", [0x257c] = "\xab\x4a", + [0x257d] = "\xab\x4b", [0x257e] = "\xe2\xb5", [0x257f] = "\xab\x4c", + [0x2580] = "\xab\x4d", [0x2581] = "\xab\x4e", [0x2582] = "\xab\x4f", + [0x2583] = "\xab\x50", [0x2584] = "\xd0\xfe", [0x2585] = "\xab\x51", + [0x2586] = "\xab\x52", [0x2587] = "\xc2\xca", [0x2588] = "\xab\x53", + [0x2589] = "\xd3\xf1", [0x258a] = "\xab\x54", [0x258b] = "\xcd\xf5", + [0x258c] = "\xab\x55", [0x258d] = "\xab\x56", [0x258e] = "\xe7\xe0", + [0x258f] = "\xab\x57", [0x2590] = "\xab\x58", [0x2591] = "\xe7\xe1", + [0x2592] = "\xab\x59", [0x2593] = "\xab\x5a", [0x2594] = "\xab\x5b", + [0x2595] = "\xab\x5c", [0x2596] = "\xbe\xc1", [0x2597] = "\xab\x5d", + [0x2598] = "\xab\x5e", [0x2599] = "\xab\x5f", [0x259a] = "\xab\x60", + [0x259b] = "\xc2\xea", [0x259c] = "\xab\x61", [0x259d] = "\xab\x62", + [0x259e] = "\xab\x63", [0x259f] = "\xe7\xe4", [0x25a0] = "\xab\x64", + [0x25a1] = "\xab\x65", [0x25a2] = "\xe7\xe3", [0x25a3] = "\xab\x66", + [0x25a4] = "\xab\x67", [0x25a5] = "\xab\x68", [0x25a6] = "\xab\x69", + [0x25a7] = "\xab\x6a", [0x25a8] = "\xab\x6b", [0x25a9] = "\xcd\xe6", + [0x25aa] = "\xab\x6c", [0x25ab] = "\xc3\xb5", [0x25ac] = "\xab\x6d", + [0x25ad] = "\xab\x6e", [0x25ae] = "\xe7\xe2", [0x25af] = "\xbb\xb7", + [0x25b0] = "\xcf\xd6", [0x25b1] = "\xab\x6f", [0x25b2] = "\xc1\xe1", + [0x25b3] = "\xe7\xe9", [0x25b4] = "\xab\x70", [0x25b5] = "\xab\x71", + [0x25b6] = "\xab\x72", [0x25b7] = "\xe7\xe8", [0x25b8] = "\xab\x73", + [0x25b9] = "\xab\x74", [0x25ba] = "\xe7\xf4", [0x25bb] = "\xb2\xa3", + [0x25bc] = "\xab\x75", [0x25bd] = "\xab\x76", [0x25be] = "\xab\x77", + [0x25bf] = "\xab\x78", [0x25c0] = "\xe7\xea", [0x25c1] = "\xab\x79", + [0x25c2] = "\xe7\xe6", [0x25c3] = "\xab\x7a", [0x25c4] = "\xab\x7b", + [0x25c5] = "\xab\x7c", [0x25c6] = "\xab\x7d", [0x25c7] = "\xab\x7e", + [0x25c8] = "\xe7\xec", [0x25c9] = "\xe7\xeb", [0x25ca] = "\xc9\xba", + [0x25cb] = "\xab\x80", [0x25cc] = "\xab\x81", [0x25cd] = "\xd5\xe4", + [0x25ce] = "\xab\x82", [0x25cf] = "\xe7\xe5", [0x25d0] = "\xb7\xa9", + [0x25d1] = "\xe7\xe7", [0x25d2] = "\xab\x83", [0x25d3] = "\xab\x84", + [0x25d4] = "\xab\x85", [0x25d5] = "\xab\x86", [0x25d6] = "\xab\x87", + [0x25d7] = "\xab\x88", [0x25d8] = "\xab\x89", [0x25d9] = "\xe7\xee", + [0x25da] = "\xab\x8a", [0x25db] = "\xab\x8b", [0x25dc] = "\xab\x8c", + [0x25dd] = "\xab\x8d", [0x25de] = "\xe7\xf3", [0x25df] = "\xab\x8e", + [0x25e0] = "\xd6\xe9", [0x25e1] = "\xab\x8f", [0x25e2] = "\xab\x90", + [0x25e3] = "\xab\x91", [0x25e4] = "\xab\x92", [0x25e5] = "\xe7\xed", + [0x25e6] = "\xab\x93", [0x25e7] = "\xe7\xf2", [0x25e8] = "\xab\x94", + [0x25e9] = "\xe7\xf1", [0x25ea] = "\xab\x95", [0x25eb] = "\xab\x96", + [0x25ec] = "\xab\x97", [0x25ed] = "\xb0\xe0", [0x25ee] = "\xab\x98", + [0x25ef] = "\xab\x99", [0x25f0] = "\xab\x9a", [0x25f1] = "\xab\x9b", + [0x25f2] = "\xe7\xf5", [0x25f3] = "\xab\x9c", [0x25f4] = "\xab\x9d", + [0x25f5] = "\xab\x9e", [0x25f6] = "\xab\x9f", [0x25f7] = "\xab\xa0", + [0x25f8] = "\xac\x40", [0x25f9] = "\xac\x41", [0x25fa] = "\xac\x42", + [0x25fb] = "\xac\x43", [0x25fc] = "\xac\x44", [0x25fd] = "\xac\x45", + [0x25fe] = "\xac\x46", [0x25ff] = "\xac\x47", [0x2600] = "\xac\x48", + [0x2601] = "\xac\x49", [0x2602] = "\xac\x4a", [0x2603] = "\xc7\xf2", + [0x2604] = "\xac\x4b", [0x2605] = "\xc0\xc5", [0x2606] = "\xc0\xed", + [0x2607] = "\xac\x4c", [0x2608] = "\xac\x4d", [0x2609] = "\xc1\xf0", + [0x260a] = "\xe7\xf0", [0x260b] = "\xac\x4e", [0x260c] = "\xac\x4f", + [0x260d] = "\xac\x50", [0x260e] = "\xac\x51", [0x260f] = "\xe7\xf6", + [0x2610] = "\xcb\xf6", [0x2611] = "\xac\x52", [0x2612] = "\xac\x53", + [0x2613] = "\xac\x54", [0x2614] = "\xac\x55", [0x2615] = "\xac\x56", + [0x2616] = "\xac\x57", [0x2617] = "\xac\x58", [0x2618] = "\xac\x59", + [0x2619] = "\xac\x5a", [0x261a] = "\xe8\xa2", [0x261b] = "\xe8\xa1", + [0x261c] = "\xac\x5b", [0x261d] = "\xac\x5c", [0x261e] = "\xac\x5d", + [0x261f] = "\xac\x5e", [0x2620] = "\xac\x5f", [0x2621] = "\xac\x60", + [0x2622] = "\xd7\xc1", [0x2623] = "\xac\x61", [0x2624] = "\xac\x62", + [0x2625] = "\xe7\xfa", [0x2626] = "\xe7\xf9", [0x2627] = "\xac\x63", + [0x2628] = "\xe7\xfb", [0x2629] = "\xac\x64", [0x262a] = "\xe7\xf7", + [0x262b] = "\xac\x65", [0x262c] = "\xe7\xfe", [0x262d] = "\xac\x66", + [0x262e] = "\xe7\xfd", [0x262f] = "\xac\x67", [0x2630] = "\xe7\xfc", + [0x2631] = "\xac\x68", [0x2632] = "\xac\x69", [0x2633] = "\xc1\xd5", + [0x2634] = "\xc7\xd9", [0x2635] = "\xc5\xfd", [0x2636] = "\xc5\xc3", + [0x2637] = "\xac\x6a", [0x2638] = "\xac\x6b", [0x2639] = "\xac\x6c", + [0x263a] = "\xac\x6d", [0x263b] = "\xac\x6e", [0x263c] = "\xc7\xed", + [0x263d] = "\xac\x6f", [0x263e] = "\xac\x70", [0x263f] = "\xac\x71", + [0x2640] = "\xac\x72", [0x2641] = "\xe8\xa3", [0x2642] = "\xac\x73", + [0x2643] = "\xac\x74", [0x2644] = "\xac\x75", [0x2645] = "\xac\x76", + [0x2646] = "\xac\x77", [0x2647] = "\xac\x78", [0x2648] = "\xac\x79", + [0x2649] = "\xac\x7a", [0x264a] = "\xac\x7b", [0x264b] = "\xac\x7c", + [0x264c] = "\xac\x7d", [0x264d] = "\xac\x7e", [0x264e] = "\xac\x80", + [0x264f] = "\xac\x81", [0x2650] = "\xac\x82", [0x2651] = "\xac\x83", + [0x2652] = "\xac\x84", [0x2653] = "\xac\x85", [0x2654] = "\xac\x86", + [0x2655] = "\xe8\xa6", [0x2656] = "\xac\x87", [0x2657] = "\xe8\xa5", + [0x2658] = "\xac\x88", [0x2659] = "\xe8\xa7", [0x265a] = "\xba\xf7", + [0x265b] = "\xe7\xf8", [0x265c] = "\xe8\xa4", [0x265d] = "\xac\x89", + [0x265e] = "\xc8\xf0", [0x265f] = "\xc9\xaa", [0x2660] = "\xac\x8a", + [0x2661] = "\xac\x8b", [0x2662] = "\xac\x8c", [0x2663] = "\xac\x8d", + [0x2664] = "\xac\x8e", [0x2665] = "\xac\x8f", [0x2666] = "\xac\x90", + [0x2667] = "\xac\x91", [0x2668] = "\xac\x92", [0x2669] = "\xac\x93", + [0x266a] = "\xac\x94", [0x266b] = "\xac\x95", [0x266c] = "\xac\x96", + [0x266d] = "\xe8\xa9", [0x266e] = "\xac\x97", [0x266f] = "\xac\x98", + [0x2670] = "\xb9\xe5", [0x2671] = "\xac\x99", [0x2672] = "\xac\x9a", + [0x2673] = "\xac\x9b", [0x2674] = "\xac\x9c", [0x2675] = "\xac\x9d", + [0x2676] = "\xd1\xfe", [0x2677] = "\xe8\xa8", [0x2678] = "\xac\x9e", + [0x2679] = "\xac\x9f", [0x267a] = "\xac\xa0", [0x267b] = "\xad\x40", + [0x267c] = "\xad\x41", [0x267d] = "\xad\x42", [0x267e] = "\xe8\xaa", + [0x267f] = "\xad\x43", [0x2680] = "\xe8\xad", [0x2681] = "\xe8\xae", + [0x2682] = "\xad\x44", [0x2683] = "\xc1\xa7", [0x2684] = "\xad\x45", + [0x2685] = "\xad\x46", [0x2686] = "\xad\x47", [0x2687] = "\xe8\xaf", + [0x2688] = "\xad\x48", [0x2689] = "\xad\x49", [0x268a] = "\xad\x4a", + [0x268b] = "\xe8\xb0", [0x268c] = "\xad\x4b", [0x268d] = "\xad\x4c", + [0x268e] = "\xe8\xac", [0x268f] = "\xad\x4d", [0x2690] = "\xe8\xb4", + [0x2691] = "\xad\x4e", [0x2692] = "\xad\x4f", [0x2693] = "\xad\x50", + [0x2694] = "\xad\x51", [0x2695] = "\xad\x52", [0x2696] = "\xad\x53", + [0x2697] = "\xad\x54", [0x2698] = "\xad\x55", [0x2699] = "\xad\x56", + [0x269a] = "\xad\x57", [0x269b] = "\xad\x58", [0x269c] = "\xe8\xab", + [0x269d] = "\xad\x59", [0x269e] = "\xe8\xb1", [0x269f] = "\xad\x5a", + [0x26a0] = "\xad\x5b", [0x26a1] = "\xad\x5c", [0x26a2] = "\xad\x5d", + [0x26a3] = "\xad\x5e", [0x26a4] = "\xad\x5f", [0x26a5] = "\xad\x60", + [0x26a6] = "\xad\x61", [0x26a7] = "\xe8\xb5", [0x26a8] = "\xe8\xb2", + [0x26a9] = "\xe8\xb3", [0x26aa] = "\xad\x62", [0x26ab] = "\xad\x63", + [0x26ac] = "\xad\x64", [0x26ad] = "\xad\x65", [0x26ae] = "\xad\x66", + [0x26af] = "\xad\x67", [0x26b0] = "\xad\x68", [0x26b1] = "\xad\x69", + [0x26b2] = "\xad\x6a", [0x26b3] = "\xad\x6b", [0x26b4] = "\xad\x6c", + [0x26b5] = "\xad\x6d", [0x26b6] = "\xad\x6e", [0x26b7] = "\xad\x6f", + [0x26b8] = "\xad\x70", [0x26b9] = "\xad\x71", [0x26ba] = "\xe8\xb7", + [0x26bb] = "\xad\x72", [0x26bc] = "\xad\x73", [0x26bd] = "\xad\x74", + [0x26be] = "\xad\x75", [0x26bf] = "\xad\x76", [0x26c0] = "\xad\x77", + [0x26c1] = "\xad\x78", [0x26c2] = "\xad\x79", [0x26c3] = "\xad\x7a", + [0x26c4] = "\xad\x7b", [0x26c5] = "\xad\x7c", [0x26c6] = "\xad\x7d", + [0x26c7] = "\xad\x7e", [0x26c8] = "\xad\x80", [0x26c9] = "\xad\x81", + [0x26ca] = "\xad\x82", [0x26cb] = "\xad\x83", [0x26cc] = "\xad\x84", + [0x26cd] = "\xad\x85", [0x26ce] = "\xad\x86", [0x26cf] = "\xad\x87", + [0x26d0] = "\xad\x88", [0x26d1] = "\xad\x89", [0x26d2] = "\xe8\xb6", + [0x26d3] = "\xad\x8a", [0x26d4] = "\xad\x8b", [0x26d5] = "\xad\x8c", + [0x26d6] = "\xad\x8d", [0x26d7] = "\xad\x8e", [0x26d8] = "\xad\x8f", + [0x26d9] = "\xad\x90", [0x26da] = "\xad\x91", [0x26db] = "\xad\x92", + [0x26dc] = "\xb9\xcf", [0x26dd] = "\xad\x93", [0x26de] = "\xf0\xac", + [0x26df] = "\xad\x94", [0x26e0] = "\xf0\xad", [0x26e1] = "\xad\x95", + [0x26e2] = "\xc6\xb0", [0x26e3] = "\xb0\xea", [0x26e4] = "\xc8\xbf", + [0x26e5] = "\xad\x96", [0x26e6] = "\xcd\xdf", [0x26e7] = "\xad\x97", + [0x26e8] = "\xad\x98", [0x26e9] = "\xad\x99", [0x26ea] = "\xad\x9a", + [0x26eb] = "\xad\x9b", [0x26ec] = "\xad\x9c", [0x26ed] = "\xad\x9d", + [0x26ee] = "\xce\xcd", [0x26ef] = "\xea\xb1", [0x26f0] = "\xad\x9e", + [0x26f1] = "\xad\x9f", [0x26f2] = "\xad\xa0", [0x26f3] = "\xae\x40", + [0x26f4] = "\xea\xb2", [0x26f5] = "\xae\x41", [0x26f6] = "\xc6\xbf", + [0x26f7] = "\xb4\xc9", [0x26f8] = "\xae\x42", [0x26f9] = "\xae\x43", + [0x26fa] = "\xae\x44", [0x26fb] = "\xae\x45", [0x26fc] = "\xae\x46", + [0x26fd] = "\xae\x47", [0x26fe] = "\xae\x48", [0x26ff] = "\xea\xb3", + [0x2700] = "\xae\x49", [0x2701] = "\xae\x4a", [0x2702] = "\xae\x4b", + [0x2703] = "\xae\x4c", [0x2704] = "\xd5\xe7", [0x2705] = "\xae\x4d", + [0x2706] = "\xae\x4e", [0x2707] = "\xae\x4f", [0x2708] = "\xae\x50", + [0x2709] = "\xae\x51", [0x270a] = "\xae\x52", [0x270b] = "\xae\x53", + [0x270c] = "\xae\x54", [0x270d] = "\xdd\xf9", [0x270e] = "\xae\x55", + [0x270f] = "\xea\xb4", [0x2710] = "\xae\x56", [0x2711] = "\xea\xb5", + [0x2712] = "\xae\x57", [0x2713] = "\xea\xb6", [0x2714] = "\xae\x58", + [0x2715] = "\xae\x59", [0x2716] = "\xae\x5a", [0x2717] = "\xae\x5b", + [0x2718] = "\xb8\xca", [0x2719] = "\xdf\xb0", [0x271a] = "\xc9\xf5", + [0x271b] = "\xae\x5c", [0x271c] = "\xcc\xf0", [0x271d] = "\xae\x5d", + [0x271e] = "\xae\x5e", [0x271f] = "\xc9\xfa", [0x2720] = "\xae\x5f", + [0x2721] = "\xae\x60", [0x2722] = "\xae\x61", [0x2723] = "\xae\x62", + [0x2724] = "\xae\x63", [0x2725] = "\xc9\xfb", [0x2726] = "\xae\x64", + [0x2727] = "\xae\x65", [0x2728] = "\xd3\xc3", [0x2729] = "\xcb\xa6", + [0x272a] = "\xae\x66", [0x272b] = "\xb8\xa6", [0x272c] = "\xf0\xae", + [0x272d] = "\xb1\xc2", [0x272e] = "\xae\x67", [0x272f] = "\xe5\xb8", + [0x2730] = "\xcc\xef", [0x2731] = "\xd3\xc9", [0x2732] = "\xbc\xd7", + [0x2733] = "\xc9\xea", [0x2734] = "\xae\x68", [0x2735] = "\xb5\xe7", + [0x2736] = "\xae\x69", [0x2737] = "\xc4\xd0", [0x2738] = "\xb5\xe9", + [0x2739] = "\xae\x6a", [0x273a] = "\xee\xae", [0x273b] = "\xbb\xad", + [0x273c] = "\xae\x6b", [0x273d] = "\xae\x6c", [0x273e] = "\xe7\xde", + [0x273f] = "\xae\x6d", [0x2740] = "\xee\xaf", [0x2741] = "\xae\x6e", + [0x2742] = "\xae\x6f", [0x2743] = "\xae\x70", [0x2744] = "\xae\x71", + [0x2745] = "\xb3\xa9", [0x2746] = "\xae\x72", [0x2747] = "\xae\x73", + [0x2748] = "\xee\xb2", [0x2749] = "\xae\x74", [0x274a] = "\xae\x75", + [0x274b] = "\xee\xb1", [0x274c] = "\xbd\xe7", [0x274d] = "\xae\x76", + [0x274e] = "\xee\xb0", [0x274f] = "\xce\xb7", [0x2750] = "\xae\x77", + [0x2751] = "\xae\x78", [0x2752] = "\xae\x79", [0x2753] = "\xae\x7a", + [0x2754] = "\xc5\xcf", [0x2755] = "\xae\x7b", [0x2756] = "\xae\x7c", + [0x2757] = "\xae\x7d", [0x2758] = "\xae\x7e", [0x2759] = "\xc1\xf4", + [0x275a] = "\xdb\xce", [0x275b] = "\xee\xb3", [0x275c] = "\xd0\xf3", + [0x275d] = "\xae\x80", [0x275e] = "\xae\x81", [0x275f] = "\xae\x82", + [0x2760] = "\xae\x83", [0x2761] = "\xae\x84", [0x2762] = "\xae\x85", + [0x2763] = "\xae\x86", [0x2764] = "\xae\x87", [0x2765] = "\xc2\xd4", + [0x2766] = "\xc6\xe8", [0x2767] = "\xae\x88", [0x2768] = "\xae\x89", + [0x2769] = "\xae\x8a", [0x276a] = "\xb7\xac", [0x276b] = "\xae\x8b", + [0x276c] = "\xae\x8c", [0x276d] = "\xae\x8d", [0x276e] = "\xae\x8e", + [0x276f] = "\xae\x8f", [0x2770] = "\xae\x90", [0x2771] = "\xae\x91", + [0x2772] = "\xee\xb4", [0x2773] = "\xae\x92", [0x2774] = "\xb3\xeb", + [0x2775] = "\xae\x93", [0x2776] = "\xae\x94", [0x2777] = "\xae\x95", + [0x2778] = "\xbb\xfb", [0x2779] = "\xee\xb5", [0x277a] = "\xae\x96", + [0x277b] = "\xae\x97", [0x277c] = "\xae\x98", [0x277d] = "\xae\x99", + [0x277e] = "\xae\x9a", [0x277f] = "\xe7\xdc", [0x2780] = "\xae\x9b", + [0x2781] = "\xae\x9c", [0x2782] = "\xae\x9d", [0x2783] = "\xee\xb6", + [0x2784] = "\xae\x9e", [0x2785] = "\xae\x9f", [0x2786] = "\xbd\xae", + [0x2787] = "\xae\xa0", [0x2788] = "\xaf\x40", [0x2789] = "\xaf\x41", + [0x278a] = "\xaf\x42", [0x278b] = "\xf1\xe2", [0x278c] = "\xaf\x43", + [0x278d] = "\xaf\x44", [0x278e] = "\xaf\x45", [0x278f] = "\xca\xe8", + [0x2790] = "\xaf\x46", [0x2791] = "\xd2\xc9", [0x2792] = "\xf0\xda", + [0x2793] = "\xaf\x47", [0x2794] = "\xf0\xdb", [0x2795] = "\xaf\x48", + [0x2796] = "\xf0\xdc", [0x2797] = "\xc1\xc6", [0x2798] = "\xaf\x49", + [0x2799] = "\xb8\xed", [0x279a] = "\xbe\xce", [0x279b] = "\xaf\x4a", + [0x279c] = "\xaf\x4b", [0x279d] = "\xf0\xde", [0x279e] = "\xaf\x4c", + [0x279f] = "\xc5\xb1", [0x27a0] = "\xf0\xdd", [0x27a1] = "\xd1\xf1", + [0x27a2] = "\xaf\x4d", [0x27a3] = "\xf0\xe0", [0x27a4] = "\xb0\xcc", + [0x27a5] = "\xbd\xea", [0x27a6] = "\xaf\x4e", [0x27a7] = "\xaf\x4f", + [0x27a8] = "\xaf\x50", [0x27a9] = "\xaf\x51", [0x27aa] = "\xaf\x52", + [0x27ab] = "\xd2\xdf", [0x27ac] = "\xf0\xdf", [0x27ad] = "\xaf\x53", + [0x27ae] = "\xb4\xaf", [0x27af] = "\xb7\xe8", [0x27b0] = "\xf0\xe6", + [0x27b1] = "\xf0\xe5", [0x27b2] = "\xc6\xa3", [0x27b3] = "\xf0\xe1", + [0x27b4] = "\xf0\xe2", [0x27b5] = "\xb4\xc3", [0x27b6] = "\xaf\x54", + [0x27b7] = "\xaf\x55", [0x27b8] = "\xf0\xe3", [0x27b9] = "\xd5\xee", + [0x27ba] = "\xaf\x56", [0x27bb] = "\xaf\x57", [0x27bc] = "\xcc\xdb", + [0x27bd] = "\xbe\xd2", [0x27be] = "\xbc\xb2", [0x27bf] = "\xaf\x58", + [0x27c0] = "\xaf\x59", [0x27c1] = "\xaf\x5a", [0x27c2] = "\xf0\xe8", + [0x27c3] = "\xf0\xe7", [0x27c4] = "\xf0\xe4", [0x27c5] = "\xb2\xa1", + [0x27c6] = "\xaf\x5b", [0x27c7] = "\xd6\xa2", [0x27c8] = "\xd3\xb8", + [0x27c9] = "\xbe\xb7", [0x27ca] = "\xc8\xac", [0x27cb] = "\xaf\x5c", + [0x27cc] = "\xaf\x5d", [0x27cd] = "\xf0\xea", [0x27ce] = "\xaf\x5e", + [0x27cf] = "\xaf\x5f", [0x27d0] = "\xaf\x60", [0x27d1] = "\xaf\x61", + [0x27d2] = "\xd1\xf7", [0x27d3] = "\xaf\x62", [0x27d4] = "\xd6\xcc", + [0x27d5] = "\xba\xdb", [0x27d6] = "\xf0\xe9", [0x27d7] = "\xaf\x63", + [0x27d8] = "\xb6\xbb", [0x27d9] = "\xaf\x64", [0x27da] = "\xaf\x65", + [0x27db] = "\xcd\xb4", [0x27dc] = "\xaf\x66", [0x27dd] = "\xaf\x67", + [0x27de] = "\xc6\xa6", [0x27df] = "\xaf\x68", [0x27e0] = "\xaf\x69", + [0x27e1] = "\xaf\x6a", [0x27e2] = "\xc1\xa1", [0x27e3] = "\xf0\xeb", + [0x27e4] = "\xf0\xee", [0x27e5] = "\xaf\x6b", [0x27e6] = "\xf0\xed", + [0x27e7] = "\xf0\xf0", [0x27e8] = "\xf0\xec", [0x27e9] = "\xaf\x6c", + [0x27ea] = "\xbb\xbe", [0x27eb] = "\xf0\xef", [0x27ec] = "\xaf\x6d", + [0x27ed] = "\xaf\x6e", [0x27ee] = "\xaf\x6f", [0x27ef] = "\xaf\x70", + [0x27f0] = "\xcc\xb5", [0x27f1] = "\xf0\xf2", [0x27f2] = "\xaf\x71", + [0x27f3] = "\xaf\x72", [0x27f4] = "\xb3\xd5", [0x27f5] = "\xaf\x73", + [0x27f6] = "\xaf\x74", [0x27f7] = "\xaf\x75", [0x27f8] = "\xaf\x76", + [0x27f9] = "\xb1\xd4", [0x27fa] = "\xaf\x77", [0x27fb] = "\xaf\x78", + [0x27fc] = "\xf0\xf3", [0x27fd] = "\xaf\x79", [0x27fe] = "\xaf\x7a", + [0x27ff] = "\xf0\xf4", [0x2800] = "\xf0\xf6", [0x2801] = "\xb4\xe1", + [0x2802] = "\xaf\x7b", [0x2803] = "\xf0\xf1", [0x2804] = "\xaf\x7c", + [0x2805] = "\xf0\xf7", [0x2806] = "\xaf\x7d", [0x2807] = "\xaf\x7e", + [0x2808] = "\xaf\x80", [0x2809] = "\xaf\x81", [0x280a] = "\xf0\xfa", + [0x280b] = "\xaf\x82", [0x280c] = "\xf0\xf8", [0x280d] = "\xaf\x83", + [0x280e] = "\xaf\x84", [0x280f] = "\xaf\x85", [0x2810] = "\xf0\xf5", + [0x2811] = "\xaf\x86", [0x2812] = "\xaf\x87", [0x2813] = "\xaf\x88", + [0x2814] = "\xaf\x89", [0x2815] = "\xf0\xfd", [0x2816] = "\xaf\x8a", + [0x2817] = "\xf0\xf9", [0x2818] = "\xf0\xfc", [0x2819] = "\xf0\xfe", + [0x281a] = "\xaf\x8b", [0x281b] = "\xf1\xa1", [0x281c] = "\xaf\x8c", + [0x281d] = "\xaf\x8d", [0x281e] = "\xaf\x8e", [0x281f] = "\xce\xc1", + [0x2820] = "\xf1\xa4", [0x2821] = "\xaf\x8f", [0x2822] = "\xf1\xa3", + [0x2823] = "\xaf\x90", [0x2824] = "\xc1\xf6", [0x2825] = "\xf0\xfb", + [0x2826] = "\xca\xdd", [0x2827] = "\xaf\x91", [0x2828] = "\xaf\x92", + [0x2829] = "\xb4\xf1", [0x282a] = "\xb1\xf1", [0x282b] = "\xcc\xb1", + [0x282c] = "\xaf\x93", [0x282d] = "\xf1\xa6", [0x282e] = "\xaf\x94", + [0x282f] = "\xaf\x95", [0x2830] = "\xf1\xa7", [0x2831] = "\xaf\x96", + [0x2832] = "\xaf\x97", [0x2833] = "\xf1\xac", [0x2834] = "\xd5\xce", + [0x2835] = "\xf1\xa9", [0x2836] = "\xaf\x98", [0x2837] = "\xaf\x99", + [0x2838] = "\xc8\xb3", [0x2839] = "\xaf\x9a", [0x283a] = "\xaf\x9b", + [0x283b] = "\xaf\x9c", [0x283c] = "\xf1\xa2", [0x283d] = "\xaf\x9d", + [0x283e] = "\xf1\xab", [0x283f] = "\xf1\xa8", [0x2840] = "\xf1\xa5", + [0x2841] = "\xaf\x9e", [0x2842] = "\xaf\x9f", [0x2843] = "\xf1\xaa", + [0x2844] = "\xaf\xa0", [0x2845] = "\xb0\x40", [0x2846] = "\xb0\x41", + [0x2847] = "\xb0\x42", [0x2848] = "\xb0\x43", [0x2849] = "\xb0\x44", + [0x284a] = "\xb0\x45", [0x284b] = "\xb0\x46", [0x284c] = "\xb0\xa9", + [0x284d] = "\xf1\xad", [0x284e] = "\xb0\x47", [0x284f] = "\xb0\x48", + [0x2850] = "\xb0\x49", [0x2851] = "\xb0\x4a", [0x2852] = "\xb0\x4b", + [0x2853] = "\xb0\x4c", [0x2854] = "\xf1\xaf", [0x2855] = "\xb0\x4d", + [0x2856] = "\xf1\xb1", [0x2857] = "\xb0\x4e", [0x2858] = "\xb0\x4f", + [0x2859] = "\xb0\x50", [0x285a] = "\xb0\x51", [0x285b] = "\xb0\x52", + [0x285c] = "\xf1\xb0", [0x285d] = "\xb0\x53", [0x285e] = "\xf1\xae", + [0x285f] = "\xb0\x54", [0x2860] = "\xb0\x55", [0x2861] = "\xb0\x56", + [0x2862] = "\xb0\x57", [0x2863] = "\xd1\xa2", [0x2864] = "\xb0\x58", + [0x2865] = "\xb0\x59", [0x2866] = "\xb0\x5a", [0x2867] = "\xb0\x5b", + [0x2868] = "\xb0\x5c", [0x2869] = "\xb0\x5d", [0x286a] = "\xb0\x5e", + [0x286b] = "\xf1\xb2", [0x286c] = "\xb0\x5f", [0x286d] = "\xb0\x60", + [0x286e] = "\xb0\x61", [0x286f] = "\xf1\xb3", [0x2870] = "\xb0\x62", + [0x2871] = "\xb0\x63", [0x2872] = "\xb0\x64", [0x2873] = "\xb0\x65", + [0x2874] = "\xb0\x66", [0x2875] = "\xb0\x67", [0x2876] = "\xb0\x68", + [0x2877] = "\xb0\x69", [0x2878] = "\xb9\xef", [0x2879] = "\xb0\x6a", + [0x287a] = "\xb0\x6b", [0x287b] = "\xb5\xc7", [0x287c] = "\xb0\x6c", + [0x287d] = "\xb0\xd7", [0x287e] = "\xb0\xd9", [0x287f] = "\xb0\x6d", + [0x2880] = "\xb0\x6e", [0x2881] = "\xb0\x6f", [0x2882] = "\xd4\xed", + [0x2883] = "\xb0\x70", [0x2884] = "\xb5\xc4", [0x2885] = "\xb0\x71", + [0x2886] = "\xbd\xd4", [0x2887] = "\xbb\xca", [0x2888] = "\xf0\xa7", + [0x2889] = "\xb0\x72", [0x288a] = "\xb0\x73", [0x288b] = "\xb8\xde", + [0x288c] = "\xb0\x74", [0x288d] = "\xb0\x75", [0x288e] = "\xf0\xa8", + [0x288f] = "\xb0\x76", [0x2890] = "\xb0\x77", [0x2891] = "\xb0\xa8", + [0x2892] = "\xb0\x78", [0x2893] = "\xf0\xa9", [0x2894] = "\xb0\x79", + [0x2895] = "\xb0\x7a", [0x2896] = "\xcd\xee", [0x2897] = "\xb0\x7b", + [0x2898] = "\xb0\x7c", [0x2899] = "\xf0\xaa", [0x289a] = "\xb0\x7d", + [0x289b] = "\xb0\x7e", [0x289c] = "\xb0\x80", [0x289d] = "\xb0\x81", + [0x289e] = "\xb0\x82", [0x289f] = "\xb0\x83", [0x28a0] = "\xb0\x84", + [0x28a1] = "\xb0\x85", [0x28a2] = "\xb0\x86", [0x28a3] = "\xb0\x87", + [0x28a4] = "\xf0\xab", [0x28a5] = "\xb0\x88", [0x28a6] = "\xb0\x89", + [0x28a7] = "\xb0\x8a", [0x28a8] = "\xb0\x8b", [0x28a9] = "\xb0\x8c", + [0x28aa] = "\xb0\x8d", [0x28ab] = "\xb0\x8e", [0x28ac] = "\xb0\x8f", + [0x28ad] = "\xb0\x90", [0x28ae] = "\xc6\xa4", [0x28af] = "\xb0\x91", + [0x28b0] = "\xb0\x92", [0x28b1] = "\xd6\xe5", [0x28b2] = "\xf1\xe4", + [0x28b3] = "\xb0\x93", [0x28b4] = "\xf1\xe5", [0x28b5] = "\xb0\x94", + [0x28b6] = "\xb0\x95", [0x28b7] = "\xb0\x96", [0x28b8] = "\xb0\x97", + [0x28b9] = "\xb0\x98", [0x28ba] = "\xb0\x99", [0x28bb] = "\xb0\x9a", + [0x28bc] = "\xb0\x9b", [0x28bd] = "\xb0\x9c", [0x28be] = "\xb0\x9d", + [0x28bf] = "\xc3\xf3", [0x28c0] = "\xb0\x9e", [0x28c1] = "\xb0\x9f", + [0x28c2] = "\xd3\xdb", [0x28c3] = "\xb0\xa0", [0x28c4] = "\xb1\x40", + [0x28c5] = "\xd6\xd1", [0x28c6] = "\xc5\xe8", [0x28c7] = "\xb1\x41", + [0x28c8] = "\xd3\xaf", [0x28c9] = "\xb1\x42", [0x28ca] = "\xd2\xe6", + [0x28cb] = "\xb1\x43", [0x28cc] = "\xb1\x44", [0x28cd] = "\xee\xc1", + [0x28ce] = "\xb0\xbb", [0x28cf] = "\xd5\xb5", [0x28d0] = "\xd1\xce", + [0x28d1] = "\xbc\xe0", [0x28d2] = "\xba\xd0", [0x28d3] = "\xb1\x45", + [0x28d4] = "\xbf\xf8", [0x28d5] = "\xb1\x46", [0x28d6] = "\xb8\xc7", + [0x28d7] = "\xb5\xc1", [0x28d8] = "\xc5\xcc", [0x28d9] = "\xb1\x47", + [0x28da] = "\xb1\x48", [0x28db] = "\xca\xa2", [0x28dc] = "\xb1\x49", + [0x28dd] = "\xb1\x4a", [0x28de] = "\xb1\x4b", [0x28df] = "\xc3\xcb", + [0x28e0] = "\xb1\x4c", [0x28e1] = "\xb1\x4d", [0x28e2] = "\xb1\x4e", + [0x28e3] = "\xb1\x4f", [0x28e4] = "\xb1\x50", [0x28e5] = "\xee\xc2", + [0x28e6] = "\xb1\x51", [0x28e7] = "\xb1\x52", [0x28e8] = "\xb1\x53", + [0x28e9] = "\xb1\x54", [0x28ea] = "\xb1\x55", [0x28eb] = "\xb1\x56", + [0x28ec] = "\xb1\x57", [0x28ed] = "\xb1\x58", [0x28ee] = "\xc4\xbf", + [0x28ef] = "\xb6\xa2", [0x28f0] = "\xb1\x59", [0x28f1] = "\xed\xec", + [0x28f2] = "\xc3\xa4", [0x28f3] = "\xb1\x5a", [0x28f4] = "\xd6\xb1", + [0x28f5] = "\xb1\x5b", [0x28f6] = "\xb1\x5c", [0x28f7] = "\xb1\x5d", + [0x28f8] = "\xcf\xe0", [0x28f9] = "\xed\xef", [0x28fa] = "\xb1\x5e", + [0x28fb] = "\xb1\x5f", [0x28fc] = "\xc5\xce", [0x28fd] = "\xb1\x60", + [0x28fe] = "\xb6\xdc", [0x28ff] = "\xb1\x61", [0x2900] = "\xb1\x62", + [0x2901] = "\xca\xa1", [0x2902] = "\xb1\x63", [0x2903] = "\xb1\x64", + [0x2904] = "\xed\xed", [0x2905] = "\xb1\x65", [0x2906] = "\xb1\x66", + [0x2907] = "\xed\xf0", [0x2908] = "\xed\xf1", [0x2909] = "\xc3\xbc", + [0x290a] = "\xb1\x67", [0x290b] = "\xbf\xb4", [0x290c] = "\xb1\x68", + [0x290d] = "\xed\xee", [0x290e] = "\xb1\x69", [0x290f] = "\xb1\x6a", + [0x2910] = "\xb1\x6b", [0x2911] = "\xb1\x6c", [0x2912] = "\xb1\x6d", + [0x2913] = "\xb1\x6e", [0x2914] = "\xb1\x6f", [0x2915] = "\xb1\x70", + [0x2916] = "\xb1\x71", [0x2917] = "\xb1\x72", [0x2918] = "\xb1\x73", + [0x2919] = "\xed\xf4", [0x291a] = "\xed\xf2", [0x291b] = "\xb1\x74", + [0x291c] = "\xb1\x75", [0x291d] = "\xb1\x76", [0x291e] = "\xb1\x77", + [0x291f] = "\xd5\xe6", [0x2920] = "\xc3\xdf", [0x2921] = "\xb1\x78", + [0x2922] = "\xed\xf3", [0x2923] = "\xb1\x79", [0x2924] = "\xb1\x7a", + [0x2925] = "\xb1\x7b", [0x2926] = "\xed\xf6", [0x2927] = "\xb1\x7c", + [0x2928] = "\xd5\xa3", [0x2929] = "\xd1\xa3", [0x292a] = "\xb1\x7d", + [0x292b] = "\xb1\x7e", [0x292c] = "\xb1\x80", [0x292d] = "\xed\xf5", + [0x292e] = "\xb1\x81", [0x292f] = "\xc3\xd0", [0x2930] = "\xb1\x82", + [0x2931] = "\xb1\x83", [0x2932] = "\xb1\x84", [0x2933] = "\xb1\x85", + [0x2934] = "\xb1\x86", [0x2935] = "\xed\xf7", [0x2936] = "\xbf\xf4", + [0x2937] = "\xbe\xec", [0x2938] = "\xed\xf8", [0x2939] = "\xb1\x87", + [0x293a] = "\xcc\xf7", [0x293b] = "\xb1\x88", [0x293c] = "\xd1\xdb", + [0x293d] = "\xb1\x89", [0x293e] = "\xb1\x8a", [0x293f] = "\xb1\x8b", + [0x2940] = "\xd7\xc5", [0x2941] = "\xd5\xf6", [0x2942] = "\xb1\x8c", + [0x2943] = "\xed\xfc", [0x2944] = "\xb1\x8d", [0x2945] = "\xb1\x8e", + [0x2946] = "\xb1\x8f", [0x2947] = "\xed\xfb", [0x2948] = "\xb1\x90", + [0x2949] = "\xb1\x91", [0x294a] = "\xb1\x92", [0x294b] = "\xb1\x93", + [0x294c] = "\xb1\x94", [0x294d] = "\xb1\x95", [0x294e] = "\xb1\x96", + [0x294f] = "\xb1\x97", [0x2950] = "\xed\xf9", [0x2951] = "\xed\xfa", + [0x2952] = "\xb1\x98", [0x2953] = "\xb1\x99", [0x2954] = "\xb1\x9a", + [0x2955] = "\xb1\x9b", [0x2956] = "\xb1\x9c", [0x2957] = "\xb1\x9d", + [0x2958] = "\xb1\x9e", [0x2959] = "\xb1\x9f", [0x295a] = "\xed\xfd", + [0x295b] = "\xbe\xa6", [0x295c] = "\xb1\xa0", [0x295d] = "\xb2\x40", + [0x295e] = "\xb2\x41", [0x295f] = "\xb2\x42", [0x2960] = "\xb2\x43", + [0x2961] = "\xcb\xaf", [0x2962] = "\xee\xa1", [0x2963] = "\xb6\xbd", + [0x2964] = "\xb2\x44", [0x2965] = "\xee\xa2", [0x2966] = "\xc4\xc0", + [0x2967] = "\xb2\x45", [0x2968] = "\xed\xfe", [0x2969] = "\xb2\x46", + [0x296a] = "\xb2\x47", [0x296b] = "\xbd\xde", [0x296c] = "\xb2\xc7", + [0x296d] = "\xb2\x48", [0x296e] = "\xb2\x49", [0x296f] = "\xb2\x4a", + [0x2970] = "\xb2\x4b", [0x2971] = "\xb2\x4c", [0x2972] = "\xb2\x4d", + [0x2973] = "\xb2\x4e", [0x2974] = "\xb2\x4f", [0x2975] = "\xb2\x50", + [0x2976] = "\xb2\x51", [0x2977] = "\xb2\x52", [0x2978] = "\xb2\x53", + [0x2979] = "\xb6\xc3", [0x297a] = "\xb2\x54", [0x297b] = "\xb2\x55", + [0x297c] = "\xb2\x56", [0x297d] = "\xee\xa5", [0x297e] = "\xd8\xba", + [0x297f] = "\xee\xa3", [0x2980] = "\xee\xa6", [0x2981] = "\xb2\x57", + [0x2982] = "\xb2\x58", [0x2983] = "\xb2\x59", [0x2984] = "\xc3\xe9", + [0x2985] = "\xb3\xf2", [0x2986] = "\xb2\x5a", [0x2987] = "\xb2\x5b", + [0x2988] = "\xb2\x5c", [0x2989] = "\xb2\x5d", [0x298a] = "\xb2\x5e", + [0x298b] = "\xb2\x5f", [0x298c] = "\xee\xa7", [0x298d] = "\xee\xa4", + [0x298e] = "\xcf\xb9", [0x298f] = "\xb2\x60", [0x2990] = "\xb2\x61", + [0x2991] = "\xee\xa8", [0x2992] = "\xc2\xf7", [0x2993] = "\xb2\x62", + [0x2994] = "\xb2\x63", [0x2995] = "\xb2\x64", [0x2996] = "\xb2\x65", + [0x2997] = "\xb2\x66", [0x2998] = "\xb2\x67", [0x2999] = "\xb2\x68", + [0x299a] = "\xb2\x69", [0x299b] = "\xb2\x6a", [0x299c] = "\xb2\x6b", + [0x299d] = "\xb2\x6c", [0x299e] = "\xb2\x6d", [0x299f] = "\xee\xa9", + [0x29a0] = "\xee\xaa", [0x29a1] = "\xb2\x6e", [0x29a2] = "\xde\xab", + [0x29a3] = "\xb2\x6f", [0x29a4] = "\xb2\x70", [0x29a5] = "\xc6\xb3", + [0x29a6] = "\xb2\x71", [0x29a7] = "\xc7\xc6", [0x29a8] = "\xb2\x72", + [0x29a9] = "\xd6\xf5", [0x29aa] = "\xb5\xc9", [0x29ab] = "\xb2\x73", + [0x29ac] = "\xcb\xb2", [0x29ad] = "\xb2\x74", [0x29ae] = "\xb2\x75", + [0x29af] = "\xb2\x76", [0x29b0] = "\xee\xab", [0x29b1] = "\xb2\x77", + [0x29b2] = "\xb2\x78", [0x29b3] = "\xcd\xab", [0x29b4] = "\xb2\x79", + [0x29b5] = "\xee\xac", [0x29b6] = "\xb2\x7a", [0x29b7] = "\xb2\x7b", + [0x29b8] = "\xb2\x7c", [0x29b9] = "\xb2\x7d", [0x29ba] = "\xb2\x7e", + [0x29bb] = "\xd5\xb0", [0x29bc] = "\xb2\x80", [0x29bd] = "\xee\xad", + [0x29be] = "\xb2\x81", [0x29bf] = "\xf6\xc4", [0x29c0] = "\xb2\x82", + [0x29c1] = "\xb2\x83", [0x29c2] = "\xb2\x84", [0x29c3] = "\xb2\x85", + [0x29c4] = "\xb2\x86", [0x29c5] = "\xb2\x87", [0x29c6] = "\xb2\x88", + [0x29c7] = "\xb2\x89", [0x29c8] = "\xb2\x8a", [0x29c9] = "\xb2\x8b", + [0x29ca] = "\xb2\x8c", [0x29cb] = "\xb2\x8d", [0x29cc] = "\xb2\x8e", + [0x29cd] = "\xdb\xc7", [0x29ce] = "\xb2\x8f", [0x29cf] = "\xb2\x90", + [0x29d0] = "\xb2\x91", [0x29d1] = "\xb2\x92", [0x29d2] = "\xb2\x93", + [0x29d3] = "\xb2\x94", [0x29d4] = "\xb2\x95", [0x29d5] = "\xb2\x96", + [0x29d6] = "\xb2\x97", [0x29d7] = "\xb4\xa3", [0x29d8] = "\xb2\x98", + [0x29d9] = "\xb2\x99", [0x29da] = "\xb2\x9a", [0x29db] = "\xc3\xac", + [0x29dc] = "\xf1\xe6", [0x29dd] = "\xb2\x9b", [0x29de] = "\xb2\x9c", + [0x29df] = "\xb2\x9d", [0x29e0] = "\xb2\x9e", [0x29e1] = "\xb2\x9f", + [0x29e2] = "\xca\xb8", [0x29e3] = "\xd2\xd3", [0x29e4] = "\xb2\xa0", + [0x29e5] = "\xd6\xaa", [0x29e6] = "\xb3\x40", [0x29e7] = "\xef\xf2", + [0x29e8] = "\xb3\x41", [0x29e9] = "\xbe\xd8", [0x29ea] = "\xb3\x42", + [0x29eb] = "\xbd\xc3", [0x29ec] = "\xef\xf3", [0x29ed] = "\xb6\xcc", + [0x29ee] = "\xb0\xab", [0x29ef] = "\xb3\x43", [0x29f0] = "\xb3\x44", + [0x29f1] = "\xb3\x45", [0x29f2] = "\xb3\x46", [0x29f3] = "\xca\xaf", + [0x29f4] = "\xb3\x47", [0x29f5] = "\xb3\x48", [0x29f6] = "\xed\xb6", + [0x29f7] = "\xb3\x49", [0x29f8] = "\xed\xb7", [0x29f9] = "\xb3\x4a", + [0x29fa] = "\xb3\x4b", [0x29fb] = "\xb3\x4c", [0x29fc] = "\xb3\x4d", + [0x29fd] = "\xce\xf9", [0x29fe] = "\xb7\xaf", [0x29ff] = "\xbf\xf3", + [0x2a00] = "\xed\xb8", [0x2a01] = "\xc2\xeb", [0x2a02] = "\xc9\xb0", + [0x2a03] = "\xb3\x4e", [0x2a04] = "\xb3\x4f", [0x2a05] = "\xb3\x50", + [0x2a06] = "\xb3\x51", [0x2a07] = "\xb3\x52", [0x2a08] = "\xb3\x53", + [0x2a09] = "\xed\xb9", [0x2a0a] = "\xb3\x54", [0x2a0b] = "\xb3\x55", + [0x2a0c] = "\xc6\xf6", [0x2a0d] = "\xbf\xb3", [0x2a0e] = "\xb3\x56", + [0x2a0f] = "\xb3\x57", [0x2a10] = "\xb3\x58", [0x2a11] = "\xed\xbc", + [0x2a12] = "\xc5\xf8", [0x2a13] = "\xb3\x59", [0x2a14] = "\xd1\xd0", + [0x2a15] = "\xb3\x5a", [0x2a16] = "\xd7\xa9", [0x2a17] = "\xed\xba", + [0x2a18] = "\xed\xbb", [0x2a19] = "\xb3\x5b", [0x2a1a] = "\xd1\xe2", + [0x2a1b] = "\xb3\x5c", [0x2a1c] = "\xed\xbf", [0x2a1d] = "\xed\xc0", + [0x2a1e] = "\xb3\x5d", [0x2a1f] = "\xed\xc4", [0x2a20] = "\xb3\x5e", + [0x2a21] = "\xb3\x5f", [0x2a22] = "\xb3\x60", [0x2a23] = "\xed\xc8", + [0x2a24] = "\xb3\x61", [0x2a25] = "\xed\xc6", [0x2a26] = "\xed\xce", + [0x2a27] = "\xd5\xe8", [0x2a28] = "\xb3\x62", [0x2a29] = "\xed\xc9", + [0x2a2a] = "\xb3\x63", [0x2a2b] = "\xb3\x64", [0x2a2c] = "\xed\xc7", + [0x2a2d] = "\xed\xbe", [0x2a2e] = "\xb3\x65", [0x2a2f] = "\xb3\x66", + [0x2a30] = "\xc5\xe9", [0x2a31] = "\xb3\x67", [0x2a32] = "\xb3\x68", + [0x2a33] = "\xb3\x69", [0x2a34] = "\xc6\xc6", [0x2a35] = "\xb3\x6a", + [0x2a36] = "\xb3\x6b", [0x2a37] = "\xc9\xe9", [0x2a38] = "\xd4\xd2", + [0x2a39] = "\xed\xc1", [0x2a3a] = "\xed\xc2", [0x2a3b] = "\xed\xc3", + [0x2a3c] = "\xed\xc5", [0x2a3d] = "\xb3\x6c", [0x2a3e] = "\xc0\xf9", + [0x2a3f] = "\xb3\x6d", [0x2a40] = "\xb4\xa1", [0x2a41] = "\xb3\x6e", + [0x2a42] = "\xb3\x6f", [0x2a43] = "\xb3\x70", [0x2a44] = "\xb3\x71", + [0x2a45] = "\xb9\xe8", [0x2a46] = "\xb3\x72", [0x2a47] = "\xed\xd0", + [0x2a48] = "\xb3\x73", [0x2a49] = "\xb3\x74", [0x2a4a] = "\xb3\x75", + [0x2a4b] = "\xb3\x76", [0x2a4c] = "\xed\xd1", [0x2a4d] = "\xb3\x77", + [0x2a4e] = "\xed\xca", [0x2a4f] = "\xb3\x78", [0x2a50] = "\xed\xcf", + [0x2a51] = "\xb3\x79", [0x2a52] = "\xce\xf8", [0x2a53] = "\xb3\x7a", + [0x2a54] = "\xb3\x7b", [0x2a55] = "\xcb\xb6", [0x2a56] = "\xed\xcc", + [0x2a57] = "\xed\xcd", [0x2a58] = "\xb3\x7c", [0x2a59] = "\xb3\x7d", + [0x2a5a] = "\xb3\x7e", [0x2a5b] = "\xb3\x80", [0x2a5c] = "\xb3\x81", + [0x2a5d] = "\xcf\xf5", [0x2a5e] = "\xb3\x82", [0x2a5f] = "\xb3\x83", + [0x2a60] = "\xb3\x84", [0x2a61] = "\xb3\x85", [0x2a62] = "\xb3\x86", + [0x2a63] = "\xb3\x87", [0x2a64] = "\xb3\x88", [0x2a65] = "\xb3\x89", + [0x2a66] = "\xb3\x8a", [0x2a67] = "\xb3\x8b", [0x2a68] = "\xb3\x8c", + [0x2a69] = "\xb3\x8d", [0x2a6a] = "\xed\xd2", [0x2a6b] = "\xc1\xf2", + [0x2a6c] = "\xd3\xb2", [0x2a6d] = "\xed\xcb", [0x2a6e] = "\xc8\xb7", + [0x2a6f] = "\xb3\x8e", [0x2a70] = "\xb3\x8f", [0x2a71] = "\xb3\x90", + [0x2a72] = "\xb3\x91", [0x2a73] = "\xb3\x92", [0x2a74] = "\xb3\x93", + [0x2a75] = "\xb3\x94", [0x2a76] = "\xb3\x95", [0x2a77] = "\xbc\xef", + [0x2a78] = "\xb3\x96", [0x2a79] = "\xb3\x97", [0x2a7a] = "\xb3\x98", + [0x2a7b] = "\xb3\x99", [0x2a7c] = "\xc5\xf0", [0x2a7d] = "\xb3\x9a", + [0x2a7e] = "\xb3\x9b", [0x2a7f] = "\xb3\x9c", [0x2a80] = "\xb3\x9d", + [0x2a81] = "\xb3\x9e", [0x2a82] = "\xb3\x9f", [0x2a83] = "\xb3\xa0", + [0x2a84] = "\xb4\x40", [0x2a85] = "\xb4\x41", [0x2a86] = "\xb4\x42", + [0x2a87] = "\xed\xd6", [0x2a88] = "\xb4\x43", [0x2a89] = "\xb5\xef", + [0x2a8a] = "\xb4\x44", [0x2a8b] = "\xb4\x45", [0x2a8c] = "\xc2\xb5", + [0x2a8d] = "\xb0\xad", [0x2a8e] = "\xcb\xe9", [0x2a8f] = "\xb4\x46", + [0x2a90] = "\xb4\x47", [0x2a91] = "\xb1\xae", [0x2a92] = "\xb4\x48", + [0x2a93] = "\xed\xd4", [0x2a94] = "\xb4\x49", [0x2a95] = "\xb4\x4a", + [0x2a96] = "\xb4\x4b", [0x2a97] = "\xcd\xeb", [0x2a98] = "\xb5\xe2", + [0x2a99] = "\xb4\x4c", [0x2a9a] = "\xed\xd5", [0x2a9b] = "\xed\xd3", + [0x2a9c] = "\xed\xd7", [0x2a9d] = "\xb4\x4d", [0x2a9e] = "\xb4\x4e", + [0x2a9f] = "\xb5\xfa", [0x2aa0] = "\xb4\x4f", [0x2aa1] = "\xed\xd8", + [0x2aa2] = "\xb4\x50", [0x2aa3] = "\xed\xd9", [0x2aa4] = "\xb4\x51", + [0x2aa5] = "\xed\xdc", [0x2aa6] = "\xb4\x52", [0x2aa7] = "\xb1\xcc", + [0x2aa8] = "\xb4\x53", [0x2aa9] = "\xb4\x54", [0x2aaa] = "\xb4\x55", + [0x2aab] = "\xb4\x56", [0x2aac] = "\xb4\x57", [0x2aad] = "\xb4\x58", + [0x2aae] = "\xb4\x59", [0x2aaf] = "\xb4\x5a", [0x2ab0] = "\xc5\xf6", + [0x2ab1] = "\xbc\xee", [0x2ab2] = "\xed\xda", [0x2ab3] = "\xcc\xbc", + [0x2ab4] = "\xb2\xea", [0x2ab5] = "\xb4\x5b", [0x2ab6] = "\xb4\x5c", + [0x2ab7] = "\xb4\x5d", [0x2ab8] = "\xb4\x5e", [0x2ab9] = "\xed\xdb", + [0x2aba] = "\xb4\x5f", [0x2abb] = "\xb4\x60", [0x2abc] = "\xb4\x61", + [0x2abd] = "\xb4\x62", [0x2abe] = "\xc4\xeb", [0x2abf] = "\xb4\x63", + [0x2ac0] = "\xb4\x64", [0x2ac1] = "\xb4\xc5", [0x2ac2] = "\xb4\x65", + [0x2ac3] = "\xb4\x66", [0x2ac4] = "\xb4\x67", [0x2ac5] = "\xb0\xf5", + [0x2ac6] = "\xb4\x68", [0x2ac7] = "\xb4\x69", [0x2ac8] = "\xb4\x6a", + [0x2ac9] = "\xed\xdf", [0x2aca] = "\xc0\xda", [0x2acb] = "\xb4\xe8", + [0x2acc] = "\xb4\x6b", [0x2acd] = "\xb4\x6c", [0x2ace] = "\xb4\x6d", + [0x2acf] = "\xb4\x6e", [0x2ad0] = "\xc5\xcd", [0x2ad1] = "\xb4\x6f", + [0x2ad2] = "\xb4\x70", [0x2ad3] = "\xb4\x71", [0x2ad4] = "\xed\xdd", + [0x2ad5] = "\xbf\xc4", [0x2ad6] = "\xb4\x72", [0x2ad7] = "\xb4\x73", + [0x2ad8] = "\xb4\x74", [0x2ad9] = "\xed\xde", [0x2ada] = "\xb4\x75", + [0x2adb] = "\xb4\x76", [0x2adc] = "\xb4\x77", [0x2add] = "\xb4\x78", + [0x2ade] = "\xb4\x79", [0x2adf] = "\xb4\x7a", [0x2ae0] = "\xb4\x7b", + [0x2ae1] = "\xb4\x7c", [0x2ae2] = "\xb4\x7d", [0x2ae3] = "\xb4\x7e", + [0x2ae4] = "\xb4\x80", [0x2ae5] = "\xb4\x81", [0x2ae6] = "\xb4\x82", + [0x2ae7] = "\xb4\x83", [0x2ae8] = "\xc4\xa5", [0x2ae9] = "\xb4\x84", + [0x2aea] = "\xb4\x85", [0x2aeb] = "\xb4\x86", [0x2aec] = "\xed\xe0", + [0x2aed] = "\xb4\x87", [0x2aee] = "\xb4\x88", [0x2aef] = "\xb4\x89", + [0x2af0] = "\xb4\x8a", [0x2af1] = "\xb4\x8b", [0x2af2] = "\xed\xe1", + [0x2af3] = "\xb4\x8c", [0x2af4] = "\xed\xe3", [0x2af5] = "\xb4\x8d", + [0x2af6] = "\xb4\x8e", [0x2af7] = "\xc1\xd7", [0x2af8] = "\xb4\x8f", + [0x2af9] = "\xb4\x90", [0x2afa] = "\xbb\xc7", [0x2afb] = "\xb4\x91", + [0x2afc] = "\xb4\x92", [0x2afd] = "\xb4\x93", [0x2afe] = "\xb4\x94", + [0x2aff] = "\xb4\x95", [0x2b00] = "\xb4\x96", [0x2b01] = "\xbd\xb8", + [0x2b02] = "\xb4\x97", [0x2b03] = "\xb4\x98", [0x2b04] = "\xb4\x99", + [0x2b05] = "\xed\xe2", [0x2b06] = "\xb4\x9a", [0x2b07] = "\xb4\x9b", + [0x2b08] = "\xb4\x9c", [0x2b09] = "\xb4\x9d", [0x2b0a] = "\xb4\x9e", + [0x2b0b] = "\xb4\x9f", [0x2b0c] = "\xb4\xa0", [0x2b0d] = "\xb5\x40", + [0x2b0e] = "\xb5\x41", [0x2b0f] = "\xb5\x42", [0x2b10] = "\xb5\x43", + [0x2b11] = "\xb5\x44", [0x2b12] = "\xb5\x45", [0x2b13] = "\xed\xe4", + [0x2b14] = "\xb5\x46", [0x2b15] = "\xb5\x47", [0x2b16] = "\xb5\x48", + [0x2b17] = "\xb5\x49", [0x2b18] = "\xb5\x4a", [0x2b19] = "\xb5\x4b", + [0x2b1a] = "\xb5\x4c", [0x2b1b] = "\xb5\x4d", [0x2b1c] = "\xb5\x4e", + [0x2b1d] = "\xb5\x4f", [0x2b1e] = "\xed\xe6", [0x2b1f] = "\xb5\x50", + [0x2b20] = "\xb5\x51", [0x2b21] = "\xb5\x52", [0x2b22] = "\xb5\x53", + [0x2b23] = "\xb5\x54", [0x2b24] = "\xed\xe5", [0x2b25] = "\xb5\x55", + [0x2b26] = "\xb5\x56", [0x2b27] = "\xb5\x57", [0x2b28] = "\xb5\x58", + [0x2b29] = "\xb5\x59", [0x2b2a] = "\xb5\x5a", [0x2b2b] = "\xb5\x5b", + [0x2b2c] = "\xb5\x5c", [0x2b2d] = "\xb5\x5d", [0x2b2e] = "\xb5\x5e", + [0x2b2f] = "\xb5\x5f", [0x2b30] = "\xb5\x60", [0x2b31] = "\xb5\x61", + [0x2b32] = "\xb5\x62", [0x2b33] = "\xb5\x63", [0x2b34] = "\xed\xe7", + [0x2b35] = "\xb5\x64", [0x2b36] = "\xb5\x65", [0x2b37] = "\xb5\x66", + [0x2b38] = "\xb5\x67", [0x2b39] = "\xb5\x68", [0x2b3a] = "\xca\xbe", + [0x2b3b] = "\xec\xea", [0x2b3c] = "\xc0\xf1", [0x2b3d] = "\xb5\x69", + [0x2b3e] = "\xc9\xe7", [0x2b3f] = "\xb5\x6a", [0x2b40] = "\xec\xeb", + [0x2b41] = "\xc6\xee", [0x2b42] = "\xb5\x6b", [0x2b43] = "\xb5\x6c", + [0x2b44] = "\xb5\x6d", [0x2b45] = "\xb5\x6e", [0x2b46] = "\xec\xec", + [0x2b47] = "\xb5\x6f", [0x2b48] = "\xc6\xed", [0x2b49] = "\xec\xed", + [0x2b4a] = "\xb5\x70", [0x2b4b] = "\xb5\x71", [0x2b4c] = "\xb5\x72", + [0x2b4d] = "\xb5\x73", [0x2b4e] = "\xb5\x74", [0x2b4f] = "\xb5\x75", + [0x2b50] = "\xb5\x76", [0x2b51] = "\xb5\x77", [0x2b52] = "\xb5\x78", + [0x2b53] = "\xec\xf0", [0x2b54] = "\xb5\x79", [0x2b55] = "\xb5\x7a", + [0x2b56] = "\xd7\xe6", [0x2b57] = "\xec\xf3", [0x2b58] = "\xb5\x7b", + [0x2b59] = "\xb5\x7c", [0x2b5a] = "\xec\xf1", [0x2b5b] = "\xec\xee", + [0x2b5c] = "\xec\xef", [0x2b5d] = "\xd7\xa3", [0x2b5e] = "\xc9\xf1", + [0x2b5f] = "\xcb\xee", [0x2b60] = "\xec\xf4", [0x2b61] = "\xb5\x7d", + [0x2b62] = "\xec\xf2", [0x2b63] = "\xb5\x7e", [0x2b64] = "\xb5\x80", + [0x2b65] = "\xcf\xe9", [0x2b66] = "\xb5\x81", [0x2b67] = "\xec\xf6", + [0x2b68] = "\xc6\xb1", [0x2b69] = "\xb5\x82", [0x2b6a] = "\xb5\x83", + [0x2b6b] = "\xb5\x84", [0x2b6c] = "\xb5\x85", [0x2b6d] = "\xbc\xc0", + [0x2b6e] = "\xb5\x86", [0x2b6f] = "\xec\xf5", [0x2b70] = "\xb5\x87", + [0x2b71] = "\xb5\x88", [0x2b72] = "\xb5\x89", [0x2b73] = "\xb5\x8a", + [0x2b74] = "\xb5\x8b", [0x2b75] = "\xb5\x8c", [0x2b76] = "\xb5\x8d", + [0x2b77] = "\xb5\xbb", [0x2b78] = "\xbb\xf6", [0x2b79] = "\xb5\x8e", + [0x2b7a] = "\xec\xf7", [0x2b7b] = "\xb5\x8f", [0x2b7c] = "\xb5\x90", + [0x2b7d] = "\xb5\x91", [0x2b7e] = "\xb5\x92", [0x2b7f] = "\xb5\x93", + [0x2b80] = "\xd9\xf7", [0x2b81] = "\xbd\xfb", [0x2b82] = "\xb5\x94", + [0x2b83] = "\xb5\x95", [0x2b84] = "\xc2\xbb", [0x2b85] = "\xec\xf8", + [0x2b86] = "\xb5\x96", [0x2b87] = "\xb5\x97", [0x2b88] = "\xb5\x98", + [0x2b89] = "\xb5\x99", [0x2b8a] = "\xec\xf9", [0x2b8b] = "\xb5\x9a", + [0x2b8c] = "\xb5\x9b", [0x2b8d] = "\xb5\x9c", [0x2b8e] = "\xb5\x9d", + [0x2b8f] = "\xb8\xa3", [0x2b90] = "\xb5\x9e", [0x2b91] = "\xb5\x9f", + [0x2b92] = "\xb5\xa0", [0x2b93] = "\xb6\x40", [0x2b94] = "\xb6\x41", + [0x2b95] = "\xb6\x42", [0x2b96] = "\xb6\x43", [0x2b97] = "\xb6\x44", + [0x2b98] = "\xb6\x45", [0x2b99] = "\xb6\x46", [0x2b9a] = "\xec\xfa", + [0x2b9b] = "\xb6\x47", [0x2b9c] = "\xb6\x48", [0x2b9d] = "\xb6\x49", + [0x2b9e] = "\xb6\x4a", [0x2b9f] = "\xb6\x4b", [0x2ba0] = "\xb6\x4c", + [0x2ba1] = "\xb6\x4d", [0x2ba2] = "\xb6\x4e", [0x2ba3] = "\xb6\x4f", + [0x2ba4] = "\xb6\x50", [0x2ba5] = "\xb6\x51", [0x2ba6] = "\xb6\x52", + [0x2ba7] = "\xec\xfb", [0x2ba8] = "\xb6\x53", [0x2ba9] = "\xb6\x54", + [0x2baa] = "\xb6\x55", [0x2bab] = "\xb6\x56", [0x2bac] = "\xb6\x57", + [0x2bad] = "\xb6\x58", [0x2bae] = "\xb6\x59", [0x2baf] = "\xb6\x5a", + [0x2bb0] = "\xb6\x5b", [0x2bb1] = "\xb6\x5c", [0x2bb2] = "\xb6\x5d", + [0x2bb3] = "\xec\xfc", [0x2bb4] = "\xb6\x5e", [0x2bb5] = "\xb6\x5f", + [0x2bb6] = "\xb6\x60", [0x2bb7] = "\xb6\x61", [0x2bb8] = "\xb6\x62", + [0x2bb9] = "\xd3\xed", [0x2bba] = "\xd8\xae", [0x2bbb] = "\xc0\xeb", + [0x2bbc] = "\xb6\x63", [0x2bbd] = "\xc7\xdd", [0x2bbe] = "\xba\xcc", + [0x2bbf] = "\xb6\x64", [0x2bc0] = "\xd0\xe3", [0x2bc1] = "\xcb\xbd", + [0x2bc2] = "\xb6\x65", [0x2bc3] = "\xcd\xba", [0x2bc4] = "\xb6\x66", + [0x2bc5] = "\xb6\x67", [0x2bc6] = "\xb8\xd1", [0x2bc7] = "\xb6\x68", + [0x2bc8] = "\xb6\x69", [0x2bc9] = "\xb1\xfc", [0x2bca] = "\xb6\x6a", + [0x2bcb] = "\xc7\xef", [0x2bcc] = "\xb6\x6b", [0x2bcd] = "\xd6\xd6", + [0x2bce] = "\xb6\x6c", [0x2bcf] = "\xb6\x6d", [0x2bd0] = "\xb6\x6e", + [0x2bd1] = "\xbf\xc6", [0x2bd2] = "\xc3\xeb", [0x2bd3] = "\xb6\x6f", + [0x2bd4] = "\xb6\x70", [0x2bd5] = "\xef\xf5", [0x2bd6] = "\xb6\x71", + [0x2bd7] = "\xb6\x72", [0x2bd8] = "\xc3\xd8", [0x2bd9] = "\xb6\x73", + [0x2bda] = "\xb6\x74", [0x2bdb] = "\xb6\x75", [0x2bdc] = "\xb6\x76", + [0x2bdd] = "\xb6\x77", [0x2bde] = "\xb6\x78", [0x2bdf] = "\xd7\xe2", + [0x2be0] = "\xb6\x79", [0x2be1] = "\xb6\x7a", [0x2be2] = "\xb6\x7b", + [0x2be3] = "\xef\xf7", [0x2be4] = "\xb3\xd3", [0x2be5] = "\xb6\x7c", + [0x2be6] = "\xc7\xd8", [0x2be7] = "\xd1\xed", [0x2be8] = "\xb6\x7d", + [0x2be9] = "\xd6\xc8", [0x2bea] = "\xb6\x7e", [0x2beb] = "\xef\xf8", + [0x2bec] = "\xb6\x80", [0x2bed] = "\xef\xf6", [0x2bee] = "\xb6\x81", + [0x2bef] = "\xbb\xfd", [0x2bf0] = "\xb3\xc6", [0x2bf1] = "\xb6\x82", + [0x2bf2] = "\xb6\x83", [0x2bf3] = "\xb6\x84", [0x2bf4] = "\xb6\x85", + [0x2bf5] = "\xb6\x86", [0x2bf6] = "\xb6\x87", [0x2bf7] = "\xb6\x88", + [0x2bf8] = "\xbd\xd5", [0x2bf9] = "\xb6\x89", [0x2bfa] = "\xb6\x8a", + [0x2bfb] = "\xd2\xc6", [0x2bfc] = "\xb6\x8b", [0x2bfd] = "\xbb\xe0", + [0x2bfe] = "\xb6\x8c", [0x2bff] = "\xb6\x8d", [0x2c00] = "\xcf\xa1", + [0x2c01] = "\xb6\x8e", [0x2c02] = "\xef\xfc", [0x2c03] = "\xef\xfb", + [0x2c04] = "\xb6\x8f", [0x2c05] = "\xb6\x90", [0x2c06] = "\xef\xf9", + [0x2c07] = "\xb6\x91", [0x2c08] = "\xb6\x92", [0x2c09] = "\xb6\x93", + [0x2c0a] = "\xb6\x94", [0x2c0b] = "\xb3\xcc", [0x2c0c] = "\xb6\x95", + [0x2c0d] = "\xc9\xd4", [0x2c0e] = "\xcb\xb0", [0x2c0f] = "\xb6\x96", + [0x2c10] = "\xb6\x97", [0x2c11] = "\xb6\x98", [0x2c12] = "\xb6\x99", + [0x2c13] = "\xb6\x9a", [0x2c14] = "\xef\xfe", [0x2c15] = "\xb6\x9b", + [0x2c16] = "\xb6\x9c", [0x2c17] = "\xb0\xde", [0x2c18] = "\xb6\x9d", + [0x2c19] = "\xb6\x9e", [0x2c1a] = "\xd6\xc9", [0x2c1b] = "\xb6\x9f", + [0x2c1c] = "\xb6\xa0", [0x2c1d] = "\xb7\x40", [0x2c1e] = "\xef\xfd", + [0x2c1f] = "\xb7\x41", [0x2c20] = "\xb3\xed", [0x2c21] = "\xb7\x42", + [0x2c22] = "\xb7\x43", [0x2c23] = "\xf6\xd5", [0x2c24] = "\xb7\x44", + [0x2c25] = "\xb7\x45", [0x2c26] = "\xb7\x46", [0x2c27] = "\xb7\x47", + [0x2c28] = "\xb7\x48", [0x2c29] = "\xb7\x49", [0x2c2a] = "\xb7\x4a", + [0x2c2b] = "\xb7\x4b", [0x2c2c] = "\xb7\x4c", [0x2c2d] = "\xb7\x4d", + [0x2c2e] = "\xb7\x4e", [0x2c2f] = "\xb7\x4f", [0x2c30] = "\xb7\x50", + [0x2c31] = "\xb7\x51", [0x2c32] = "\xb7\x52", [0x2c33] = "\xce\xc8", + [0x2c34] = "\xb7\x53", [0x2c35] = "\xb7\x54", [0x2c36] = "\xb7\x55", + [0x2c37] = "\xf0\xa2", [0x2c38] = "\xb7\x56", [0x2c39] = "\xf0\xa1", + [0x2c3a] = "\xb7\x57", [0x2c3b] = "\xb5\xbe", [0x2c3c] = "\xbc\xda", + [0x2c3d] = "\xbb\xfc", [0x2c3e] = "\xb7\x58", [0x2c3f] = "\xb8\xe5", + [0x2c40] = "\xb7\x59", [0x2c41] = "\xb7\x5a", [0x2c42] = "\xb7\x5b", + [0x2c43] = "\xb7\x5c", [0x2c44] = "\xb7\x5d", [0x2c45] = "\xb7\x5e", + [0x2c46] = "\xc4\xc2", [0x2c47] = "\xb7\x5f", [0x2c48] = "\xb7\x60", + [0x2c49] = "\xb7\x61", [0x2c4a] = "\xb7\x62", [0x2c4b] = "\xb7\x63", + [0x2c4c] = "\xb7\x64", [0x2c4d] = "\xb7\x65", [0x2c4e] = "\xb7\x66", + [0x2c4f] = "\xb7\x67", [0x2c50] = "\xb7\x68", [0x2c51] = "\xf0\xa3", + [0x2c52] = "\xb7\x69", [0x2c53] = "\xb7\x6a", [0x2c54] = "\xb7\x6b", + [0x2c55] = "\xb7\x6c", [0x2c56] = "\xb7\x6d", [0x2c57] = "\xcb\xeb", + [0x2c58] = "\xb7\x6e", [0x2c59] = "\xb7\x6f", [0x2c5a] = "\xb7\x70", + [0x2c5b] = "\xb7\x71", [0x2c5c] = "\xb7\x72", [0x2c5d] = "\xb7\x73", + [0x2c5e] = "\xb7\x74", [0x2c5f] = "\xb7\x75", [0x2c60] = "\xb7\x76", + [0x2c61] = "\xb7\x77", [0x2c62] = "\xb7\x78", [0x2c63] = "\xb7\x79", + [0x2c64] = "\xb7\x7a", [0x2c65] = "\xb7\x7b", [0x2c66] = "\xb7\x7c", + [0x2c67] = "\xb7\x7d", [0x2c68] = "\xb7\x7e", [0x2c69] = "\xb7\x80", + [0x2c6a] = "\xb7\x81", [0x2c6b] = "\xb7\x82", [0x2c6c] = "\xb7\x83", + [0x2c6d] = "\xb7\x84", [0x2c6e] = "\xb7\x85", [0x2c6f] = "\xb7\x86", + [0x2c70] = "\xf0\xa6", [0x2c71] = "\xb7\x87", [0x2c72] = "\xb7\x88", + [0x2c73] = "\xb7\x89", [0x2c74] = "\xd1\xa8", [0x2c75] = "\xb7\x8a", + [0x2c76] = "\xbe\xbf", [0x2c77] = "\xc7\xee", [0x2c78] = "\xf1\xb6", + [0x2c79] = "\xf1\xb7", [0x2c7a] = "\xbf\xd5", [0x2c7b] = "\xb7\x8b", + [0x2c7c] = "\xb7\x8c", [0x2c7d] = "\xb7\x8d", [0x2c7e] = "\xb7\x8e", + [0x2c7f] = "\xb4\xa9", [0x2c80] = "\xf1\xb8", [0x2c81] = "\xcd\xbb", + [0x2c82] = "\xb7\x8f", [0x2c83] = "\xc7\xd4", [0x2c84] = "\xd5\xad", + [0x2c85] = "\xb7\x90", [0x2c86] = "\xf1\xb9", [0x2c87] = "\xb7\x91", + [0x2c88] = "\xf1\xba", [0x2c89] = "\xb7\x92", [0x2c8a] = "\xb7\x93", + [0x2c8b] = "\xb7\x94", [0x2c8c] = "\xb7\x95", [0x2c8d] = "\xc7\xcf", + [0x2c8e] = "\xb7\x96", [0x2c8f] = "\xb7\x97", [0x2c90] = "\xb7\x98", + [0x2c91] = "\xd2\xa4", [0x2c92] = "\xd6\xcf", [0x2c93] = "\xb7\x99", + [0x2c94] = "\xb7\x9a", [0x2c95] = "\xf1\xbb", [0x2c96] = "\xbd\xd1", + [0x2c97] = "\xb4\xb0", [0x2c98] = "\xbe\xbd", [0x2c99] = "\xb7\x9b", + [0x2c9a] = "\xb7\x9c", [0x2c9b] = "\xb7\x9d", [0x2c9c] = "\xb4\xdc", + [0x2c9d] = "\xce\xd1", [0x2c9e] = "\xb7\x9e", [0x2c9f] = "\xbf\xdf", + [0x2ca0] = "\xf1\xbd", [0x2ca1] = "\xb7\x9f", [0x2ca2] = "\xb7\xa0", + [0x2ca3] = "\xb8\x40", [0x2ca4] = "\xb8\x41", [0x2ca5] = "\xbf\xfa", + [0x2ca6] = "\xf1\xbc", [0x2ca7] = "\xb8\x42", [0x2ca8] = "\xf1\xbf", + [0x2ca9] = "\xb8\x43", [0x2caa] = "\xb8\x44", [0x2cab] = "\xb8\x45", + [0x2cac] = "\xf1\xbe", [0x2cad] = "\xf1\xc0", [0x2cae] = "\xb8\x46", + [0x2caf] = "\xb8\x47", [0x2cb0] = "\xb8\x48", [0x2cb1] = "\xb8\x49", + [0x2cb2] = "\xb8\x4a", [0x2cb3] = "\xf1\xc1", [0x2cb4] = "\xb8\x4b", + [0x2cb5] = "\xb8\x4c", [0x2cb6] = "\xb8\x4d", [0x2cb7] = "\xb8\x4e", + [0x2cb8] = "\xb8\x4f", [0x2cb9] = "\xb8\x50", [0x2cba] = "\xb8\x51", + [0x2cbb] = "\xb8\x52", [0x2cbc] = "\xb8\x53", [0x2cbd] = "\xb8\x54", + [0x2cbe] = "\xb8\x55", [0x2cbf] = "\xc1\xfe", [0x2cc0] = "\xb8\x56", + [0x2cc1] = "\xb8\x57", [0x2cc2] = "\xb8\x58", [0x2cc3] = "\xb8\x59", + [0x2cc4] = "\xb8\x5a", [0x2cc5] = "\xb8\x5b", [0x2cc6] = "\xb8\x5c", + [0x2cc7] = "\xb8\x5d", [0x2cc8] = "\xb8\x5e", [0x2cc9] = "\xb8\x5f", + [0x2cca] = "\xb8\x60", [0x2ccb] = "\xc1\xa2", [0x2ccc] = "\xb8\x61", + [0x2ccd] = "\xb8\x62", [0x2cce] = "\xb8\x63", [0x2ccf] = "\xb8\x64", + [0x2cd0] = "\xb8\x65", [0x2cd1] = "\xb8\x66", [0x2cd2] = "\xb8\x67", + [0x2cd3] = "\xb8\x68", [0x2cd4] = "\xb8\x69", [0x2cd5] = "\xb8\x6a", + [0x2cd6] = "\xca\xfa", [0x2cd7] = "\xb8\x6b", [0x2cd8] = "\xb8\x6c", + [0x2cd9] = "\xd5\xbe", [0x2cda] = "\xb8\x6d", [0x2cdb] = "\xb8\x6e", + [0x2cdc] = "\xb8\x6f", [0x2cdd] = "\xb8\x70", [0x2cde] = "\xbe\xba", + [0x2cdf] = "\xbe\xb9", [0x2ce0] = "\xd5\xc2", [0x2ce1] = "\xb8\x71", + [0x2ce2] = "\xb8\x72", [0x2ce3] = "\xbf\xa2", [0x2ce4] = "\xb8\x73", + [0x2ce5] = "\xcd\xaf", [0x2ce6] = "\xf1\xb5", [0x2ce7] = "\xb8\x74", + [0x2ce8] = "\xb8\x75", [0x2ce9] = "\xb8\x76", [0x2cea] = "\xb8\x77", + [0x2ceb] = "\xb8\x78", [0x2cec] = "\xb8\x79", [0x2ced] = "\xbd\xdf", + [0x2cee] = "\xb8\x7a", [0x2cef] = "\xb6\xcb", [0x2cf0] = "\xb8\x7b", + [0x2cf1] = "\xb8\x7c", [0x2cf2] = "\xb8\x7d", [0x2cf3] = "\xb8\x7e", + [0x2cf4] = "\xb8\x80", [0x2cf5] = "\xb8\x81", [0x2cf6] = "\xb8\x82", + [0x2cf7] = "\xb8\x83", [0x2cf8] = "\xb8\x84", [0x2cf9] = "\xd6\xf1", + [0x2cfa] = "\xf3\xc3", [0x2cfb] = "\xb8\x85", [0x2cfc] = "\xb8\x86", + [0x2cfd] = "\xf3\xc4", [0x2cfe] = "\xb8\x87", [0x2cff] = "\xb8\xcd", + [0x2d00] = "\xb8\x88", [0x2d01] = "\xb8\x89", [0x2d02] = "\xb8\x8a", + [0x2d03] = "\xf3\xc6", [0x2d04] = "\xf3\xc7", [0x2d05] = "\xb8\x8b", + [0x2d06] = "\xb0\xca", [0x2d07] = "\xb8\x8c", [0x2d08] = "\xf3\xc5", + [0x2d09] = "\xb8\x8d", [0x2d0a] = "\xf3\xc9", [0x2d0b] = "\xcb\xf1", + [0x2d0c] = "\xb8\x8e", [0x2d0d] = "\xb8\x8f", [0x2d0e] = "\xb8\x90", + [0x2d0f] = "\xf3\xcb", [0x2d10] = "\xb8\x91", [0x2d11] = "\xd0\xa6", + [0x2d12] = "\xb8\x92", [0x2d13] = "\xb8\x93", [0x2d14] = "\xb1\xca", + [0x2d15] = "\xf3\xc8", [0x2d16] = "\xb8\x94", [0x2d17] = "\xb8\x95", + [0x2d18] = "\xb8\x96", [0x2d19] = "\xf3\xcf", [0x2d1a] = "\xb8\x97", + [0x2d1b] = "\xb5\xd1", [0x2d1c] = "\xb8\x98", [0x2d1d] = "\xb8\x99", + [0x2d1e] = "\xf3\xd7", [0x2d1f] = "\xb8\x9a", [0x2d20] = "\xf3\xd2", + [0x2d21] = "\xb8\x9b", [0x2d22] = "\xb8\x9c", [0x2d23] = "\xb8\x9d", + [0x2d24] = "\xf3\xd4", [0x2d25] = "\xf3\xd3", [0x2d26] = "\xb7\xfb", + [0x2d27] = "\xb8\x9e", [0x2d28] = "\xb1\xbf", [0x2d29] = "\xb8\x9f", + [0x2d2a] = "\xf3\xce", [0x2d2b] = "\xf3\xca", [0x2d2c] = "\xb5\xda", + [0x2d2d] = "\xb8\xa0", [0x2d2e] = "\xf3\xd0", [0x2d2f] = "\xb9\x40", + [0x2d30] = "\xb9\x41", [0x2d31] = "\xf3\xd1", [0x2d32] = "\xb9\x42", + [0x2d33] = "\xf3\xd5", [0x2d34] = "\xb9\x43", [0x2d35] = "\xb9\x44", + [0x2d36] = "\xb9\x45", [0x2d37] = "\xb9\x46", [0x2d38] = "\xf3\xcd", + [0x2d39] = "\xb9\x47", [0x2d3a] = "\xbc\xe3", [0x2d3b] = "\xb9\x48", + [0x2d3c] = "\xc1\xfd", [0x2d3d] = "\xb9\x49", [0x2d3e] = "\xf3\xd6", + [0x2d3f] = "\xb9\x4a", [0x2d40] = "\xb9\x4b", [0x2d41] = "\xb9\x4c", + [0x2d42] = "\xb9\x4d", [0x2d43] = "\xb9\x4e", [0x2d44] = "\xb9\x4f", + [0x2d45] = "\xf3\xda", [0x2d46] = "\xb9\x50", [0x2d47] = "\xf3\xcc", + [0x2d48] = "\xb9\x51", [0x2d49] = "\xb5\xc8", [0x2d4a] = "\xb9\x52", + [0x2d4b] = "\xbd\xee", [0x2d4c] = "\xf3\xdc", [0x2d4d] = "\xb9\x53", + [0x2d4e] = "\xb9\x54", [0x2d4f] = "\xb7\xa4", [0x2d50] = "\xbf\xf0", + [0x2d51] = "\xd6\xfe", [0x2d52] = "\xcd\xb2", [0x2d53] = "\xb9\x55", + [0x2d54] = "\xb4\xf0", [0x2d55] = "\xb9\x56", [0x2d56] = "\xb2\xdf", + [0x2d57] = "\xb9\x57", [0x2d58] = "\xf3\xd8", [0x2d59] = "\xb9\x58", + [0x2d5a] = "\xf3\xd9", [0x2d5b] = "\xc9\xb8", [0x2d5c] = "\xb9\x59", + [0x2d5d] = "\xf3\xdd", [0x2d5e] = "\xb9\x5a", [0x2d5f] = "\xb9\x5b", + [0x2d60] = "\xf3\xde", [0x2d61] = "\xb9\x5c", [0x2d62] = "\xf3\xe1", + [0x2d63] = "\xb9\x5d", [0x2d64] = "\xb9\x5e", [0x2d65] = "\xb9\x5f", + [0x2d66] = "\xb9\x60", [0x2d67] = "\xb9\x61", [0x2d68] = "\xb9\x62", + [0x2d69] = "\xb9\x63", [0x2d6a] = "\xb9\x64", [0x2d6b] = "\xb9\x65", + [0x2d6c] = "\xb9\x66", [0x2d6d] = "\xb9\x67", [0x2d6e] = "\xf3\xdf", + [0x2d6f] = "\xb9\x68", [0x2d70] = "\xb9\x69", [0x2d71] = "\xf3\xe3", + [0x2d72] = "\xf3\xe2", [0x2d73] = "\xb9\x6a", [0x2d74] = "\xb9\x6b", + [0x2d75] = "\xf3\xdb", [0x2d76] = "\xb9\x6c", [0x2d77] = "\xbf\xea", + [0x2d78] = "\xb9\x6d", [0x2d79] = "\xb3\xef", [0x2d7a] = "\xb9\x6e", + [0x2d7b] = "\xf3\xe0", [0x2d7c] = "\xb9\x6f", [0x2d7d] = "\xb9\x70", + [0x2d7e] = "\xc7\xa9", [0x2d7f] = "\xb9\x71", [0x2d80] = "\xbc\xf2", + [0x2d81] = "\xb9\x72", [0x2d82] = "\xb9\x73", [0x2d83] = "\xb9\x74", + [0x2d84] = "\xb9\x75", [0x2d85] = "\xf3\xeb", [0x2d86] = "\xb9\x76", + [0x2d87] = "\xb9\x77", [0x2d88] = "\xb9\x78", [0x2d89] = "\xb9\x79", + [0x2d8a] = "\xb9\x7a", [0x2d8b] = "\xb9\x7b", [0x2d8c] = "\xb9\x7c", + [0x2d8d] = "\xb9\xbf", [0x2d8e] = "\xb9\x7d", [0x2d8f] = "\xb9\x7e", + [0x2d90] = "\xf3\xe4", [0x2d91] = "\xb9\x80", [0x2d92] = "\xb9\x81", + [0x2d93] = "\xb9\x82", [0x2d94] = "\xb2\xad", [0x2d95] = "\xbb\xfe", + [0x2d96] = "\xb9\x83", [0x2d97] = "\xcb\xe3", [0x2d98] = "\xb9\x84", + [0x2d99] = "\xb9\x85", [0x2d9a] = "\xb9\x86", [0x2d9b] = "\xb9\x87", + [0x2d9c] = "\xf3\xed", [0x2d9d] = "\xf3\xe9", [0x2d9e] = "\xb9\x88", + [0x2d9f] = "\xb9\x89", [0x2da0] = "\xb9\x8a", [0x2da1] = "\xb9\xdc", + [0x2da2] = "\xf3\xee", [0x2da3] = "\xb9\x8b", [0x2da4] = "\xb9\x8c", + [0x2da5] = "\xb9\x8d", [0x2da6] = "\xf3\xe5", [0x2da7] = "\xf3\xe6", + [0x2da8] = "\xf3\xea", [0x2da9] = "\xc2\xe1", [0x2daa] = "\xf3\xec", + [0x2dab] = "\xf3\xef", [0x2dac] = "\xf3\xe8", [0x2dad] = "\xbc\xfd", + [0x2dae] = "\xb9\x8e", [0x2daf] = "\xb9\x8f", [0x2db0] = "\xb9\x90", + [0x2db1] = "\xcf\xe4", [0x2db2] = "\xb9\x91", [0x2db3] = "\xb9\x92", + [0x2db4] = "\xf3\xf0", [0x2db5] = "\xb9\x93", [0x2db6] = "\xb9\x94", + [0x2db7] = "\xb9\x95", [0x2db8] = "\xf3\xe7", [0x2db9] = "\xb9\x96", + [0x2dba] = "\xb9\x97", [0x2dbb] = "\xb9\x98", [0x2dbc] = "\xb9\x99", + [0x2dbd] = "\xb9\x9a", [0x2dbe] = "\xb9\x9b", [0x2dbf] = "\xb9\x9c", + [0x2dc0] = "\xb9\x9d", [0x2dc1] = "\xf3\xf2", [0x2dc2] = "\xb9\x9e", + [0x2dc3] = "\xb9\x9f", [0x2dc4] = "\xb9\xa0", [0x2dc5] = "\xba\x40", + [0x2dc6] = "\xd7\xad", [0x2dc7] = "\xc6\xaa", [0x2dc8] = "\xba\x41", + [0x2dc9] = "\xba\x42", [0x2dca] = "\xba\x43", [0x2dcb] = "\xba\x44", + [0x2dcc] = "\xf3\xf3", [0x2dcd] = "\xba\x45", [0x2dce] = "\xba\x46", + [0x2dcf] = "\xba\x47", [0x2dd0] = "\xba\x48", [0x2dd1] = "\xf3\xf1", + [0x2dd2] = "\xba\x49", [0x2dd3] = "\xc2\xa8", [0x2dd4] = "\xba\x4a", + [0x2dd5] = "\xba\x4b", [0x2dd6] = "\xba\x4c", [0x2dd7] = "\xba\x4d", + [0x2dd8] = "\xba\x4e", [0x2dd9] = "\xb8\xdd", [0x2dda] = "\xf3\xf5", + [0x2ddb] = "\xba\x4f", [0x2ddc] = "\xba\x50", [0x2ddd] = "\xf3\xf4", + [0x2dde] = "\xba\x51", [0x2ddf] = "\xba\x52", [0x2de0] = "\xba\x53", + [0x2de1] = "\xb4\xdb", [0x2de2] = "\xba\x54", [0x2de3] = "\xba\x55", + [0x2de4] = "\xba\x56", [0x2de5] = "\xf3\xf6", [0x2de6] = "\xf3\xf7", + [0x2de7] = "\xba\x57", [0x2de8] = "\xba\x58", [0x2de9] = "\xba\x59", + [0x2dea] = "\xf3\xf8", [0x2deb] = "\xba\x5a", [0x2dec] = "\xba\x5b", + [0x2ded] = "\xba\x5c", [0x2dee] = "\xc0\xba", [0x2def] = "\xba\x5d", + [0x2df0] = "\xba\x5e", [0x2df1] = "\xc0\xe9", [0x2df2] = "\xba\x5f", + [0x2df3] = "\xba\x60", [0x2df4] = "\xba\x61", [0x2df5] = "\xba\x62", + [0x2df6] = "\xba\x63", [0x2df7] = "\xc5\xf1", [0x2df8] = "\xba\x64", + [0x2df9] = "\xba\x65", [0x2dfa] = "\xba\x66", [0x2dfb] = "\xba\x67", + [0x2dfc] = "\xf3\xfb", [0x2dfd] = "\xba\x68", [0x2dfe] = "\xf3\xfa", + [0x2dff] = "\xba\x69", [0x2e00] = "\xba\x6a", [0x2e01] = "\xba\x6b", + [0x2e02] = "\xba\x6c", [0x2e03] = "\xba\x6d", [0x2e04] = "\xba\x6e", + [0x2e05] = "\xba\x6f", [0x2e06] = "\xba\x70", [0x2e07] = "\xb4\xd8", + [0x2e08] = "\xba\x71", [0x2e09] = "\xba\x72", [0x2e0a] = "\xba\x73", + [0x2e0b] = "\xf3\xfe", [0x2e0c] = "\xf3\xf9", [0x2e0d] = "\xba\x74", + [0x2e0e] = "\xba\x75", [0x2e0f] = "\xf3\xfc", [0x2e10] = "\xba\x76", + [0x2e11] = "\xba\x77", [0x2e12] = "\xba\x78", [0x2e13] = "\xba\x79", + [0x2e14] = "\xba\x7a", [0x2e15] = "\xba\x7b", [0x2e16] = "\xf3\xfd", + [0x2e17] = "\xba\x7c", [0x2e18] = "\xba\x7d", [0x2e19] = "\xba\x7e", + [0x2e1a] = "\xba\x80", [0x2e1b] = "\xba\x81", [0x2e1c] = "\xba\x82", + [0x2e1d] = "\xba\x83", [0x2e1e] = "\xba\x84", [0x2e1f] = "\xf4\xa1", + [0x2e20] = "\xba\x85", [0x2e21] = "\xba\x86", [0x2e22] = "\xba\x87", + [0x2e23] = "\xba\x88", [0x2e24] = "\xba\x89", [0x2e25] = "\xba\x8a", + [0x2e26] = "\xf4\xa3", [0x2e27] = "\xbb\xc9", [0x2e28] = "\xba\x8b", + [0x2e29] = "\xba\x8c", [0x2e2a] = "\xf4\xa2", [0x2e2b] = "\xba\x8d", + [0x2e2c] = "\xba\x8e", [0x2e2d] = "\xba\x8f", [0x2e2e] = "\xba\x90", + [0x2e2f] = "\xba\x91", [0x2e30] = "\xba\x92", [0x2e31] = "\xba\x93", + [0x2e32] = "\xba\x94", [0x2e33] = "\xba\x95", [0x2e34] = "\xba\x96", + [0x2e35] = "\xba\x97", [0x2e36] = "\xba\x98", [0x2e37] = "\xba\x99", + [0x2e38] = "\xf4\xa4", [0x2e39] = "\xba\x9a", [0x2e3a] = "\xba\x9b", + [0x2e3b] = "\xba\x9c", [0x2e3c] = "\xba\x9d", [0x2e3d] = "\xba\x9e", + [0x2e3e] = "\xba\x9f", [0x2e3f] = "\xb2\xbe", [0x2e40] = "\xf4\xa6", + [0x2e41] = "\xf4\xa5", [0x2e42] = "\xba\xa0", [0x2e43] = "\xbb\x40", + [0x2e44] = "\xbb\x41", [0x2e45] = "\xbb\x42", [0x2e46] = "\xbb\x43", + [0x2e47] = "\xbb\x44", [0x2e48] = "\xbb\x45", [0x2e49] = "\xbb\x46", + [0x2e4a] = "\xbb\x47", [0x2e4b] = "\xbb\x48", [0x2e4c] = "\xbb\x49", + [0x2e4d] = "\xbc\xae", [0x2e4e] = "\xbb\x4a", [0x2e4f] = "\xbb\x4b", + [0x2e50] = "\xbb\x4c", [0x2e51] = "\xbb\x4d", [0x2e52] = "\xbb\x4e", + [0x2e53] = "\xbb\x4f", [0x2e54] = "\xbb\x50", [0x2e55] = "\xbb\x51", + [0x2e56] = "\xbb\x52", [0x2e57] = "\xbb\x53", [0x2e58] = "\xbb\x54", + [0x2e59] = "\xbb\x55", [0x2e5a] = "\xbb\x56", [0x2e5b] = "\xbb\x57", + [0x2e5c] = "\xbb\x58", [0x2e5d] = "\xbb\x59", [0x2e5e] = "\xbb\x5a", + [0x2e5f] = "\xbb\x5b", [0x2e60] = "\xbb\x5c", [0x2e61] = "\xbb\x5d", + [0x2e62] = "\xbb\x5e", [0x2e63] = "\xbb\x5f", [0x2e64] = "\xbb\x60", + [0x2e65] = "\xbb\x61", [0x2e66] = "\xbb\x62", [0x2e67] = "\xbb\x63", + [0x2e68] = "\xbb\x64", [0x2e69] = "\xbb\x65", [0x2e6a] = "\xbb\x66", + [0x2e6b] = "\xbb\x67", [0x2e6c] = "\xbb\x68", [0x2e6d] = "\xbb\x69", + [0x2e6e] = "\xbb\x6a", [0x2e6f] = "\xbb\x6b", [0x2e70] = "\xbb\x6c", + [0x2e71] = "\xbb\x6d", [0x2e72] = "\xbb\x6e", [0x2e73] = "\xc3\xd7", + [0x2e74] = "\xd9\xe1", [0x2e75] = "\xbb\x6f", [0x2e76] = "\xbb\x70", + [0x2e77] = "\xbb\x71", [0x2e78] = "\xbb\x72", [0x2e79] = "\xbb\x73", + [0x2e7a] = "\xbb\x74", [0x2e7b] = "\xc0\xe0", [0x2e7c] = "\xf4\xcc", + [0x2e7d] = "\xd7\xd1", [0x2e7e] = "\xbb\x75", [0x2e7f] = "\xbb\x76", + [0x2e80] = "\xbb\x77", [0x2e81] = "\xbb\x78", [0x2e82] = "\xbb\x79", + [0x2e83] = "\xbb\x7a", [0x2e84] = "\xbb\x7b", [0x2e85] = "\xbb\x7c", + [0x2e86] = "\xbb\x7d", [0x2e87] = "\xbb\x7e", [0x2e88] = "\xbb\x80", + [0x2e89] = "\xb7\xdb", [0x2e8a] = "\xbb\x81", [0x2e8b] = "\xbb\x82", + [0x2e8c] = "\xbb\x83", [0x2e8d] = "\xbb\x84", [0x2e8e] = "\xbb\x85", + [0x2e8f] = "\xbb\x86", [0x2e90] = "\xbb\x87", [0x2e91] = "\xf4\xce", + [0x2e92] = "\xc1\xa3", [0x2e93] = "\xbb\x88", [0x2e94] = "\xbb\x89", + [0x2e95] = "\xc6\xc9", [0x2e96] = "\xbb\x8a", [0x2e97] = "\xb4\xd6", + [0x2e98] = "\xd5\xb3", [0x2e99] = "\xbb\x8b", [0x2e9a] = "\xbb\x8c", + [0x2e9b] = "\xbb\x8d", [0x2e9c] = "\xf4\xd0", [0x2e9d] = "\xf4\xcf", + [0x2e9e] = "\xf4\xd1", [0x2e9f] = "\xcb\xda", [0x2ea0] = "\xbb\x8e", + [0x2ea1] = "\xbb\x8f", [0x2ea2] = "\xf4\xd2", [0x2ea3] = "\xbb\x90", + [0x2ea4] = "\xd4\xc1", [0x2ea5] = "\xd6\xe0", [0x2ea6] = "\xbb\x91", + [0x2ea7] = "\xbb\x92", [0x2ea8] = "\xbb\x93", [0x2ea9] = "\xbb\x94", + [0x2eaa] = "\xb7\xe0", [0x2eab] = "\xbb\x95", [0x2eac] = "\xbb\x96", + [0x2ead] = "\xbb\x97", [0x2eae] = "\xc1\xb8", [0x2eaf] = "\xbb\x98", + [0x2eb0] = "\xbb\x99", [0x2eb1] = "\xc1\xbb", [0x2eb2] = "\xf4\xd3", + [0x2eb3] = "\xbe\xac", [0x2eb4] = "\xbb\x9a", [0x2eb5] = "\xbb\x9b", + [0x2eb6] = "\xbb\x9c", [0x2eb7] = "\xbb\x9d", [0x2eb8] = "\xbb\x9e", + [0x2eb9] = "\xb4\xe2", [0x2eba] = "\xbb\x9f", [0x2ebb] = "\xbb\xa0", + [0x2ebc] = "\xf4\xd4", [0x2ebd] = "\xf4\xd5", [0x2ebe] = "\xbe\xab", + [0x2ebf] = "\xbc\x40", [0x2ec0] = "\xbc\x41", [0x2ec1] = "\xf4\xd6", + [0x2ec2] = "\xbc\x42", [0x2ec3] = "\xbc\x43", [0x2ec4] = "\xbc\x44", + [0x2ec5] = "\xf4\xdb", [0x2ec6] = "\xbc\x45", [0x2ec7] = "\xf4\xd7", + [0x2ec8] = "\xf4\xda", [0x2ec9] = "\xbc\x46", [0x2eca] = "\xba\xfd", + [0x2ecb] = "\xbc\x47", [0x2ecc] = "\xf4\xd8", [0x2ecd] = "\xf4\xd9", + [0x2ece] = "\xbc\x48", [0x2ecf] = "\xbc\x49", [0x2ed0] = "\xbc\x4a", + [0x2ed1] = "\xbc\x4b", [0x2ed2] = "\xbc\x4c", [0x2ed3] = "\xbc\x4d", + [0x2ed4] = "\xbc\x4e", [0x2ed5] = "\xb8\xe2", [0x2ed6] = "\xcc\xc7", + [0x2ed7] = "\xf4\xdc", [0x2ed8] = "\xbc\x4f", [0x2ed9] = "\xb2\xda", + [0x2eda] = "\xbc\x50", [0x2edb] = "\xbc\x51", [0x2edc] = "\xc3\xd3", + [0x2edd] = "\xbc\x52", [0x2ede] = "\xbc\x53", [0x2edf] = "\xd4\xe3", + [0x2ee0] = "\xbf\xb7", [0x2ee1] = "\xbc\x54", [0x2ee2] = "\xbc\x55", + [0x2ee3] = "\xbc\x56", [0x2ee4] = "\xbc\x57", [0x2ee5] = "\xbc\x58", + [0x2ee6] = "\xbc\x59", [0x2ee7] = "\xbc\x5a", [0x2ee8] = "\xf4\xdd", + [0x2ee9] = "\xbc\x5b", [0x2eea] = "\xbc\x5c", [0x2eeb] = "\xbc\x5d", + [0x2eec] = "\xbc\x5e", [0x2eed] = "\xbc\x5f", [0x2eee] = "\xbc\x60", + [0x2eef] = "\xc5\xb4", [0x2ef0] = "\xbc\x61", [0x2ef1] = "\xbc\x62", + [0x2ef2] = "\xbc\x63", [0x2ef3] = "\xbc\x64", [0x2ef4] = "\xbc\x65", + [0x2ef5] = "\xbc\x66", [0x2ef6] = "\xbc\x67", [0x2ef7] = "\xbc\x68", + [0x2ef8] = "\xf4\xe9", [0x2ef9] = "\xbc\x69", [0x2efa] = "\xbc\x6a", + [0x2efb] = "\xcf\xb5", [0x2efc] = "\xbc\x6b", [0x2efd] = "\xbc\x6c", + [0x2efe] = "\xbc\x6d", [0x2eff] = "\xbc\x6e", [0x2f00] = "\xbc\x6f", + [0x2f01] = "\xbc\x70", [0x2f02] = "\xbc\x71", [0x2f03] = "\xbc\x72", + [0x2f04] = "\xbc\x73", [0x2f05] = "\xbc\x74", [0x2f06] = "\xbc\x75", + [0x2f07] = "\xbc\x76", [0x2f08] = "\xbc\x77", [0x2f09] = "\xbc\x78", + [0x2f0a] = "\xce\xc9", [0x2f0b] = "\xbc\x79", [0x2f0c] = "\xbc\x7a", + [0x2f0d] = "\xbc\x7b", [0x2f0e] = "\xbc\x7c", [0x2f0f] = "\xbc\x7d", + [0x2f10] = "\xbc\x7e", [0x2f11] = "\xbc\x80", [0x2f12] = "\xbc\x81", + [0x2f13] = "\xbc\x82", [0x2f14] = "\xbc\x83", [0x2f15] = "\xbc\x84", + [0x2f16] = "\xbc\x85", [0x2f17] = "\xbc\x86", [0x2f18] = "\xbc\x87", + [0x2f19] = "\xbc\x88", [0x2f1a] = "\xbc\x89", [0x2f1b] = "\xbc\x8a", + [0x2f1c] = "\xbc\x8b", [0x2f1d] = "\xbc\x8c", [0x2f1e] = "\xbc\x8d", + [0x2f1f] = "\xbc\x8e", [0x2f20] = "\xcb\xd8", [0x2f21] = "\xbc\x8f", + [0x2f22] = "\xcb\xf7", [0x2f23] = "\xbc\x90", [0x2f24] = "\xbc\x91", + [0x2f25] = "\xbc\x92", [0x2f26] = "\xbc\x93", [0x2f27] = "\xbd\xf4", + [0x2f28] = "\xbc\x94", [0x2f29] = "\xbc\x95", [0x2f2a] = "\xbc\x96", + [0x2f2b] = "\xd7\xcf", [0x2f2c] = "\xbc\x97", [0x2f2d] = "\xbc\x98", + [0x2f2e] = "\xbc\x99", [0x2f2f] = "\xc0\xdb", [0x2f30] = "\xbc\x9a", + [0x2f31] = "\xbc\x9b", [0x2f32] = "\xbc\x9c", [0x2f33] = "\xbc\x9d", + [0x2f34] = "\xbc\x9e", [0x2f35] = "\xbc\x9f", [0x2f36] = "\xbc\xa0", + [0x2f37] = "\xbd\x40", [0x2f38] = "\xbd\x41", [0x2f39] = "\xbd\x42", + [0x2f3a] = "\xbd\x43", [0x2f3b] = "\xbd\x44", [0x2f3c] = "\xbd\x45", + [0x2f3d] = "\xbd\x46", [0x2f3e] = "\xbd\x47", [0x2f3f] = "\xbd\x48", + [0x2f40] = "\xbd\x49", [0x2f41] = "\xbd\x4a", [0x2f42] = "\xbd\x4b", + [0x2f43] = "\xbd\x4c", [0x2f44] = "\xbd\x4d", [0x2f45] = "\xbd\x4e", + [0x2f46] = "\xbd\x4f", [0x2f47] = "\xbd\x50", [0x2f48] = "\xbd\x51", + [0x2f49] = "\xbd\x52", [0x2f4a] = "\xbd\x53", [0x2f4b] = "\xbd\x54", + [0x2f4c] = "\xbd\x55", [0x2f4d] = "\xbd\x56", [0x2f4e] = "\xbd\x57", + [0x2f4f] = "\xbd\x58", [0x2f50] = "\xbd\x59", [0x2f51] = "\xbd\x5a", + [0x2f52] = "\xbd\x5b", [0x2f53] = "\xbd\x5c", [0x2f54] = "\xbd\x5d", + [0x2f55] = "\xbd\x5e", [0x2f56] = "\xbd\x5f", [0x2f57] = "\xbd\x60", + [0x2f58] = "\xbd\x61", [0x2f59] = "\xbd\x62", [0x2f5a] = "\xbd\x63", + [0x2f5b] = "\xbd\x64", [0x2f5c] = "\xbd\x65", [0x2f5d] = "\xbd\x66", + [0x2f5e] = "\xbd\x67", [0x2f5f] = "\xbd\x68", [0x2f60] = "\xbd\x69", + [0x2f61] = "\xbd\x6a", [0x2f62] = "\xbd\x6b", [0x2f63] = "\xbd\x6c", + [0x2f64] = "\xbd\x6d", [0x2f65] = "\xbd\x6e", [0x2f66] = "\xbd\x6f", + [0x2f67] = "\xbd\x70", [0x2f68] = "\xbd\x71", [0x2f69] = "\xbd\x72", + [0x2f6a] = "\xbd\x73", [0x2f6b] = "\xbd\x74", [0x2f6c] = "\xbd\x75", + [0x2f6d] = "\xbd\x76", [0x2f6e] = "\xd0\xf5", [0x2f6f] = "\xbd\x77", + [0x2f70] = "\xbd\x78", [0x2f71] = "\xbd\x79", [0x2f72] = "\xbd\x7a", + [0x2f73] = "\xbd\x7b", [0x2f74] = "\xbd\x7c", [0x2f75] = "\xbd\x7d", + [0x2f76] = "\xbd\x7e", [0x2f77] = "\xf4\xea", [0x2f78] = "\xbd\x80", + [0x2f79] = "\xbd\x81", [0x2f7a] = "\xbd\x82", [0x2f7b] = "\xbd\x83", + [0x2f7c] = "\xbd\x84", [0x2f7d] = "\xbd\x85", [0x2f7e] = "\xbd\x86", + [0x2f7f] = "\xbd\x87", [0x2f80] = "\xbd\x88", [0x2f81] = "\xbd\x89", + [0x2f82] = "\xbd\x8a", [0x2f83] = "\xbd\x8b", [0x2f84] = "\xbd\x8c", + [0x2f85] = "\xbd\x8d", [0x2f86] = "\xbd\x8e", [0x2f87] = "\xbd\x8f", + [0x2f88] = "\xbd\x90", [0x2f89] = "\xbd\x91", [0x2f8a] = "\xbd\x92", + [0x2f8b] = "\xbd\x93", [0x2f8c] = "\xbd\x94", [0x2f8d] = "\xbd\x95", + [0x2f8e] = "\xbd\x96", [0x2f8f] = "\xbd\x97", [0x2f90] = "\xbd\x98", + [0x2f91] = "\xbd\x99", [0x2f92] = "\xbd\x9a", [0x2f93] = "\xbd\x9b", + [0x2f94] = "\xbd\x9c", [0x2f95] = "\xbd\x9d", [0x2f96] = "\xbd\x9e", + [0x2f97] = "\xbd\x9f", [0x2f98] = "\xbd\xa0", [0x2f99] = "\xbe\x40", + [0x2f9a] = "\xbe\x41", [0x2f9b] = "\xbe\x42", [0x2f9c] = "\xbe\x43", + [0x2f9d] = "\xbe\x44", [0x2f9e] = "\xbe\x45", [0x2f9f] = "\xbe\x46", + [0x2fa0] = "\xbe\x47", [0x2fa1] = "\xbe\x48", [0x2fa2] = "\xbe\x49", + [0x2fa3] = "\xbe\x4a", [0x2fa4] = "\xbe\x4b", [0x2fa5] = "\xbe\x4c", + [0x2fa6] = "\xf4\xeb", [0x2fa7] = "\xbe\x4d", [0x2fa8] = "\xbe\x4e", + [0x2fa9] = "\xbe\x4f", [0x2faa] = "\xbe\x50", [0x2fab] = "\xbe\x51", + [0x2fac] = "\xbe\x52", [0x2fad] = "\xbe\x53", [0x2fae] = "\xf4\xec", + [0x2faf] = "\xbe\x54", [0x2fb0] = "\xbe\x55", [0x2fb1] = "\xbe\x56", + [0x2fb2] = "\xbe\x57", [0x2fb3] = "\xbe\x58", [0x2fb4] = "\xbe\x59", + [0x2fb5] = "\xbe\x5a", [0x2fb6] = "\xbe\x5b", [0x2fb7] = "\xbe\x5c", + [0x2fb8] = "\xbe\x5d", [0x2fb9] = "\xbe\x5e", [0x2fba] = "\xbe\x5f", + [0x2fbb] = "\xbe\x60", [0x2fbc] = "\xbe\x61", [0x2fbd] = "\xbe\x62", + [0x2fbe] = "\xbe\x63", [0x2fbf] = "\xbe\x64", [0x2fc0] = "\xbe\x65", + [0x2fc1] = "\xbe\x66", [0x2fc2] = "\xbe\x67", [0x2fc3] = "\xbe\x68", + [0x2fc4] = "\xbe\x69", [0x2fc5] = "\xbe\x6a", [0x2fc6] = "\xbe\x6b", + [0x2fc7] = "\xbe\x6c", [0x2fc8] = "\xbe\x6d", [0x2fc9] = "\xbe\x6e", + [0x2fca] = "\xbe\x6f", [0x2fcb] = "\xbe\x70", [0x2fcc] = "\xbe\x71", + [0x2fcd] = "\xbe\x72", [0x2fce] = "\xbe\x73", [0x2fcf] = "\xbe\x74", + [0x2fd0] = "\xbe\x75", [0x2fd1] = "\xbe\x76", [0x2fd2] = "\xbe\x77", + [0x2fd3] = "\xbe\x78", [0x2fd4] = "\xbe\x79", [0x2fd5] = "\xbe\x7a", + [0x2fd6] = "\xbe\x7b", [0x2fd7] = "\xbe\x7c", [0x2fd8] = "\xbe\x7d", + [0x2fd9] = "\xbe\x7e", [0x2fda] = "\xbe\x80", [0x2fdb] = "\xbe\x81", + [0x2fdc] = "\xbe\x82", [0x2fdd] = "\xbe\x83", [0x2fde] = "\xbe\x84", + [0x2fdf] = "\xbe\x85", [0x2fe0] = "\xbe\x86", [0x2fe1] = "\xbe\x87", + [0x2fe2] = "\xbe\x88", [0x2fe3] = "\xbe\x89", [0x2fe4] = "\xbe\x8a", + [0x2fe5] = "\xbe\x8b", [0x2fe6] = "\xbe\x8c", [0x2fe7] = "\xbe\x8d", + [0x2fe8] = "\xbe\x8e", [0x2fe9] = "\xbe\x8f", [0x2fea] = "\xbe\x90", + [0x2feb] = "\xbe\x91", [0x2fec] = "\xbe\x92", [0x2fed] = "\xbe\x93", + [0x2fee] = "\xbe\x94", [0x2fef] = "\xbe\x95", [0x2ff0] = "\xbe\x96", + [0x2ff1] = "\xbe\x97", [0x2ff2] = "\xbe\x98", [0x2ff3] = "\xbe\x99", + [0x2ff4] = "\xbe\x9a", [0x2ff5] = "\xbe\x9b", [0x2ff6] = "\xbe\x9c", + [0x2ff7] = "\xbe\x9d", [0x2ff8] = "\xbe\x9e", [0x2ff9] = "\xbe\x9f", + [0x2ffa] = "\xbe\xa0", [0x2ffb] = "\xbf\x40", [0x2ffc] = "\xbf\x41", + [0x2ffd] = "\xbf\x42", [0x2ffe] = "\xbf\x43", [0x2fff] = "\xbf\x44", + [0x3000] = "\xbf\x45", [0x3001] = "\xbf\x46", [0x3002] = "\xbf\x47", + [0x3003] = "\xbf\x48", [0x3004] = "\xbf\x49", [0x3005] = "\xbf\x4a", + [0x3006] = "\xbf\x4b", [0x3007] = "\xbf\x4c", [0x3008] = "\xbf\x4d", + [0x3009] = "\xbf\x4e", [0x300a] = "\xbf\x4f", [0x300b] = "\xbf\x50", + [0x300c] = "\xbf\x51", [0x300d] = "\xbf\x52", [0x300e] = "\xbf\x53", + [0x300f] = "\xbf\x54", [0x3010] = "\xbf\x55", [0x3011] = "\xbf\x56", + [0x3012] = "\xbf\x57", [0x3013] = "\xbf\x58", [0x3014] = "\xbf\x59", + [0x3015] = "\xbf\x5a", [0x3016] = "\xbf\x5b", [0x3017] = "\xbf\x5c", + [0x3018] = "\xbf\x5d", [0x3019] = "\xbf\x5e", [0x301a] = "\xbf\x5f", + [0x301b] = "\xbf\x60", [0x301c] = "\xbf\x61", [0x301d] = "\xbf\x62", + [0x301e] = "\xbf\x63", [0x301f] = "\xbf\x64", [0x3020] = "\xbf\x65", + [0x3021] = "\xbf\x66", [0x3022] = "\xbf\x67", [0x3023] = "\xbf\x68", + [0x3024] = "\xbf\x69", [0x3025] = "\xbf\x6a", [0x3026] = "\xbf\x6b", + [0x3027] = "\xbf\x6c", [0x3028] = "\xbf\x6d", [0x3029] = "\xbf\x6e", + [0x302a] = "\xbf\x6f", [0x302b] = "\xbf\x70", [0x302c] = "\xbf\x71", + [0x302d] = "\xbf\x72", [0x302e] = "\xbf\x73", [0x302f] = "\xbf\x74", + [0x3030] = "\xbf\x75", [0x3031] = "\xbf\x76", [0x3032] = "\xbf\x77", + [0x3033] = "\xbf\x78", [0x3034] = "\xbf\x79", [0x3035] = "\xbf\x7a", + [0x3036] = "\xbf\x7b", [0x3037] = "\xbf\x7c", [0x3038] = "\xbf\x7d", + [0x3039] = "\xbf\x7e", [0x303a] = "\xbf\x80", [0x303b] = "\xf7\xe3", + [0x303c] = "\xbf\x81", [0x303d] = "\xbf\x82", [0x303e] = "\xbf\x83", + [0x303f] = "\xbf\x84", [0x3040] = "\xbf\x85", [0x3041] = "\xb7\xb1", + [0x3042] = "\xbf\x86", [0x3043] = "\xbf\x87", [0x3044] = "\xbf\x88", + [0x3045] = "\xbf\x89", [0x3046] = "\xbf\x8a", [0x3047] = "\xf4\xed", + [0x3048] = "\xbf\x8b", [0x3049] = "\xbf\x8c", [0x304a] = "\xbf\x8d", + [0x304b] = "\xbf\x8e", [0x304c] = "\xbf\x8f", [0x304d] = "\xbf\x90", + [0x304e] = "\xbf\x91", [0x304f] = "\xbf\x92", [0x3050] = "\xbf\x93", + [0x3051] = "\xbf\x94", [0x3052] = "\xbf\x95", [0x3053] = "\xbf\x96", + [0x3054] = "\xbf\x97", [0x3055] = "\xbf\x98", [0x3056] = "\xbf\x99", + [0x3057] = "\xbf\x9a", [0x3058] = "\xbf\x9b", [0x3059] = "\xbf\x9c", + [0x305a] = "\xbf\x9d", [0x305b] = "\xbf\x9e", [0x305c] = "\xbf\x9f", + [0x305d] = "\xbf\xa0", [0x305e] = "\xc0\x40", [0x305f] = "\xc0\x41", + [0x3060] = "\xc0\x42", [0x3061] = "\xc0\x43", [0x3062] = "\xc0\x44", + [0x3063] = "\xc0\x45", [0x3064] = "\xc0\x46", [0x3065] = "\xc0\x47", + [0x3066] = "\xc0\x48", [0x3067] = "\xc0\x49", [0x3068] = "\xc0\x4a", + [0x3069] = "\xc0\x4b", [0x306a] = "\xc0\x4c", [0x306b] = "\xc0\x4d", + [0x306c] = "\xc0\x4e", [0x306d] = "\xc0\x4f", [0x306e] = "\xc0\x50", + [0x306f] = "\xc0\x51", [0x3070] = "\xc0\x52", [0x3071] = "\xc0\x53", + [0x3072] = "\xc0\x54", [0x3073] = "\xc0\x55", [0x3074] = "\xc0\x56", + [0x3075] = "\xc0\x57", [0x3076] = "\xc0\x58", [0x3077] = "\xc0\x59", + [0x3078] = "\xc0\x5a", [0x3079] = "\xc0\x5b", [0x307a] = "\xc0\x5c", + [0x307b] = "\xc0\x5d", [0x307c] = "\xc0\x5e", [0x307d] = "\xc0\x5f", + [0x307e] = "\xc0\x60", [0x307f] = "\xc0\x61", [0x3080] = "\xc0\x62", + [0x3081] = "\xc0\x63", [0x3082] = "\xd7\xeb", [0x3083] = "\xc0\x64", + [0x3084] = "\xc0\x65", [0x3085] = "\xc0\x66", [0x3086] = "\xc0\x67", + [0x3087] = "\xc0\x68", [0x3088] = "\xc0\x69", [0x3089] = "\xc0\x6a", + [0x308a] = "\xc0\x6b", [0x308b] = "\xc0\x6c", [0x308c] = "\xc0\x6d", + [0x308d] = "\xc0\x6e", [0x308e] = "\xc0\x6f", [0x308f] = "\xc0\x70", + [0x3090] = "\xc0\x71", [0x3091] = "\xc0\x72", [0x3092] = "\xc0\x73", + [0x3093] = "\xc0\x74", [0x3094] = "\xc0\x75", [0x3095] = "\xc0\x76", + [0x3096] = "\xc0\x77", [0x3097] = "\xc0\x78", [0x3098] = "\xc0\x79", + [0x3099] = "\xc0\x7a", [0x309a] = "\xc0\x7b", [0x309b] = "\xf4\xee", + [0x309c] = "\xc0\x7c", [0x309d] = "\xc0\x7d", [0x309e] = "\xc0\x7e", + [0x309f] = "\xe6\xf9", [0x30a0] = "\xbe\xc0", [0x30a1] = "\xe6\xfa", + [0x30a2] = "\xba\xec", [0x30a3] = "\xe6\xfb", [0x30a4] = "\xcf\xcb", + [0x30a5] = "\xe6\xfc", [0x30a6] = "\xd4\xbc", [0x30a7] = "\xbc\xb6", + [0x30a8] = "\xe6\xfd", [0x30a9] = "\xe6\xfe", [0x30aa] = "\xbc\xcd", + [0x30ab] = "\xc8\xd2", [0x30ac] = "\xce\xb3", [0x30ad] = "\xe7\xa1", + [0x30ae] = "\xc0\x80", [0x30af] = "\xb4\xbf", [0x30b0] = "\xe7\xa2", + [0x30b1] = "\xc9\xb4", [0x30b2] = "\xb8\xd9", [0x30b3] = "\xc4\xc9", + [0x30b4] = "\xc0\x81", [0x30b5] = "\xd7\xdd", [0x30b6] = "\xc2\xda", + [0x30b7] = "\xb7\xd7", [0x30b8] = "\xd6\xbd", [0x30b9] = "\xce\xc6", + [0x30ba] = "\xb7\xc4", [0x30bb] = "\xc0\x82", [0x30bc] = "\xc0\x83", + [0x30bd] = "\xc5\xa6", [0x30be] = "\xe7\xa3", [0x30bf] = "\xcf\xdf", + [0x30c0] = "\xe7\xa4", [0x30c1] = "\xe7\xa5", [0x30c2] = "\xe7\xa6", + [0x30c3] = "\xc1\xb7", [0x30c4] = "\xd7\xe9", [0x30c5] = "\xc9\xf0", + [0x30c6] = "\xcf\xb8", [0x30c7] = "\xd6\xaf", [0x30c8] = "\xd6\xd5", + [0x30c9] = "\xe7\xa7", [0x30ca] = "\xb0\xed", [0x30cb] = "\xe7\xa8", + [0x30cc] = "\xe7\xa9", [0x30cd] = "\xc9\xdc", [0x30ce] = "\xd2\xef", + [0x30cf] = "\xbe\xad", [0x30d0] = "\xe7\xaa", [0x30d1] = "\xb0\xf3", + [0x30d2] = "\xc8\xde", [0x30d3] = "\xbd\xe1", [0x30d4] = "\xe7\xab", + [0x30d5] = "\xc8\xc6", [0x30d6] = "\xc0\x84", [0x30d7] = "\xe7\xac", + [0x30d8] = "\xbb\xe6", [0x30d9] = "\xb8\xf8", [0x30da] = "\xd1\xa4", + [0x30db] = "\xe7\xad", [0x30dc] = "\xc2\xe7", [0x30dd] = "\xbe\xf8", + [0x30de] = "\xbd\xca", [0x30df] = "\xcd\xb3", [0x30e0] = "\xe7\xae", + [0x30e1] = "\xe7\xaf", [0x30e2] = "\xbe\xee", [0x30e3] = "\xd0\xe5", + [0x30e4] = "\xc0\x85", [0x30e5] = "\xcb\xe7", [0x30e6] = "\xcc\xd0", + [0x30e7] = "\xbc\xcc", [0x30e8] = "\xe7\xb0", [0x30e9] = "\xbc\xa8", + [0x30ea] = "\xd0\xf7", [0x30eb] = "\xe7\xb1", [0x30ec] = "\xc0\x86", + [0x30ed] = "\xd0\xf8", [0x30ee] = "\xe7\xb2", [0x30ef] = "\xe7\xb3", + [0x30f0] = "\xb4\xc2", [0x30f1] = "\xe7\xb4", [0x30f2] = "\xe7\xb5", + [0x30f3] = "\xc9\xfe", [0x30f4] = "\xce\xac", [0x30f5] = "\xc3\xe0", + [0x30f6] = "\xe7\xb7", [0x30f7] = "\xb1\xc1", [0x30f8] = "\xb3\xf1", + [0x30f9] = "\xc0\x87", [0x30fa] = "\xe7\xb8", [0x30fb] = "\xe7\xb9", + [0x30fc] = "\xd7\xdb", [0x30fd] = "\xd5\xc0", [0x30fe] = "\xe7\xba", + [0x30ff] = "\xc2\xcc", [0x3100] = "\xd7\xba", [0x3101] = "\xe7\xbb", + [0x3102] = "\xe7\xbc", [0x3103] = "\xe7\xbd", [0x3104] = "\xbc\xea", + [0x3105] = "\xc3\xe5", [0x3106] = "\xc0\xc2", [0x3107] = "\xe7\xbe", + [0x3108] = "\xe7\xbf", [0x3109] = "\xbc\xa9", [0x310a] = "\xc0\x88", + [0x310b] = "\xe7\xc0", [0x310c] = "\xe7\xc1", [0x310d] = "\xe7\xb6", + [0x310e] = "\xb6\xd0", [0x310f] = "\xe7\xc2", [0x3110] = "\xc0\x89", + [0x3111] = "\xe7\xc3", [0x3112] = "\xe7\xc4", [0x3113] = "\xbb\xba", + [0x3114] = "\xb5\xde", [0x3115] = "\xc2\xc6", [0x3116] = "\xb1\xe0", + [0x3117] = "\xe7\xc5", [0x3118] = "\xd4\xb5", [0x3119] = "\xe7\xc6", + [0x311a] = "\xb8\xbf", [0x311b] = "\xe7\xc8", [0x311c] = "\xe7\xc7", + [0x311d] = "\xb7\xec", [0x311e] = "\xc0\x8a", [0x311f] = "\xe7\xc9", + [0x3120] = "\xb2\xf8", [0x3121] = "\xe7\xca", [0x3122] = "\xe7\xcb", + [0x3123] = "\xe7\xcc", [0x3124] = "\xe7\xcd", [0x3125] = "\xe7\xce", + [0x3126] = "\xe7\xcf", [0x3127] = "\xe7\xd0", [0x3128] = "\xd3\xa7", + [0x3129] = "\xcb\xf5", [0x312a] = "\xe7\xd1", [0x312b] = "\xe7\xd2", + [0x312c] = "\xe7\xd3", [0x312d] = "\xe7\xd4", [0x312e] = "\xc9\xc9", + [0x312f] = "\xe7\xd5", [0x3130] = "\xe7\xd6", [0x3131] = "\xe7\xd7", + [0x3132] = "\xe7\xd8", [0x3133] = "\xe7\xd9", [0x3134] = "\xbd\xc9", + [0x3135] = "\xe7\xda", [0x3136] = "\xf3\xbe", [0x3137] = "\xc0\x8b", + [0x3138] = "\xb8\xd7", [0x3139] = "\xc0\x8c", [0x313a] = "\xc8\xb1", + [0x313b] = "\xc0\x8d", [0x313c] = "\xc0\x8e", [0x313d] = "\xc0\x8f", + [0x313e] = "\xc0\x90", [0x313f] = "\xc0\x91", [0x3140] = "\xc0\x92", + [0x3141] = "\xc0\x93", [0x3142] = "\xf3\xbf", [0x3143] = "\xc0\x94", + [0x3144] = "\xf3\xc0", [0x3145] = "\xf3\xc1", [0x3146] = "\xc0\x95", + [0x3147] = "\xc0\x96", [0x3148] = "\xc0\x97", [0x3149] = "\xc0\x98", + [0x314a] = "\xc0\x99", [0x314b] = "\xc0\x9a", [0x314c] = "\xc0\x9b", + [0x314d] = "\xc0\x9c", [0x314e] = "\xc0\x9d", [0x314f] = "\xc0\x9e", + [0x3150] = "\xb9\xde", [0x3151] = "\xcd\xf8", [0x3152] = "\xc0\x9f", + [0x3153] = "\xc0\xa0", [0x3154] = "\xd8\xe8", [0x3155] = "\xba\xb1", + [0x3156] = "\xc1\x40", [0x3157] = "\xc2\xde", [0x3158] = "\xee\xb7", + [0x3159] = "\xc1\x41", [0x315a] = "\xb7\xa3", [0x315b] = "\xc1\x42", + [0x315c] = "\xc1\x43", [0x315d] = "\xc1\x44", [0x315e] = "\xc1\x45", + [0x315f] = "\xee\xb9", [0x3160] = "\xc1\x46", [0x3161] = "\xee\xb8", + [0x3162] = "\xb0\xd5", [0x3163] = "\xc1\x47", [0x3164] = "\xc1\x48", + [0x3165] = "\xc1\x49", [0x3166] = "\xc1\x4a", [0x3167] = "\xc1\x4b", + [0x3168] = "\xee\xbb", [0x3169] = "\xd5\xd6", [0x316a] = "\xd7\xef", + [0x316b] = "\xc1\x4c", [0x316c] = "\xc1\x4d", [0x316d] = "\xc1\x4e", + [0x316e] = "\xd6\xc3", [0x316f] = "\xc1\x4f", [0x3170] = "\xc1\x50", + [0x3171] = "\xee\xbd", [0x3172] = "\xca\xf0", [0x3173] = "\xc1\x51", + [0x3174] = "\xee\xbc", [0x3175] = "\xc1\x52", [0x3176] = "\xc1\x53", + [0x3177] = "\xc1\x54", [0x3178] = "\xc1\x55", [0x3179] = "\xee\xbe", + [0x317a] = "\xc1\x56", [0x317b] = "\xc1\x57", [0x317c] = "\xc1\x58", + [0x317d] = "\xc1\x59", [0x317e] = "\xee\xc0", [0x317f] = "\xc1\x5a", + [0x3180] = "\xc1\x5b", [0x3181] = "\xee\xbf", [0x3182] = "\xc1\x5c", + [0x3183] = "\xc1\x5d", [0x3184] = "\xc1\x5e", [0x3185] = "\xc1\x5f", + [0x3186] = "\xc1\x60", [0x3187] = "\xc1\x61", [0x3188] = "\xc1\x62", + [0x3189] = "\xc1\x63", [0x318a] = "\xd1\xf2", [0x318b] = "\xc1\x64", + [0x318c] = "\xc7\xbc", [0x318d] = "\xc1\x65", [0x318e] = "\xc3\xc0", + [0x318f] = "\xc1\x66", [0x3190] = "\xc1\x67", [0x3191] = "\xc1\x68", + [0x3192] = "\xc1\x69", [0x3193] = "\xc1\x6a", [0x3194] = "\xb8\xe1", + [0x3195] = "\xc1\x6b", [0x3196] = "\xc1\x6c", [0x3197] = "\xc1\x6d", + [0x3198] = "\xc1\x6e", [0x3199] = "\xc1\x6f", [0x319a] = "\xc1\xe7", + [0x319b] = "\xc1\x70", [0x319c] = "\xc1\x71", [0x319d] = "\xf4\xc6", + [0x319e] = "\xd0\xdf", [0x319f] = "\xf4\xc7", [0x31a0] = "\xc1\x72", + [0x31a1] = "\xcf\xdb", [0x31a2] = "\xc1\x73", [0x31a3] = "\xc1\x74", + [0x31a4] = "\xc8\xba", [0x31a5] = "\xc1\x75", [0x31a6] = "\xc1\x76", + [0x31a7] = "\xf4\xc8", [0x31a8] = "\xc1\x77", [0x31a9] = "\xc1\x78", + [0x31aa] = "\xc1\x79", [0x31ab] = "\xc1\x7a", [0x31ac] = "\xc1\x7b", + [0x31ad] = "\xc1\x7c", [0x31ae] = "\xc1\x7d", [0x31af] = "\xf4\xc9", + [0x31b0] = "\xf4\xca", [0x31b1] = "\xc1\x7e", [0x31b2] = "\xf4\xcb", + [0x31b3] = "\xc1\x80", [0x31b4] = "\xc1\x81", [0x31b5] = "\xc1\x82", + [0x31b6] = "\xc1\x83", [0x31b7] = "\xc1\x84", [0x31b8] = "\xd9\xfa", + [0x31b9] = "\xb8\xfe", [0x31ba] = "\xc1\x85", [0x31bb] = "\xc1\x86", + [0x31bc] = "\xe5\xf1", [0x31bd] = "\xd3\xf0", [0x31be] = "\xc1\x87", + [0x31bf] = "\xf4\xe0", [0x31c0] = "\xc1\x88", [0x31c1] = "\xce\xcc", + [0x31c2] = "\xc1\x89", [0x31c3] = "\xc1\x8a", [0x31c4] = "\xc1\x8b", + [0x31c5] = "\xb3\xe1", [0x31c6] = "\xc1\x8c", [0x31c7] = "\xc1\x8d", + [0x31c8] = "\xc1\x8e", [0x31c9] = "\xc1\x8f", [0x31ca] = "\xf1\xb4", + [0x31cb] = "\xc1\x90", [0x31cc] = "\xd2\xee", [0x31cd] = "\xc1\x91", + [0x31ce] = "\xf4\xe1", [0x31cf] = "\xc1\x92", [0x31d0] = "\xc1\x93", + [0x31d1] = "\xc1\x94", [0x31d2] = "\xc1\x95", [0x31d3] = "\xc1\x96", + [0x31d4] = "\xcf\xe8", [0x31d5] = "\xf4\xe2", [0x31d6] = "\xc1\x97", + [0x31d7] = "\xc1\x98", [0x31d8] = "\xc7\xcc", [0x31d9] = "\xc1\x99", + [0x31da] = "\xc1\x9a", [0x31db] = "\xc1\x9b", [0x31dc] = "\xc1\x9c", + [0x31dd] = "\xc1\x9d", [0x31de] = "\xc1\x9e", [0x31df] = "\xb5\xd4", + [0x31e0] = "\xb4\xe4", [0x31e1] = "\xf4\xe4", [0x31e2] = "\xc1\x9f", + [0x31e3] = "\xc1\xa0", [0x31e4] = "\xc2\x40", [0x31e5] = "\xf4\xe3", + [0x31e6] = "\xf4\xe5", [0x31e7] = "\xc2\x41", [0x31e8] = "\xc2\x42", + [0x31e9] = "\xf4\xe6", [0x31ea] = "\xc2\x43", [0x31eb] = "\xc2\x44", + [0x31ec] = "\xc2\x45", [0x31ed] = "\xc2\x46", [0x31ee] = "\xf4\xe7", + [0x31ef] = "\xc2\x47", [0x31f0] = "\xba\xb2", [0x31f1] = "\xb0\xbf", + [0x31f2] = "\xc2\x48", [0x31f3] = "\xf4\xe8", [0x31f4] = "\xc2\x49", + [0x31f5] = "\xc2\x4a", [0x31f6] = "\xc2\x4b", [0x31f7] = "\xc2\x4c", + [0x31f8] = "\xc2\x4d", [0x31f9] = "\xc2\x4e", [0x31fa] = "\xc2\x4f", + [0x31fb] = "\xb7\xad", [0x31fc] = "\xd2\xed", [0x31fd] = "\xc2\x50", + [0x31fe] = "\xc2\x51", [0x31ff] = "\xc2\x52", [0x3200] = "\xd2\xab", + [0x3201] = "\xc0\xcf", [0x3202] = "\xc2\x53", [0x3203] = "\xbf\xbc", + [0x3204] = "\xeb\xa3", [0x3205] = "\xd5\xdf", [0x3206] = "\xea\xc8", + [0x3207] = "\xc2\x54", [0x3208] = "\xc2\x55", [0x3209] = "\xc2\x56", + [0x320a] = "\xc2\x57", [0x320b] = "\xf1\xf3", [0x320c] = "\xb6\xf8", + [0x320d] = "\xcb\xa3", [0x320e] = "\xc2\x58", [0x320f] = "\xc2\x59", + [0x3210] = "\xc4\xcd", [0x3211] = "\xc2\x5a", [0x3212] = "\xf1\xe7", + [0x3213] = "\xc2\x5b", [0x3214] = "\xf1\xe8", [0x3215] = "\xb8\xfb", + [0x3216] = "\xf1\xe9", [0x3217] = "\xba\xc4", [0x3218] = "\xd4\xc5", + [0x3219] = "\xb0\xd2", [0x321a] = "\xc2\x5c", [0x321b] = "\xc2\x5d", + [0x321c] = "\xf1\xea", [0x321d] = "\xc2\x5e", [0x321e] = "\xc2\x5f", + [0x321f] = "\xc2\x60", [0x3220] = "\xf1\xeb", [0x3221] = "\xc2\x61", + [0x3222] = "\xf1\xec", [0x3223] = "\xc2\x62", [0x3224] = "\xc2\x63", + [0x3225] = "\xf1\xed", [0x3226] = "\xf1\xee", [0x3227] = "\xf1\xef", + [0x3228] = "\xf1\xf1", [0x3229] = "\xf1\xf0", [0x322a] = "\xc5\xd5", + [0x322b] = "\xc2\x64", [0x322c] = "\xc2\x65", [0x322d] = "\xc2\x66", + [0x322e] = "\xc2\x67", [0x322f] = "\xc2\x68", [0x3230] = "\xc2\x69", + [0x3231] = "\xf1\xf2", [0x3232] = "\xc2\x6a", [0x3233] = "\xb6\xfa", + [0x3234] = "\xc2\x6b", [0x3235] = "\xf1\xf4", [0x3236] = "\xd2\xae", + [0x3237] = "\xde\xc7", [0x3238] = "\xcb\xca", [0x3239] = "\xc2\x6c", + [0x323a] = "\xc2\x6d", [0x323b] = "\xb3\xdc", [0x323c] = "\xc2\x6e", + [0x323d] = "\xb5\xa2", [0x323e] = "\xc2\x6f", [0x323f] = "\xb9\xa2", + [0x3240] = "\xc2\x70", [0x3241] = "\xc2\x71", [0x3242] = "\xc4\xf4", + [0x3243] = "\xf1\xf5", [0x3244] = "\xc2\x72", [0x3245] = "\xc2\x73", + [0x3246] = "\xf1\xf6", [0x3247] = "\xc2\x74", [0x3248] = "\xc2\x75", + [0x3249] = "\xc2\x76", [0x324a] = "\xc1\xc4", [0x324b] = "\xc1\xfb", + [0x324c] = "\xd6\xb0", [0x324d] = "\xf1\xf7", [0x324e] = "\xc2\x77", + [0x324f] = "\xc2\x78", [0x3250] = "\xc2\x79", [0x3251] = "\xc2\x7a", + [0x3252] = "\xf1\xf8", [0x3253] = "\xc2\x7b", [0x3254] = "\xc1\xaa", + [0x3255] = "\xc2\x7c", [0x3256] = "\xc2\x7d", [0x3257] = "\xc2\x7e", + [0x3258] = "\xc6\xb8", [0x3259] = "\xc2\x80", [0x325a] = "\xbe\xdb", + [0x325b] = "\xc2\x81", [0x325c] = "\xc2\x82", [0x325d] = "\xc2\x83", + [0x325e] = "\xc2\x84", [0x325f] = "\xc2\x85", [0x3260] = "\xc2\x86", + [0x3261] = "\xc2\x87", [0x3262] = "\xc2\x88", [0x3263] = "\xc2\x89", + [0x3264] = "\xc2\x8a", [0x3265] = "\xc2\x8b", [0x3266] = "\xc2\x8c", + [0x3267] = "\xc2\x8d", [0x3268] = "\xc2\x8e", [0x3269] = "\xf1\xf9", + [0x326a] = "\xb4\xcf", [0x326b] = "\xc2\x8f", [0x326c] = "\xc2\x90", + [0x326d] = "\xc2\x91", [0x326e] = "\xc2\x92", [0x326f] = "\xc2\x93", + [0x3270] = "\xc2\x94", [0x3271] = "\xf1\xfa", [0x3272] = "\xc2\x95", + [0x3273] = "\xc2\x96", [0x3274] = "\xc2\x97", [0x3275] = "\xc2\x98", + [0x3276] = "\xc2\x99", [0x3277] = "\xc2\x9a", [0x3278] = "\xc2\x9b", + [0x3279] = "\xc2\x9c", [0x327a] = "\xc2\x9d", [0x327b] = "\xc2\x9e", + [0x327c] = "\xc2\x9f", [0x327d] = "\xc2\xa0", [0x327e] = "\xc3\x40", + [0x327f] = "\xed\xb2", [0x3280] = "\xed\xb1", [0x3281] = "\xc3\x41", + [0x3282] = "\xc3\x42", [0x3283] = "\xcb\xe0", [0x3284] = "\xd2\xde", + [0x3285] = "\xc3\x43", [0x3286] = "\xcb\xc1", [0x3287] = "\xd5\xd8", + [0x3288] = "\xc3\x44", [0x3289] = "\xc8\xe2", [0x328a] = "\xc3\x45", + [0x328b] = "\xc0\xdf", [0x328c] = "\xbc\xa1", [0x328d] = "\xc3\x46", + [0x328e] = "\xc3\x47", [0x328f] = "\xc3\x48", [0x3290] = "\xc3\x49", + [0x3291] = "\xc3\x4a", [0x3292] = "\xc3\x4b", [0x3293] = "\xeb\xc1", + [0x3294] = "\xc3\x4c", [0x3295] = "\xc3\x4d", [0x3296] = "\xd0\xa4", + [0x3297] = "\xc3\x4e", [0x3298] = "\xd6\xe2", [0x3299] = "\xc3\x4f", + [0x329a] = "\xb6\xc7", [0x329b] = "\xb8\xd8", [0x329c] = "\xeb\xc0", + [0x329d] = "\xb8\xce", [0x329e] = "\xc3\x50", [0x329f] = "\xeb\xbf", + [0x32a0] = "\xb3\xa6", [0x32a1] = "\xb9\xc9", [0x32a2] = "\xd6\xab", + [0x32a3] = "\xc3\x51", [0x32a4] = "\xb7\xf4", [0x32a5] = "\xb7\xca", + [0x32a6] = "\xc3\x52", [0x32a7] = "\xc3\x53", [0x32a8] = "\xc3\x54", + [0x32a9] = "\xbc\xe7", [0x32aa] = "\xb7\xbe", [0x32ab] = "\xeb\xc6", + [0x32ac] = "\xc3\x55", [0x32ad] = "\xeb\xc7", [0x32ae] = "\xb0\xb9", + [0x32af] = "\xbf\xcf", [0x32b0] = "\xc3\x56", [0x32b1] = "\xeb\xc5", + [0x32b2] = "\xd3\xfd", [0x32b3] = "\xc3\x57", [0x32b4] = "\xeb\xc8", + [0x32b5] = "\xc3\x58", [0x32b6] = "\xc3\x59", [0x32b7] = "\xeb\xc9", + [0x32b8] = "\xc3\x5a", [0x32b9] = "\xc3\x5b", [0x32ba] = "\xb7\xce", + [0x32bb] = "\xc3\x5c", [0x32bc] = "\xeb\xc2", [0x32bd] = "\xeb\xc4", + [0x32be] = "\xc9\xf6", [0x32bf] = "\xd6\xd7", [0x32c0] = "\xd5\xcd", + [0x32c1] = "\xd0\xb2", [0x32c2] = "\xeb\xcf", [0x32c3] = "\xce\xb8", + [0x32c4] = "\xeb\xd0", [0x32c5] = "\xc3\x5d", [0x32c6] = "\xb5\xa8", + [0x32c7] = "\xc3\x5e", [0x32c8] = "\xc3\x5f", [0x32c9] = "\xc3\x60", + [0x32ca] = "\xc3\x61", [0x32cb] = "\xc3\x62", [0x32cc] = "\xb1\xb3", + [0x32cd] = "\xeb\xd2", [0x32ce] = "\xcc\xa5", [0x32cf] = "\xc3\x63", + [0x32d0] = "\xc3\x64", [0x32d1] = "\xc3\x65", [0x32d2] = "\xc3\x66", + [0x32d3] = "\xc3\x67", [0x32d4] = "\xc3\x68", [0x32d5] = "\xc3\x69", + [0x32d6] = "\xc5\xd6", [0x32d7] = "\xeb\xd3", [0x32d8] = "\xc3\x6a", + [0x32d9] = "\xeb\xd1", [0x32da] = "\xc5\xdf", [0x32db] = "\xeb\xce", + [0x32dc] = "\xca\xa4", [0x32dd] = "\xeb\xd5", [0x32de] = "\xb0\xfb", + [0x32df] = "\xc3\x6b", [0x32e0] = "\xc3\x6c", [0x32e1] = "\xba\xfa", + [0x32e2] = "\xc3\x6d", [0x32e3] = "\xc3\x6e", [0x32e4] = "\xd8\xb7", + [0x32e5] = "\xf1\xe3", [0x32e6] = "\xc3\x6f", [0x32e7] = "\xeb\xca", + [0x32e8] = "\xeb\xcb", [0x32e9] = "\xeb\xcc", [0x32ea] = "\xeb\xcd", + [0x32eb] = "\xeb\xd6", [0x32ec] = "\xe6\xc0", [0x32ed] = "\xeb\xd9", + [0x32ee] = "\xc3\x70", [0x32ef] = "\xbf\xe8", [0x32f0] = "\xd2\xc8", + [0x32f1] = "\xeb\xd7", [0x32f2] = "\xeb\xdc", [0x32f3] = "\xb8\xec", + [0x32f4] = "\xeb\xd8", [0x32f5] = "\xc3\x71", [0x32f6] = "\xbd\xba", + [0x32f7] = "\xc3\x72", [0x32f8] = "\xd0\xd8", [0x32f9] = "\xc3\x73", + [0x32fa] = "\xb0\xb7", [0x32fb] = "\xc3\x74", [0x32fc] = "\xeb\xdd", + [0x32fd] = "\xc4\xdc", [0x32fe] = "\xc3\x75", [0x32ff] = "\xc3\x76", + [0x3300] = "\xc3\x77", [0x3301] = "\xc3\x78", [0x3302] = "\xd6\xac", + [0x3303] = "\xc3\x79", [0x3304] = "\xc3\x7a", [0x3305] = "\xc3\x7b", + [0x3306] = "\xb4\xe0", [0x3307] = "\xc3\x7c", [0x3308] = "\xc3\x7d", + [0x3309] = "\xc2\xf6", [0x330a] = "\xbc\xb9", [0x330b] = "\xc3\x7e", + [0x330c] = "\xc3\x80", [0x330d] = "\xeb\xda", [0x330e] = "\xeb\xdb", + [0x330f] = "\xd4\xe0", [0x3310] = "\xc6\xea", [0x3311] = "\xc4\xd4", + [0x3312] = "\xeb\xdf", [0x3313] = "\xc5\xa7", [0x3314] = "\xd9\xf5", + [0x3315] = "\xc3\x81", [0x3316] = "\xb2\xb1", [0x3317] = "\xc3\x82", + [0x3318] = "\xeb\xe4", [0x3319] = "\xc3\x83", [0x331a] = "\xbd\xc5", + [0x331b] = "\xc3\x84", [0x331c] = "\xc3\x85", [0x331d] = "\xc3\x86", + [0x331e] = "\xeb\xe2", [0x331f] = "\xc3\x87", [0x3320] = "\xc3\x88", + [0x3321] = "\xc3\x89", [0x3322] = "\xc3\x8a", [0x3323] = "\xc3\x8b", + [0x3324] = "\xc3\x8c", [0x3325] = "\xc3\x8d", [0x3326] = "\xc3\x8e", + [0x3327] = "\xc3\x8f", [0x3328] = "\xc3\x90", [0x3329] = "\xc3\x91", + [0x332a] = "\xc3\x92", [0x332b] = "\xc3\x93", [0x332c] = "\xeb\xe3", + [0x332d] = "\xc3\x94", [0x332e] = "\xc3\x95", [0x332f] = "\xb8\xac", + [0x3330] = "\xc3\x96", [0x3331] = "\xcd\xd1", [0x3332] = "\xeb\xe5", + [0x3333] = "\xc3\x97", [0x3334] = "\xc3\x98", [0x3335] = "\xc3\x99", + [0x3336] = "\xeb\xe1", [0x3337] = "\xc3\x9a", [0x3338] = "\xc1\xb3", + [0x3339] = "\xc3\x9b", [0x333a] = "\xc3\x9c", [0x333b] = "\xc3\x9d", + [0x333c] = "\xc3\x9e", [0x333d] = "\xc3\x9f", [0x333e] = "\xc6\xa2", + [0x333f] = "\xc3\xa0", [0x3340] = "\xc4\x40", [0x3341] = "\xc4\x41", + [0x3342] = "\xc4\x42", [0x3343] = "\xc4\x43", [0x3344] = "\xc4\x44", + [0x3345] = "\xc4\x45", [0x3346] = "\xcc\xf3", [0x3347] = "\xc4\x46", + [0x3348] = "\xeb\xe6", [0x3349] = "\xc4\x47", [0x334a] = "\xc0\xb0", + [0x334b] = "\xd2\xb8", [0x334c] = "\xeb\xe7", [0x334d] = "\xc4\x48", + [0x334e] = "\xc4\x49", [0x334f] = "\xc4\x4a", [0x3350] = "\xb8\xaf", + [0x3351] = "\xb8\xad", [0x3352] = "\xc4\x4b", [0x3353] = "\xeb\xe8", + [0x3354] = "\xc7\xbb", [0x3355] = "\xcd\xf3", [0x3356] = "\xc4\x4c", + [0x3357] = "\xc4\x4d", [0x3358] = "\xc4\x4e", [0x3359] = "\xeb\xea", + [0x335a] = "\xeb\xeb", [0x335b] = "\xc4\x4f", [0x335c] = "\xc4\x50", + [0x335d] = "\xc4\x51", [0x335e] = "\xc4\x52", [0x335f] = "\xc4\x53", + [0x3360] = "\xeb\xed", [0x3361] = "\xc4\x54", [0x3362] = "\xc4\x55", + [0x3363] = "\xc4\x56", [0x3364] = "\xc4\x57", [0x3365] = "\xd0\xc8", + [0x3366] = "\xc4\x58", [0x3367] = "\xeb\xf2", [0x3368] = "\xc4\x59", + [0x3369] = "\xeb\xee", [0x336a] = "\xc4\x5a", [0x336b] = "\xc4\x5b", + [0x336c] = "\xc4\x5c", [0x336d] = "\xeb\xf1", [0x336e] = "\xc8\xf9", + [0x336f] = "\xc4\x5d", [0x3370] = "\xd1\xfc", [0x3371] = "\xeb\xec", + [0x3372] = "\xc4\x5e", [0x3373] = "\xc4\x5f", [0x3374] = "\xeb\xe9", + [0x3375] = "\xc4\x60", [0x3376] = "\xc4\x61", [0x3377] = "\xc4\x62", + [0x3378] = "\xc4\x63", [0x3379] = "\xb8\xb9", [0x337a] = "\xcf\xd9", + [0x337b] = "\xc4\xe5", [0x337c] = "\xeb\xef", [0x337d] = "\xeb\xf0", + [0x337e] = "\xcc\xda", [0x337f] = "\xcd\xc8", [0x3380] = "\xb0\xf2", + [0x3381] = "\xc4\x64", [0x3382] = "\xeb\xf6", [0x3383] = "\xc4\x65", + [0x3384] = "\xc4\x66", [0x3385] = "\xc4\x67", [0x3386] = "\xc4\x68", + [0x3387] = "\xc4\x69", [0x3388] = "\xeb\xf5", [0x3389] = "\xc4\x6a", + [0x338a] = "\xb2\xb2", [0x338b] = "\xc4\x6b", [0x338c] = "\xc4\x6c", + [0x338d] = "\xc4\x6d", [0x338e] = "\xc4\x6e", [0x338f] = "\xb8\xe0", + [0x3390] = "\xc4\x6f", [0x3391] = "\xeb\xf7", [0x3392] = "\xc4\x70", + [0x3393] = "\xc4\x71", [0x3394] = "\xc4\x72", [0x3395] = "\xc4\x73", + [0x3396] = "\xc4\x74", [0x3397] = "\xc4\x75", [0x3398] = "\xb1\xec", + [0x3399] = "\xc4\x76", [0x339a] = "\xc4\x77", [0x339b] = "\xcc\xc5", + [0x339c] = "\xc4\xa4", [0x339d] = "\xcf\xa5", [0x339e] = "\xc4\x78", + [0x339f] = "\xc4\x79", [0x33a0] = "\xc4\x7a", [0x33a1] = "\xc4\x7b", + [0x33a2] = "\xc4\x7c", [0x33a3] = "\xeb\xf9", [0x33a4] = "\xc4\x7d", + [0x33a5] = "\xc4\x7e", [0x33a6] = "\xec\xa2", [0x33a7] = "\xc4\x80", + [0x33a8] = "\xc5\xf2", [0x33a9] = "\xc4\x81", [0x33aa] = "\xeb\xfa", + [0x33ab] = "\xc4\x82", [0x33ac] = "\xc4\x83", [0x33ad] = "\xc4\x84", + [0x33ae] = "\xc4\x85", [0x33af] = "\xc4\x86", [0x33b0] = "\xc4\x87", + [0x33b1] = "\xc4\x88", [0x33b2] = "\xc4\x89", [0x33b3] = "\xc9\xc5", + [0x33b4] = "\xc4\x8a", [0x33b5] = "\xc4\x8b", [0x33b6] = "\xc4\x8c", + [0x33b7] = "\xc4\x8d", [0x33b8] = "\xc4\x8e", [0x33b9] = "\xc4\x8f", + [0x33ba] = "\xe2\xdf", [0x33bb] = "\xeb\xfe", [0x33bc] = "\xc4\x90", + [0x33bd] = "\xc4\x91", [0x33be] = "\xc4\x92", [0x33bf] = "\xc4\x93", + [0x33c0] = "\xcd\xce", [0x33c1] = "\xec\xa1", [0x33c2] = "\xb1\xdb", + [0x33c3] = "\xd3\xb7", [0x33c4] = "\xc4\x94", [0x33c5] = "\xc4\x95", + [0x33c6] = "\xd2\xdc", [0x33c7] = "\xc4\x96", [0x33c8] = "\xc4\x97", + [0x33c9] = "\xc4\x98", [0x33ca] = "\xeb\xfd", [0x33cb] = "\xc4\x99", + [0x33cc] = "\xeb\xfb", [0x33cd] = "\xc4\x9a", [0x33ce] = "\xc4\x9b", + [0x33cf] = "\xc4\x9c", [0x33d0] = "\xc4\x9d", [0x33d1] = "\xc4\x9e", + [0x33d2] = "\xc4\x9f", [0x33d3] = "\xc4\xa0", [0x33d4] = "\xc5\x40", + [0x33d5] = "\xc5\x41", [0x33d6] = "\xc5\x42", [0x33d7] = "\xc5\x43", + [0x33d8] = "\xc5\x44", [0x33d9] = "\xc5\x45", [0x33da] = "\xc5\x46", + [0x33db] = "\xc5\x47", [0x33dc] = "\xc5\x48", [0x33dd] = "\xc5\x49", + [0x33de] = "\xc5\x4a", [0x33df] = "\xc5\x4b", [0x33e0] = "\xc5\x4c", + [0x33e1] = "\xc5\x4d", [0x33e2] = "\xc5\x4e", [0x33e3] = "\xb3\xbc", + [0x33e4] = "\xc5\x4f", [0x33e5] = "\xc5\x50", [0x33e6] = "\xc5\x51", + [0x33e7] = "\xea\xb0", [0x33e8] = "\xc5\x52", [0x33e9] = "\xc5\x53", + [0x33ea] = "\xd7\xd4", [0x33eb] = "\xc5\x54", [0x33ec] = "\xf4\xab", + [0x33ed] = "\xb3\xf4", [0x33ee] = "\xc5\x55", [0x33ef] = "\xc5\x56", + [0x33f0] = "\xc5\x57", [0x33f1] = "\xc5\x58", [0x33f2] = "\xc5\x59", + [0x33f3] = "\xd6\xc1", [0x33f4] = "\xd6\xc2", [0x33f5] = "\xc5\x5a", + [0x33f6] = "\xc5\x5b", [0x33f7] = "\xc5\x5c", [0x33f8] = "\xc5\x5d", + [0x33f9] = "\xc5\x5e", [0x33fa] = "\xc5\x5f", [0x33fb] = "\xd5\xe9", + [0x33fc] = "\xbe\xca", [0x33fd] = "\xc5\x60", [0x33fe] = "\xf4\xa7", + [0x33ff] = "\xc5\x61", [0x3400] = "\xd2\xa8", [0x3401] = "\xf4\xa8", + [0x3402] = "\xf4\xa9", [0x3403] = "\xc5\x62", [0x3404] = "\xf4\xaa", + [0x3405] = "\xbe\xcb", [0x3406] = "\xd3\xdf", [0x3407] = "\xc5\x63", + [0x3408] = "\xc5\x64", [0x3409] = "\xc5\x65", [0x340a] = "\xc5\x66", + [0x340b] = "\xc5\x67", [0x340c] = "\xc9\xe0", [0x340d] = "\xc9\xe1", + [0x340e] = "\xc5\x68", [0x340f] = "\xc5\x69", [0x3410] = "\xf3\xc2", + [0x3411] = "\xc5\x6a", [0x3412] = "\xca\xe6", [0x3413] = "\xc5\x6b", + [0x3414] = "\xcc\xf2", [0x3415] = "\xc5\x6c", [0x3416] = "\xc5\x6d", + [0x3417] = "\xc5\x6e", [0x3418] = "\xc5\x6f", [0x3419] = "\xc5\x70", + [0x341a] = "\xc5\x71", [0x341b] = "\xe2\xb6", [0x341c] = "\xcb\xb4", + [0x341d] = "\xc5\x72", [0x341e] = "\xce\xe8", [0x341f] = "\xd6\xdb", + [0x3420] = "\xc5\x73", [0x3421] = "\xf4\xad", [0x3422] = "\xf4\xae", + [0x3423] = "\xf4\xaf", [0x3424] = "\xc5\x74", [0x3425] = "\xc5\x75", + [0x3426] = "\xc5\x76", [0x3427] = "\xc5\x77", [0x3428] = "\xf4\xb2", + [0x3429] = "\xc5\x78", [0x342a] = "\xba\xbd", [0x342b] = "\xf4\xb3", + [0x342c] = "\xb0\xe3", [0x342d] = "\xf4\xb0", [0x342e] = "\xc5\x79", + [0x342f] = "\xf4\xb1", [0x3430] = "\xbd\xa2", [0x3431] = "\xb2\xd5", + [0x3432] = "\xc5\x7a", [0x3433] = "\xf4\xb6", [0x3434] = "\xf4\xb7", + [0x3435] = "\xb6\xe6", [0x3436] = "\xb2\xb0", [0x3437] = "\xcf\xcf", + [0x3438] = "\xf4\xb4", [0x3439] = "\xb4\xac", [0x343a] = "\xc5\x7b", + [0x343b] = "\xf4\xb5", [0x343c] = "\xc5\x7c", [0x343d] = "\xc5\x7d", + [0x343e] = "\xf4\xb8", [0x343f] = "\xc5\x7e", [0x3440] = "\xc5\x80", + [0x3441] = "\xc5\x81", [0x3442] = "\xc5\x82", [0x3443] = "\xc5\x83", + [0x3444] = "\xf4\xb9", [0x3445] = "\xc5\x84", [0x3446] = "\xc5\x85", + [0x3447] = "\xcd\xa7", [0x3448] = "\xc5\x86", [0x3449] = "\xf4\xba", + [0x344a] = "\xc5\x87", [0x344b] = "\xf4\xbb", [0x344c] = "\xc5\x88", + [0x344d] = "\xc5\x89", [0x344e] = "\xc5\x8a", [0x344f] = "\xf4\xbc", + [0x3450] = "\xc5\x8b", [0x3451] = "\xc5\x8c", [0x3452] = "\xc5\x8d", + [0x3453] = "\xc5\x8e", [0x3454] = "\xc5\x8f", [0x3455] = "\xc5\x90", + [0x3456] = "\xc5\x91", [0x3457] = "\xc5\x92", [0x3458] = "\xcb\xd2", + [0x3459] = "\xc5\x93", [0x345a] = "\xf4\xbd", [0x345b] = "\xc5\x94", + [0x345c] = "\xc5\x95", [0x345d] = "\xc5\x96", [0x345e] = "\xc5\x97", + [0x345f] = "\xf4\xbe", [0x3460] = "\xc5\x98", [0x3461] = "\xc5\x99", + [0x3462] = "\xc5\x9a", [0x3463] = "\xc5\x9b", [0x3464] = "\xc5\x9c", + [0x3465] = "\xc5\x9d", [0x3466] = "\xc5\x9e", [0x3467] = "\xc5\x9f", + [0x3468] = "\xf4\xbf", [0x3469] = "\xc5\xa0", [0x346a] = "\xc6\x40", + [0x346b] = "\xc6\x41", [0x346c] = "\xc6\x42", [0x346d] = "\xc6\x43", + [0x346e] = "\xf4\xde", [0x346f] = "\xc1\xbc", [0x3470] = "\xbc\xe8", + [0x3471] = "\xc6\x44", [0x3472] = "\xc9\xab", [0x3473] = "\xd1\xde", + [0x3474] = "\xe5\xf5", [0x3475] = "\xc6\x45", [0x3476] = "\xc6\x46", + [0x3477] = "\xc6\x47", [0x3478] = "\xc6\x48", [0x3479] = "\xdc\xb3", + [0x347a] = "\xd2\xd5", [0x347b] = "\xc6\x49", [0x347c] = "\xc6\x4a", + [0x347d] = "\xdc\xb4", [0x347e] = "\xb0\xac", [0x347f] = "\xdc\xb5", + [0x3480] = "\xc6\x4b", [0x3481] = "\xc6\x4c", [0x3482] = "\xbd\xda", + [0x3483] = "\xc6\x4d", [0x3484] = "\xdc\xb9", [0x3485] = "\xc6\x4e", + [0x3486] = "\xc6\x4f", [0x3487] = "\xc6\x50", [0x3488] = "\xd8\xc2", + [0x3489] = "\xc6\x51", [0x348a] = "\xdc\xb7", [0x348b] = "\xd3\xf3", + [0x348c] = "\xc6\x52", [0x348d] = "\xc9\xd6", [0x348e] = "\xdc\xba", + [0x348f] = "\xdc\xb6", [0x3490] = "\xc6\x53", [0x3491] = "\xdc\xbb", + [0x3492] = "\xc3\xa2", [0x3493] = "\xc6\x54", [0x3494] = "\xc6\x55", + [0x3495] = "\xc6\x56", [0x3496] = "\xc6\x57", [0x3497] = "\xdc\xbc", + [0x3498] = "\xdc\xc5", [0x3499] = "\xdc\xbd", [0x349a] = "\xc6\x58", + [0x349b] = "\xc6\x59", [0x349c] = "\xce\xdf", [0x349d] = "\xd6\xa5", + [0x349e] = "\xc6\x5a", [0x349f] = "\xdc\xcf", [0x34a0] = "\xc6\x5b", + [0x34a1] = "\xdc\xcd", [0x34a2] = "\xc6\x5c", [0x34a3] = "\xc6\x5d", + [0x34a4] = "\xdc\xd2", [0x34a5] = "\xbd\xe6", [0x34a6] = "\xc2\xab", + [0x34a7] = "\xc6\x5e", [0x34a8] = "\xdc\xb8", [0x34a9] = "\xdc\xcb", + [0x34aa] = "\xdc\xce", [0x34ab] = "\xdc\xbe", [0x34ac] = "\xb7\xd2", + [0x34ad] = "\xb0\xc5", [0x34ae] = "\xdc\xc7", [0x34af] = "\xd0\xbe", + [0x34b0] = "\xdc\xc1", [0x34b1] = "\xbb\xa8", [0x34b2] = "\xc6\x5f", + [0x34b3] = "\xb7\xbc", [0x34b4] = "\xdc\xcc", [0x34b5] = "\xc6\x60", + [0x34b6] = "\xc6\x61", [0x34b7] = "\xdc\xc6", [0x34b8] = "\xdc\xbf", + [0x34b9] = "\xc7\xdb", [0x34ba] = "\xc6\x62", [0x34bb] = "\xc6\x63", + [0x34bc] = "\xc6\x64", [0x34bd] = "\xd1\xbf", [0x34be] = "\xdc\xc0", + [0x34bf] = "\xc6\x65", [0x34c0] = "\xc6\x66", [0x34c1] = "\xdc\xca", + [0x34c2] = "\xc6\x67", [0x34c3] = "\xc6\x68", [0x34c4] = "\xdc\xd0", + [0x34c5] = "\xc6\x69", [0x34c6] = "\xc6\x6a", [0x34c7] = "\xce\xad", + [0x34c8] = "\xdc\xc2", [0x34c9] = "\xc6\x6b", [0x34ca] = "\xdc\xc3", + [0x34cb] = "\xdc\xc8", [0x34cc] = "\xdc\xc9", [0x34cd] = "\xb2\xd4", + [0x34ce] = "\xdc\xd1", [0x34cf] = "\xcb\xd5", [0x34d0] = "\xc6\x6c", + [0x34d1] = "\xd4\xb7", [0x34d2] = "\xdc\xdb", [0x34d3] = "\xdc\xdf", + [0x34d4] = "\xcc\xa6", [0x34d5] = "\xdc\xe6", [0x34d6] = "\xc6\x6d", + [0x34d7] = "\xc3\xe7", [0x34d8] = "\xdc\xdc", [0x34d9] = "\xc6\x6e", + [0x34da] = "\xc6\x6f", [0x34db] = "\xbf\xc1", [0x34dc] = "\xdc\xd9", + [0x34dd] = "\xc6\x70", [0x34de] = "\xb0\xfa", [0x34df] = "\xb9\xb6", + [0x34e0] = "\xdc\xe5", [0x34e1] = "\xdc\xd3", [0x34e2] = "\xc6\x71", + [0x34e3] = "\xdc\xc4", [0x34e4] = "\xdc\xd6", [0x34e5] = "\xc8\xf4", + [0x34e6] = "\xbf\xe0", [0x34e7] = "\xc6\x72", [0x34e8] = "\xc6\x73", + [0x34e9] = "\xc6\x74", [0x34ea] = "\xc6\x75", [0x34eb] = "\xc9\xbb", + [0x34ec] = "\xc6\x76", [0x34ed] = "\xc6\x77", [0x34ee] = "\xc6\x78", + [0x34ef] = "\xb1\xbd", [0x34f0] = "\xc6\x79", [0x34f1] = "\xd3\xa2", + [0x34f2] = "\xc6\x7a", [0x34f3] = "\xc6\x7b", [0x34f4] = "\xdc\xda", + [0x34f5] = "\xc6\x7c", [0x34f6] = "\xc6\x7d", [0x34f7] = "\xdc\xd5", + [0x34f8] = "\xc6\x7e", [0x34f9] = "\xc6\xbb", [0x34fa] = "\xc6\x80", + [0x34fb] = "\xdc\xde", [0x34fc] = "\xc6\x81", [0x34fd] = "\xc6\x82", + [0x34fe] = "\xc6\x83", [0x34ff] = "\xc6\x84", [0x3500] = "\xc6\x85", + [0x3501] = "\xd7\xc2", [0x3502] = "\xc3\xaf", [0x3503] = "\xb7\xb6", + [0x3504] = "\xc7\xd1", [0x3505] = "\xc3\xa9", [0x3506] = "\xdc\xe2", + [0x3507] = "\xdc\xd8", [0x3508] = "\xdc\xeb", [0x3509] = "\xdc\xd4", + [0x350a] = "\xc6\x86", [0x350b] = "\xc6\x87", [0x350c] = "\xdc\xdd", + [0x350d] = "\xc6\x88", [0x350e] = "\xbe\xa5", [0x350f] = "\xdc\xd7", + [0x3510] = "\xc6\x89", [0x3511] = "\xdc\xe0", [0x3512] = "\xc6\x8a", + [0x3513] = "\xc6\x8b", [0x3514] = "\xdc\xe3", [0x3515] = "\xdc\xe4", + [0x3516] = "\xc6\x8c", [0x3517] = "\xdc\xf8", [0x3518] = "\xc6\x8d", + [0x3519] = "\xc6\x8e", [0x351a] = "\xdc\xe1", [0x351b] = "\xdd\xa2", + [0x351c] = "\xdc\xe7", [0x351d] = "\xc6\x8f", [0x351e] = "\xc6\x90", + [0x351f] = "\xc6\x91", [0x3520] = "\xc6\x92", [0x3521] = "\xc6\x93", + [0x3522] = "\xc6\x94", [0x3523] = "\xc6\x95", [0x3524] = "\xc6\x96", + [0x3525] = "\xc6\x97", [0x3526] = "\xc6\x98", [0x3527] = "\xbc\xeb", + [0x3528] = "\xb4\xc4", [0x3529] = "\xc6\x99", [0x352a] = "\xc6\x9a", + [0x352b] = "\xc3\xa3", [0x352c] = "\xb2\xe7", [0x352d] = "\xdc\xfa", + [0x352e] = "\xc6\x9b", [0x352f] = "\xdc\xf2", [0x3530] = "\xc6\x9c", + [0x3531] = "\xdc\xef", [0x3532] = "\xc6\x9d", [0x3533] = "\xdc\xfc", + [0x3534] = "\xdc\xee", [0x3535] = "\xd2\xf0", [0x3536] = "\xb2\xe8", + [0x3537] = "\xc6\x9e", [0x3538] = "\xc8\xd7", [0x3539] = "\xc8\xe3", + [0x353a] = "\xdc\xfb", [0x353b] = "\xc6\x9f", [0x353c] = "\xdc\xed", + [0x353d] = "\xc6\xa0", [0x353e] = "\xc7\x40", [0x353f] = "\xc7\x41", + [0x3540] = "\xdc\xf7", [0x3541] = "\xc7\x42", [0x3542] = "\xc7\x43", + [0x3543] = "\xdc\xf5", [0x3544] = "\xc7\x44", [0x3545] = "\xc7\x45", + [0x3546] = "\xbe\xa3", [0x3547] = "\xdc\xf4", [0x3548] = "\xc7\x46", + [0x3549] = "\xb2\xdd", [0x354a] = "\xc7\x47", [0x354b] = "\xc7\x48", + [0x354c] = "\xc7\x49", [0x354d] = "\xc7\x4a", [0x354e] = "\xc7\x4b", + [0x354f] = "\xdc\xf3", [0x3550] = "\xbc\xf6", [0x3551] = "\xdc\xe8", + [0x3552] = "\xbb\xc4", [0x3553] = "\xc7\x4c", [0x3554] = "\xc0\xf3", + [0x3555] = "\xc7\x4d", [0x3556] = "\xc7\x4e", [0x3557] = "\xc7\x4f", + [0x3558] = "\xc7\x50", [0x3559] = "\xc7\x51", [0x355a] = "\xbc\xd4", + [0x355b] = "\xdc\xe9", [0x355c] = "\xdc\xea", [0x355d] = "\xc7\x52", + [0x355e] = "\xdc\xf1", [0x355f] = "\xdc\xf6", [0x3560] = "\xdc\xf9", + [0x3561] = "\xb5\xb4", [0x3562] = "\xc7\x53", [0x3563] = "\xc8\xd9", + [0x3564] = "\xbb\xe7", [0x3565] = "\xdc\xfe", [0x3566] = "\xdc\xfd", + [0x3567] = "\xd3\xab", [0x3568] = "\xdd\xa1", [0x3569] = "\xdd\xa3", + [0x356a] = "\xdd\xa5", [0x356b] = "\xd2\xf1", [0x356c] = "\xdd\xa4", + [0x356d] = "\xdd\xa6", [0x356e] = "\xdd\xa7", [0x356f] = "\xd2\xa9", + [0x3570] = "\xc7\x54", [0x3571] = "\xc7\x55", [0x3572] = "\xc7\x56", + [0x3573] = "\xc7\x57", [0x3574] = "\xc7\x58", [0x3575] = "\xc7\x59", + [0x3576] = "\xc7\x5a", [0x3577] = "\xba\xc9", [0x3578] = "\xdd\xa9", + [0x3579] = "\xc7\x5b", [0x357a] = "\xc7\x5c", [0x357b] = "\xdd\xb6", + [0x357c] = "\xdd\xb1", [0x357d] = "\xdd\xb4", [0x357e] = "\xc7\x5d", + [0x357f] = "\xc7\x5e", [0x3580] = "\xc7\x5f", [0x3581] = "\xc7\x60", + [0x3582] = "\xc7\x61", [0x3583] = "\xc7\x62", [0x3584] = "\xc7\x63", + [0x3585] = "\xdd\xb0", [0x3586] = "\xc6\xce", [0x3587] = "\xc7\x64", + [0x3588] = "\xc7\x65", [0x3589] = "\xc0\xf2", [0x358a] = "\xc7\x66", + [0x358b] = "\xc7\x67", [0x358c] = "\xc7\x68", [0x358d] = "\xc7\x69", + [0x358e] = "\xc9\xaf", [0x358f] = "\xc7\x6a", [0x3590] = "\xc7\x6b", + [0x3591] = "\xc7\x6c", [0x3592] = "\xdc\xec", [0x3593] = "\xdd\xae", + [0x3594] = "\xc7\x6d", [0x3595] = "\xc7\x6e", [0x3596] = "\xc7\x6f", + [0x3597] = "\xc7\x70", [0x3598] = "\xdd\xb7", [0x3599] = "\xc7\x71", + [0x359a] = "\xc7\x72", [0x359b] = "\xdc\xf0", [0x359c] = "\xdd\xaf", + [0x359d] = "\xc7\x73", [0x359e] = "\xdd\xb8", [0x359f] = "\xc7\x74", + [0x35a0] = "\xdd\xac", [0x35a1] = "\xc7\x75", [0x35a2] = "\xc7\x76", + [0x35a3] = "\xc7\x77", [0x35a4] = "\xc7\x78", [0x35a5] = "\xc7\x79", + [0x35a6] = "\xc7\x7a", [0x35a7] = "\xc7\x7b", [0x35a8] = "\xdd\xb9", + [0x35a9] = "\xdd\xb3", [0x35aa] = "\xdd\xad", [0x35ab] = "\xc4\xaa", + [0x35ac] = "\xc7\x7c", [0x35ad] = "\xc7\x7d", [0x35ae] = "\xc7\x7e", + [0x35af] = "\xc7\x80", [0x35b0] = "\xdd\xa8", [0x35b1] = "\xc0\xb3", + [0x35b2] = "\xc1\xab", [0x35b3] = "\xdd\xaa", [0x35b4] = "\xdd\xab", + [0x35b5] = "\xc7\x81", [0x35b6] = "\xdd\xb2", [0x35b7] = "\xbb\xf1", + [0x35b8] = "\xdd\xb5", [0x35b9] = "\xd3\xa8", [0x35ba] = "\xdd\xba", + [0x35bb] = "\xc7\x82", [0x35bc] = "\xdd\xbb", [0x35bd] = "\xc3\xa7", + [0x35be] = "\xc7\x83", [0x35bf] = "\xc7\x84", [0x35c0] = "\xdd\xd2", + [0x35c1] = "\xdd\xbc", [0x35c2] = "\xc7\x85", [0x35c3] = "\xc7\x86", + [0x35c4] = "\xc7\x87", [0x35c5] = "\xdd\xd1", [0x35c6] = "\xc7\x88", + [0x35c7] = "\xb9\xbd", [0x35c8] = "\xc7\x89", [0x35c9] = "\xc7\x8a", + [0x35ca] = "\xbe\xd5", [0x35cb] = "\xc7\x8b", [0x35cc] = "\xbe\xfa", + [0x35cd] = "\xc7\x8c", [0x35ce] = "\xc7\x8d", [0x35cf] = "\xba\xca", + [0x35d0] = "\xc7\x8e", [0x35d1] = "\xc7\x8f", [0x35d2] = "\xc7\x90", + [0x35d3] = "\xc7\x91", [0x35d4] = "\xdd\xca", [0x35d5] = "\xc7\x92", + [0x35d6] = "\xdd\xc5", [0x35d7] = "\xc7\x93", [0x35d8] = "\xdd\xbf", + [0x35d9] = "\xc7\x94", [0x35da] = "\xc7\x95", [0x35db] = "\xc7\x96", + [0x35dc] = "\xb2\xcb", [0x35dd] = "\xdd\xc3", [0x35de] = "\xc7\x97", + [0x35df] = "\xdd\xcb", [0x35e0] = "\xb2\xa4", [0x35e1] = "\xdd\xd5", + [0x35e2] = "\xc7\x98", [0x35e3] = "\xc7\x99", [0x35e4] = "\xc7\x9a", + [0x35e5] = "\xdd\xbe", [0x35e6] = "\xc7\x9b", [0x35e7] = "\xc7\x9c", + [0x35e8] = "\xc7\x9d", [0x35e9] = "\xc6\xd0", [0x35ea] = "\xdd\xd0", + [0x35eb] = "\xc7\x9e", [0x35ec] = "\xc7\x9f", [0x35ed] = "\xc7\xa0", + [0x35ee] = "\xc8\x40", [0x35ef] = "\xc8\x41", [0x35f0] = "\xdd\xd4", + [0x35f1] = "\xc1\xe2", [0x35f2] = "\xb7\xc6", [0x35f3] = "\xc8\x42", + [0x35f4] = "\xc8\x43", [0x35f5] = "\xc8\x44", [0x35f6] = "\xc8\x45", + [0x35f7] = "\xc8\x46", [0x35f8] = "\xdd\xce", [0x35f9] = "\xdd\xcf", + [0x35fa] = "\xc8\x47", [0x35fb] = "\xc8\x48", [0x35fc] = "\xc8\x49", + [0x35fd] = "\xdd\xc4", [0x35fe] = "\xc8\x4a", [0x35ff] = "\xc8\x4b", + [0x3600] = "\xc8\x4c", [0x3601] = "\xdd\xbd", [0x3602] = "\xc8\x4d", + [0x3603] = "\xdd\xcd", [0x3604] = "\xcc\xd1", [0x3605] = "\xc8\x4e", + [0x3606] = "\xdd\xc9", [0x3607] = "\xc8\x4f", [0x3608] = "\xc8\x50", + [0x3609] = "\xc8\x51", [0x360a] = "\xc8\x52", [0x360b] = "\xdd\xc2", + [0x360c] = "\xc3\xc8", [0x360d] = "\xc6\xbc", [0x360e] = "\xce\xae", + [0x360f] = "\xdd\xcc", [0x3610] = "\xc8\x53", [0x3611] = "\xdd\xc8", + [0x3612] = "\xc8\x54", [0x3613] = "\xc8\x55", [0x3614] = "\xc8\x56", + [0x3615] = "\xc8\x57", [0x3616] = "\xc8\x58", [0x3617] = "\xc8\x59", + [0x3618] = "\xdd\xc1", [0x3619] = "\xc8\x5a", [0x361a] = "\xc8\x5b", + [0x361b] = "\xc8\x5c", [0x361c] = "\xdd\xc6", [0x361d] = "\xc2\xdc", + [0x361e] = "\xc8\x5d", [0x361f] = "\xc8\x5e", [0x3620] = "\xc8\x5f", + [0x3621] = "\xc8\x60", [0x3622] = "\xc8\x61", [0x3623] = "\xc8\x62", + [0x3624] = "\xd3\xa9", [0x3625] = "\xd3\xaa", [0x3626] = "\xdd\xd3", + [0x3627] = "\xcf\xf4", [0x3628] = "\xc8\xf8", [0x3629] = "\xc8\x63", + [0x362a] = "\xc8\x64", [0x362b] = "\xc8\x65", [0x362c] = "\xc8\x66", + [0x362d] = "\xc8\x67", [0x362e] = "\xc8\x68", [0x362f] = "\xc8\x69", + [0x3630] = "\xc8\x6a", [0x3631] = "\xdd\xe6", [0x3632] = "\xc8\x6b", + [0x3633] = "\xc8\x6c", [0x3634] = "\xc8\x6d", [0x3635] = "\xc8\x6e", + [0x3636] = "\xc8\x6f", [0x3637] = "\xc8\x70", [0x3638] = "\xdd\xc7", + [0x3639] = "\xc8\x71", [0x363a] = "\xc8\x72", [0x363b] = "\xc8\x73", + [0x363c] = "\xdd\xe0", [0x363d] = "\xc2\xe4", [0x363e] = "\xc8\x74", + [0x363f] = "\xc8\x75", [0x3640] = "\xc8\x76", [0x3641] = "\xc8\x77", + [0x3642] = "\xc8\x78", [0x3643] = "\xc8\x79", [0x3644] = "\xc8\x7a", + [0x3645] = "\xc8\x7b", [0x3646] = "\xdd\xe1", [0x3647] = "\xc8\x7c", + [0x3648] = "\xc8\x7d", [0x3649] = "\xc8\x7e", [0x364a] = "\xc8\x80", + [0x364b] = "\xc8\x81", [0x364c] = "\xc8\x82", [0x364d] = "\xc8\x83", + [0x364e] = "\xc8\x84", [0x364f] = "\xc8\x85", [0x3650] = "\xc8\x86", + [0x3651] = "\xdd\xd7", [0x3652] = "\xc8\x87", [0x3653] = "\xc8\x88", + [0x3654] = "\xc8\x89", [0x3655] = "\xc8\x8a", [0x3656] = "\xc8\x8b", + [0x3657] = "\xd6\xf8", [0x3658] = "\xc8\x8c", [0x3659] = "\xdd\xd9", + [0x365a] = "\xdd\xd8", [0x365b] = "\xb8\xf0", [0x365c] = "\xdd\xd6", + [0x365d] = "\xc8\x8d", [0x365e] = "\xc8\x8e", [0x365f] = "\xc8\x8f", + [0x3660] = "\xc8\x90", [0x3661] = "\xc6\xcf", [0x3662] = "\xc8\x91", + [0x3663] = "\xb6\xad", [0x3664] = "\xc8\x92", [0x3665] = "\xc8\x93", + [0x3666] = "\xc8\x94", [0x3667] = "\xc8\x95", [0x3668] = "\xc8\x96", + [0x3669] = "\xdd\xe2", [0x366a] = "\xc8\x97", [0x366b] = "\xba\xf9", + [0x366c] = "\xd4\xe1", [0x366d] = "\xdd\xe7", [0x366e] = "\xc8\x98", + [0x366f] = "\xc8\x99", [0x3670] = "\xc8\x9a", [0x3671] = "\xb4\xd0", + [0x3672] = "\xc8\x9b", [0x3673] = "\xdd\xda", [0x3674] = "\xc8\x9c", + [0x3675] = "\xbf\xfb", [0x3676] = "\xdd\xe3", [0x3677] = "\xc8\x9d", + [0x3678] = "\xdd\xdf", [0x3679] = "\xc8\x9e", [0x367a] = "\xdd\xdd", + [0x367b] = "\xc8\x9f", [0x367c] = "\xc8\xa0", [0x367d] = "\xc9\x40", + [0x367e] = "\xc9\x41", [0x367f] = "\xc9\x42", [0x3680] = "\xc9\x43", + [0x3681] = "\xc9\x44", [0x3682] = "\xb5\xd9", [0x3683] = "\xc9\x45", + [0x3684] = "\xc9\x46", [0x3685] = "\xc9\x47", [0x3686] = "\xc9\x48", + [0x3687] = "\xdd\xdb", [0x3688] = "\xdd\xdc", [0x3689] = "\xdd\xde", + [0x368a] = "\xc9\x49", [0x368b] = "\xbd\xaf", [0x368c] = "\xdd\xe4", + [0x368d] = "\xc9\x4a", [0x368e] = "\xdd\xe5", [0x368f] = "\xc9\x4b", + [0x3690] = "\xc9\x4c", [0x3691] = "\xc9\x4d", [0x3692] = "\xc9\x4e", + [0x3693] = "\xc9\x4f", [0x3694] = "\xc9\x50", [0x3695] = "\xc9\x51", + [0x3696] = "\xc9\x52", [0x3697] = "\xdd\xf5", [0x3698] = "\xc9\x53", + [0x3699] = "\xc3\xc9", [0x369a] = "\xc9\x54", [0x369b] = "\xc9\x55", + [0x369c] = "\xcb\xe2", [0x369d] = "\xc9\x56", [0x369e] = "\xc9\x57", + [0x369f] = "\xc9\x58", [0x36a0] = "\xc9\x59", [0x36a1] = "\xdd\xf2", + [0x36a2] = "\xc9\x5a", [0x36a3] = "\xc9\x5b", [0x36a4] = "\xc9\x5c", + [0x36a5] = "\xc9\x5d", [0x36a6] = "\xc9\x5e", [0x36a7] = "\xc9\x5f", + [0x36a8] = "\xc9\x60", [0x36a9] = "\xc9\x61", [0x36aa] = "\xc9\x62", + [0x36ab] = "\xc9\x63", [0x36ac] = "\xc9\x64", [0x36ad] = "\xc9\x65", + [0x36ae] = "\xc9\x66", [0x36af] = "\xd8\xe1", [0x36b0] = "\xc9\x67", + [0x36b1] = "\xc9\x68", [0x36b2] = "\xc6\xd1", [0x36b3] = "\xc9\x69", + [0x36b4] = "\xdd\xf4", [0x36b5] = "\xc9\x6a", [0x36b6] = "\xc9\x6b", + [0x36b7] = "\xc9\x6c", [0x36b8] = "\xd5\xf4", [0x36b9] = "\xdd\xf3", + [0x36ba] = "\xdd\xf0", [0x36bb] = "\xc9\x6d", [0x36bc] = "\xc9\x6e", + [0x36bd] = "\xdd\xec", [0x36be] = "\xc9\x6f", [0x36bf] = "\xdd\xef", + [0x36c0] = "\xc9\x70", [0x36c1] = "\xdd\xe8", [0x36c2] = "\xc9\x71", + [0x36c3] = "\xc9\x72", [0x36c4] = "\xd0\xee", [0x36c5] = "\xc9\x73", + [0x36c6] = "\xc9\x74", [0x36c7] = "\xc9\x75", [0x36c8] = "\xc9\x76", + [0x36c9] = "\xc8\xd8", [0x36ca] = "\xdd\xee", [0x36cb] = "\xc9\x77", + [0x36cc] = "\xc9\x78", [0x36cd] = "\xdd\xe9", [0x36ce] = "\xc9\x79", + [0x36cf] = "\xc9\x7a", [0x36d0] = "\xdd\xea", [0x36d1] = "\xcb\xf2", + [0x36d2] = "\xc9\x7b", [0x36d3] = "\xdd\xed", [0x36d4] = "\xc9\x7c", + [0x36d5] = "\xc9\x7d", [0x36d6] = "\xb1\xcd", [0x36d7] = "\xc9\x7e", + [0x36d8] = "\xc9\x80", [0x36d9] = "\xc9\x81", [0x36da] = "\xc9\x82", + [0x36db] = "\xc9\x83", [0x36dc] = "\xc9\x84", [0x36dd] = "\xc0\xb6", + [0x36de] = "\xc9\x85", [0x36df] = "\xbc\xbb", [0x36e0] = "\xdd\xf1", + [0x36e1] = "\xc9\x86", [0x36e2] = "\xc9\x87", [0x36e3] = "\xdd\xf7", + [0x36e4] = "\xc9\x88", [0x36e5] = "\xdd\xf6", [0x36e6] = "\xdd\xeb", + [0x36e7] = "\xc9\x89", [0x36e8] = "\xc9\x8a", [0x36e9] = "\xc9\x8b", + [0x36ea] = "\xc9\x8c", [0x36eb] = "\xc9\x8d", [0x36ec] = "\xc5\xee", + [0x36ed] = "\xc9\x8e", [0x36ee] = "\xc9\x8f", [0x36ef] = "\xc9\x90", + [0x36f0] = "\xdd\xfb", [0x36f1] = "\xc9\x91", [0x36f2] = "\xc9\x92", + [0x36f3] = "\xc9\x93", [0x36f4] = "\xc9\x94", [0x36f5] = "\xc9\x95", + [0x36f6] = "\xc9\x96", [0x36f7] = "\xc9\x97", [0x36f8] = "\xc9\x98", + [0x36f9] = "\xc9\x99", [0x36fa] = "\xc9\x9a", [0x36fb] = "\xc9\x9b", + [0x36fc] = "\xde\xa4", [0x36fd] = "\xc9\x9c", [0x36fe] = "\xc9\x9d", + [0x36ff] = "\xde\xa3", [0x3700] = "\xc9\x9e", [0x3701] = "\xc9\x9f", + [0x3702] = "\xc9\xa0", [0x3703] = "\xca\x40", [0x3704] = "\xca\x41", + [0x3705] = "\xca\x42", [0x3706] = "\xca\x43", [0x3707] = "\xca\x44", + [0x3708] = "\xca\x45", [0x3709] = "\xca\x46", [0x370a] = "\xca\x47", + [0x370b] = "\xca\x48", [0x370c] = "\xdd\xf8", [0x370d] = "\xca\x49", + [0x370e] = "\xca\x4a", [0x370f] = "\xca\x4b", [0x3710] = "\xca\x4c", + [0x3711] = "\xc3\xef", [0x3712] = "\xca\x4d", [0x3713] = "\xc2\xfb", + [0x3714] = "\xca\x4e", [0x3715] = "\xca\x4f", [0x3716] = "\xca\x50", + [0x3717] = "\xd5\xe1", [0x3718] = "\xca\x51", [0x3719] = "\xca\x52", + [0x371a] = "\xce\xb5", [0x371b] = "\xca\x53", [0x371c] = "\xca\x54", + [0x371d] = "\xca\x55", [0x371e] = "\xca\x56", [0x371f] = "\xdd\xfd", + [0x3720] = "\xca\x57", [0x3721] = "\xb2\xcc", [0x3722] = "\xca\x58", + [0x3723] = "\xca\x59", [0x3724] = "\xca\x5a", [0x3725] = "\xca\x5b", + [0x3726] = "\xca\x5c", [0x3727] = "\xca\x5d", [0x3728] = "\xca\x5e", + [0x3729] = "\xca\x5f", [0x372a] = "\xca\x60", [0x372b] = "\xc4\xe8", + [0x372c] = "\xca\xdf", [0x372d] = "\xca\x61", [0x372e] = "\xca\x62", + [0x372f] = "\xca\x63", [0x3730] = "\xca\x64", [0x3731] = "\xca\x65", + [0x3732] = "\xca\x66", [0x3733] = "\xca\x67", [0x3734] = "\xca\x68", + [0x3735] = "\xca\x69", [0x3736] = "\xca\x6a", [0x3737] = "\xc7\xbe", + [0x3738] = "\xdd\xfa", [0x3739] = "\xdd\xfc", [0x373a] = "\xdd\xfe", + [0x373b] = "\xde\xa2", [0x373c] = "\xb0\xaa", [0x373d] = "\xb1\xce", + [0x373e] = "\xca\x6b", [0x373f] = "\xca\x6c", [0x3740] = "\xca\x6d", + [0x3741] = "\xca\x6e", [0x3742] = "\xca\x6f", [0x3743] = "\xde\xac", + [0x3744] = "\xca\x70", [0x3745] = "\xca\x71", [0x3746] = "\xca\x72", + [0x3747] = "\xca\x73", [0x3748] = "\xde\xa6", [0x3749] = "\xbd\xb6", + [0x374a] = "\xc8\xef", [0x374b] = "\xca\x74", [0x374c] = "\xca\x75", + [0x374d] = "\xca\x76", [0x374e] = "\xca\x77", [0x374f] = "\xca\x78", + [0x3750] = "\xca\x79", [0x3751] = "\xca\x7a", [0x3752] = "\xca\x7b", + [0x3753] = "\xca\x7c", [0x3754] = "\xca\x7d", [0x3755] = "\xca\x7e", + [0x3756] = "\xde\xa1", [0x3757] = "\xca\x80", [0x3758] = "\xca\x81", + [0x3759] = "\xde\xa5", [0x375a] = "\xca\x82", [0x375b] = "\xca\x83", + [0x375c] = "\xca\x84", [0x375d] = "\xca\x85", [0x375e] = "\xde\xa9", + [0x375f] = "\xca\x86", [0x3760] = "\xca\x87", [0x3761] = "\xca\x88", + [0x3762] = "\xca\x89", [0x3763] = "\xca\x8a", [0x3764] = "\xde\xa8", + [0x3765] = "\xca\x8b", [0x3766] = "\xca\x8c", [0x3767] = "\xca\x8d", + [0x3768] = "\xde\xa7", [0x3769] = "\xca\x8e", [0x376a] = "\xca\x8f", + [0x376b] = "\xca\x90", [0x376c] = "\xca\x91", [0x376d] = "\xca\x92", + [0x376e] = "\xca\x93", [0x376f] = "\xca\x94", [0x3770] = "\xca\x95", + [0x3771] = "\xca\x96", [0x3772] = "\xde\xad", [0x3773] = "\xca\x97", + [0x3774] = "\xd4\xcc", [0x3775] = "\xca\x98", [0x3776] = "\xca\x99", + [0x3777] = "\xca\x9a", [0x3778] = "\xca\x9b", [0x3779] = "\xde\xb3", + [0x377a] = "\xde\xaa", [0x377b] = "\xde\xae", [0x377c] = "\xca\x9c", + [0x377d] = "\xca\x9d", [0x377e] = "\xc0\xd9", [0x377f] = "\xca\x9e", + [0x3780] = "\xca\x9f", [0x3781] = "\xca\xa0", [0x3782] = "\xcb\x40", + [0x3783] = "\xcb\x41", [0x3784] = "\xb1\xa1", [0x3785] = "\xde\xb6", + [0x3786] = "\xcb\x42", [0x3787] = "\xde\xb1", [0x3788] = "\xcb\x43", + [0x3789] = "\xcb\x44", [0x378a] = "\xcb\x45", [0x378b] = "\xcb\x46", + [0x378c] = "\xcb\x47", [0x378d] = "\xcb\x48", [0x378e] = "\xcb\x49", + [0x378f] = "\xde\xb2", [0x3790] = "\xcb\x4a", [0x3791] = "\xcb\x4b", + [0x3792] = "\xcb\x4c", [0x3793] = "\xcb\x4d", [0x3794] = "\xcb\x4e", + [0x3795] = "\xcb\x4f", [0x3796] = "\xcb\x50", [0x3797] = "\xcb\x51", + [0x3798] = "\xcb\x52", [0x3799] = "\xcb\x53", [0x379a] = "\xcb\x54", + [0x379b] = "\xd1\xa6", [0x379c] = "\xde\xb5", [0x379d] = "\xcb\x55", + [0x379e] = "\xcb\x56", [0x379f] = "\xcb\x57", [0x37a0] = "\xcb\x58", + [0x37a1] = "\xcb\x59", [0x37a2] = "\xcb\x5a", [0x37a3] = "\xcb\x5b", + [0x37a4] = "\xde\xaf", [0x37a5] = "\xcb\x5c", [0x37a6] = "\xcb\x5d", + [0x37a7] = "\xcb\x5e", [0x37a8] = "\xde\xb0", [0x37a9] = "\xcb\x5f", + [0x37aa] = "\xd0\xbd", [0x37ab] = "\xcb\x60", [0x37ac] = "\xcb\x61", + [0x37ad] = "\xcb\x62", [0x37ae] = "\xde\xb4", [0x37af] = "\xca\xed", + [0x37b0] = "\xde\xb9", [0x37b1] = "\xcb\x63", [0x37b2] = "\xcb\x64", + [0x37b3] = "\xcb\x65", [0x37b4] = "\xcb\x66", [0x37b5] = "\xcb\x67", + [0x37b6] = "\xcb\x68", [0x37b7] = "\xde\xb8", [0x37b8] = "\xcb\x69", + [0x37b9] = "\xde\xb7", [0x37ba] = "\xcb\x6a", [0x37bb] = "\xcb\x6b", + [0x37bc] = "\xcb\x6c", [0x37bd] = "\xcb\x6d", [0x37be] = "\xcb\x6e", + [0x37bf] = "\xcb\x6f", [0x37c0] = "\xcb\x70", [0x37c1] = "\xde\xbb", + [0x37c2] = "\xcb\x71", [0x37c3] = "\xcb\x72", [0x37c4] = "\xcb\x73", + [0x37c5] = "\xcb\x74", [0x37c6] = "\xcb\x75", [0x37c7] = "\xcb\x76", + [0x37c8] = "\xcb\x77", [0x37c9] = "\xbd\xe5", [0x37ca] = "\xcb\x78", + [0x37cb] = "\xcb\x79", [0x37cc] = "\xcb\x7a", [0x37cd] = "\xcb\x7b", + [0x37ce] = "\xcb\x7c", [0x37cf] = "\xb2\xd8", [0x37d0] = "\xc3\xea", + [0x37d1] = "\xcb\x7d", [0x37d2] = "\xcb\x7e", [0x37d3] = "\xde\xba", + [0x37d4] = "\xcb\x80", [0x37d5] = "\xc5\xba", [0x37d6] = "\xcb\x81", + [0x37d7] = "\xcb\x82", [0x37d8] = "\xcb\x83", [0x37d9] = "\xcb\x84", + [0x37da] = "\xcb\x85", [0x37db] = "\xcb\x86", [0x37dc] = "\xde\xbc", + [0x37dd] = "\xcb\x87", [0x37de] = "\xcb\x88", [0x37df] = "\xcb\x89", + [0x37e0] = "\xcb\x8a", [0x37e1] = "\xcb\x8b", [0x37e2] = "\xcb\x8c", + [0x37e3] = "\xcb\x8d", [0x37e4] = "\xcc\xd9", [0x37e5] = "\xcb\x8e", + [0x37e6] = "\xcb\x8f", [0x37e7] = "\xcb\x90", [0x37e8] = "\xcb\x91", + [0x37e9] = "\xb7\xaa", [0x37ea] = "\xcb\x92", [0x37eb] = "\xcb\x93", + [0x37ec] = "\xcb\x94", [0x37ed] = "\xcb\x95", [0x37ee] = "\xcb\x96", + [0x37ef] = "\xcb\x97", [0x37f0] = "\xcb\x98", [0x37f1] = "\xcb\x99", + [0x37f2] = "\xcb\x9a", [0x37f3] = "\xcb\x9b", [0x37f4] = "\xcb\x9c", + [0x37f5] = "\xcb\x9d", [0x37f6] = "\xcb\x9e", [0x37f7] = "\xcb\x9f", + [0x37f8] = "\xcb\xa0", [0x37f9] = "\xcc\x40", [0x37fa] = "\xcc\x41", + [0x37fb] = "\xd4\xe5", [0x37fc] = "\xcc\x42", [0x37fd] = "\xcc\x43", + [0x37fe] = "\xcc\x44", [0x37ff] = "\xde\xbd", [0x3800] = "\xcc\x45", + [0x3801] = "\xcc\x46", [0x3802] = "\xcc\x47", [0x3803] = "\xcc\x48", + [0x3804] = "\xcc\x49", [0x3805] = "\xde\xbf", [0x3806] = "\xcc\x4a", + [0x3807] = "\xcc\x4b", [0x3808] = "\xcc\x4c", [0x3809] = "\xcc\x4d", + [0x380a] = "\xcc\x4e", [0x380b] = "\xcc\x4f", [0x380c] = "\xcc\x50", + [0x380d] = "\xcc\x51", [0x380e] = "\xcc\x52", [0x380f] = "\xcc\x53", + [0x3810] = "\xcc\x54", [0x3811] = "\xc4\xa2", [0x3812] = "\xcc\x55", + [0x3813] = "\xcc\x56", [0x3814] = "\xcc\x57", [0x3815] = "\xcc\x58", + [0x3816] = "\xde\xc1", [0x3817] = "\xcc\x59", [0x3818] = "\xcc\x5a", + [0x3819] = "\xcc\x5b", [0x381a] = "\xcc\x5c", [0x381b] = "\xcc\x5d", + [0x381c] = "\xcc\x5e", [0x381d] = "\xcc\x5f", [0x381e] = "\xcc\x60", + [0x381f] = "\xcc\x61", [0x3820] = "\xcc\x62", [0x3821] = "\xcc\x63", + [0x3822] = "\xcc\x64", [0x3823] = "\xcc\x65", [0x3824] = "\xcc\x66", + [0x3825] = "\xcc\x67", [0x3826] = "\xcc\x68", [0x3827] = "\xde\xbe", + [0x3828] = "\xcc\x69", [0x3829] = "\xde\xc0", [0x382a] = "\xcc\x6a", + [0x382b] = "\xcc\x6b", [0x382c] = "\xcc\x6c", [0x382d] = "\xcc\x6d", + [0x382e] = "\xcc\x6e", [0x382f] = "\xcc\x6f", [0x3830] = "\xcc\x70", + [0x3831] = "\xcc\x71", [0x3832] = "\xcc\x72", [0x3833] = "\xcc\x73", + [0x3834] = "\xcc\x74", [0x3835] = "\xcc\x75", [0x3836] = "\xcc\x76", + [0x3837] = "\xcc\x77", [0x3838] = "\xd5\xba", [0x3839] = "\xcc\x78", + [0x383a] = "\xcc\x79", [0x383b] = "\xcc\x7a", [0x383c] = "\xde\xc2", + [0x383d] = "\xcc\x7b", [0x383e] = "\xcc\x7c", [0x383f] = "\xcc\x7d", + [0x3840] = "\xcc\x7e", [0x3841] = "\xcc\x80", [0x3842] = "\xcc\x81", + [0x3843] = "\xcc\x82", [0x3844] = "\xcc\x83", [0x3845] = "\xcc\x84", + [0x3846] = "\xcc\x85", [0x3847] = "\xcc\x86", [0x3848] = "\xcc\x87", + [0x3849] = "\xcc\x88", [0x384a] = "\xcc\x89", [0x384b] = "\xcc\x8a", + [0x384c] = "\xcc\x8b", [0x384d] = "\xf2\xae", [0x384e] = "\xbb\xa2", + [0x384f] = "\xc2\xb2", [0x3850] = "\xc5\xb0", [0x3851] = "\xc2\xc7", + [0x3852] = "\xcc\x8c", [0x3853] = "\xcc\x8d", [0x3854] = "\xf2\xaf", + [0x3855] = "\xcc\x8e", [0x3856] = "\xcc\x8f", [0x3857] = "\xcc\x90", + [0x3858] = "\xcc\x91", [0x3859] = "\xcc\x92", [0x385a] = "\xd0\xe9", + [0x385b] = "\xcc\x93", [0x385c] = "\xcc\x94", [0x385d] = "\xcc\x95", + [0x385e] = "\xd3\xdd", [0x385f] = "\xcc\x96", [0x3860] = "\xcc\x97", + [0x3861] = "\xcc\x98", [0x3862] = "\xeb\xbd", [0x3863] = "\xcc\x99", + [0x3864] = "\xcc\x9a", [0x3865] = "\xcc\x9b", [0x3866] = "\xcc\x9c", + [0x3867] = "\xcc\x9d", [0x3868] = "\xcc\x9e", [0x3869] = "\xcc\x9f", + [0x386a] = "\xcc\xa0", [0x386b] = "\xb3\xe6", [0x386c] = "\xf2\xb0", + [0x386d] = "\xcd\x40", [0x386e] = "\xf2\xb1", [0x386f] = "\xcd\x41", + [0x3870] = "\xcd\x42", [0x3871] = "\xca\xad", [0x3872] = "\xcd\x43", + [0x3873] = "\xcd\x44", [0x3874] = "\xcd\x45", [0x3875] = "\xcd\x46", + [0x3876] = "\xcd\x47", [0x3877] = "\xcd\x48", [0x3878] = "\xcd\x49", + [0x3879] = "\xba\xe7", [0x387a] = "\xf2\xb3", [0x387b] = "\xf2\xb5", + [0x387c] = "\xf2\xb4", [0x387d] = "\xcb\xe4", [0x387e] = "\xcf\xba", + [0x387f] = "\xf2\xb2", [0x3880] = "\xca\xb4", [0x3881] = "\xd2\xcf", + [0x3882] = "\xc2\xec", [0x3883] = "\xcd\x4a", [0x3884] = "\xcd\x4b", + [0x3885] = "\xcd\x4c", [0x3886] = "\xcd\x4d", [0x3887] = "\xcd\x4e", + [0x3888] = "\xcd\x4f", [0x3889] = "\xcd\x50", [0x388a] = "\xce\xc3", + [0x388b] = "\xf2\xb8", [0x388c] = "\xb0\xf6", [0x388d] = "\xf2\xb7", + [0x388e] = "\xcd\x51", [0x388f] = "\xcd\x52", [0x3890] = "\xcd\x53", + [0x3891] = "\xcd\x54", [0x3892] = "\xcd\x55", [0x3893] = "\xf2\xbe", + [0x3894] = "\xcd\x56", [0x3895] = "\xb2\xcf", [0x3896] = "\xcd\x57", + [0x3897] = "\xcd\x58", [0x3898] = "\xcd\x59", [0x3899] = "\xcd\x5a", + [0x389a] = "\xcd\x5b", [0x389b] = "\xcd\x5c", [0x389c] = "\xd1\xc1", + [0x389d] = "\xf2\xba", [0x389e] = "\xcd\x5d", [0x389f] = "\xcd\x5e", + [0x38a0] = "\xcd\x5f", [0x38a1] = "\xcd\x60", [0x38a2] = "\xcd\x61", + [0x38a3] = "\xf2\xbc", [0x38a4] = "\xd4\xe9", [0x38a5] = "\xcd\x62", + [0x38a6] = "\xcd\x63", [0x38a7] = "\xf2\xbb", [0x38a8] = "\xf2\xb6", + [0x38a9] = "\xf2\xbf", [0x38aa] = "\xf2\xbd", [0x38ab] = "\xcd\x64", + [0x38ac] = "\xf2\xb9", [0x38ad] = "\xcd\x65", [0x38ae] = "\xcd\x66", + [0x38af] = "\xf2\xc7", [0x38b0] = "\xf2\xc4", [0x38b1] = "\xf2\xc6", + [0x38b2] = "\xcd\x67", [0x38b3] = "\xcd\x68", [0x38b4] = "\xf2\xca", + [0x38b5] = "\xf2\xc2", [0x38b6] = "\xf2\xc0", [0x38b7] = "\xcd\x69", + [0x38b8] = "\xcd\x6a", [0x38b9] = "\xcd\x6b", [0x38ba] = "\xf2\xc5", + [0x38bb] = "\xcd\x6c", [0x38bc] = "\xcd\x6d", [0x38bd] = "\xcd\x6e", + [0x38be] = "\xcd\x6f", [0x38bf] = "\xcd\x70", [0x38c0] = "\xd6\xfb", + [0x38c1] = "\xcd\x71", [0x38c2] = "\xcd\x72", [0x38c3] = "\xcd\x73", + [0x38c4] = "\xf2\xc1", [0x38c5] = "\xcd\x74", [0x38c6] = "\xc7\xf9", + [0x38c7] = "\xc9\xdf", [0x38c8] = "\xcd\x75", [0x38c9] = "\xf2\xc8", + [0x38ca] = "\xb9\xc6", [0x38cb] = "\xb5\xb0", [0x38cc] = "\xcd\x76", + [0x38cd] = "\xcd\x77", [0x38ce] = "\xf2\xc3", [0x38cf] = "\xf2\xc9", + [0x38d0] = "\xf2\xd0", [0x38d1] = "\xf2\xd6", [0x38d2] = "\xcd\x78", + [0x38d3] = "\xcd\x79", [0x38d4] = "\xbb\xd7", [0x38d5] = "\xcd\x7a", + [0x38d6] = "\xcd\x7b", [0x38d7] = "\xcd\x7c", [0x38d8] = "\xf2\xd5", + [0x38d9] = "\xcd\xdc", [0x38da] = "\xcd\x7d", [0x38db] = "\xd6\xeb", + [0x38dc] = "\xcd\x7e", [0x38dd] = "\xcd\x80", [0x38de] = "\xf2\xd2", + [0x38df] = "\xf2\xd4", [0x38e0] = "\xcd\x81", [0x38e1] = "\xcd\x82", + [0x38e2] = "\xcd\x83", [0x38e3] = "\xcd\x84", [0x38e4] = "\xb8\xf2", + [0x38e5] = "\xcd\x85", [0x38e6] = "\xcd\x86", [0x38e7] = "\xcd\x87", + [0x38e8] = "\xcd\x88", [0x38e9] = "\xf2\xcb", [0x38ea] = "\xcd\x89", + [0x38eb] = "\xcd\x8a", [0x38ec] = "\xcd\x8b", [0x38ed] = "\xf2\xce", + [0x38ee] = "\xc2\xf9", [0x38ef] = "\xcd\x8c", [0x38f0] = "\xd5\xdd", + [0x38f1] = "\xf2\xcc", [0x38f2] = "\xf2\xcd", [0x38f3] = "\xf2\xcf", + [0x38f4] = "\xf2\xd3", [0x38f5] = "\xcd\x8d", [0x38f6] = "\xcd\x8e", + [0x38f7] = "\xcd\x8f", [0x38f8] = "\xf2\xd9", [0x38f9] = "\xd3\xbc", + [0x38fa] = "\xcd\x90", [0x38fb] = "\xcd\x91", [0x38fc] = "\xcd\x92", + [0x38fd] = "\xcd\x93", [0x38fe] = "\xb6\xea", [0x38ff] = "\xcd\x94", + [0x3900] = "\xca\xf1", [0x3901] = "\xcd\x95", [0x3902] = "\xb7\xe4", + [0x3903] = "\xf2\xd7", [0x3904] = "\xcd\x96", [0x3905] = "\xcd\x97", + [0x3906] = "\xcd\x98", [0x3907] = "\xf2\xd8", [0x3908] = "\xf2\xda", + [0x3909] = "\xf2\xdd", [0x390a] = "\xf2\xdb", [0x390b] = "\xcd\x99", + [0x390c] = "\xcd\x9a", [0x390d] = "\xf2\xdc", [0x390e] = "\xcd\x9b", + [0x390f] = "\xcd\x9c", [0x3910] = "\xcd\x9d", [0x3911] = "\xcd\x9e", + [0x3912] = "\xd1\xd1", [0x3913] = "\xf2\xd1", [0x3914] = "\xcd\x9f", + [0x3915] = "\xcd\xc9", [0x3916] = "\xcd\xa0", [0x3917] = "\xce\xcf", + [0x3918] = "\xd6\xa9", [0x3919] = "\xce\x40", [0x391a] = "\xf2\xe3", + [0x391b] = "\xce\x41", [0x391c] = "\xc3\xdb", [0x391d] = "\xce\x42", + [0x391e] = "\xf2\xe0", [0x391f] = "\xce\x43", [0x3920] = "\xce\x44", + [0x3921] = "\xc0\xaf", [0x3922] = "\xf2\xec", [0x3923] = "\xf2\xde", + [0x3924] = "\xce\x45", [0x3925] = "\xf2\xe1", [0x3926] = "\xce\x46", + [0x3927] = "\xce\x47", [0x3928] = "\xce\x48", [0x3929] = "\xf2\xe8", + [0x392a] = "\xce\x49", [0x392b] = "\xce\x4a", [0x392c] = "\xce\x4b", + [0x392d] = "\xce\x4c", [0x392e] = "\xf2\xe2", [0x392f] = "\xce\x4d", + [0x3930] = "\xce\x4e", [0x3931] = "\xf2\xe7", [0x3932] = "\xce\x4f", + [0x3933] = "\xce\x50", [0x3934] = "\xf2\xe6", [0x3935] = "\xce\x51", + [0x3936] = "\xce\x52", [0x3937] = "\xf2\xe9", [0x3938] = "\xce\x53", + [0x3939] = "\xce\x54", [0x393a] = "\xce\x55", [0x393b] = "\xf2\xdf", + [0x393c] = "\xce\x56", [0x393d] = "\xce\x57", [0x393e] = "\xf2\xe4", + [0x393f] = "\xf2\xea", [0x3940] = "\xce\x58", [0x3941] = "\xce\x59", + [0x3942] = "\xce\x5a", [0x3943] = "\xce\x5b", [0x3944] = "\xce\x5c", + [0x3945] = "\xce\x5d", [0x3946] = "\xce\x5e", [0x3947] = "\xd3\xac", + [0x3948] = "\xf2\xe5", [0x3949] = "\xb2\xf5", [0x394a] = "\xce\x5f", + [0x394b] = "\xce\x60", [0x394c] = "\xf2\xf2", [0x394d] = "\xce\x61", + [0x394e] = "\xd0\xab", [0x394f] = "\xce\x62", [0x3950] = "\xce\x63", + [0x3951] = "\xce\x64", [0x3952] = "\xce\x65", [0x3953] = "\xf2\xf5", + [0x3954] = "\xce\x66", [0x3955] = "\xce\x67", [0x3956] = "\xce\x68", + [0x3957] = "\xbb\xc8", [0x3958] = "\xce\x69", [0x3959] = "\xf2\xf9", + [0x395a] = "\xce\x6a", [0x395b] = "\xce\x6b", [0x395c] = "\xce\x6c", + [0x395d] = "\xce\x6d", [0x395e] = "\xce\x6e", [0x395f] = "\xce\x6f", + [0x3960] = "\xf2\xf0", [0x3961] = "\xce\x70", [0x3962] = "\xce\x71", + [0x3963] = "\xf2\xf6", [0x3964] = "\xf2\xf8", [0x3965] = "\xf2\xfa", + [0x3966] = "\xce\x72", [0x3967] = "\xce\x73", [0x3968] = "\xce\x74", + [0x3969] = "\xce\x75", [0x396a] = "\xce\x76", [0x396b] = "\xce\x77", + [0x396c] = "\xce\x78", [0x396d] = "\xce\x79", [0x396e] = "\xf2\xf3", + [0x396f] = "\xce\x7a", [0x3970] = "\xf2\xf1", [0x3971] = "\xce\x7b", + [0x3972] = "\xce\x7c", [0x3973] = "\xce\x7d", [0x3974] = "\xba\xfb", + [0x3975] = "\xce\x7e", [0x3976] = "\xb5\xfb", [0x3977] = "\xce\x80", + [0x3978] = "\xce\x81", [0x3979] = "\xce\x82", [0x397a] = "\xce\x83", + [0x397b] = "\xf2\xef", [0x397c] = "\xf2\xf7", [0x397d] = "\xf2\xed", + [0x397e] = "\xf2\xee", [0x397f] = "\xce\x84", [0x3980] = "\xce\x85", + [0x3981] = "\xce\x86", [0x3982] = "\xf2\xeb", [0x3983] = "\xf3\xa6", + [0x3984] = "\xce\x87", [0x3985] = "\xf3\xa3", [0x3986] = "\xce\x88", + [0x3987] = "\xce\x89", [0x3988] = "\xf3\xa2", [0x3989] = "\xce\x8a", + [0x398a] = "\xce\x8b", [0x398b] = "\xf2\xf4", [0x398c] = "\xce\x8c", + [0x398d] = "\xc8\xda", [0x398e] = "\xce\x8d", [0x398f] = "\xce\x8e", + [0x3990] = "\xce\x8f", [0x3991] = "\xce\x90", [0x3992] = "\xce\x91", + [0x3993] = "\xf2\xfb", [0x3994] = "\xce\x92", [0x3995] = "\xce\x93", + [0x3996] = "\xce\x94", [0x3997] = "\xf3\xa5", [0x3998] = "\xce\x95", + [0x3999] = "\xce\x96", [0x399a] = "\xce\x97", [0x399b] = "\xce\x98", + [0x399c] = "\xce\x99", [0x399d] = "\xce\x9a", [0x399e] = "\xce\x9b", + [0x399f] = "\xc3\xf8", [0x39a0] = "\xce\x9c", [0x39a1] = "\xce\x9d", + [0x39a2] = "\xce\x9e", [0x39a3] = "\xce\x9f", [0x39a4] = "\xce\xa0", + [0x39a5] = "\xcf\x40", [0x39a6] = "\xcf\x41", [0x39a7] = "\xcf\x42", + [0x39a8] = "\xf2\xfd", [0x39a9] = "\xcf\x43", [0x39aa] = "\xcf\x44", + [0x39ab] = "\xf3\xa7", [0x39ac] = "\xf3\xa9", [0x39ad] = "\xf3\xa4", + [0x39ae] = "\xcf\x45", [0x39af] = "\xf2\xfc", [0x39b0] = "\xcf\x46", + [0x39b1] = "\xcf\x47", [0x39b2] = "\xcf\x48", [0x39b3] = "\xf3\xab", + [0x39b4] = "\xcf\x49", [0x39b5] = "\xf3\xaa", [0x39b6] = "\xcf\x4a", + [0x39b7] = "\xcf\x4b", [0x39b8] = "\xcf\x4c", [0x39b9] = "\xcf\x4d", + [0x39ba] = "\xc2\xdd", [0x39bb] = "\xcf\x4e", [0x39bc] = "\xcf\x4f", + [0x39bd] = "\xf3\xae", [0x39be] = "\xcf\x50", [0x39bf] = "\xcf\x51", + [0x39c0] = "\xf3\xb0", [0x39c1] = "\xcf\x52", [0x39c2] = "\xcf\x53", + [0x39c3] = "\xcf\x54", [0x39c4] = "\xcf\x55", [0x39c5] = "\xcf\x56", + [0x39c6] = "\xf3\xa1", [0x39c7] = "\xcf\x57", [0x39c8] = "\xcf\x58", + [0x39c9] = "\xcf\x59", [0x39ca] = "\xf3\xb1", [0x39cb] = "\xf3\xac", + [0x39cc] = "\xcf\x5a", [0x39cd] = "\xcf\x5b", [0x39ce] = "\xcf\x5c", + [0x39cf] = "\xcf\x5d", [0x39d0] = "\xcf\x5e", [0x39d1] = "\xf3\xaf", + [0x39d2] = "\xf2\xfe", [0x39d3] = "\xf3\xad", [0x39d4] = "\xcf\x5f", + [0x39d5] = "\xcf\x60", [0x39d6] = "\xcf\x61", [0x39d7] = "\xcf\x62", + [0x39d8] = "\xcf\x63", [0x39d9] = "\xcf\x64", [0x39da] = "\xcf\x65", + [0x39db] = "\xf3\xb2", [0x39dc] = "\xcf\x66", [0x39dd] = "\xcf\x67", + [0x39de] = "\xcf\x68", [0x39df] = "\xcf\x69", [0x39e0] = "\xf3\xb4", + [0x39e1] = "\xcf\x6a", [0x39e2] = "\xcf\x6b", [0x39e3] = "\xcf\x6c", + [0x39e4] = "\xcf\x6d", [0x39e5] = "\xf3\xa8", [0x39e6] = "\xcf\x6e", + [0x39e7] = "\xcf\x6f", [0x39e8] = "\xcf\x70", [0x39e9] = "\xcf\x71", + [0x39ea] = "\xf3\xb3", [0x39eb] = "\xcf\x72", [0x39ec] = "\xcf\x73", + [0x39ed] = "\xcf\x74", [0x39ee] = "\xf3\xb5", [0x39ef] = "\xcf\x75", + [0x39f0] = "\xcf\x76", [0x39f1] = "\xcf\x77", [0x39f2] = "\xcf\x78", + [0x39f3] = "\xcf\x79", [0x39f4] = "\xcf\x7a", [0x39f5] = "\xcf\x7b", + [0x39f6] = "\xcf\x7c", [0x39f7] = "\xcf\x7d", [0x39f8] = "\xcf\x7e", + [0x39f9] = "\xd0\xb7", [0x39fa] = "\xcf\x80", [0x39fb] = "\xcf\x81", + [0x39fc] = "\xcf\x82", [0x39fd] = "\xcf\x83", [0x39fe] = "\xf3\xb8", + [0x39ff] = "\xcf\x84", [0x3a00] = "\xcf\x85", [0x3a01] = "\xcf\x86", + [0x3a02] = "\xcf\x87", [0x3a03] = "\xd9\xf9", [0x3a04] = "\xcf\x88", + [0x3a05] = "\xcf\x89", [0x3a06] = "\xcf\x8a", [0x3a07] = "\xcf\x8b", + [0x3a08] = "\xcf\x8c", [0x3a09] = "\xcf\x8d", [0x3a0a] = "\xf3\xb9", + [0x3a0b] = "\xcf\x8e", [0x3a0c] = "\xcf\x8f", [0x3a0d] = "\xcf\x90", + [0x3a0e] = "\xcf\x91", [0x3a0f] = "\xcf\x92", [0x3a10] = "\xcf\x93", + [0x3a11] = "\xcf\x94", [0x3a12] = "\xcf\x95", [0x3a13] = "\xf3\xb7", + [0x3a14] = "\xcf\x96", [0x3a15] = "\xc8\xe4", [0x3a16] = "\xf3\xb6", + [0x3a17] = "\xcf\x97", [0x3a18] = "\xcf\x98", [0x3a19] = "\xcf\x99", + [0x3a1a] = "\xcf\x9a", [0x3a1b] = "\xf3\xba", [0x3a1c] = "\xcf\x9b", + [0x3a1d] = "\xcf\x9c", [0x3a1e] = "\xcf\x9d", [0x3a1f] = "\xcf\x9e", + [0x3a20] = "\xcf\x9f", [0x3a21] = "\xf3\xbb", [0x3a22] = "\xb4\xc0", + [0x3a23] = "\xcf\xa0", [0x3a24] = "\xd0\x40", [0x3a25] = "\xd0\x41", + [0x3a26] = "\xd0\x42", [0x3a27] = "\xd0\x43", [0x3a28] = "\xd0\x44", + [0x3a29] = "\xd0\x45", [0x3a2a] = "\xd0\x46", [0x3a2b] = "\xd0\x47", + [0x3a2c] = "\xd0\x48", [0x3a2d] = "\xd0\x49", [0x3a2e] = "\xd0\x4a", + [0x3a2f] = "\xd0\x4b", [0x3a30] = "\xd0\x4c", [0x3a31] = "\xd0\x4d", + [0x3a32] = "\xee\xc3", [0x3a33] = "\xd0\x4e", [0x3a34] = "\xd0\x4f", + [0x3a35] = "\xd0\x50", [0x3a36] = "\xd0\x51", [0x3a37] = "\xd0\x52", + [0x3a38] = "\xd0\x53", [0x3a39] = "\xf3\xbc", [0x3a3a] = "\xd0\x54", + [0x3a3b] = "\xd0\x55", [0x3a3c] = "\xf3\xbd", [0x3a3d] = "\xd0\x56", + [0x3a3e] = "\xd0\x57", [0x3a3f] = "\xd0\x58", [0x3a40] = "\xd1\xaa", + [0x3a41] = "\xd0\x59", [0x3a42] = "\xd0\x5a", [0x3a43] = "\xd0\x5b", + [0x3a44] = "\xf4\xac", [0x3a45] = "\xd0\xc6", [0x3a46] = "\xd0\x5c", + [0x3a47] = "\xd0\x5d", [0x3a48] = "\xd0\x5e", [0x3a49] = "\xd0\x5f", + [0x3a4a] = "\xd0\x60", [0x3a4b] = "\xd0\x61", [0x3a4c] = "\xd0\xd0", + [0x3a4d] = "\xd1\xdc", [0x3a4e] = "\xd0\x62", [0x3a4f] = "\xd0\x63", + [0x3a50] = "\xd0\x64", [0x3a51] = "\xd0\x65", [0x3a52] = "\xd0\x66", + [0x3a53] = "\xd0\x67", [0x3a54] = "\xcf\xce", [0x3a55] = "\xd0\x68", + [0x3a56] = "\xd0\x69", [0x3a57] = "\xbd\xd6", [0x3a58] = "\xd0\x6a", + [0x3a59] = "\xd1\xc3", [0x3a5a] = "\xd0\x6b", [0x3a5b] = "\xd0\x6c", + [0x3a5c] = "\xd0\x6d", [0x3a5d] = "\xd0\x6e", [0x3a5e] = "\xd0\x6f", + [0x3a5f] = "\xd0\x70", [0x3a60] = "\xd0\x71", [0x3a61] = "\xba\xe2", + [0x3a62] = "\xe1\xe9", [0x3a63] = "\xd2\xc2", [0x3a64] = "\xf1\xc2", + [0x3a65] = "\xb2\xb9", [0x3a66] = "\xd0\x72", [0x3a67] = "\xd0\x73", + [0x3a68] = "\xb1\xed", [0x3a69] = "\xf1\xc3", [0x3a6a] = "\xd0\x74", + [0x3a6b] = "\xc9\xc0", [0x3a6c] = "\xb3\xc4", [0x3a6d] = "\xd0\x75", + [0x3a6e] = "\xd9\xf2", [0x3a6f] = "\xd0\x76", [0x3a70] = "\xcb\xa5", + [0x3a71] = "\xd0\x77", [0x3a72] = "\xf1\xc4", [0x3a73] = "\xd0\x78", + [0x3a74] = "\xd0\x79", [0x3a75] = "\xd0\x7a", [0x3a76] = "\xd0\x7b", + [0x3a77] = "\xd6\xd4", [0x3a78] = "\xd0\x7c", [0x3a79] = "\xd0\x7d", + [0x3a7a] = "\xd0\x7e", [0x3a7b] = "\xd0\x80", [0x3a7c] = "\xd0\x81", + [0x3a7d] = "\xf1\xc5", [0x3a7e] = "\xf4\xc0", [0x3a7f] = "\xf1\xc6", + [0x3a80] = "\xd0\x82", [0x3a81] = "\xd4\xac", [0x3a82] = "\xf1\xc7", + [0x3a83] = "\xd0\x83", [0x3a84] = "\xb0\xc0", [0x3a85] = "\xf4\xc1", + [0x3a86] = "\xd0\x84", [0x3a87] = "\xd0\x85", [0x3a88] = "\xf4\xc2", + [0x3a89] = "\xd0\x86", [0x3a8a] = "\xd0\x87", [0x3a8b] = "\xb4\xfc", + [0x3a8c] = "\xd0\x88", [0x3a8d] = "\xc5\xdb", [0x3a8e] = "\xd0\x89", + [0x3a8f] = "\xd0\x8a", [0x3a90] = "\xd0\x8b", [0x3a91] = "\xd0\x8c", + [0x3a92] = "\xcc\xbb", [0x3a93] = "\xd0\x8d", [0x3a94] = "\xd0\x8e", + [0x3a95] = "\xd0\x8f", [0x3a96] = "\xd0\xe4", [0x3a97] = "\xd0\x90", + [0x3a98] = "\xd0\x91", [0x3a99] = "\xd0\x92", [0x3a9a] = "\xd0\x93", + [0x3a9b] = "\xd0\x94", [0x3a9c] = "\xcd\xe0", [0x3a9d] = "\xd0\x95", + [0x3a9e] = "\xd0\x96", [0x3a9f] = "\xd0\x97", [0x3aa0] = "\xd0\x98", + [0x3aa1] = "\xd0\x99", [0x3aa2] = "\xf1\xc8", [0x3aa3] = "\xd0\x9a", + [0x3aa4] = "\xd9\xf3", [0x3aa5] = "\xd0\x9b", [0x3aa6] = "\xd0\x9c", + [0x3aa7] = "\xd0\x9d", [0x3aa8] = "\xd0\x9e", [0x3aa9] = "\xd0\x9f", + [0x3aaa] = "\xd0\xa0", [0x3aab] = "\xb1\xbb", [0x3aac] = "\xd1\x40", + [0x3aad] = "\xcf\xae", [0x3aae] = "\xd1\x41", [0x3aaf] = "\xd1\x42", + [0x3ab0] = "\xd1\x43", [0x3ab1] = "\xb8\xa4", [0x3ab2] = "\xd1\x44", + [0x3ab3] = "\xd1\x45", [0x3ab4] = "\xd1\x46", [0x3ab5] = "\xd1\x47", + [0x3ab6] = "\xd1\x48", [0x3ab7] = "\xf1\xca", [0x3ab8] = "\xd1\x49", + [0x3ab9] = "\xd1\x4a", [0x3aba] = "\xd1\x4b", [0x3abb] = "\xd1\x4c", + [0x3abc] = "\xf1\xcb", [0x3abd] = "\xd1\x4d", [0x3abe] = "\xd1\x4e", + [0x3abf] = "\xd1\x4f", [0x3ac0] = "\xd1\x50", [0x3ac1] = "\xb2\xc3", + [0x3ac2] = "\xc1\xd1", [0x3ac3] = "\xd1\x51", [0x3ac4] = "\xd1\x52", + [0x3ac5] = "\xd7\xb0", [0x3ac6] = "\xf1\xc9", [0x3ac7] = "\xd1\x53", + [0x3ac8] = "\xd1\x54", [0x3ac9] = "\xf1\xcc", [0x3aca] = "\xd1\x55", + [0x3acb] = "\xd1\x56", [0x3acc] = "\xd1\x57", [0x3acd] = "\xd1\x58", + [0x3ace] = "\xf1\xce", [0x3acf] = "\xd1\x59", [0x3ad0] = "\xd1\x5a", + [0x3ad1] = "\xd1\x5b", [0x3ad2] = "\xd9\xf6", [0x3ad3] = "\xd1\x5c", + [0x3ad4] = "\xd2\xe1", [0x3ad5] = "\xd4\xa3", [0x3ad6] = "\xd1\x5d", + [0x3ad7] = "\xd1\x5e", [0x3ad8] = "\xf4\xc3", [0x3ad9] = "\xc8\xb9", + [0x3ada] = "\xd1\x5f", [0x3adb] = "\xd1\x60", [0x3adc] = "\xd1\x61", + [0x3add] = "\xd1\x62", [0x3ade] = "\xd1\x63", [0x3adf] = "\xf4\xc4", + [0x3ae0] = "\xd1\x64", [0x3ae1] = "\xd1\x65", [0x3ae2] = "\xf1\xcd", + [0x3ae3] = "\xf1\xcf", [0x3ae4] = "\xbf\xe3", [0x3ae5] = "\xf1\xd0", + [0x3ae6] = "\xd1\x66", [0x3ae7] = "\xd1\x67", [0x3ae8] = "\xf1\xd4", + [0x3ae9] = "\xd1\x68", [0x3aea] = "\xd1\x69", [0x3aeb] = "\xd1\x6a", + [0x3aec] = "\xd1\x6b", [0x3aed] = "\xd1\x6c", [0x3aee] = "\xd1\x6d", + [0x3aef] = "\xd1\x6e", [0x3af0] = "\xf1\xd6", [0x3af1] = "\xf1\xd1", + [0x3af2] = "\xd1\x6f", [0x3af3] = "\xc9\xd1", [0x3af4] = "\xc5\xe1", + [0x3af5] = "\xd1\x70", [0x3af6] = "\xd1\x71", [0x3af7] = "\xd1\x72", + [0x3af8] = "\xc2\xe3", [0x3af9] = "\xb9\xfc", [0x3afa] = "\xd1\x73", + [0x3afb] = "\xd1\x74", [0x3afc] = "\xf1\xd3", [0x3afd] = "\xd1\x75", + [0x3afe] = "\xf1\xd5", [0x3aff] = "\xd1\x76", [0x3b00] = "\xd1\x77", + [0x3b01] = "\xd1\x78", [0x3b02] = "\xb9\xd3", [0x3b03] = "\xd1\x79", + [0x3b04] = "\xd1\x7a", [0x3b05] = "\xd1\x7b", [0x3b06] = "\xd1\x7c", + [0x3b07] = "\xd1\x7d", [0x3b08] = "\xd1\x7e", [0x3b09] = "\xd1\x80", + [0x3b0a] = "\xf1\xdb", [0x3b0b] = "\xd1\x81", [0x3b0c] = "\xd1\x82", + [0x3b0d] = "\xd1\x83", [0x3b0e] = "\xd1\x84", [0x3b0f] = "\xd1\x85", + [0x3b10] = "\xba\xd6", [0x3b11] = "\xd1\x86", [0x3b12] = "\xb0\xfd", + [0x3b13] = "\xf1\xd9", [0x3b14] = "\xd1\x87", [0x3b15] = "\xd1\x88", + [0x3b16] = "\xd1\x89", [0x3b17] = "\xd1\x8a", [0x3b18] = "\xd1\x8b", + [0x3b19] = "\xf1\xd8", [0x3b1a] = "\xf1\xd2", [0x3b1b] = "\xf1\xda", + [0x3b1c] = "\xd1\x8c", [0x3b1d] = "\xd1\x8d", [0x3b1e] = "\xd1\x8e", + [0x3b1f] = "\xd1\x8f", [0x3b20] = "\xd1\x90", [0x3b21] = "\xf1\xd7", + [0x3b22] = "\xd1\x91", [0x3b23] = "\xd1\x92", [0x3b24] = "\xd1\x93", + [0x3b25] = "\xc8\xec", [0x3b26] = "\xd1\x94", [0x3b27] = "\xd1\x95", + [0x3b28] = "\xd1\x96", [0x3b29] = "\xd1\x97", [0x3b2a] = "\xcd\xca", + [0x3b2b] = "\xf1\xdd", [0x3b2c] = "\xd1\x98", [0x3b2d] = "\xd1\x99", + [0x3b2e] = "\xd1\x9a", [0x3b2f] = "\xd1\x9b", [0x3b30] = "\xe5\xbd", + [0x3b31] = "\xd1\x9c", [0x3b32] = "\xd1\x9d", [0x3b33] = "\xd1\x9e", + [0x3b34] = "\xf1\xdc", [0x3b35] = "\xd1\x9f", [0x3b36] = "\xf1\xde", + [0x3b37] = "\xd1\xa0", [0x3b38] = "\xd2\x40", [0x3b39] = "\xd2\x41", + [0x3b3a] = "\xd2\x42", [0x3b3b] = "\xd2\x43", [0x3b3c] = "\xd2\x44", + [0x3b3d] = "\xd2\x45", [0x3b3e] = "\xd2\x46", [0x3b3f] = "\xd2\x47", + [0x3b40] = "\xd2\x48", [0x3b41] = "\xf1\xdf", [0x3b42] = "\xd2\x49", + [0x3b43] = "\xd2\x4a", [0x3b44] = "\xcf\xe5", [0x3b45] = "\xd2\x4b", + [0x3b46] = "\xd2\x4c", [0x3b47] = "\xd2\x4d", [0x3b48] = "\xd2\x4e", + [0x3b49] = "\xd2\x4f", [0x3b4a] = "\xd2\x50", [0x3b4b] = "\xd2\x51", + [0x3b4c] = "\xd2\x52", [0x3b4d] = "\xd2\x53", [0x3b4e] = "\xd2\x54", + [0x3b4f] = "\xd2\x55", [0x3b50] = "\xd2\x56", [0x3b51] = "\xd2\x57", + [0x3b52] = "\xd2\x58", [0x3b53] = "\xd2\x59", [0x3b54] = "\xd2\x5a", + [0x3b55] = "\xd2\x5b", [0x3b56] = "\xd2\x5c", [0x3b57] = "\xd2\x5d", + [0x3b58] = "\xd2\x5e", [0x3b59] = "\xd2\x5f", [0x3b5a] = "\xd2\x60", + [0x3b5b] = "\xd2\x61", [0x3b5c] = "\xd2\x62", [0x3b5d] = "\xd2\x63", + [0x3b5e] = "\xf4\xc5", [0x3b5f] = "\xbd\xf3", [0x3b60] = "\xd2\x64", + [0x3b61] = "\xd2\x65", [0x3b62] = "\xd2\x66", [0x3b63] = "\xd2\x67", + [0x3b64] = "\xd2\x68", [0x3b65] = "\xd2\x69", [0x3b66] = "\xf1\xe0", + [0x3b67] = "\xd2\x6a", [0x3b68] = "\xd2\x6b", [0x3b69] = "\xd2\x6c", + [0x3b6a] = "\xd2\x6d", [0x3b6b] = "\xd2\x6e", [0x3b6c] = "\xd2\x6f", + [0x3b6d] = "\xd2\x70", [0x3b6e] = "\xd2\x71", [0x3b6f] = "\xd2\x72", + [0x3b70] = "\xd2\x73", [0x3b71] = "\xd2\x74", [0x3b72] = "\xd2\x75", + [0x3b73] = "\xd2\x76", [0x3b74] = "\xd2\x77", [0x3b75] = "\xd2\x78", + [0x3b76] = "\xd2\x79", [0x3b77] = "\xd2\x7a", [0x3b78] = "\xd2\x7b", + [0x3b79] = "\xd2\x7c", [0x3b7a] = "\xd2\x7d", [0x3b7b] = "\xf1\xe1", + [0x3b7c] = "\xd2\x7e", [0x3b7d] = "\xd2\x80", [0x3b7e] = "\xd2\x81", + [0x3b7f] = "\xce\xf7", [0x3b80] = "\xd2\x82", [0x3b81] = "\xd2\xaa", + [0x3b82] = "\xd2\x83", [0x3b83] = "\xf1\xfb", [0x3b84] = "\xd2\x84", + [0x3b85] = "\xd2\x85", [0x3b86] = "\xb8\xb2", [0x3b87] = "\xd2\x86", + [0x3b88] = "\xd2\x87", [0x3b89] = "\xd2\x88", [0x3b8a] = "\xd2\x89", + [0x3b8b] = "\xd2\x8a", [0x3b8c] = "\xd2\x8b", [0x3b8d] = "\xd2\x8c", + [0x3b8e] = "\xd2\x8d", [0x3b8f] = "\xd2\x8e", [0x3b90] = "\xd2\x8f", + [0x3b91] = "\xd2\x90", [0x3b92] = "\xd2\x91", [0x3b93] = "\xd2\x92", + [0x3b94] = "\xd2\x93", [0x3b95] = "\xd2\x94", [0x3b96] = "\xd2\x95", + [0x3b97] = "\xd2\x96", [0x3b98] = "\xd2\x97", [0x3b99] = "\xd2\x98", + [0x3b9a] = "\xd2\x99", [0x3b9b] = "\xd2\x9a", [0x3b9c] = "\xd2\x9b", + [0x3b9d] = "\xd2\x9c", [0x3b9e] = "\xd2\x9d", [0x3b9f] = "\xd2\x9e", + [0x3ba0] = "\xd2\x9f", [0x3ba1] = "\xd2\xa0", [0x3ba2] = "\xd3\x40", + [0x3ba3] = "\xd3\x41", [0x3ba4] = "\xd3\x42", [0x3ba5] = "\xd3\x43", + [0x3ba6] = "\xd3\x44", [0x3ba7] = "\xd3\x45", [0x3ba8] = "\xd3\x46", + [0x3ba9] = "\xd3\x47", [0x3baa] = "\xd3\x48", [0x3bab] = "\xd3\x49", + [0x3bac] = "\xd3\x4a", [0x3bad] = "\xd3\x4b", [0x3bae] = "\xd3\x4c", + [0x3baf] = "\xd3\x4d", [0x3bb0] = "\xd3\x4e", [0x3bb1] = "\xd3\x4f", + [0x3bb2] = "\xd3\x50", [0x3bb3] = "\xd3\x51", [0x3bb4] = "\xd3\x52", + [0x3bb5] = "\xd3\x53", [0x3bb6] = "\xd3\x54", [0x3bb7] = "\xd3\x55", + [0x3bb8] = "\xd3\x56", [0x3bb9] = "\xd3\x57", [0x3bba] = "\xd3\x58", + [0x3bbb] = "\xd3\x59", [0x3bbc] = "\xd3\x5a", [0x3bbd] = "\xd3\x5b", + [0x3bbe] = "\xd3\x5c", [0x3bbf] = "\xd3\x5d", [0x3bc0] = "\xd3\x5e", + [0x3bc1] = "\xbc\xfb", [0x3bc2] = "\xb9\xdb", [0x3bc3] = "\xd3\x5f", + [0x3bc4] = "\xb9\xe6", [0x3bc5] = "\xc3\xd9", [0x3bc6] = "\xca\xd3", + [0x3bc7] = "\xea\xe8", [0x3bc8] = "\xc0\xc0", [0x3bc9] = "\xbe\xf5", + [0x3bca] = "\xea\xe9", [0x3bcb] = "\xea\xea", [0x3bcc] = "\xea\xeb", + [0x3bcd] = "\xd3\x60", [0x3bce] = "\xea\xec", [0x3bcf] = "\xea\xed", + [0x3bd0] = "\xea\xee", [0x3bd1] = "\xea\xef", [0x3bd2] = "\xbd\xc7", + [0x3bd3] = "\xd3\x61", [0x3bd4] = "\xd3\x62", [0x3bd5] = "\xd3\x63", + [0x3bd6] = "\xf5\xfb", [0x3bd7] = "\xd3\x64", [0x3bd8] = "\xd3\x65", + [0x3bd9] = "\xd3\x66", [0x3bda] = "\xf5\xfd", [0x3bdb] = "\xd3\x67", + [0x3bdc] = "\xf5\xfe", [0x3bdd] = "\xd3\x68", [0x3bde] = "\xf5\xfc", + [0x3bdf] = "\xd3\x69", [0x3be0] = "\xd3\x6a", [0x3be1] = "\xd3\x6b", + [0x3be2] = "\xd3\x6c", [0x3be3] = "\xbd\xe2", [0x3be4] = "\xd3\x6d", + [0x3be5] = "\xf6\xa1", [0x3be6] = "\xb4\xa5", [0x3be7] = "\xd3\x6e", + [0x3be8] = "\xd3\x6f", [0x3be9] = "\xd3\x70", [0x3bea] = "\xd3\x71", + [0x3beb] = "\xf6\xa2", [0x3bec] = "\xd3\x72", [0x3bed] = "\xd3\x73", + [0x3bee] = "\xd3\x74", [0x3bef] = "\xf6\xa3", [0x3bf0] = "\xd3\x75", + [0x3bf1] = "\xd3\x76", [0x3bf2] = "\xd3\x77", [0x3bf3] = "\xec\xb2", + [0x3bf4] = "\xd3\x78", [0x3bf5] = "\xd3\x79", [0x3bf6] = "\xd3\x7a", + [0x3bf7] = "\xd3\x7b", [0x3bf8] = "\xd3\x7c", [0x3bf9] = "\xd3\x7d", + [0x3bfa] = "\xd3\x7e", [0x3bfb] = "\xd3\x80", [0x3bfc] = "\xd3\x81", + [0x3bfd] = "\xd3\x82", [0x3bfe] = "\xd3\x83", [0x3bff] = "\xd3\x84", + [0x3c00] = "\xd1\xd4", [0x3c01] = "\xd3\x85", [0x3c02] = "\xd3\x86", + [0x3c03] = "\xd3\x87", [0x3c04] = "\xd3\x88", [0x3c05] = "\xd3\x89", + [0x3c06] = "\xd3\x8a", [0x3c07] = "\xd9\xea", [0x3c08] = "\xd3\x8b", + [0x3c09] = "\xd3\x8c", [0x3c0a] = "\xd3\x8d", [0x3c0b] = "\xd3\x8e", + [0x3c0c] = "\xd3\x8f", [0x3c0d] = "\xd3\x90", [0x3c0e] = "\xd3\x91", + [0x3c0f] = "\xd3\x92", [0x3c10] = "\xd3\x93", [0x3c11] = "\xd3\x94", + [0x3c12] = "\xd3\x95", [0x3c13] = "\xd3\x96", [0x3c14] = "\xd3\x97", + [0x3c15] = "\xd3\x98", [0x3c16] = "\xd3\x99", [0x3c17] = "\xd3\x9a", + [0x3c18] = "\xd3\x9b", [0x3c19] = "\xd3\x9c", [0x3c1a] = "\xd3\x9d", + [0x3c1b] = "\xd3\x9e", [0x3c1c] = "\xd3\x9f", [0x3c1d] = "\xd3\xa0", + [0x3c1e] = "\xd4\x40", [0x3c1f] = "\xd4\x41", [0x3c20] = "\xd4\x42", + [0x3c21] = "\xd4\x43", [0x3c22] = "\xd4\x44", [0x3c23] = "\xd4\x45", + [0x3c24] = "\xd4\x46", [0x3c25] = "\xd4\x47", [0x3c26] = "\xd4\x48", + [0x3c27] = "\xd4\x49", [0x3c28] = "\xd4\x4a", [0x3c29] = "\xd4\x4b", + [0x3c2a] = "\xd4\x4c", [0x3c2b] = "\xd4\x4d", [0x3c2c] = "\xd4\x4e", + [0x3c2d] = "\xd4\x4f", [0x3c2e] = "\xd4\x50", [0x3c2f] = "\xd4\x51", + [0x3c30] = "\xd4\x52", [0x3c31] = "\xd4\x53", [0x3c32] = "\xd4\x54", + [0x3c33] = "\xd4\x55", [0x3c34] = "\xd4\x56", [0x3c35] = "\xd4\x57", + [0x3c36] = "\xd4\x58", [0x3c37] = "\xd4\x59", [0x3c38] = "\xd4\x5a", + [0x3c39] = "\xd4\x5b", [0x3c3a] = "\xd4\x5c", [0x3c3b] = "\xd4\x5d", + [0x3c3c] = "\xd4\x5e", [0x3c3d] = "\xd4\x5f", [0x3c3e] = "\xf6\xa4", + [0x3c3f] = "\xd4\x60", [0x3c40] = "\xd4\x61", [0x3c41] = "\xd4\x62", + [0x3c42] = "\xd4\x63", [0x3c43] = "\xd4\x64", [0x3c44] = "\xd4\x65", + [0x3c45] = "\xd4\x66", [0x3c46] = "\xd4\x67", [0x3c47] = "\xd4\x68", + [0x3c48] = "\xee\xba", [0x3c49] = "\xd4\x69", [0x3c4a] = "\xd4\x6a", + [0x3c4b] = "\xd4\x6b", [0x3c4c] = "\xd4\x6c", [0x3c4d] = "\xd4\x6d", + [0x3c4e] = "\xd4\x6e", [0x3c4f] = "\xd4\x6f", [0x3c50] = "\xd4\x70", + [0x3c51] = "\xd4\x71", [0x3c52] = "\xd4\x72", [0x3c53] = "\xd4\x73", + [0x3c54] = "\xd4\x74", [0x3c55] = "\xd4\x75", [0x3c56] = "\xd4\x76", + [0x3c57] = "\xd4\x77", [0x3c58] = "\xd4\x78", [0x3c59] = "\xd4\x79", + [0x3c5a] = "\xd4\x7a", [0x3c5b] = "\xd4\x7b", [0x3c5c] = "\xd4\x7c", + [0x3c5d] = "\xd4\x7d", [0x3c5e] = "\xd4\x7e", [0x3c5f] = "\xd4\x80", + [0x3c60] = "\xd4\x81", [0x3c61] = "\xd4\x82", [0x3c62] = "\xd4\x83", + [0x3c63] = "\xd4\x84", [0x3c64] = "\xd4\x85", [0x3c65] = "\xd4\x86", + [0x3c66] = "\xd4\x87", [0x3c67] = "\xd4\x88", [0x3c68] = "\xd4\x89", + [0x3c69] = "\xd4\x8a", [0x3c6a] = "\xd4\x8b", [0x3c6b] = "\xd4\x8c", + [0x3c6c] = "\xd4\x8d", [0x3c6d] = "\xd4\x8e", [0x3c6e] = "\xd4\x8f", + [0x3c6f] = "\xd4\x90", [0x3c70] = "\xd4\x91", [0x3c71] = "\xd4\x92", + [0x3c72] = "\xd4\x93", [0x3c73] = "\xd4\x94", [0x3c74] = "\xd4\x95", + [0x3c75] = "\xd4\x96", [0x3c76] = "\xd4\x97", [0x3c77] = "\xd4\x98", + [0x3c78] = "\xd4\x99", [0x3c79] = "\xd5\xb2", [0x3c7a] = "\xd4\x9a", + [0x3c7b] = "\xd4\x9b", [0x3c7c] = "\xd4\x9c", [0x3c7d] = "\xd4\x9d", + [0x3c7e] = "\xd4\x9e", [0x3c7f] = "\xd4\x9f", [0x3c80] = "\xd4\xa0", + [0x3c81] = "\xd5\x40", [0x3c82] = "\xd5\x41", [0x3c83] = "\xd5\x42", + [0x3c84] = "\xd5\x43", [0x3c85] = "\xd5\x44", [0x3c86] = "\xd5\x45", + [0x3c87] = "\xd5\x46", [0x3c88] = "\xd5\x47", [0x3c89] = "\xd3\xfe", + [0x3c8a] = "\xcc\xdc", [0x3c8b] = "\xd5\x48", [0x3c8c] = "\xd5\x49", + [0x3c8d] = "\xd5\x4a", [0x3c8e] = "\xd5\x4b", [0x3c8f] = "\xd5\x4c", + [0x3c90] = "\xd5\x4d", [0x3c91] = "\xd5\x4e", [0x3c92] = "\xd5\x4f", + [0x3c93] = "\xca\xc4", [0x3c94] = "\xd5\x50", [0x3c95] = "\xd5\x51", + [0x3c96] = "\xd5\x52", [0x3c97] = "\xd5\x53", [0x3c98] = "\xd5\x54", + [0x3c99] = "\xd5\x55", [0x3c9a] = "\xd5\x56", [0x3c9b] = "\xd5\x57", + [0x3c9c] = "\xd5\x58", [0x3c9d] = "\xd5\x59", [0x3c9e] = "\xd5\x5a", + [0x3c9f] = "\xd5\x5b", [0x3ca0] = "\xd5\x5c", [0x3ca1] = "\xd5\x5d", + [0x3ca2] = "\xd5\x5e", [0x3ca3] = "\xd5\x5f", [0x3ca4] = "\xd5\x60", + [0x3ca5] = "\xd5\x61", [0x3ca6] = "\xd5\x62", [0x3ca7] = "\xd5\x63", + [0x3ca8] = "\xd5\x64", [0x3ca9] = "\xd5\x65", [0x3caa] = "\xd5\x66", + [0x3cab] = "\xd5\x67", [0x3cac] = "\xd5\x68", [0x3cad] = "\xd5\x69", + [0x3cae] = "\xd5\x6a", [0x3caf] = "\xd5\x6b", [0x3cb0] = "\xd5\x6c", + [0x3cb1] = "\xd5\x6d", [0x3cb2] = "\xd5\x6e", [0x3cb3] = "\xd5\x6f", + [0x3cb4] = "\xd5\x70", [0x3cb5] = "\xd5\x71", [0x3cb6] = "\xd5\x72", + [0x3cb7] = "\xd5\x73", [0x3cb8] = "\xd5\x74", [0x3cb9] = "\xd5\x75", + [0x3cba] = "\xd5\x76", [0x3cbb] = "\xd5\x77", [0x3cbc] = "\xd5\x78", + [0x3cbd] = "\xd5\x79", [0x3cbe] = "\xd5\x7a", [0x3cbf] = "\xd5\x7b", + [0x3cc0] = "\xd5\x7c", [0x3cc1] = "\xd5\x7d", [0x3cc2] = "\xd5\x7e", + [0x3cc3] = "\xd5\x80", [0x3cc4] = "\xd5\x81", [0x3cc5] = "\xd5\x82", + [0x3cc6] = "\xd5\x83", [0x3cc7] = "\xd5\x84", [0x3cc8] = "\xd5\x85", + [0x3cc9] = "\xd5\x86", [0x3cca] = "\xd5\x87", [0x3ccb] = "\xd5\x88", + [0x3ccc] = "\xd5\x89", [0x3ccd] = "\xd5\x8a", [0x3cce] = "\xd5\x8b", + [0x3ccf] = "\xd5\x8c", [0x3cd0] = "\xd5\x8d", [0x3cd1] = "\xd5\x8e", + [0x3cd2] = "\xd5\x8f", [0x3cd3] = "\xd5\x90", [0x3cd4] = "\xd5\x91", + [0x3cd5] = "\xd5\x92", [0x3cd6] = "\xd5\x93", [0x3cd7] = "\xd5\x94", + [0x3cd8] = "\xd5\x95", [0x3cd9] = "\xd5\x96", [0x3cda] = "\xd5\x97", + [0x3cdb] = "\xd5\x98", [0x3cdc] = "\xd5\x99", [0x3cdd] = "\xd5\x9a", + [0x3cde] = "\xd5\x9b", [0x3cdf] = "\xd5\x9c", [0x3ce0] = "\xd5\x9d", + [0x3ce1] = "\xd5\x9e", [0x3ce2] = "\xd5\x9f", [0x3ce3] = "\xd5\xa0", + [0x3ce4] = "\xd6\x40", [0x3ce5] = "\xd6\x41", [0x3ce6] = "\xd6\x42", + [0x3ce7] = "\xd6\x43", [0x3ce8] = "\xd6\x44", [0x3ce9] = "\xd6\x45", + [0x3cea] = "\xd6\x46", [0x3ceb] = "\xd6\x47", [0x3cec] = "\xd6\x48", + [0x3ced] = "\xd6\x49", [0x3cee] = "\xd6\x4a", [0x3cef] = "\xd6\x4b", + [0x3cf0] = "\xd6\x4c", [0x3cf1] = "\xd6\x4d", [0x3cf2] = "\xd6\x4e", + [0x3cf3] = "\xd6\x4f", [0x3cf4] = "\xd6\x50", [0x3cf5] = "\xd6\x51", + [0x3cf6] = "\xd6\x52", [0x3cf7] = "\xd6\x53", [0x3cf8] = "\xd6\x54", + [0x3cf9] = "\xd6\x55", [0x3cfa] = "\xd6\x56", [0x3cfb] = "\xd6\x57", + [0x3cfc] = "\xd6\x58", [0x3cfd] = "\xd6\x59", [0x3cfe] = "\xd6\x5a", + [0x3cff] = "\xd6\x5b", [0x3d00] = "\xd6\x5c", [0x3d01] = "\xd6\x5d", + [0x3d02] = "\xd6\x5e", [0x3d03] = "\xd6\x5f", [0x3d04] = "\xd6\x60", + [0x3d05] = "\xd6\x61", [0x3d06] = "\xd6\x62", [0x3d07] = "\xe5\xc0", + [0x3d08] = "\xd6\x63", [0x3d09] = "\xd6\x64", [0x3d0a] = "\xd6\x65", + [0x3d0b] = "\xd6\x66", [0x3d0c] = "\xd6\x67", [0x3d0d] = "\xd6\x68", + [0x3d0e] = "\xd6\x69", [0x3d0f] = "\xd6\x6a", [0x3d10] = "\xd6\x6b", + [0x3d11] = "\xd6\x6c", [0x3d12] = "\xd6\x6d", [0x3d13] = "\xd6\x6e", + [0x3d14] = "\xd6\x6f", [0x3d15] = "\xd6\x70", [0x3d16] = "\xd6\x71", + [0x3d17] = "\xd6\x72", [0x3d18] = "\xd6\x73", [0x3d19] = "\xd6\x74", + [0x3d1a] = "\xd6\x75", [0x3d1b] = "\xd6\x76", [0x3d1c] = "\xd6\x77", + [0x3d1d] = "\xd6\x78", [0x3d1e] = "\xd6\x79", [0x3d1f] = "\xd6\x7a", + [0x3d20] = "\xd6\x7b", [0x3d21] = "\xd6\x7c", [0x3d22] = "\xd6\x7d", + [0x3d23] = "\xd6\x7e", [0x3d24] = "\xd6\x80", [0x3d25] = "\xd6\x81", + [0x3d26] = "\xf6\xa5", [0x3d27] = "\xd6\x82", [0x3d28] = "\xd6\x83", + [0x3d29] = "\xd6\x84", [0x3d2a] = "\xd6\x85", [0x3d2b] = "\xd6\x86", + [0x3d2c] = "\xd6\x87", [0x3d2d] = "\xd6\x88", [0x3d2e] = "\xd6\x89", + [0x3d2f] = "\xd6\x8a", [0x3d30] = "\xd6\x8b", [0x3d31] = "\xd6\x8c", + [0x3d32] = "\xd6\x8d", [0x3d33] = "\xd6\x8e", [0x3d34] = "\xd6\x8f", + [0x3d35] = "\xd6\x90", [0x3d36] = "\xd6\x91", [0x3d37] = "\xd6\x92", + [0x3d38] = "\xd6\x93", [0x3d39] = "\xd6\x94", [0x3d3a] = "\xd6\x95", + [0x3d3b] = "\xd6\x96", [0x3d3c] = "\xd6\x97", [0x3d3d] = "\xd6\x98", + [0x3d3e] = "\xd6\x99", [0x3d3f] = "\xd6\x9a", [0x3d40] = "\xd6\x9b", + [0x3d41] = "\xd6\x9c", [0x3d42] = "\xd6\x9d", [0x3d43] = "\xd6\x9e", + [0x3d44] = "\xd6\x9f", [0x3d45] = "\xd6\xa0", [0x3d46] = "\xd7\x40", + [0x3d47] = "\xd7\x41", [0x3d48] = "\xd7\x42", [0x3d49] = "\xd7\x43", + [0x3d4a] = "\xd7\x44", [0x3d4b] = "\xd7\x45", [0x3d4c] = "\xd7\x46", + [0x3d4d] = "\xd7\x47", [0x3d4e] = "\xd7\x48", [0x3d4f] = "\xd7\x49", + [0x3d50] = "\xd7\x4a", [0x3d51] = "\xd7\x4b", [0x3d52] = "\xd7\x4c", + [0x3d53] = "\xd7\x4d", [0x3d54] = "\xd7\x4e", [0x3d55] = "\xd7\x4f", + [0x3d56] = "\xd7\x50", [0x3d57] = "\xd7\x51", [0x3d58] = "\xd7\x52", + [0x3d59] = "\xd7\x53", [0x3d5a] = "\xd7\x54", [0x3d5b] = "\xd7\x55", + [0x3d5c] = "\xd7\x56", [0x3d5d] = "\xd7\x57", [0x3d5e] = "\xd7\x58", + [0x3d5f] = "\xd7\x59", [0x3d60] = "\xd7\x5a", [0x3d61] = "\xd7\x5b", + [0x3d62] = "\xd7\x5c", [0x3d63] = "\xd7\x5d", [0x3d64] = "\xd7\x5e", + [0x3d65] = "\xd7\x5f", [0x3d66] = "\xbe\xaf", [0x3d67] = "\xd7\x60", + [0x3d68] = "\xd7\x61", [0x3d69] = "\xd7\x62", [0x3d6a] = "\xd7\x63", + [0x3d6b] = "\xd7\x64", [0x3d6c] = "\xc6\xa9", [0x3d6d] = "\xd7\x65", + [0x3d6e] = "\xd7\x66", [0x3d6f] = "\xd7\x67", [0x3d70] = "\xd7\x68", + [0x3d71] = "\xd7\x69", [0x3d72] = "\xd7\x6a", [0x3d73] = "\xd7\x6b", + [0x3d74] = "\xd7\x6c", [0x3d75] = "\xd7\x6d", [0x3d76] = "\xd7\x6e", + [0x3d77] = "\xd7\x6f", [0x3d78] = "\xd7\x70", [0x3d79] = "\xd7\x71", + [0x3d7a] = "\xd7\x72", [0x3d7b] = "\xd7\x73", [0x3d7c] = "\xd7\x74", + [0x3d7d] = "\xd7\x75", [0x3d7e] = "\xd7\x76", [0x3d7f] = "\xd7\x77", + [0x3d80] = "\xd7\x78", [0x3d81] = "\xd7\x79", [0x3d82] = "\xd7\x7a", + [0x3d83] = "\xd7\x7b", [0x3d84] = "\xd7\x7c", [0x3d85] = "\xd7\x7d", + [0x3d86] = "\xd7\x7e", [0x3d87] = "\xd7\x80", [0x3d88] = "\xd7\x81", + [0x3d89] = "\xd7\x82", [0x3d8a] = "\xd7\x83", [0x3d8b] = "\xd7\x84", + [0x3d8c] = "\xd7\x85", [0x3d8d] = "\xd7\x86", [0x3d8e] = "\xd7\x87", + [0x3d8f] = "\xd7\x88", [0x3d90] = "\xd7\x89", [0x3d91] = "\xd7\x8a", + [0x3d92] = "\xd7\x8b", [0x3d93] = "\xd7\x8c", [0x3d94] = "\xd7\x8d", + [0x3d95] = "\xd7\x8e", [0x3d96] = "\xd7\x8f", [0x3d97] = "\xd7\x90", + [0x3d98] = "\xd7\x91", [0x3d99] = "\xd7\x92", [0x3d9a] = "\xd7\x93", + [0x3d9b] = "\xd7\x94", [0x3d9c] = "\xd7\x95", [0x3d9d] = "\xd7\x96", + [0x3d9e] = "\xd7\x97", [0x3d9f] = "\xd7\x98", [0x3da0] = "\xda\xa5", + [0x3da1] = "\xbc\xc6", [0x3da2] = "\xb6\xa9", [0x3da3] = "\xb8\xbc", + [0x3da4] = "\xc8\xcf", [0x3da5] = "\xbc\xa5", [0x3da6] = "\xda\xa6", + [0x3da7] = "\xda\xa7", [0x3da8] = "\xcc\xd6", [0x3da9] = "\xc8\xc3", + [0x3daa] = "\xda\xa8", [0x3dab] = "\xc6\xfd", [0x3dac] = "\xd7\x99", + [0x3dad] = "\xd1\xb5", [0x3dae] = "\xd2\xe9", [0x3daf] = "\xd1\xb6", + [0x3db0] = "\xbc\xc7", [0x3db1] = "\xd7\x9a", [0x3db2] = "\xbd\xb2", + [0x3db3] = "\xbb\xe4", [0x3db4] = "\xda\xa9", [0x3db5] = "\xda\xaa", + [0x3db6] = "\xd1\xc8", [0x3db7] = "\xda\xab", [0x3db8] = "\xd0\xed", + [0x3db9] = "\xb6\xef", [0x3dba] = "\xc2\xdb", [0x3dbb] = "\xd7\x9b", + [0x3dbc] = "\xcb\xcf", [0x3dbd] = "\xb7\xed", [0x3dbe] = "\xc9\xe8", + [0x3dbf] = "\xb7\xc3", [0x3dc0] = "\xbe\xf7", [0x3dc1] = "\xd6\xa4", + [0x3dc2] = "\xda\xac", [0x3dc3] = "\xda\xad", [0x3dc4] = "\xc6\xc0", + [0x3dc5] = "\xd7\xe7", [0x3dc6] = "\xca\xb6", [0x3dc7] = "\xd7\x9c", + [0x3dc8] = "\xd5\xa9", [0x3dc9] = "\xcb\xdf", [0x3dca] = "\xd5\xef", + [0x3dcb] = "\xda\xae", [0x3dcc] = "\xd6\xdf", [0x3dcd] = "\xb4\xca", + [0x3dce] = "\xda\xb0", [0x3dcf] = "\xda\xaf", [0x3dd0] = "\xd7\x9d", + [0x3dd1] = "\xd2\xeb", [0x3dd2] = "\xda\xb1", [0x3dd3] = "\xda\xb2", + [0x3dd4] = "\xda\xb3", [0x3dd5] = "\xca\xd4", [0x3dd6] = "\xda\xb4", + [0x3dd7] = "\xca\xab", [0x3dd8] = "\xda\xb5", [0x3dd9] = "\xda\xb6", + [0x3dda] = "\xb3\xcf", [0x3ddb] = "\xd6\xef", [0x3ddc] = "\xda\xb7", + [0x3ddd] = "\xbb\xb0", [0x3dde] = "\xb5\xae", [0x3ddf] = "\xda\xb8", + [0x3de0] = "\xda\xb9", [0x3de1] = "\xb9\xee", [0x3de2] = "\xd1\xaf", + [0x3de3] = "\xd2\xe8", [0x3de4] = "\xda\xba", [0x3de5] = "\xb8\xc3", + [0x3de6] = "\xcf\xea", [0x3de7] = "\xb2\xef", [0x3de8] = "\xda\xbb", + [0x3de9] = "\xda\xbc", [0x3dea] = "\xd7\x9e", [0x3deb] = "\xbd\xeb", + [0x3dec] = "\xce\xdc", [0x3ded] = "\xd3\xef", [0x3dee] = "\xda\xbd", + [0x3def] = "\xce\xf3", [0x3df0] = "\xda\xbe", [0x3df1] = "\xd3\xd5", + [0x3df2] = "\xbb\xe5", [0x3df3] = "\xda\xbf", [0x3df4] = "\xcb\xb5", + [0x3df5] = "\xcb\xd0", [0x3df6] = "\xda\xc0", [0x3df7] = "\xc7\xeb", + [0x3df8] = "\xd6\xee", [0x3df9] = "\xda\xc1", [0x3dfa] = "\xc5\xb5", + [0x3dfb] = "\xb6\xc1", [0x3dfc] = "\xda\xc2", [0x3dfd] = "\xb7\xcc", + [0x3dfe] = "\xbf\xce", [0x3dff] = "\xda\xc3", [0x3e00] = "\xda\xc4", + [0x3e01] = "\xcb\xad", [0x3e02] = "\xda\xc5", [0x3e03] = "\xb5\xf7", + [0x3e04] = "\xda\xc6", [0x3e05] = "\xc1\xc2", [0x3e06] = "\xd7\xbb", + [0x3e07] = "\xda\xc7", [0x3e08] = "\xcc\xb8", [0x3e09] = "\xd7\x9f", + [0x3e0a] = "\xd2\xea", [0x3e0b] = "\xc4\xb1", [0x3e0c] = "\xda\xc8", + [0x3e0d] = "\xb5\xfd", [0x3e0e] = "\xbb\xd1", [0x3e0f] = "\xda\xc9", + [0x3e10] = "\xd0\xb3", [0x3e11] = "\xda\xca", [0x3e12] = "\xda\xcb", + [0x3e13] = "\xce\xbd", [0x3e14] = "\xda\xcc", [0x3e15] = "\xda\xcd", + [0x3e16] = "\xda\xce", [0x3e17] = "\xb2\xf7", [0x3e18] = "\xda\xd1", + [0x3e19] = "\xda\xcf", [0x3e1a] = "\xd1\xe8", [0x3e1b] = "\xda\xd0", + [0x3e1c] = "\xc3\xd5", [0x3e1d] = "\xda\xd2", [0x3e1e] = "\xd7\xa0", + [0x3e1f] = "\xda\xd3", [0x3e20] = "\xda\xd4", [0x3e21] = "\xda\xd5", + [0x3e22] = "\xd0\xbb", [0x3e23] = "\xd2\xa5", [0x3e24] = "\xb0\xf9", + [0x3e25] = "\xda\xd6", [0x3e26] = "\xc7\xab", [0x3e27] = "\xda\xd7", + [0x3e28] = "\xbd\xf7", [0x3e29] = "\xc3\xa1", [0x3e2a] = "\xda\xd8", + [0x3e2b] = "\xda\xd9", [0x3e2c] = "\xc3\xfd", [0x3e2d] = "\xcc\xb7", + [0x3e2e] = "\xda\xda", [0x3e2f] = "\xda\xdb", [0x3e30] = "\xc0\xbe", + [0x3e31] = "\xc6\xd7", [0x3e32] = "\xda\xdc", [0x3e33] = "\xda\xdd", + [0x3e34] = "\xc7\xb4", [0x3e35] = "\xda\xde", [0x3e36] = "\xda\xdf", + [0x3e37] = "\xb9\xc8", [0x3e38] = "\xd8\x40", [0x3e39] = "\xd8\x41", + [0x3e3a] = "\xd8\x42", [0x3e3b] = "\xd8\x43", [0x3e3c] = "\xd8\x44", + [0x3e3d] = "\xd8\x45", [0x3e3e] = "\xd8\x46", [0x3e3f] = "\xd8\x47", + [0x3e40] = "\xd8\x48", [0x3e41] = "\xbb\xed", [0x3e42] = "\xd8\x49", + [0x3e43] = "\xd8\x4a", [0x3e44] = "\xd8\x4b", [0x3e45] = "\xd8\x4c", + [0x3e46] = "\xb6\xb9", [0x3e47] = "\xf4\xf8", [0x3e48] = "\xd8\x4d", + [0x3e49] = "\xf4\xf9", [0x3e4a] = "\xd8\x4e", [0x3e4b] = "\xd8\x4f", + [0x3e4c] = "\xcd\xe3", [0x3e4d] = "\xd8\x50", [0x3e4e] = "\xd8\x51", + [0x3e4f] = "\xd8\x52", [0x3e50] = "\xd8\x53", [0x3e51] = "\xd8\x54", + [0x3e52] = "\xd8\x55", [0x3e53] = "\xd8\x56", [0x3e54] = "\xd8\x57", + [0x3e55] = "\xf5\xb9", [0x3e56] = "\xd8\x58", [0x3e57] = "\xd8\x59", + [0x3e58] = "\xd8\x5a", [0x3e59] = "\xd8\x5b", [0x3e5a] = "\xeb\xe0", + [0x3e5b] = "\xd8\x5c", [0x3e5c] = "\xd8\x5d", [0x3e5d] = "\xd8\x5e", + [0x3e5e] = "\xd8\x5f", [0x3e5f] = "\xd8\x60", [0x3e60] = "\xd8\x61", + [0x3e61] = "\xcf\xf3", [0x3e62] = "\xbb\xbf", [0x3e63] = "\xd8\x62", + [0x3e64] = "\xd8\x63", [0x3e65] = "\xd8\x64", [0x3e66] = "\xd8\x65", + [0x3e67] = "\xd8\x66", [0x3e68] = "\xd8\x67", [0x3e69] = "\xd8\x68", + [0x3e6a] = "\xba\xc0", [0x3e6b] = "\xd4\xa5", [0x3e6c] = "\xd8\x69", + [0x3e6d] = "\xd8\x6a", [0x3e6e] = "\xd8\x6b", [0x3e6f] = "\xd8\x6c", + [0x3e70] = "\xd8\x6d", [0x3e71] = "\xd8\x6e", [0x3e72] = "\xd8\x6f", + [0x3e73] = "\xe1\xd9", [0x3e74] = "\xd8\x70", [0x3e75] = "\xd8\x71", + [0x3e76] = "\xd8\x72", [0x3e77] = "\xd8\x73", [0x3e78] = "\xf5\xf4", + [0x3e79] = "\xb1\xaa", [0x3e7a] = "\xb2\xf2", [0x3e7b] = "\xd8\x74", + [0x3e7c] = "\xd8\x75", [0x3e7d] = "\xd8\x76", [0x3e7e] = "\xd8\x77", + [0x3e7f] = "\xd8\x78", [0x3e80] = "\xd8\x79", [0x3e81] = "\xd8\x7a", + [0x3e82] = "\xf5\xf5", [0x3e83] = "\xd8\x7b", [0x3e84] = "\xd8\x7c", + [0x3e85] = "\xf5\xf7", [0x3e86] = "\xd8\x7d", [0x3e87] = "\xd8\x7e", + [0x3e88] = "\xd8\x80", [0x3e89] = "\xba\xd1", [0x3e8a] = "\xf5\xf6", + [0x3e8b] = "\xd8\x81", [0x3e8c] = "\xc3\xb2", [0x3e8d] = "\xd8\x82", + [0x3e8e] = "\xd8\x83", [0x3e8f] = "\xd8\x84", [0x3e90] = "\xd8\x85", + [0x3e91] = "\xd8\x86", [0x3e92] = "\xd8\x87", [0x3e93] = "\xd8\x88", + [0x3e94] = "\xf5\xf9", [0x3e95] = "\xd8\x89", [0x3e96] = "\xd8\x8a", + [0x3e97] = "\xd8\x8b", [0x3e98] = "\xf5\xf8", [0x3e99] = "\xd8\x8c", + [0x3e9a] = "\xd8\x8d", [0x3e9b] = "\xd8\x8e", [0x3e9c] = "\xd8\x8f", + [0x3e9d] = "\xd8\x90", [0x3e9e] = "\xd8\x91", [0x3e9f] = "\xd8\x92", + [0x3ea0] = "\xd8\x93", [0x3ea1] = "\xd8\x94", [0x3ea2] = "\xd8\x95", + [0x3ea3] = "\xd8\x96", [0x3ea4] = "\xd8\x97", [0x3ea5] = "\xd8\x98", + [0x3ea6] = "\xd8\x99", [0x3ea7] = "\xd8\x9a", [0x3ea8] = "\xd8\x9b", + [0x3ea9] = "\xd8\x9c", [0x3eaa] = "\xd8\x9d", [0x3eab] = "\xd8\x9e", + [0x3eac] = "\xd8\x9f", [0x3ead] = "\xd8\xa0", [0x3eae] = "\xd9\x40", + [0x3eaf] = "\xd9\x41", [0x3eb0] = "\xd9\x42", [0x3eb1] = "\xd9\x43", + [0x3eb2] = "\xd9\x44", [0x3eb3] = "\xd9\x45", [0x3eb4] = "\xd9\x46", + [0x3eb5] = "\xd9\x47", [0x3eb6] = "\xd9\x48", [0x3eb7] = "\xd9\x49", + [0x3eb8] = "\xd9\x4a", [0x3eb9] = "\xd9\x4b", [0x3eba] = "\xd9\x4c", + [0x3ebb] = "\xd9\x4d", [0x3ebc] = "\xd9\x4e", [0x3ebd] = "\xd9\x4f", + [0x3ebe] = "\xd9\x50", [0x3ebf] = "\xd9\x51", [0x3ec0] = "\xd9\x52", + [0x3ec1] = "\xd9\x53", [0x3ec2] = "\xd9\x54", [0x3ec3] = "\xd9\x55", + [0x3ec4] = "\xd9\x56", [0x3ec5] = "\xd9\x57", [0x3ec6] = "\xd9\x58", + [0x3ec7] = "\xd9\x59", [0x3ec8] = "\xd9\x5a", [0x3ec9] = "\xd9\x5b", + [0x3eca] = "\xd9\x5c", [0x3ecb] = "\xd9\x5d", [0x3ecc] = "\xd9\x5e", + [0x3ecd] = "\xd9\x5f", [0x3ece] = "\xd9\x60", [0x3ecf] = "\xd9\x61", + [0x3ed0] = "\xd9\x62", [0x3ed1] = "\xd9\x63", [0x3ed2] = "\xd9\x64", + [0x3ed3] = "\xd9\x65", [0x3ed4] = "\xd9\x66", [0x3ed5] = "\xd9\x67", + [0x3ed6] = "\xd9\x68", [0x3ed7] = "\xd9\x69", [0x3ed8] = "\xd9\x6a", + [0x3ed9] = "\xd9\x6b", [0x3eda] = "\xd9\x6c", [0x3edb] = "\xd9\x6d", + [0x3edc] = "\xd9\x6e", [0x3edd] = "\xd9\x6f", [0x3ede] = "\xd9\x70", + [0x3edf] = "\xd9\x71", [0x3ee0] = "\xd9\x72", [0x3ee1] = "\xd9\x73", + [0x3ee2] = "\xd9\x74", [0x3ee3] = "\xd9\x75", [0x3ee4] = "\xd9\x76", + [0x3ee5] = "\xd9\x77", [0x3ee6] = "\xd9\x78", [0x3ee7] = "\xd9\x79", + [0x3ee8] = "\xd9\x7a", [0x3ee9] = "\xd9\x7b", [0x3eea] = "\xd9\x7c", + [0x3eeb] = "\xd9\x7d", [0x3eec] = "\xd9\x7e", [0x3eed] = "\xd9\x80", + [0x3eee] = "\xd9\x81", [0x3eef] = "\xd9\x82", [0x3ef0] = "\xd9\x83", + [0x3ef1] = "\xd9\x84", [0x3ef2] = "\xd9\x85", [0x3ef3] = "\xd9\x86", + [0x3ef4] = "\xd9\x87", [0x3ef5] = "\xd9\x88", [0x3ef6] = "\xd9\x89", + [0x3ef7] = "\xd9\x8a", [0x3ef8] = "\xd9\x8b", [0x3ef9] = "\xd9\x8c", + [0x3efa] = "\xd9\x8d", [0x3efb] = "\xd9\x8e", [0x3efc] = "\xd9\x8f", + [0x3efd] = "\xd9\x90", [0x3efe] = "\xd9\x91", [0x3eff] = "\xd9\x92", + [0x3f00] = "\xd9\x93", [0x3f01] = "\xd9\x94", [0x3f02] = "\xd9\x95", + [0x3f03] = "\xd9\x96", [0x3f04] = "\xd9\x97", [0x3f05] = "\xd9\x98", + [0x3f06] = "\xd9\x99", [0x3f07] = "\xd9\x9a", [0x3f08] = "\xd9\x9b", + [0x3f09] = "\xd9\x9c", [0x3f0a] = "\xd9\x9d", [0x3f0b] = "\xd9\x9e", + [0x3f0c] = "\xd9\x9f", [0x3f0d] = "\xd9\xa0", [0x3f0e] = "\xda\x40", + [0x3f0f] = "\xda\x41", [0x3f10] = "\xda\x42", [0x3f11] = "\xda\x43", + [0x3f12] = "\xda\x44", [0x3f13] = "\xda\x45", [0x3f14] = "\xda\x46", + [0x3f15] = "\xda\x47", [0x3f16] = "\xda\x48", [0x3f17] = "\xda\x49", + [0x3f18] = "\xda\x4a", [0x3f19] = "\xda\x4b", [0x3f1a] = "\xda\x4c", + [0x3f1b] = "\xda\x4d", [0x3f1c] = "\xda\x4e", [0x3f1d] = "\xb1\xb4", + [0x3f1e] = "\xd5\xea", [0x3f1f] = "\xb8\xba", [0x3f20] = "\xda\x4f", + [0x3f21] = "\xb9\xb1", [0x3f22] = "\xb2\xc6", [0x3f23] = "\xd4\xf0", + [0x3f24] = "\xcf\xcd", [0x3f25] = "\xb0\xdc", [0x3f26] = "\xd5\xcb", + [0x3f27] = "\xbb\xf5", [0x3f28] = "\xd6\xca", [0x3f29] = "\xb7\xb7", + [0x3f2a] = "\xcc\xb0", [0x3f2b] = "\xc6\xb6", [0x3f2c] = "\xb1\xe1", + [0x3f2d] = "\xb9\xba", [0x3f2e] = "\xd6\xfc", [0x3f2f] = "\xb9\xe1", + [0x3f30] = "\xb7\xa1", [0x3f31] = "\xbc\xfa", [0x3f32] = "\xea\xda", + [0x3f33] = "\xea\xdb", [0x3f34] = "\xcc\xf9", [0x3f35] = "\xb9\xf3", + [0x3f36] = "\xea\xdc", [0x3f37] = "\xb4\xfb", [0x3f38] = "\xc3\xb3", + [0x3f39] = "\xb7\xd1", [0x3f3a] = "\xba\xd8", [0x3f3b] = "\xea\xdd", + [0x3f3c] = "\xd4\xf4", [0x3f3d] = "\xea\xde", [0x3f3e] = "\xbc\xd6", + [0x3f3f] = "\xbb\xdf", [0x3f40] = "\xea\xdf", [0x3f41] = "\xc1\xde", + [0x3f42] = "\xc2\xb8", [0x3f43] = "\xd4\xdf", [0x3f44] = "\xd7\xca", + [0x3f45] = "\xea\xe0", [0x3f46] = "\xea\xe1", [0x3f47] = "\xea\xe4", + [0x3f48] = "\xea\xe2", [0x3f49] = "\xea\xe3", [0x3f4a] = "\xc9\xde", + [0x3f4b] = "\xb8\xb3", [0x3f4c] = "\xb6\xc4", [0x3f4d] = "\xea\xe5", + [0x3f4e] = "\xca\xea", [0x3f4f] = "\xc9\xcd", [0x3f50] = "\xb4\xcd", + [0x3f51] = "\xda\x50", [0x3f52] = "\xda\x51", [0x3f53] = "\xe2\xd9", + [0x3f54] = "\xc5\xe2", [0x3f55] = "\xea\xe6", [0x3f56] = "\xc0\xb5", + [0x3f57] = "\xda\x52", [0x3f58] = "\xd7\xb8", [0x3f59] = "\xea\xe7", + [0x3f5a] = "\xd7\xac", [0x3f5b] = "\xc8\xfc", [0x3f5c] = "\xd8\xd3", + [0x3f5d] = "\xd8\xcd", [0x3f5e] = "\xd4\xde", [0x3f5f] = "\xda\x53", + [0x3f60] = "\xd4\xf9", [0x3f61] = "\xc9\xc4", [0x3f62] = "\xd3\xae", + [0x3f63] = "\xb8\xd3", [0x3f64] = "\xb3\xe0", [0x3f65] = "\xda\x54", + [0x3f66] = "\xc9\xe2", [0x3f67] = "\xf4\xf6", [0x3f68] = "\xda\x55", + [0x3f69] = "\xda\x56", [0x3f6a] = "\xda\x57", [0x3f6b] = "\xba\xd5", + [0x3f6c] = "\xda\x58", [0x3f6d] = "\xf4\xf7", [0x3f6e] = "\xda\x59", + [0x3f6f] = "\xda\x5a", [0x3f70] = "\xd7\xdf", [0x3f71] = "\xda\x5b", + [0x3f72] = "\xda\x5c", [0x3f73] = "\xf4\xf1", [0x3f74] = "\xb8\xb0", + [0x3f75] = "\xd5\xd4", [0x3f76] = "\xb8\xcf", [0x3f77] = "\xc6\xf0", + [0x3f78] = "\xda\x5d", [0x3f79] = "\xda\x5e", [0x3f7a] = "\xda\x5f", + [0x3f7b] = "\xda\x60", [0x3f7c] = "\xda\x61", [0x3f7d] = "\xda\x62", + [0x3f7e] = "\xda\x63", [0x3f7f] = "\xda\x64", [0x3f80] = "\xda\x65", + [0x3f81] = "\xb3\xc3", [0x3f82] = "\xda\x66", [0x3f83] = "\xda\x67", + [0x3f84] = "\xf4\xf2", [0x3f85] = "\xb3\xac", [0x3f86] = "\xda\x68", + [0x3f87] = "\xda\x69", [0x3f88] = "\xda\x6a", [0x3f89] = "\xda\x6b", + [0x3f8a] = "\xd4\xbd", [0x3f8b] = "\xc7\xf7", [0x3f8c] = "\xda\x6c", + [0x3f8d] = "\xda\x6d", [0x3f8e] = "\xda\x6e", [0x3f8f] = "\xda\x6f", + [0x3f90] = "\xda\x70", [0x3f91] = "\xf4\xf4", [0x3f92] = "\xda\x71", + [0x3f93] = "\xda\x72", [0x3f94] = "\xf4\xf3", [0x3f95] = "\xda\x73", + [0x3f96] = "\xda\x74", [0x3f97] = "\xda\x75", [0x3f98] = "\xda\x76", + [0x3f99] = "\xda\x77", [0x3f9a] = "\xda\x78", [0x3f9b] = "\xda\x79", + [0x3f9c] = "\xda\x7a", [0x3f9d] = "\xda\x7b", [0x3f9e] = "\xda\x7c", + [0x3f9f] = "\xcc\xcb", [0x3fa0] = "\xda\x7d", [0x3fa1] = "\xda\x7e", + [0x3fa2] = "\xda\x80", [0x3fa3] = "\xc8\xa4", [0x3fa4] = "\xda\x81", + [0x3fa5] = "\xda\x82", [0x3fa6] = "\xda\x83", [0x3fa7] = "\xda\x84", + [0x3fa8] = "\xda\x85", [0x3fa9] = "\xda\x86", [0x3faa] = "\xda\x87", + [0x3fab] = "\xda\x88", [0x3fac] = "\xda\x89", [0x3fad] = "\xda\x8a", + [0x3fae] = "\xda\x8b", [0x3faf] = "\xda\x8c", [0x3fb0] = "\xda\x8d", + [0x3fb1] = "\xf4\xf5", [0x3fb2] = "\xda\x8e", [0x3fb3] = "\xd7\xe3", + [0x3fb4] = "\xc5\xbf", [0x3fb5] = "\xf5\xc0", [0x3fb6] = "\xda\x8f", + [0x3fb7] = "\xda\x90", [0x3fb8] = "\xf5\xbb", [0x3fb9] = "\xda\x91", + [0x3fba] = "\xf5\xc3", [0x3fbb] = "\xda\x92", [0x3fbc] = "\xf5\xc2", + [0x3fbd] = "\xda\x93", [0x3fbe] = "\xd6\xba", [0x3fbf] = "\xf5\xc1", + [0x3fc0] = "\xda\x94", [0x3fc1] = "\xda\x95", [0x3fc2] = "\xda\x96", + [0x3fc3] = "\xd4\xbe", [0x3fc4] = "\xf5\xc4", [0x3fc5] = "\xda\x97", + [0x3fc6] = "\xf5\xcc", [0x3fc7] = "\xda\x98", [0x3fc8] = "\xda\x99", + [0x3fc9] = "\xda\x9a", [0x3fca] = "\xda\x9b", [0x3fcb] = "\xb0\xcf", + [0x3fcc] = "\xb5\xf8", [0x3fcd] = "\xda\x9c", [0x3fce] = "\xf5\xc9", + [0x3fcf] = "\xf5\xca", [0x3fd0] = "\xda\x9d", [0x3fd1] = "\xc5\xdc", + [0x3fd2] = "\xda\x9e", [0x3fd3] = "\xda\x9f", [0x3fd4] = "\xda\xa0", + [0x3fd5] = "\xdb\x40", [0x3fd6] = "\xf5\xc5", [0x3fd7] = "\xf5\xc6", + [0x3fd8] = "\xdb\x41", [0x3fd9] = "\xdb\x42", [0x3fda] = "\xf5\xc7", + [0x3fdb] = "\xf5\xcb", [0x3fdc] = "\xdb\x43", [0x3fdd] = "\xbe\xe0", + [0x3fde] = "\xf5\xc8", [0x3fdf] = "\xb8\xfa", [0x3fe0] = "\xdb\x44", + [0x3fe1] = "\xdb\x45", [0x3fe2] = "\xdb\x46", [0x3fe3] = "\xf5\xd0", + [0x3fe4] = "\xf5\xd3", [0x3fe5] = "\xdb\x47", [0x3fe6] = "\xdb\x48", + [0x3fe7] = "\xdb\x49", [0x3fe8] = "\xbf\xe7", [0x3fe9] = "\xdb\x4a", + [0x3fea] = "\xb9\xf2", [0x3feb] = "\xf5\xbc", [0x3fec] = "\xf5\xcd", + [0x3fed] = "\xdb\x4b", [0x3fee] = "\xdb\x4c", [0x3fef] = "\xc2\xb7", + [0x3ff0] = "\xdb\x4d", [0x3ff1] = "\xdb\x4e", [0x3ff2] = "\xdb\x4f", + [0x3ff3] = "\xcc\xf8", [0x3ff4] = "\xdb\x50", [0x3ff5] = "\xbc\xf9", + [0x3ff6] = "\xdb\x51", [0x3ff7] = "\xf5\xce", [0x3ff8] = "\xf5\xcf", + [0x3ff9] = "\xf5\xd1", [0x3ffa] = "\xb6\xe5", [0x3ffb] = "\xf5\xd2", + [0x3ffc] = "\xdb\x52", [0x3ffd] = "\xf5\xd5", [0x3ffe] = "\xdb\x53", + [0x3fff] = "\xdb\x54", [0x4000] = "\xdb\x55", [0x4001] = "\xdb\x56", + [0x4002] = "\xdb\x57", [0x4003] = "\xdb\x58", [0x4004] = "\xdb\x59", + [0x4005] = "\xf5\xbd", [0x4006] = "\xdb\x5a", [0x4007] = "\xdb\x5b", + [0x4008] = "\xdb\x5c", [0x4009] = "\xf5\xd4", [0x400a] = "\xd3\xbb", + [0x400b] = "\xdb\x5d", [0x400c] = "\xb3\xec", [0x400d] = "\xdb\x5e", + [0x400e] = "\xdb\x5f", [0x400f] = "\xcc\xa4", [0x4010] = "\xdb\x60", + [0x4011] = "\xdb\x61", [0x4012] = "\xdb\x62", [0x4013] = "\xdb\x63", + [0x4014] = "\xf5\xd6", [0x4015] = "\xdb\x64", [0x4016] = "\xdb\x65", + [0x4017] = "\xdb\x66", [0x4018] = "\xdb\x67", [0x4019] = "\xdb\x68", + [0x401a] = "\xdb\x69", [0x401b] = "\xdb\x6a", [0x401c] = "\xdb\x6b", + [0x401d] = "\xf5\xd7", [0x401e] = "\xbe\xe1", [0x401f] = "\xf5\xd8", + [0x4020] = "\xdb\x6c", [0x4021] = "\xdb\x6d", [0x4022] = "\xcc\xdf", + [0x4023] = "\xf5\xdb", [0x4024] = "\xdb\x6e", [0x4025] = "\xdb\x6f", + [0x4026] = "\xdb\x70", [0x4027] = "\xdb\x71", [0x4028] = "\xdb\x72", + [0x4029] = "\xb2\xc8", [0x402a] = "\xd7\xd9", [0x402b] = "\xdb\x73", + [0x402c] = "\xf5\xd9", [0x402d] = "\xdb\x74", [0x402e] = "\xf5\xda", + [0x402f] = "\xf5\xdc", [0x4030] = "\xdb\x75", [0x4031] = "\xf5\xe2", + [0x4032] = "\xdb\x76", [0x4033] = "\xdb\x77", [0x4034] = "\xdb\x78", + [0x4035] = "\xf5\xe0", [0x4036] = "\xdb\x79", [0x4037] = "\xdb\x7a", + [0x4038] = "\xdb\x7b", [0x4039] = "\xf5\xdf", [0x403a] = "\xf5\xdd", + [0x403b] = "\xdb\x7c", [0x403c] = "\xdb\x7d", [0x403d] = "\xf5\xe1", + [0x403e] = "\xdb\x7e", [0x403f] = "\xdb\x80", [0x4040] = "\xf5\xde", + [0x4041] = "\xf5\xe4", [0x4042] = "\xf5\xe5", [0x4043] = "\xdb\x81", + [0x4044] = "\xcc\xe3", [0x4045] = "\xdb\x82", [0x4046] = "\xdb\x83", + [0x4047] = "\xe5\xbf", [0x4048] = "\xb5\xb8", [0x4049] = "\xf5\xe3", + [0x404a] = "\xf5\xe8", [0x404b] = "\xcc\xa3", [0x404c] = "\xdb\x84", + [0x404d] = "\xdb\x85", [0x404e] = "\xdb\x86", [0x404f] = "\xdb\x87", + [0x4050] = "\xdb\x88", [0x4051] = "\xf5\xe6", [0x4052] = "\xf5\xe7", + [0x4053] = "\xdb\x89", [0x4054] = "\xdb\x8a", [0x4055] = "\xdb\x8b", + [0x4056] = "\xdb\x8c", [0x4057] = "\xdb\x8d", [0x4058] = "\xdb\x8e", + [0x4059] = "\xf5\xbe", [0x405a] = "\xdb\x8f", [0x405b] = "\xdb\x90", + [0x405c] = "\xdb\x91", [0x405d] = "\xdb\x92", [0x405e] = "\xdb\x93", + [0x405f] = "\xdb\x94", [0x4060] = "\xdb\x95", [0x4061] = "\xdb\x96", + [0x4062] = "\xdb\x97", [0x4063] = "\xdb\x98", [0x4064] = "\xdb\x99", + [0x4065] = "\xdb\x9a", [0x4066] = "\xb1\xc4", [0x4067] = "\xdb\x9b", + [0x4068] = "\xdb\x9c", [0x4069] = "\xf5\xbf", [0x406a] = "\xdb\x9d", + [0x406b] = "\xdb\x9e", [0x406c] = "\xb5\xc5", [0x406d] = "\xb2\xe4", + [0x406e] = "\xdb\x9f", [0x406f] = "\xf5\xec", [0x4070] = "\xf5\xe9", + [0x4071] = "\xdb\xa0", [0x4072] = "\xb6\xd7", [0x4073] = "\xdc\x40", + [0x4074] = "\xf5\xed", [0x4075] = "\xdc\x41", [0x4076] = "\xf5\xea", + [0x4077] = "\xdc\x42", [0x4078] = "\xdc\x43", [0x4079] = "\xdc\x44", + [0x407a] = "\xdc\x45", [0x407b] = "\xdc\x46", [0x407c] = "\xf5\xeb", + [0x407d] = "\xdc\x47", [0x407e] = "\xdc\x48", [0x407f] = "\xb4\xda", + [0x4080] = "\xdc\x49", [0x4081] = "\xd4\xea", [0x4082] = "\xdc\x4a", + [0x4083] = "\xdc\x4b", [0x4084] = "\xdc\x4c", [0x4085] = "\xf5\xee", + [0x4086] = "\xdc\x4d", [0x4087] = "\xb3\xf9", [0x4088] = "\xdc\x4e", + [0x4089] = "\xdc\x4f", [0x408a] = "\xdc\x50", [0x408b] = "\xdc\x51", + [0x408c] = "\xdc\x52", [0x408d] = "\xdc\x53", [0x408e] = "\xdc\x54", + [0x408f] = "\xf5\xef", [0x4090] = "\xf5\xf1", [0x4091] = "\xdc\x55", + [0x4092] = "\xdc\x56", [0x4093] = "\xdc\x57", [0x4094] = "\xf5\xf0", + [0x4095] = "\xdc\x58", [0x4096] = "\xdc\x59", [0x4097] = "\xdc\x5a", + [0x4098] = "\xdc\x5b", [0x4099] = "\xdc\x5c", [0x409a] = "\xdc\x5d", + [0x409b] = "\xdc\x5e", [0x409c] = "\xf5\xf2", [0x409d] = "\xdc\x5f", + [0x409e] = "\xf5\xf3", [0x409f] = "\xdc\x60", [0x40a0] = "\xdc\x61", + [0x40a1] = "\xdc\x62", [0x40a2] = "\xdc\x63", [0x40a3] = "\xdc\x64", + [0x40a4] = "\xdc\x65", [0x40a5] = "\xdc\x66", [0x40a6] = "\xdc\x67", + [0x40a7] = "\xdc\x68", [0x40a8] = "\xdc\x69", [0x40a9] = "\xdc\x6a", + [0x40aa] = "\xdc\x6b", [0x40ab] = "\xc9\xed", [0x40ac] = "\xb9\xaa", + [0x40ad] = "\xdc\x6c", [0x40ae] = "\xdc\x6d", [0x40af] = "\xc7\xfb", + [0x40b0] = "\xdc\x6e", [0x40b1] = "\xdc\x6f", [0x40b2] = "\xb6\xe3", + [0x40b3] = "\xdc\x70", [0x40b4] = "\xdc\x71", [0x40b5] = "\xdc\x72", + [0x40b6] = "\xdc\x73", [0x40b7] = "\xdc\x74", [0x40b8] = "\xdc\x75", + [0x40b9] = "\xdc\x76", [0x40ba] = "\xcc\xc9", [0x40bb] = "\xdc\x77", + [0x40bc] = "\xdc\x78", [0x40bd] = "\xdc\x79", [0x40be] = "\xdc\x7a", + [0x40bf] = "\xdc\x7b", [0x40c0] = "\xdc\x7c", [0x40c1] = "\xdc\x7d", + [0x40c2] = "\xdc\x7e", [0x40c3] = "\xdc\x80", [0x40c4] = "\xdc\x81", + [0x40c5] = "\xdc\x82", [0x40c6] = "\xdc\x83", [0x40c7] = "\xdc\x84", + [0x40c8] = "\xdc\x85", [0x40c9] = "\xdc\x86", [0x40ca] = "\xdc\x87", + [0x40cb] = "\xdc\x88", [0x40cc] = "\xdc\x89", [0x40cd] = "\xdc\x8a", + [0x40ce] = "\xea\xa6", [0x40cf] = "\xdc\x8b", [0x40d0] = "\xdc\x8c", + [0x40d1] = "\xdc\x8d", [0x40d2] = "\xdc\x8e", [0x40d3] = "\xdc\x8f", + [0x40d4] = "\xdc\x90", [0x40d5] = "\xdc\x91", [0x40d6] = "\xdc\x92", + [0x40d7] = "\xdc\x93", [0x40d8] = "\xdc\x94", [0x40d9] = "\xdc\x95", + [0x40da] = "\xdc\x96", [0x40db] = "\xdc\x97", [0x40dc] = "\xdc\x98", + [0x40dd] = "\xdc\x99", [0x40de] = "\xdc\x9a", [0x40df] = "\xdc\x9b", + [0x40e0] = "\xdc\x9c", [0x40e1] = "\xdc\x9d", [0x40e2] = "\xdc\x9e", + [0x40e3] = "\xdc\x9f", [0x40e4] = "\xdc\xa0", [0x40e5] = "\xdd\x40", + [0x40e6] = "\xdd\x41", [0x40e7] = "\xdd\x42", [0x40e8] = "\xdd\x43", + [0x40e9] = "\xdd\x44", [0x40ea] = "\xdd\x45", [0x40eb] = "\xdd\x46", + [0x40ec] = "\xdd\x47", [0x40ed] = "\xdd\x48", [0x40ee] = "\xdd\x49", + [0x40ef] = "\xdd\x4a", [0x40f0] = "\xdd\x4b", [0x40f1] = "\xdd\x4c", + [0x40f2] = "\xdd\x4d", [0x40f3] = "\xdd\x4e", [0x40f4] = "\xdd\x4f", + [0x40f5] = "\xdd\x50", [0x40f6] = "\xdd\x51", [0x40f7] = "\xdd\x52", + [0x40f8] = "\xdd\x53", [0x40f9] = "\xdd\x54", [0x40fa] = "\xdd\x55", + [0x40fb] = "\xdd\x56", [0x40fc] = "\xdd\x57", [0x40fd] = "\xdd\x58", + [0x40fe] = "\xdd\x59", [0x40ff] = "\xdd\x5a", [0x4100] = "\xdd\x5b", + [0x4101] = "\xdd\x5c", [0x4102] = "\xdd\x5d", [0x4103] = "\xdd\x5e", + [0x4104] = "\xdd\x5f", [0x4105] = "\xdd\x60", [0x4106] = "\xdd\x61", + [0x4107] = "\xdd\x62", [0x4108] = "\xdd\x63", [0x4109] = "\xdd\x64", + [0x410a] = "\xdd\x65", [0x410b] = "\xdd\x66", [0x410c] = "\xdd\x67", + [0x410d] = "\xdd\x68", [0x410e] = "\xdd\x69", [0x410f] = "\xdd\x6a", + [0x4110] = "\xdd\x6b", [0x4111] = "\xdd\x6c", [0x4112] = "\xdd\x6d", + [0x4113] = "\xdd\x6e", [0x4114] = "\xdd\x6f", [0x4115] = "\xdd\x70", + [0x4116] = "\xdd\x71", [0x4117] = "\xdd\x72", [0x4118] = "\xdd\x73", + [0x4119] = "\xdd\x74", [0x411a] = "\xdd\x75", [0x411b] = "\xdd\x76", + [0x411c] = "\xdd\x77", [0x411d] = "\xdd\x78", [0x411e] = "\xdd\x79", + [0x411f] = "\xdd\x7a", [0x4120] = "\xdd\x7b", [0x4121] = "\xdd\x7c", + [0x4122] = "\xdd\x7d", [0x4123] = "\xdd\x7e", [0x4124] = "\xdd\x80", + [0x4125] = "\xdd\x81", [0x4126] = "\xdd\x82", [0x4127] = "\xdd\x83", + [0x4128] = "\xdd\x84", [0x4129] = "\xdd\x85", [0x412a] = "\xdd\x86", + [0x412b] = "\xdd\x87", [0x412c] = "\xdd\x88", [0x412d] = "\xdd\x89", + [0x412e] = "\xdd\x8a", [0x412f] = "\xdd\x8b", [0x4130] = "\xdd\x8c", + [0x4131] = "\xdd\x8d", [0x4132] = "\xdd\x8e", [0x4133] = "\xdd\x8f", + [0x4134] = "\xdd\x90", [0x4135] = "\xdd\x91", [0x4136] = "\xdd\x92", + [0x4137] = "\xdd\x93", [0x4138] = "\xdd\x94", [0x4139] = "\xdd\x95", + [0x413a] = "\xdd\x96", [0x413b] = "\xdd\x97", [0x413c] = "\xdd\x98", + [0x413d] = "\xdd\x99", [0x413e] = "\xdd\x9a", [0x413f] = "\xdd\x9b", + [0x4140] = "\xdd\x9c", [0x4141] = "\xdd\x9d", [0x4142] = "\xdd\x9e", + [0x4143] = "\xdd\x9f", [0x4144] = "\xdd\xa0", [0x4145] = "\xde\x40", + [0x4146] = "\xde\x41", [0x4147] = "\xde\x42", [0x4148] = "\xde\x43", + [0x4149] = "\xde\x44", [0x414a] = "\xde\x45", [0x414b] = "\xde\x46", + [0x414c] = "\xde\x47", [0x414d] = "\xde\x48", [0x414e] = "\xde\x49", + [0x414f] = "\xde\x4a", [0x4150] = "\xde\x4b", [0x4151] = "\xde\x4c", + [0x4152] = "\xde\x4d", [0x4153] = "\xde\x4e", [0x4154] = "\xde\x4f", + [0x4155] = "\xde\x50", [0x4156] = "\xde\x51", [0x4157] = "\xde\x52", + [0x4158] = "\xde\x53", [0x4159] = "\xde\x54", [0x415a] = "\xde\x55", + [0x415b] = "\xde\x56", [0x415c] = "\xde\x57", [0x415d] = "\xde\x58", + [0x415e] = "\xde\x59", [0x415f] = "\xde\x5a", [0x4160] = "\xde\x5b", + [0x4161] = "\xde\x5c", [0x4162] = "\xde\x5d", [0x4163] = "\xde\x5e", + [0x4164] = "\xde\x5f", [0x4165] = "\xde\x60", [0x4166] = "\xb3\xb5", + [0x4167] = "\xd4\xfe", [0x4168] = "\xb9\xec", [0x4169] = "\xd0\xf9", + [0x416a] = "\xde\x61", [0x416b] = "\xe9\xed", [0x416c] = "\xd7\xaa", + [0x416d] = "\xe9\xee", [0x416e] = "\xc2\xd6", [0x416f] = "\xc8\xed", + [0x4170] = "\xba\xe4", [0x4171] = "\xe9\xef", [0x4172] = "\xe9\xf0", + [0x4173] = "\xe9\xf1", [0x4174] = "\xd6\xe1", [0x4175] = "\xe9\xf2", + [0x4176] = "\xe9\xf3", [0x4177] = "\xe9\xf5", [0x4178] = "\xe9\xf4", + [0x4179] = "\xe9\xf6", [0x417a] = "\xe9\xf7", [0x417b] = "\xc7\xe1", + [0x417c] = "\xe9\xf8", [0x417d] = "\xd4\xd8", [0x417e] = "\xe9\xf9", + [0x417f] = "\xbd\xce", [0x4180] = "\xde\x62", [0x4181] = "\xe9\xfa", + [0x4182] = "\xe9\xfb", [0x4183] = "\xbd\xcf", [0x4184] = "\xe9\xfc", + [0x4185] = "\xb8\xa8", [0x4186] = "\xc1\xbe", [0x4187] = "\xe9\xfd", + [0x4188] = "\xb1\xb2", [0x4189] = "\xbb\xd4", [0x418a] = "\xb9\xf5", + [0x418b] = "\xe9\xfe", [0x418c] = "\xde\x63", [0x418d] = "\xea\xa1", + [0x418e] = "\xea\xa2", [0x418f] = "\xea\xa3", [0x4190] = "\xb7\xf8", + [0x4191] = "\xbc\xad", [0x4192] = "\xde\x64", [0x4193] = "\xca\xe4", + [0x4194] = "\xe0\xce", [0x4195] = "\xd4\xaf", [0x4196] = "\xcf\xbd", + [0x4197] = "\xd5\xb7", [0x4198] = "\xea\xa4", [0x4199] = "\xd5\xde", + [0x419a] = "\xea\xa5", [0x419b] = "\xd0\xc1", [0x419c] = "\xb9\xbc", + [0x419d] = "\xde\x65", [0x419e] = "\xb4\xc7", [0x419f] = "\xb1\xd9", + [0x41a0] = "\xde\x66", [0x41a1] = "\xde\x67", [0x41a2] = "\xde\x68", + [0x41a3] = "\xc0\xb1", [0x41a4] = "\xde\x69", [0x41a5] = "\xde\x6a", + [0x41a6] = "\xde\x6b", [0x41a7] = "\xde\x6c", [0x41a8] = "\xb1\xe6", + [0x41a9] = "\xb1\xe7", [0x41aa] = "\xde\x6d", [0x41ab] = "\xb1\xe8", + [0x41ac] = "\xde\x6e", [0x41ad] = "\xde\x6f", [0x41ae] = "\xde\x70", + [0x41af] = "\xde\x71", [0x41b0] = "\xb3\xbd", [0x41b1] = "\xc8\xe8", + [0x41b2] = "\xde\x72", [0x41b3] = "\xde\x73", [0x41b4] = "\xde\x74", + [0x41b5] = "\xde\x75", [0x41b6] = "\xe5\xc1", [0x41b7] = "\xde\x76", + [0x41b8] = "\xde\x77", [0x41b9] = "\xb1\xdf", [0x41ba] = "\xde\x78", + [0x41bb] = "\xde\x79", [0x41bc] = "\xde\x7a", [0x41bd] = "\xc1\xc9", + [0x41be] = "\xb4\xef", [0x41bf] = "\xde\x7b", [0x41c0] = "\xde\x7c", + [0x41c1] = "\xc7\xa8", [0x41c2] = "\xd3\xd8", [0x41c3] = "\xde\x7d", + [0x41c4] = "\xc6\xf9", [0x41c5] = "\xd1\xb8", [0x41c6] = "\xde\x7e", + [0x41c7] = "\xb9\xfd", [0x41c8] = "\xc2\xf5", [0x41c9] = "\xde\x80", + [0x41ca] = "\xde\x81", [0x41cb] = "\xde\x82", [0x41cc] = "\xde\x83", + [0x41cd] = "\xde\x84", [0x41ce] = "\xd3\xad", [0x41cf] = "\xde\x85", + [0x41d0] = "\xd4\xcb", [0x41d1] = "\xbd\xfc", [0x41d2] = "\xde\x86", + [0x41d3] = "\xe5\xc2", [0x41d4] = "\xb7\xb5", [0x41d5] = "\xe5\xc3", + [0x41d6] = "\xde\x87", [0x41d7] = "\xde\x88", [0x41d8] = "\xbb\xb9", + [0x41d9] = "\xd5\xe2", [0x41da] = "\xde\x89", [0x41db] = "\xbd\xf8", + [0x41dc] = "\xd4\xb6", [0x41dd] = "\xce\xa5", [0x41de] = "\xc1\xac", + [0x41df] = "\xb3\xd9", [0x41e0] = "\xde\x8a", [0x41e1] = "\xde\x8b", + [0x41e2] = "\xcc\xf6", [0x41e3] = "\xde\x8c", [0x41e4] = "\xe5\xc6", + [0x41e5] = "\xe5\xc4", [0x41e6] = "\xe5\xc8", [0x41e7] = "\xde\x8d", + [0x41e8] = "\xe5\xca", [0x41e9] = "\xe5\xc7", [0x41ea] = "\xb5\xcf", + [0x41eb] = "\xc6\xc8", [0x41ec] = "\xde\x8e", [0x41ed] = "\xb5\xfc", + [0x41ee] = "\xe5\xc5", [0x41ef] = "\xde\x8f", [0x41f0] = "\xca\xf6", + [0x41f1] = "\xde\x90", [0x41f2] = "\xde\x91", [0x41f3] = "\xe5\xc9", + [0x41f4] = "\xde\x92", [0x41f5] = "\xde\x93", [0x41f6] = "\xde\x94", + [0x41f7] = "\xc3\xd4", [0x41f8] = "\xb1\xc5", [0x41f9] = "\xbc\xa3", + [0x41fa] = "\xde\x95", [0x41fb] = "\xde\x96", [0x41fc] = "\xde\x97", + [0x41fd] = "\xd7\xb7", [0x41fe] = "\xde\x98", [0x41ff] = "\xde\x99", + [0x4200] = "\xcd\xcb", [0x4201] = "\xcb\xcd", [0x4202] = "\xca\xca", + [0x4203] = "\xcc\xd3", [0x4204] = "\xe5\xcc", [0x4205] = "\xe5\xcb", + [0x4206] = "\xc4\xe6", [0x4207] = "\xde\x9a", [0x4208] = "\xde\x9b", + [0x4209] = "\xd1\xa1", [0x420a] = "\xd1\xb7", [0x420b] = "\xe5\xcd", + [0x420c] = "\xde\x9c", [0x420d] = "\xe5\xd0", [0x420e] = "\xde\x9d", + [0x420f] = "\xcd\xb8", [0x4210] = "\xd6\xf0", [0x4211] = "\xe5\xcf", + [0x4212] = "\xb5\xdd", [0x4213] = "\xde\x9e", [0x4214] = "\xcd\xbe", + [0x4215] = "\xde\x9f", [0x4216] = "\xe5\xd1", [0x4217] = "\xb6\xba", + [0x4218] = "\xde\xa0", [0x4219] = "\xdf\x40", [0x421a] = "\xcd\xa8", + [0x421b] = "\xb9\xe4", [0x421c] = "\xdf\x41", [0x421d] = "\xca\xc5", + [0x421e] = "\xb3\xd1", [0x421f] = "\xcb\xd9", [0x4220] = "\xd4\xec", + [0x4221] = "\xe5\xd2", [0x4222] = "\xb7\xea", [0x4223] = "\xdf\x42", + [0x4224] = "\xdf\x43", [0x4225] = "\xdf\x44", [0x4226] = "\xe5\xce", + [0x4227] = "\xdf\x45", [0x4228] = "\xdf\x46", [0x4229] = "\xdf\x47", + [0x422a] = "\xdf\x48", [0x422b] = "\xdf\x49", [0x422c] = "\xdf\x4a", + [0x422d] = "\xe5\xd5", [0x422e] = "\xb4\xfe", [0x422f] = "\xe5\xd6", + [0x4230] = "\xdf\x4b", [0x4231] = "\xdf\x4c", [0x4232] = "\xdf\x4d", + [0x4233] = "\xdf\x4e", [0x4234] = "\xdf\x4f", [0x4235] = "\xe5\xd3", + [0x4236] = "\xe5\xd4", [0x4237] = "\xdf\x50", [0x4238] = "\xd2\xdd", + [0x4239] = "\xdf\x51", [0x423a] = "\xdf\x52", [0x423b] = "\xc2\xdf", + [0x423c] = "\xb1\xc6", [0x423d] = "\xdf\x53", [0x423e] = "\xd3\xe2", + [0x423f] = "\xdf\x54", [0x4240] = "\xdf\x55", [0x4241] = "\xb6\xdd", + [0x4242] = "\xcb\xec", [0x4243] = "\xdf\x56", [0x4244] = "\xe5\xd7", + [0x4245] = "\xdf\x57", [0x4246] = "\xdf\x58", [0x4247] = "\xd3\xf6", + [0x4248] = "\xdf\x59", [0x4249] = "\xdf\x5a", [0x424a] = "\xdf\x5b", + [0x424b] = "\xdf\x5c", [0x424c] = "\xdf\x5d", [0x424d] = "\xb1\xe9", + [0x424e] = "\xdf\x5e", [0x424f] = "\xb6\xf4", [0x4250] = "\xe5\xda", + [0x4251] = "\xe5\xd8", [0x4252] = "\xe5\xd9", [0x4253] = "\xb5\xc0", + [0x4254] = "\xdf\x5f", [0x4255] = "\xdf\x60", [0x4256] = "\xdf\x61", + [0x4257] = "\xd2\xc5", [0x4258] = "\xe5\xdc", [0x4259] = "\xdf\x62", + [0x425a] = "\xdf\x63", [0x425b] = "\xe5\xde", [0x425c] = "\xdf\x64", + [0x425d] = "\xdf\x65", [0x425e] = "\xdf\x66", [0x425f] = "\xdf\x67", + [0x4260] = "\xdf\x68", [0x4261] = "\xdf\x69", [0x4262] = "\xe5\xdd", + [0x4263] = "\xc7\xb2", [0x4264] = "\xdf\x6a", [0x4265] = "\xd2\xa3", + [0x4266] = "\xdf\x6b", [0x4267] = "\xdf\x6c", [0x4268] = "\xe5\xdb", + [0x4269] = "\xdf\x6d", [0x426a] = "\xdf\x6e", [0x426b] = "\xdf\x6f", + [0x426c] = "\xdf\x70", [0x426d] = "\xd4\xe2", [0x426e] = "\xd5\xda", + [0x426f] = "\xdf\x71", [0x4270] = "\xdf\x72", [0x4271] = "\xdf\x73", + [0x4272] = "\xdf\x74", [0x4273] = "\xdf\x75", [0x4274] = "\xe5\xe0", + [0x4275] = "\xd7\xf1", [0x4276] = "\xdf\x76", [0x4277] = "\xdf\x77", + [0x4278] = "\xdf\x78", [0x4279] = "\xdf\x79", [0x427a] = "\xdf\x7a", + [0x427b] = "\xdf\x7b", [0x427c] = "\xdf\x7c", [0x427d] = "\xe5\xe1", + [0x427e] = "\xdf\x7d", [0x427f] = "\xb1\xdc", [0x4280] = "\xd1\xfb", + [0x4281] = "\xdf\x7e", [0x4282] = "\xe5\xe2", [0x4283] = "\xe5\xe4", + [0x4284] = "\xdf\x80", [0x4285] = "\xdf\x81", [0x4286] = "\xdf\x82", + [0x4287] = "\xdf\x83", [0x4288] = "\xe5\xe3", [0x4289] = "\xdf\x84", + [0x428a] = "\xdf\x85", [0x428b] = "\xe5\xe5", [0x428c] = "\xdf\x86", + [0x428d] = "\xdf\x87", [0x428e] = "\xdf\x88", [0x428f] = "\xdf\x89", + [0x4290] = "\xdf\x8a", [0x4291] = "\xd2\xd8", [0x4292] = "\xdf\x8b", + [0x4293] = "\xb5\xcb", [0x4294] = "\xdf\x8c", [0x4295] = "\xe7\xdf", + [0x4296] = "\xdf\x8d", [0x4297] = "\xda\xf5", [0x4298] = "\xdf\x8e", + [0x4299] = "\xda\xf8", [0x429a] = "\xdf\x8f", [0x429b] = "\xda\xf6", + [0x429c] = "\xdf\x90", [0x429d] = "\xda\xf7", [0x429e] = "\xdf\x91", + [0x429f] = "\xdf\x92", [0x42a0] = "\xdf\x93", [0x42a1] = "\xda\xfa", + [0x42a2] = "\xd0\xcf", [0x42a3] = "\xc4\xc7", [0x42a4] = "\xdf\x94", + [0x42a5] = "\xdf\x95", [0x42a6] = "\xb0\xee", [0x42a7] = "\xdf\x96", + [0x42a8] = "\xdf\x97", [0x42a9] = "\xdf\x98", [0x42aa] = "\xd0\xb0", + [0x42ab] = "\xdf\x99", [0x42ac] = "\xda\xf9", [0x42ad] = "\xdf\x9a", + [0x42ae] = "\xd3\xca", [0x42af] = "\xba\xaa", [0x42b0] = "\xdb\xa2", + [0x42b1] = "\xc7\xf1", [0x42b2] = "\xdf\x9b", [0x42b3] = "\xda\xfc", + [0x42b4] = "\xda\xfb", [0x42b5] = "\xc9\xdb", [0x42b6] = "\xda\xfd", + [0x42b7] = "\xdf\x9c", [0x42b8] = "\xdb\xa1", [0x42b9] = "\xd7\xde", + [0x42ba] = "\xda\xfe", [0x42bb] = "\xc1\xda", [0x42bc] = "\xdf\x9d", + [0x42bd] = "\xdf\x9e", [0x42be] = "\xdb\xa5", [0x42bf] = "\xdf\x9f", + [0x42c0] = "\xdf\xa0", [0x42c1] = "\xd3\xf4", [0x42c2] = "\xe0\x40", + [0x42c3] = "\xe0\x41", [0x42c4] = "\xdb\xa7", [0x42c5] = "\xdb\xa4", + [0x42c6] = "\xe0\x42", [0x42c7] = "\xdb\xa8", [0x42c8] = "\xe0\x43", + [0x42c9] = "\xe0\x44", [0x42ca] = "\xbd\xbc", [0x42cb] = "\xe0\x45", + [0x42cc] = "\xe0\x46", [0x42cd] = "\xe0\x47", [0x42ce] = "\xc0\xc9", + [0x42cf] = "\xdb\xa3", [0x42d0] = "\xdb\xa6", [0x42d1] = "\xd6\xa3", + [0x42d2] = "\xe0\x48", [0x42d3] = "\xdb\xa9", [0x42d4] = "\xe0\x49", + [0x42d5] = "\xe0\x4a", [0x42d6] = "\xe0\x4b", [0x42d7] = "\xdb\xad", + [0x42d8] = "\xe0\x4c", [0x42d9] = "\xe0\x4d", [0x42da] = "\xe0\x4e", + [0x42db] = "\xdb\xae", [0x42dc] = "\xdb\xac", [0x42dd] = "\xba\xc2", + [0x42de] = "\xe0\x4f", [0x42df] = "\xe0\x50", [0x42e0] = "\xe0\x51", + [0x42e1] = "\xbf\xa4", [0x42e2] = "\xdb\xab", [0x42e3] = "\xe0\x52", + [0x42e4] = "\xe0\x53", [0x42e5] = "\xe0\x54", [0x42e6] = "\xdb\xaa", + [0x42e7] = "\xd4\xc7", [0x42e8] = "\xb2\xbf", [0x42e9] = "\xe0\x55", + [0x42ea] = "\xe0\x56", [0x42eb] = "\xdb\xaf", [0x42ec] = "\xe0\x57", + [0x42ed] = "\xb9\xf9", [0x42ee] = "\xe0\x58", [0x42ef] = "\xdb\xb0", + [0x42f0] = "\xe0\x59", [0x42f1] = "\xe0\x5a", [0x42f2] = "\xe0\x5b", + [0x42f3] = "\xe0\x5c", [0x42f4] = "\xb3\xbb", [0x42f5] = "\xe0\x5d", + [0x42f6] = "\xe0\x5e", [0x42f7] = "\xe0\x5f", [0x42f8] = "\xb5\xa6", + [0x42f9] = "\xe0\x60", [0x42fa] = "\xe0\x61", [0x42fb] = "\xe0\x62", + [0x42fc] = "\xe0\x63", [0x42fd] = "\xb6\xbc", [0x42fe] = "\xdb\xb1", + [0x42ff] = "\xe0\x64", [0x4300] = "\xe0\x65", [0x4301] = "\xe0\x66", + [0x4302] = "\xb6\xf5", [0x4303] = "\xe0\x67", [0x4304] = "\xdb\xb2", + [0x4305] = "\xe0\x68", [0x4306] = "\xe0\x69", [0x4307] = "\xe0\x6a", + [0x4308] = "\xe0\x6b", [0x4309] = "\xe0\x6c", [0x430a] = "\xe0\x6d", + [0x430b] = "\xe0\x6e", [0x430c] = "\xe0\x6f", [0x430d] = "\xe0\x70", + [0x430e] = "\xe0\x71", [0x430f] = "\xe0\x72", [0x4310] = "\xe0\x73", + [0x4311] = "\xe0\x74", [0x4312] = "\xe0\x75", [0x4313] = "\xe0\x76", + [0x4314] = "\xe0\x77", [0x4315] = "\xe0\x78", [0x4316] = "\xe0\x79", + [0x4317] = "\xe0\x7a", [0x4318] = "\xe0\x7b", [0x4319] = "\xb1\xc9", + [0x431a] = "\xe0\x7c", [0x431b] = "\xe0\x7d", [0x431c] = "\xe0\x7e", + [0x431d] = "\xe0\x80", [0x431e] = "\xdb\xb4", [0x431f] = "\xe0\x81", + [0x4320] = "\xe0\x82", [0x4321] = "\xe0\x83", [0x4322] = "\xdb\xb3", + [0x4323] = "\xdb\xb5", [0x4324] = "\xe0\x84", [0x4325] = "\xe0\x85", + [0x4326] = "\xe0\x86", [0x4327] = "\xe0\x87", [0x4328] = "\xe0\x88", + [0x4329] = "\xe0\x89", [0x432a] = "\xe0\x8a", [0x432b] = "\xe0\x8b", + [0x432c] = "\xe0\x8c", [0x432d] = "\xe0\x8d", [0x432e] = "\xe0\x8e", + [0x432f] = "\xdb\xb7", [0x4330] = "\xe0\x8f", [0x4331] = "\xdb\xb6", + [0x4332] = "\xe0\x90", [0x4333] = "\xe0\x91", [0x4334] = "\xe0\x92", + [0x4335] = "\xe0\x93", [0x4336] = "\xe0\x94", [0x4337] = "\xe0\x95", + [0x4338] = "\xe0\x96", [0x4339] = "\xdb\xb8", [0x433a] = "\xe0\x97", + [0x433b] = "\xe0\x98", [0x433c] = "\xe0\x99", [0x433d] = "\xe0\x9a", + [0x433e] = "\xe0\x9b", [0x433f] = "\xe0\x9c", [0x4340] = "\xe0\x9d", + [0x4341] = "\xe0\x9e", [0x4342] = "\xe0\x9f", [0x4343] = "\xdb\xb9", + [0x4344] = "\xe0\xa0", [0x4345] = "\xe1\x40", [0x4346] = "\xdb\xba", + [0x4347] = "\xe1\x41", [0x4348] = "\xe1\x42", [0x4349] = "\xd3\xcf", + [0x434a] = "\xf4\xfa", [0x434b] = "\xc7\xf5", [0x434c] = "\xd7\xc3", + [0x434d] = "\xc5\xe4", [0x434e] = "\xf4\xfc", [0x434f] = "\xf4\xfd", + [0x4350] = "\xf4\xfb", [0x4351] = "\xe1\x43", [0x4352] = "\xbe\xc6", + [0x4353] = "\xe1\x44", [0x4354] = "\xe1\x45", [0x4355] = "\xe1\x46", + [0x4356] = "\xe1\x47", [0x4357] = "\xd0\xef", [0x4358] = "\xe1\x48", + [0x4359] = "\xe1\x49", [0x435a] = "\xb7\xd3", [0x435b] = "\xe1\x4a", + [0x435c] = "\xe1\x4b", [0x435d] = "\xd4\xcd", [0x435e] = "\xcc\xaa", + [0x435f] = "\xe1\x4c", [0x4360] = "\xe1\x4d", [0x4361] = "\xf5\xa2", + [0x4362] = "\xf5\xa1", [0x4363] = "\xba\xa8", [0x4364] = "\xf4\xfe", + [0x4365] = "\xcb\xd6", [0x4366] = "\xe1\x4e", [0x4367] = "\xe1\x4f", + [0x4368] = "\xe1\x50", [0x4369] = "\xf5\xa4", [0x436a] = "\xc0\xd2", + [0x436b] = "\xe1\x51", [0x436c] = "\xb3\xea", [0x436d] = "\xe1\x52", + [0x436e] = "\xcd\xaa", [0x436f] = "\xf5\xa5", [0x4370] = "\xf5\xa3", + [0x4371] = "\xbd\xb4", [0x4372] = "\xf5\xa8", [0x4373] = "\xe1\x53", + [0x4374] = "\xf5\xa9", [0x4375] = "\xbd\xcd", [0x4376] = "\xc3\xb8", + [0x4377] = "\xbf\xe1", [0x4378] = "\xcb\xe1", [0x4379] = "\xf5\xaa", + [0x437a] = "\xe1\x54", [0x437b] = "\xe1\x55", [0x437c] = "\xe1\x56", + [0x437d] = "\xf5\xa6", [0x437e] = "\xf5\xa7", [0x437f] = "\xc4\xf0", + [0x4380] = "\xe1\x57", [0x4381] = "\xe1\x58", [0x4382] = "\xe1\x59", + [0x4383] = "\xe1\x5a", [0x4384] = "\xe1\x5b", [0x4385] = "\xf5\xac", + [0x4386] = "\xe1\x5c", [0x4387] = "\xb4\xbc", [0x4388] = "\xe1\x5d", + [0x4389] = "\xd7\xed", [0x438a] = "\xe1\x5e", [0x438b] = "\xb4\xd7", + [0x438c] = "\xf5\xab", [0x438d] = "\xf5\xae", [0x438e] = "\xe1\x5f", + [0x438f] = "\xe1\x60", [0x4390] = "\xf5\xad", [0x4391] = "\xf5\xaf", + [0x4392] = "\xd0\xd1", [0x4393] = "\xe1\x61", [0x4394] = "\xe1\x62", + [0x4395] = "\xe1\x63", [0x4396] = "\xe1\x64", [0x4397] = "\xe1\x65", + [0x4398] = "\xe1\x66", [0x4399] = "\xe1\x67", [0x439a] = "\xc3\xd1", + [0x439b] = "\xc8\xa9", [0x439c] = "\xe1\x68", [0x439d] = "\xe1\x69", + [0x439e] = "\xe1\x6a", [0x439f] = "\xe1\x6b", [0x43a0] = "\xe1\x6c", + [0x43a1] = "\xe1\x6d", [0x43a2] = "\xf5\xb0", [0x43a3] = "\xf5\xb1", + [0x43a4] = "\xe1\x6e", [0x43a5] = "\xe1\x6f", [0x43a6] = "\xe1\x70", + [0x43a7] = "\xe1\x71", [0x43a8] = "\xe1\x72", [0x43a9] = "\xe1\x73", + [0x43aa] = "\xf5\xb2", [0x43ab] = "\xe1\x74", [0x43ac] = "\xe1\x75", + [0x43ad] = "\xf5\xb3", [0x43ae] = "\xf5\xb4", [0x43af] = "\xf5\xb5", + [0x43b0] = "\xe1\x76", [0x43b1] = "\xe1\x77", [0x43b2] = "\xe1\x78", + [0x43b3] = "\xe1\x79", [0x43b4] = "\xf5\xb7", [0x43b5] = "\xf5\xb6", + [0x43b6] = "\xe1\x7a", [0x43b7] = "\xe1\x7b", [0x43b8] = "\xe1\x7c", + [0x43b9] = "\xe1\x7d", [0x43ba] = "\xf5\xb8", [0x43bb] = "\xe1\x7e", + [0x43bc] = "\xe1\x80", [0x43bd] = "\xe1\x81", [0x43be] = "\xe1\x82", + [0x43bf] = "\xe1\x83", [0x43c0] = "\xe1\x84", [0x43c1] = "\xe1\x85", + [0x43c2] = "\xe1\x86", [0x43c3] = "\xe1\x87", [0x43c4] = "\xe1\x88", + [0x43c5] = "\xe1\x89", [0x43c6] = "\xe1\x8a", [0x43c7] = "\xb2\xc9", + [0x43c8] = "\xe1\x8b", [0x43c9] = "\xd3\xd4", [0x43ca] = "\xca\xcd", + [0x43cb] = "\xe1\x8c", [0x43cc] = "\xc0\xef", [0x43cd] = "\xd6\xd8", + [0x43ce] = "\xd2\xb0", [0x43cf] = "\xc1\xbf", [0x43d0] = "\xe1\x8d", + [0x43d1] = "\xbd\xf0", [0x43d2] = "\xe1\x8e", [0x43d3] = "\xe1\x8f", + [0x43d4] = "\xe1\x90", [0x43d5] = "\xe1\x91", [0x43d6] = "\xe1\x92", + [0x43d7] = "\xe1\x93", [0x43d8] = "\xe1\x94", [0x43d9] = "\xe1\x95", + [0x43da] = "\xe1\x96", [0x43db] = "\xe1\x97", [0x43dc] = "\xb8\xaa", + [0x43dd] = "\xe1\x98", [0x43de] = "\xe1\x99", [0x43df] = "\xe1\x9a", + [0x43e0] = "\xe1\x9b", [0x43e1] = "\xe1\x9c", [0x43e2] = "\xe1\x9d", + [0x43e3] = "\xe1\x9e", [0x43e4] = "\xe1\x9f", [0x43e5] = "\xe1\xa0", + [0x43e6] = "\xe2\x40", [0x43e7] = "\xe2\x41", [0x43e8] = "\xe2\x42", + [0x43e9] = "\xe2\x43", [0x43ea] = "\xe2\x44", [0x43eb] = "\xe2\x45", + [0x43ec] = "\xe2\x46", [0x43ed] = "\xe2\x47", [0x43ee] = "\xe2\x48", + [0x43ef] = "\xe2\x49", [0x43f0] = "\xe2\x4a", [0x43f1] = "\xe2\x4b", + [0x43f2] = "\xe2\x4c", [0x43f3] = "\xe2\x4d", [0x43f4] = "\xe2\x4e", + [0x43f5] = "\xe2\x4f", [0x43f6] = "\xe2\x50", [0x43f7] = "\xe2\x51", + [0x43f8] = "\xe2\x52", [0x43f9] = "\xe2\x53", [0x43fa] = "\xe2\x54", + [0x43fb] = "\xe2\x55", [0x43fc] = "\xe2\x56", [0x43fd] = "\xe2\x57", + [0x43fe] = "\xe2\x58", [0x43ff] = "\xe2\x59", [0x4400] = "\xe2\x5a", + [0x4401] = "\xe2\x5b", [0x4402] = "\xe2\x5c", [0x4403] = "\xe2\x5d", + [0x4404] = "\xe2\x5e", [0x4405] = "\xe2\x5f", [0x4406] = "\xe2\x60", + [0x4407] = "\xe2\x61", [0x4408] = "\xe2\x62", [0x4409] = "\xe2\x63", + [0x440a] = "\xe2\x64", [0x440b] = "\xe2\x65", [0x440c] = "\xe2\x66", + [0x440d] = "\xe2\x67", [0x440e] = "\xe2\x68", [0x440f] = "\xe2\x69", + [0x4410] = "\xe2\x6a", [0x4411] = "\xe2\x6b", [0x4412] = "\xe2\x6c", + [0x4413] = "\xe2\x6d", [0x4414] = "\xe2\x6e", [0x4415] = "\xe2\x6f", + [0x4416] = "\xe2\x70", [0x4417] = "\xe2\x71", [0x4418] = "\xe2\x72", + [0x4419] = "\xe2\x73", [0x441a] = "\xe2\x74", [0x441b] = "\xe2\x75", + [0x441c] = "\xe2\x76", [0x441d] = "\xe2\x77", [0x441e] = "\xe2\x78", + [0x441f] = "\xe2\x79", [0x4420] = "\xe2\x7a", [0x4421] = "\xe2\x7b", + [0x4422] = "\xe2\x7c", [0x4423] = "\xe2\x7d", [0x4424] = "\xe2\x7e", + [0x4425] = "\xe2\x80", [0x4426] = "\xe2\x81", [0x4427] = "\xe2\x82", + [0x4428] = "\xe2\x83", [0x4429] = "\xe2\x84", [0x442a] = "\xe2\x85", + [0x442b] = "\xe2\x86", [0x442c] = "\xe2\x87", [0x442d] = "\xe2\x88", + [0x442e] = "\xe2\x89", [0x442f] = "\xe2\x8a", [0x4430] = "\xe2\x8b", + [0x4431] = "\xe2\x8c", [0x4432] = "\xe2\x8d", [0x4433] = "\xe2\x8e", + [0x4434] = "\xe2\x8f", [0x4435] = "\xe2\x90", [0x4436] = "\xe2\x91", + [0x4437] = "\xe2\x92", [0x4438] = "\xe2\x93", [0x4439] = "\xe2\x94", + [0x443a] = "\xe2\x95", [0x443b] = "\xe2\x96", [0x443c] = "\xe2\x97", + [0x443d] = "\xe2\x98", [0x443e] = "\xe2\x99", [0x443f] = "\xe2\x9a", + [0x4440] = "\xe2\x9b", [0x4441] = "\xe2\x9c", [0x4442] = "\xe2\x9d", + [0x4443] = "\xe2\x9e", [0x4444] = "\xe2\x9f", [0x4445] = "\xe2\xa0", + [0x4446] = "\xe3\x40", [0x4447] = "\xe3\x41", [0x4448] = "\xe3\x42", + [0x4449] = "\xe3\x43", [0x444a] = "\xe3\x44", [0x444b] = "\xe3\x45", + [0x444c] = "\xe3\x46", [0x444d] = "\xe3\x47", [0x444e] = "\xe3\x48", + [0x444f] = "\xe3\x49", [0x4450] = "\xe3\x4a", [0x4451] = "\xe3\x4b", + [0x4452] = "\xe3\x4c", [0x4453] = "\xe3\x4d", [0x4454] = "\xe3\x4e", + [0x4455] = "\xe3\x4f", [0x4456] = "\xe3\x50", [0x4457] = "\xe3\x51", + [0x4458] = "\xe3\x52", [0x4459] = "\xe3\x53", [0x445a] = "\xe3\x54", + [0x445b] = "\xe3\x55", [0x445c] = "\xe3\x56", [0x445d] = "\xe3\x57", + [0x445e] = "\xe3\x58", [0x445f] = "\xe3\x59", [0x4460] = "\xe3\x5a", + [0x4461] = "\xe3\x5b", [0x4462] = "\xe3\x5c", [0x4463] = "\xe3\x5d", + [0x4464] = "\xe3\x5e", [0x4465] = "\xe3\x5f", [0x4466] = "\xe3\x60", + [0x4467] = "\xe3\x61", [0x4468] = "\xe3\x62", [0x4469] = "\xe3\x63", + [0x446a] = "\xe3\x64", [0x446b] = "\xe3\x65", [0x446c] = "\xe3\x66", + [0x446d] = "\xe3\x67", [0x446e] = "\xe3\x68", [0x446f] = "\xe3\x69", + [0x4470] = "\xe3\x6a", [0x4471] = "\xe3\x6b", [0x4472] = "\xe3\x6c", + [0x4473] = "\xe3\x6d", [0x4474] = "\xbc\xf8", [0x4475] = "\xe3\x6e", + [0x4476] = "\xe3\x6f", [0x4477] = "\xe3\x70", [0x4478] = "\xe3\x71", + [0x4479] = "\xe3\x72", [0x447a] = "\xe3\x73", [0x447b] = "\xe3\x74", + [0x447c] = "\xe3\x75", [0x447d] = "\xe3\x76", [0x447e] = "\xe3\x77", + [0x447f] = "\xe3\x78", [0x4480] = "\xe3\x79", [0x4481] = "\xe3\x7a", + [0x4482] = "\xe3\x7b", [0x4483] = "\xe3\x7c", [0x4484] = "\xe3\x7d", + [0x4485] = "\xe3\x7e", [0x4486] = "\xe3\x80", [0x4487] = "\xe3\x81", + [0x4488] = "\xe3\x82", [0x4489] = "\xe3\x83", [0x448a] = "\xe3\x84", + [0x448b] = "\xe3\x85", [0x448c] = "\xe3\x86", [0x448d] = "\xe3\x87", + [0x448e] = "\xf6\xc6", [0x448f] = "\xe3\x88", [0x4490] = "\xe3\x89", + [0x4491] = "\xe3\x8a", [0x4492] = "\xe3\x8b", [0x4493] = "\xe3\x8c", + [0x4494] = "\xe3\x8d", [0x4495] = "\xe3\x8e", [0x4496] = "\xe3\x8f", + [0x4497] = "\xe3\x90", [0x4498] = "\xe3\x91", [0x4499] = "\xe3\x92", + [0x449a] = "\xe3\x93", [0x449b] = "\xe3\x94", [0x449c] = "\xe3\x95", + [0x449d] = "\xe3\x96", [0x449e] = "\xe3\x97", [0x449f] = "\xe3\x98", + [0x44a0] = "\xe3\x99", [0x44a1] = "\xe3\x9a", [0x44a2] = "\xe3\x9b", + [0x44a3] = "\xe3\x9c", [0x44a4] = "\xe3\x9d", [0x44a5] = "\xe3\x9e", + [0x44a6] = "\xe3\x9f", [0x44a7] = "\xe3\xa0", [0x44a8] = "\xe4\x40", + [0x44a9] = "\xe4\x41", [0x44aa] = "\xe4\x42", [0x44ab] = "\xe4\x43", + [0x44ac] = "\xe4\x44", [0x44ad] = "\xe4\x45", [0x44ae] = "\xf6\xc7", + [0x44af] = "\xe4\x46", [0x44b0] = "\xe4\x47", [0x44b1] = "\xe4\x48", + [0x44b2] = "\xe4\x49", [0x44b3] = "\xe4\x4a", [0x44b4] = "\xe4\x4b", + [0x44b5] = "\xe4\x4c", [0x44b6] = "\xe4\x4d", [0x44b7] = "\xe4\x4e", + [0x44b8] = "\xe4\x4f", [0x44b9] = "\xe4\x50", [0x44ba] = "\xe4\x51", + [0x44bb] = "\xe4\x52", [0x44bc] = "\xe4\x53", [0x44bd] = "\xe4\x54", + [0x44be] = "\xe4\x55", [0x44bf] = "\xe4\x56", [0x44c0] = "\xe4\x57", + [0x44c1] = "\xe4\x58", [0x44c2] = "\xe4\x59", [0x44c3] = "\xe4\x5a", + [0x44c4] = "\xe4\x5b", [0x44c5] = "\xe4\x5c", [0x44c6] = "\xe4\x5d", + [0x44c7] = "\xe4\x5e", [0x44c8] = "\xf6\xc8", [0x44c9] = "\xe4\x5f", + [0x44ca] = "\xe4\x60", [0x44cb] = "\xe4\x61", [0x44cc] = "\xe4\x62", + [0x44cd] = "\xe4\x63", [0x44ce] = "\xe4\x64", [0x44cf] = "\xe4\x65", + [0x44d0] = "\xe4\x66", [0x44d1] = "\xe4\x67", [0x44d2] = "\xe4\x68", + [0x44d3] = "\xe4\x69", [0x44d4] = "\xe4\x6a", [0x44d5] = "\xe4\x6b", + [0x44d6] = "\xe4\x6c", [0x44d7] = "\xe4\x6d", [0x44d8] = "\xe4\x6e", + [0x44d9] = "\xe4\x6f", [0x44da] = "\xe4\x70", [0x44db] = "\xe4\x71", + [0x44dc] = "\xe4\x72", [0x44dd] = "\xe4\x73", [0x44de] = "\xe4\x74", + [0x44df] = "\xe4\x75", [0x44e0] = "\xe4\x76", [0x44e1] = "\xe4\x77", + [0x44e2] = "\xe4\x78", [0x44e3] = "\xe4\x79", [0x44e4] = "\xe4\x7a", + [0x44e5] = "\xe4\x7b", [0x44e6] = "\xe4\x7c", [0x44e7] = "\xe4\x7d", + [0x44e8] = "\xe4\x7e", [0x44e9] = "\xe4\x80", [0x44ea] = "\xe4\x81", + [0x44eb] = "\xe4\x82", [0x44ec] = "\xe4\x83", [0x44ed] = "\xe4\x84", + [0x44ee] = "\xe4\x85", [0x44ef] = "\xe4\x86", [0x44f0] = "\xe4\x87", + [0x44f1] = "\xe4\x88", [0x44f2] = "\xe4\x89", [0x44f3] = "\xe4\x8a", + [0x44f4] = "\xe4\x8b", [0x44f5] = "\xe4\x8c", [0x44f6] = "\xe4\x8d", + [0x44f7] = "\xe4\x8e", [0x44f8] = "\xe4\x8f", [0x44f9] = "\xe4\x90", + [0x44fa] = "\xe4\x91", [0x44fb] = "\xe4\x92", [0x44fc] = "\xe4\x93", + [0x44fd] = "\xe4\x94", [0x44fe] = "\xe4\x95", [0x44ff] = "\xe4\x96", + [0x4500] = "\xe4\x97", [0x4501] = "\xe4\x98", [0x4502] = "\xe4\x99", + [0x4503] = "\xe4\x9a", [0x4504] = "\xe4\x9b", [0x4505] = "\xe4\x9c", + [0x4506] = "\xe4\x9d", [0x4507] = "\xe4\x9e", [0x4508] = "\xe4\x9f", + [0x4509] = "\xe4\xa0", [0x450a] = "\xe5\x40", [0x450b] = "\xe5\x41", + [0x450c] = "\xe5\x42", [0x450d] = "\xe5\x43", [0x450e] = "\xe5\x44", + [0x450f] = "\xe5\x45", [0x4510] = "\xe5\x46", [0x4511] = "\xe5\x47", + [0x4512] = "\xe5\x48", [0x4513] = "\xe5\x49", [0x4514] = "\xe5\x4a", + [0x4515] = "\xe5\x4b", [0x4516] = "\xe5\x4c", [0x4517] = "\xe5\x4d", + [0x4518] = "\xe5\x4e", [0x4519] = "\xe5\x4f", [0x451a] = "\xe5\x50", + [0x451b] = "\xe5\x51", [0x451c] = "\xe5\x52", [0x451d] = "\xe5\x53", + [0x451e] = "\xe5\x54", [0x451f] = "\xe5\x55", [0x4520] = "\xe5\x56", + [0x4521] = "\xe5\x57", [0x4522] = "\xe5\x58", [0x4523] = "\xe5\x59", + [0x4524] = "\xe5\x5a", [0x4525] = "\xe5\x5b", [0x4526] = "\xe5\x5c", + [0x4527] = "\xe5\x5d", [0x4528] = "\xe5\x5e", [0x4529] = "\xe5\x5f", + [0x452a] = "\xe5\x60", [0x452b] = "\xe5\x61", [0x452c] = "\xe5\x62", + [0x452d] = "\xe5\x63", [0x452e] = "\xe5\x64", [0x452f] = "\xe5\x65", + [0x4530] = "\xe5\x66", [0x4531] = "\xe5\x67", [0x4532] = "\xe5\x68", + [0x4533] = "\xe5\x69", [0x4534] = "\xe5\x6a", [0x4535] = "\xe5\x6b", + [0x4536] = "\xe5\x6c", [0x4537] = "\xe5\x6d", [0x4538] = "\xe5\x6e", + [0x4539] = "\xe5\x6f", [0x453a] = "\xe5\x70", [0x453b] = "\xe5\x71", + [0x453c] = "\xe5\x72", [0x453d] = "\xe5\x73", [0x453e] = "\xf6\xc9", + [0x453f] = "\xe5\x74", [0x4540] = "\xe5\x75", [0x4541] = "\xe5\x76", + [0x4542] = "\xe5\x77", [0x4543] = "\xe5\x78", [0x4544] = "\xe5\x79", + [0x4545] = "\xe5\x7a", [0x4546] = "\xe5\x7b", [0x4547] = "\xe5\x7c", + [0x4548] = "\xe5\x7d", [0x4549] = "\xe5\x7e", [0x454a] = "\xe5\x80", + [0x454b] = "\xe5\x81", [0x454c] = "\xe5\x82", [0x454d] = "\xe5\x83", + [0x454e] = "\xe5\x84", [0x454f] = "\xe5\x85", [0x4550] = "\xe5\x86", + [0x4551] = "\xe5\x87", [0x4552] = "\xe5\x88", [0x4553] = "\xe5\x89", + [0x4554] = "\xe5\x8a", [0x4555] = "\xe5\x8b", [0x4556] = "\xe5\x8c", + [0x4557] = "\xe5\x8d", [0x4558] = "\xe5\x8e", [0x4559] = "\xe5\x8f", + [0x455a] = "\xe5\x90", [0x455b] = "\xe5\x91", [0x455c] = "\xe5\x92", + [0x455d] = "\xe5\x93", [0x455e] = "\xe5\x94", [0x455f] = "\xe5\x95", + [0x4560] = "\xe5\x96", [0x4561] = "\xe5\x97", [0x4562] = "\xe5\x98", + [0x4563] = "\xe5\x99", [0x4564] = "\xe5\x9a", [0x4565] = "\xe5\x9b", + [0x4566] = "\xe5\x9c", [0x4567] = "\xe5\x9d", [0x4568] = "\xe5\x9e", + [0x4569] = "\xe5\x9f", [0x456a] = "\xf6\xca", [0x456b] = "\xe5\xa0", + [0x456c] = "\xe6\x40", [0x456d] = "\xe6\x41", [0x456e] = "\xe6\x42", + [0x456f] = "\xe6\x43", [0x4570] = "\xe6\x44", [0x4571] = "\xe6\x45", + [0x4572] = "\xe6\x46", [0x4573] = "\xe6\x47", [0x4574] = "\xe6\x48", + [0x4575] = "\xe6\x49", [0x4576] = "\xe6\x4a", [0x4577] = "\xe6\x4b", + [0x4578] = "\xe6\x4c", [0x4579] = "\xe6\x4d", [0x457a] = "\xe6\x4e", + [0x457b] = "\xe6\x4f", [0x457c] = "\xe6\x50", [0x457d] = "\xe6\x51", + [0x457e] = "\xe6\x52", [0x457f] = "\xe6\x53", [0x4580] = "\xe6\x54", + [0x4581] = "\xe6\x55", [0x4582] = "\xe6\x56", [0x4583] = "\xe6\x57", + [0x4584] = "\xe6\x58", [0x4585] = "\xe6\x59", [0x4586] = "\xe6\x5a", + [0x4587] = "\xe6\x5b", [0x4588] = "\xe6\x5c", [0x4589] = "\xe6\x5d", + [0x458a] = "\xe6\x5e", [0x458b] = "\xe6\x5f", [0x458c] = "\xe6\x60", + [0x458d] = "\xe6\x61", [0x458e] = "\xe6\x62", [0x458f] = "\xf6\xcc", + [0x4590] = "\xe6\x63", [0x4591] = "\xe6\x64", [0x4592] = "\xe6\x65", + [0x4593] = "\xe6\x66", [0x4594] = "\xe6\x67", [0x4595] = "\xe6\x68", + [0x4596] = "\xe6\x69", [0x4597] = "\xe6\x6a", [0x4598] = "\xe6\x6b", + [0x4599] = "\xe6\x6c", [0x459a] = "\xe6\x6d", [0x459b] = "\xe6\x6e", + [0x459c] = "\xe6\x6f", [0x459d] = "\xe6\x70", [0x459e] = "\xe6\x71", + [0x459f] = "\xe6\x72", [0x45a0] = "\xe6\x73", [0x45a1] = "\xe6\x74", + [0x45a2] = "\xe6\x75", [0x45a3] = "\xe6\x76", [0x45a4] = "\xe6\x77", + [0x45a5] = "\xe6\x78", [0x45a6] = "\xe6\x79", [0x45a7] = "\xe6\x7a", + [0x45a8] = "\xe6\x7b", [0x45a9] = "\xe6\x7c", [0x45aa] = "\xe6\x7d", + [0x45ab] = "\xe6\x7e", [0x45ac] = "\xe6\x80", [0x45ad] = "\xe6\x81", + [0x45ae] = "\xe6\x82", [0x45af] = "\xe6\x83", [0x45b0] = "\xe6\x84", + [0x45b1] = "\xe6\x85", [0x45b2] = "\xe6\x86", [0x45b3] = "\xe6\x87", + [0x45b4] = "\xe6\x88", [0x45b5] = "\xe6\x89", [0x45b6] = "\xe6\x8a", + [0x45b7] = "\xe6\x8b", [0x45b8] = "\xe6\x8c", [0x45b9] = "\xe6\x8d", + [0x45ba] = "\xe6\x8e", [0x45bb] = "\xe6\x8f", [0x45bc] = "\xe6\x90", + [0x45bd] = "\xe6\x91", [0x45be] = "\xe6\x92", [0x45bf] = "\xe6\x93", + [0x45c0] = "\xe6\x94", [0x45c1] = "\xe6\x95", [0x45c2] = "\xe6\x96", + [0x45c3] = "\xe6\x97", [0x45c4] = "\xe6\x98", [0x45c5] = "\xe6\x99", + [0x45c6] = "\xe6\x9a", [0x45c7] = "\xe6\x9b", [0x45c8] = "\xe6\x9c", + [0x45c9] = "\xe6\x9d", [0x45ca] = "\xf6\xcb", [0x45cb] = "\xe6\x9e", + [0x45cc] = "\xe6\x9f", [0x45cd] = "\xe6\xa0", [0x45ce] = "\xe7\x40", + [0x45cf] = "\xe7\x41", [0x45d0] = "\xe7\x42", [0x45d1] = "\xe7\x43", + [0x45d2] = "\xe7\x44", [0x45d3] = "\xe7\x45", [0x45d4] = "\xe7\x46", + [0x45d5] = "\xe7\x47", [0x45d6] = "\xf7\xe9", [0x45d7] = "\xe7\x48", + [0x45d8] = "\xe7\x49", [0x45d9] = "\xe7\x4a", [0x45da] = "\xe7\x4b", + [0x45db] = "\xe7\x4c", [0x45dc] = "\xe7\x4d", [0x45dd] = "\xe7\x4e", + [0x45de] = "\xe7\x4f", [0x45df] = "\xe7\x50", [0x45e0] = "\xe7\x51", + [0x45e1] = "\xe7\x52", [0x45e2] = "\xe7\x53", [0x45e3] = "\xe7\x54", + [0x45e4] = "\xe7\x55", [0x45e5] = "\xe7\x56", [0x45e6] = "\xe7\x57", + [0x45e7] = "\xe7\x58", [0x45e8] = "\xe7\x59", [0x45e9] = "\xe7\x5a", + [0x45ea] = "\xe7\x5b", [0x45eb] = "\xe7\x5c", [0x45ec] = "\xe7\x5d", + [0x45ed] = "\xe7\x5e", [0x45ee] = "\xe7\x5f", [0x45ef] = "\xe7\x60", + [0x45f0] = "\xe7\x61", [0x45f1] = "\xe7\x62", [0x45f2] = "\xe7\x63", + [0x45f3] = "\xe7\x64", [0x45f4] = "\xe7\x65", [0x45f5] = "\xe7\x66", + [0x45f6] = "\xe7\x67", [0x45f7] = "\xe7\x68", [0x45f8] = "\xe7\x69", + [0x45f9] = "\xe7\x6a", [0x45fa] = "\xe7\x6b", [0x45fb] = "\xe7\x6c", + [0x45fc] = "\xe7\x6d", [0x45fd] = "\xe7\x6e", [0x45fe] = "\xe7\x6f", + [0x45ff] = "\xe7\x70", [0x4600] = "\xe7\x71", [0x4601] = "\xe7\x72", + [0x4602] = "\xe7\x73", [0x4603] = "\xe7\x74", [0x4604] = "\xe7\x75", + [0x4605] = "\xe7\x76", [0x4606] = "\xe7\x77", [0x4607] = "\xe7\x78", + [0x4608] = "\xe7\x79", [0x4609] = "\xe7\x7a", [0x460a] = "\xe7\x7b", + [0x460b] = "\xe7\x7c", [0x460c] = "\xe7\x7d", [0x460d] = "\xe7\x7e", + [0x460e] = "\xe7\x80", [0x460f] = "\xe7\x81", [0x4610] = "\xe7\x82", + [0x4611] = "\xe7\x83", [0x4612] = "\xe7\x84", [0x4613] = "\xe7\x85", + [0x4614] = "\xe7\x86", [0x4615] = "\xe7\x87", [0x4616] = "\xe7\x88", + [0x4617] = "\xe7\x89", [0x4618] = "\xe7\x8a", [0x4619] = "\xe7\x8b", + [0x461a] = "\xe7\x8c", [0x461b] = "\xe7\x8d", [0x461c] = "\xe7\x8e", + [0x461d] = "\xe7\x8f", [0x461e] = "\xe7\x90", [0x461f] = "\xe7\x91", + [0x4620] = "\xe7\x92", [0x4621] = "\xe7\x93", [0x4622] = "\xe7\x94", + [0x4623] = "\xe7\x95", [0x4624] = "\xe7\x96", [0x4625] = "\xe7\x97", + [0x4626] = "\xe7\x98", [0x4627] = "\xe7\x99", [0x4628] = "\xe7\x9a", + [0x4629] = "\xe7\x9b", [0x462a] = "\xe7\x9c", [0x462b] = "\xe7\x9d", + [0x462c] = "\xe7\x9e", [0x462d] = "\xe7\x9f", [0x462e] = "\xe7\xa0", + [0x462f] = "\xe8\x40", [0x4630] = "\xe8\x41", [0x4631] = "\xe8\x42", + [0x4632] = "\xe8\x43", [0x4633] = "\xe8\x44", [0x4634] = "\xe8\x45", + [0x4635] = "\xe8\x46", [0x4636] = "\xe8\x47", [0x4637] = "\xe8\x48", + [0x4638] = "\xe8\x49", [0x4639] = "\xe8\x4a", [0x463a] = "\xe8\x4b", + [0x463b] = "\xe8\x4c", [0x463c] = "\xe8\x4d", [0x463d] = "\xe8\x4e", + [0x463e] = "\xf6\xcd", [0x463f] = "\xe8\x4f", [0x4640] = "\xe8\x50", + [0x4641] = "\xe8\x51", [0x4642] = "\xe8\x52", [0x4643] = "\xe8\x53", + [0x4644] = "\xe8\x54", [0x4645] = "\xe8\x55", [0x4646] = "\xe8\x56", + [0x4647] = "\xe8\x57", [0x4648] = "\xe8\x58", [0x4649] = "\xe8\x59", + [0x464a] = "\xe8\x5a", [0x464b] = "\xe8\x5b", [0x464c] = "\xe8\x5c", + [0x464d] = "\xe8\x5d", [0x464e] = "\xe8\x5e", [0x464f] = "\xe8\x5f", + [0x4650] = "\xe8\x60", [0x4651] = "\xe8\x61", [0x4652] = "\xe8\x62", + [0x4653] = "\xe8\x63", [0x4654] = "\xe8\x64", [0x4655] = "\xe8\x65", + [0x4656] = "\xe8\x66", [0x4657] = "\xe8\x67", [0x4658] = "\xe8\x68", + [0x4659] = "\xe8\x69", [0x465a] = "\xe8\x6a", [0x465b] = "\xe8\x6b", + [0x465c] = "\xe8\x6c", [0x465d] = "\xe8\x6d", [0x465e] = "\xe8\x6e", + [0x465f] = "\xe8\x6f", [0x4660] = "\xe8\x70", [0x4661] = "\xe8\x71", + [0x4662] = "\xe8\x72", [0x4663] = "\xe8\x73", [0x4664] = "\xe8\x74", + [0x4665] = "\xe8\x75", [0x4666] = "\xe8\x76", [0x4667] = "\xe8\x77", + [0x4668] = "\xe8\x78", [0x4669] = "\xe8\x79", [0x466a] = "\xe8\x7a", + [0x466b] = "\xf6\xce", [0x466c] = "\xe8\x7b", [0x466d] = "\xe8\x7c", + [0x466e] = "\xe8\x7d", [0x466f] = "\xe8\x7e", [0x4670] = "\xe8\x80", + [0x4671] = "\xe8\x81", [0x4672] = "\xe8\x82", [0x4673] = "\xe8\x83", + [0x4674] = "\xe8\x84", [0x4675] = "\xe8\x85", [0x4676] = "\xe8\x86", + [0x4677] = "\xe8\x87", [0x4678] = "\xe8\x88", [0x4679] = "\xe8\x89", + [0x467a] = "\xe8\x8a", [0x467b] = "\xe8\x8b", [0x467c] = "\xe8\x8c", + [0x467d] = "\xe8\x8d", [0x467e] = "\xe8\x8e", [0x467f] = "\xe8\x8f", + [0x4680] = "\xe8\x90", [0x4681] = "\xe8\x91", [0x4682] = "\xe8\x92", + [0x4683] = "\xe8\x93", [0x4684] = "\xe8\x94", [0x4685] = "\xee\xc4", + [0x4686] = "\xee\xc5", [0x4687] = "\xee\xc6", [0x4688] = "\xd5\xeb", + [0x4689] = "\xb6\xa4", [0x468a] = "\xee\xc8", [0x468b] = "\xee\xc7", + [0x468c] = "\xee\xc9", [0x468d] = "\xee\xca", [0x468e] = "\xc7\xa5", + [0x468f] = "\xee\xcb", [0x4690] = "\xee\xcc", [0x4691] = "\xe8\x95", + [0x4692] = "\xb7\xb0", [0x4693] = "\xb5\xf6", [0x4694] = "\xee\xcd", + [0x4695] = "\xee\xcf", [0x4696] = "\xe8\x96", [0x4697] = "\xee\xce", + [0x4698] = "\xe8\x97", [0x4699] = "\xb8\xc6", [0x469a] = "\xee\xd0", + [0x469b] = "\xee\xd1", [0x469c] = "\xee\xd2", [0x469d] = "\xb6\xdb", + [0x469e] = "\xb3\xae", [0x469f] = "\xd6\xd3", [0x46a0] = "\xc4\xc6", + [0x46a1] = "\xb1\xb5", [0x46a2] = "\xb8\xd6", [0x46a3] = "\xee\xd3", + [0x46a4] = "\xee\xd4", [0x46a5] = "\xd4\xbf", [0x46a6] = "\xc7\xd5", + [0x46a7] = "\xbe\xfb", [0x46a8] = "\xce\xd9", [0x46a9] = "\xb9\xb3", + [0x46aa] = "\xee\xd6", [0x46ab] = "\xee\xd5", [0x46ac] = "\xee\xd8", + [0x46ad] = "\xee\xd7", [0x46ae] = "\xc5\xa5", [0x46af] = "\xee\xd9", + [0x46b0] = "\xee\xda", [0x46b1] = "\xc7\xae", [0x46b2] = "\xee\xdb", + [0x46b3] = "\xc7\xaf", [0x46b4] = "\xee\xdc", [0x46b5] = "\xb2\xa7", + [0x46b6] = "\xee\xdd", [0x46b7] = "\xee\xde", [0x46b8] = "\xee\xdf", + [0x46b9] = "\xee\xe0", [0x46ba] = "\xee\xe1", [0x46bb] = "\xd7\xea", + [0x46bc] = "\xee\xe2", [0x46bd] = "\xee\xe3", [0x46be] = "\xbc\xd8", + [0x46bf] = "\xee\xe4", [0x46c0] = "\xd3\xcb", [0x46c1] = "\xcc\xfa", + [0x46c2] = "\xb2\xac", [0x46c3] = "\xc1\xe5", [0x46c4] = "\xee\xe5", + [0x46c5] = "\xc7\xa6", [0x46c6] = "\xc3\xad", [0x46c7] = "\xe8\x98", + [0x46c8] = "\xee\xe6", [0x46c9] = "\xee\xe7", [0x46ca] = "\xee\xe8", + [0x46cb] = "\xee\xe9", [0x46cc] = "\xee\xea", [0x46cd] = "\xee\xeb", + [0x46ce] = "\xee\xec", [0x46cf] = "\xe8\x99", [0x46d0] = "\xee\xed", + [0x46d1] = "\xee\xee", [0x46d2] = "\xee\xef", [0x46d3] = "\xe8\x9a", + [0x46d4] = "\xe8\x9b", [0x46d5] = "\xee\xf0", [0x46d6] = "\xee\xf1", + [0x46d7] = "\xee\xf2", [0x46d8] = "\xee\xf4", [0x46d9] = "\xee\xf3", + [0x46da] = "\xe8\x9c", [0x46db] = "\xee\xf5", [0x46dc] = "\xcd\xad", + [0x46dd] = "\xc2\xc1", [0x46de] = "\xee\xf6", [0x46df] = "\xee\xf7", + [0x46e0] = "\xee\xf8", [0x46e1] = "\xd5\xa1", [0x46e2] = "\xee\xf9", + [0x46e3] = "\xcf\xb3", [0x46e4] = "\xee\xfa", [0x46e5] = "\xee\xfb", + [0x46e6] = "\xe8\x9d", [0x46e7] = "\xee\xfc", [0x46e8] = "\xee\xfd", + [0x46e9] = "\xef\xa1", [0x46ea] = "\xee\xfe", [0x46eb] = "\xef\xa2", + [0x46ec] = "\xb8\xf5", [0x46ed] = "\xc3\xfa", [0x46ee] = "\xef\xa3", + [0x46ef] = "\xef\xa4", [0x46f0] = "\xbd\xc2", [0x46f1] = "\xd2\xbf", + [0x46f2] = "\xb2\xf9", [0x46f3] = "\xef\xa5", [0x46f4] = "\xef\xa6", + [0x46f5] = "\xef\xa7", [0x46f6] = "\xd2\xf8", [0x46f7] = "\xef\xa8", + [0x46f8] = "\xd6\xfd", [0x46f9] = "\xef\xa9", [0x46fa] = "\xc6\xcc", + [0x46fb] = "\xe8\x9e", [0x46fc] = "\xef\xaa", [0x46fd] = "\xef\xab", + [0x46fe] = "\xc1\xb4", [0x46ff] = "\xef\xac", [0x4700] = "\xcf\xfa", + [0x4701] = "\xcb\xf8", [0x4702] = "\xef\xae", [0x4703] = "\xef\xad", + [0x4704] = "\xb3\xfa", [0x4705] = "\xb9\xf8", [0x4706] = "\xef\xaf", + [0x4707] = "\xef\xb0", [0x4708] = "\xd0\xe2", [0x4709] = "\xef\xb1", + [0x470a] = "\xef\xb2", [0x470b] = "\xb7\xe6", [0x470c] = "\xd0\xbf", + [0x470d] = "\xef\xb3", [0x470e] = "\xef\xb4", [0x470f] = "\xef\xb5", + [0x4710] = "\xc8\xf1", [0x4711] = "\xcc\xe0", [0x4712] = "\xef\xb6", + [0x4713] = "\xef\xb7", [0x4714] = "\xef\xb8", [0x4715] = "\xef\xb9", + [0x4716] = "\xef\xba", [0x4717] = "\xd5\xe0", [0x4718] = "\xef\xbb", + [0x4719] = "\xb4\xed", [0x471a] = "\xc3\xaa", [0x471b] = "\xef\xbc", + [0x471c] = "\xe8\x9f", [0x471d] = "\xef\xbd", [0x471e] = "\xef\xbe", + [0x471f] = "\xef\xbf", [0x4720] = "\xe8\xa0", [0x4721] = "\xce\xfd", + [0x4722] = "\xef\xc0", [0x4723] = "\xc2\xe0", [0x4724] = "\xb4\xb8", + [0x4725] = "\xd7\xb6", [0x4726] = "\xbd\xf5", [0x4727] = "\xe9\x40", + [0x4728] = "\xcf\xc7", [0x4729] = "\xef\xc3", [0x472a] = "\xef\xc1", + [0x472b] = "\xef\xc2", [0x472c] = "\xef\xc4", [0x472d] = "\xb6\xa7", + [0x472e] = "\xbc\xfc", [0x472f] = "\xbe\xe2", [0x4730] = "\xc3\xcc", + [0x4731] = "\xef\xc5", [0x4732] = "\xef\xc6", [0x4733] = "\xe9\x41", + [0x4734] = "\xef\xc7", [0x4735] = "\xef\xcf", [0x4736] = "\xef\xc8", + [0x4737] = "\xef\xc9", [0x4738] = "\xef\xca", [0x4739] = "\xc7\xc2", + [0x473a] = "\xef\xf1", [0x473b] = "\xb6\xcd", [0x473c] = "\xef\xcb", + [0x473d] = "\xe9\x42", [0x473e] = "\xef\xcc", [0x473f] = "\xef\xcd", + [0x4740] = "\xb6\xc6", [0x4741] = "\xc3\xbe", [0x4742] = "\xef\xce", + [0x4743] = "\xe9\x43", [0x4744] = "\xef\xd0", [0x4745] = "\xef\xd1", + [0x4746] = "\xef\xd2", [0x4747] = "\xd5\xf2", [0x4748] = "\xe9\x44", + [0x4749] = "\xef\xd3", [0x474a] = "\xc4\xf7", [0x474b] = "\xe9\x45", + [0x474c] = "\xef\xd4", [0x474d] = "\xc4\xf8", [0x474e] = "\xef\xd5", + [0x474f] = "\xef\xd6", [0x4750] = "\xb8\xe4", [0x4751] = "\xb0\xf7", + [0x4752] = "\xef\xd7", [0x4753] = "\xef\xd8", [0x4754] = "\xef\xd9", + [0x4755] = "\xe9\x46", [0x4756] = "\xef\xda", [0x4757] = "\xef\xdb", + [0x4758] = "\xef\xdc", [0x4759] = "\xef\xdd", [0x475a] = "\xe9\x47", + [0x475b] = "\xef\xde", [0x475c] = "\xbe\xb5", [0x475d] = "\xef\xe1", + [0x475e] = "\xef\xdf", [0x475f] = "\xef\xe0", [0x4760] = "\xe9\x48", + [0x4761] = "\xef\xe2", [0x4762] = "\xef\xe3", [0x4763] = "\xc1\xcd", + [0x4764] = "\xef\xe4", [0x4765] = "\xef\xe5", [0x4766] = "\xef\xe6", + [0x4767] = "\xef\xe7", [0x4768] = "\xef\xe8", [0x4769] = "\xef\xe9", + [0x476a] = "\xef\xea", [0x476b] = "\xef\xeb", [0x476c] = "\xef\xec", + [0x476d] = "\xc0\xd8", [0x476e] = "\xe9\x49", [0x476f] = "\xef\xed", + [0x4770] = "\xc1\xad", [0x4771] = "\xef\xee", [0x4772] = "\xef\xef", + [0x4773] = "\xef\xf0", [0x4774] = "\xe9\x4a", [0x4775] = "\xe9\x4b", + [0x4776] = "\xcf\xe2", [0x4777] = "\xe9\x4c", [0x4778] = "\xe9\x4d", + [0x4779] = "\xe9\x4e", [0x477a] = "\xe9\x4f", [0x477b] = "\xe9\x50", + [0x477c] = "\xe9\x51", [0x477d] = "\xe9\x52", [0x477e] = "\xe9\x53", + [0x477f] = "\xb3\xa4", [0x4780] = "\xe9\x54", [0x4781] = "\xe9\x55", + [0x4782] = "\xe9\x56", [0x4783] = "\xe9\x57", [0x4784] = "\xe9\x58", + [0x4785] = "\xe9\x59", [0x4786] = "\xe9\x5a", [0x4787] = "\xe9\x5b", + [0x4788] = "\xe9\x5c", [0x4789] = "\xe9\x5d", [0x478a] = "\xe9\x5e", + [0x478b] = "\xe9\x5f", [0x478c] = "\xe9\x60", [0x478d] = "\xe9\x61", + [0x478e] = "\xe9\x62", [0x478f] = "\xe9\x63", [0x4790] = "\xe9\x64", + [0x4791] = "\xe9\x65", [0x4792] = "\xe9\x66", [0x4793] = "\xe9\x67", + [0x4794] = "\xe9\x68", [0x4795] = "\xe9\x69", [0x4796] = "\xe9\x6a", + [0x4797] = "\xe9\x6b", [0x4798] = "\xe9\x6c", [0x4799] = "\xe9\x6d", + [0x479a] = "\xe9\x6e", [0x479b] = "\xe9\x6f", [0x479c] = "\xe9\x70", + [0x479d] = "\xe9\x71", [0x479e] = "\xe9\x72", [0x479f] = "\xe9\x73", + [0x47a0] = "\xe9\x74", [0x47a1] = "\xe9\x75", [0x47a2] = "\xe9\x76", + [0x47a3] = "\xe9\x77", [0x47a4] = "\xe9\x78", [0x47a5] = "\xe9\x79", + [0x47a6] = "\xe9\x7a", [0x47a7] = "\xe9\x7b", [0x47a8] = "\xe9\x7c", + [0x47a9] = "\xe9\x7d", [0x47aa] = "\xe9\x7e", [0x47ab] = "\xe9\x80", + [0x47ac] = "\xe9\x81", [0x47ad] = "\xe9\x82", [0x47ae] = "\xe9\x83", + [0x47af] = "\xe9\x84", [0x47b0] = "\xe9\x85", [0x47b1] = "\xe9\x86", + [0x47b2] = "\xe9\x87", [0x47b3] = "\xe9\x88", [0x47b4] = "\xe9\x89", + [0x47b5] = "\xe9\x8a", [0x47b6] = "\xe9\x8b", [0x47b7] = "\xe9\x8c", + [0x47b8] = "\xe9\x8d", [0x47b9] = "\xe9\x8e", [0x47ba] = "\xe9\x8f", + [0x47bb] = "\xe9\x90", [0x47bc] = "\xe9\x91", [0x47bd] = "\xe9\x92", + [0x47be] = "\xe9\x93", [0x47bf] = "\xe9\x94", [0x47c0] = "\xe9\x95", + [0x47c1] = "\xe9\x96", [0x47c2] = "\xe9\x97", [0x47c3] = "\xe9\x98", + [0x47c4] = "\xe9\x99", [0x47c5] = "\xe9\x9a", [0x47c6] = "\xe9\x9b", + [0x47c7] = "\xe9\x9c", [0x47c8] = "\xe9\x9d", [0x47c9] = "\xe9\x9e", + [0x47ca] = "\xe9\x9f", [0x47cb] = "\xe9\xa0", [0x47cc] = "\xea\x40", + [0x47cd] = "\xea\x41", [0x47ce] = "\xea\x42", [0x47cf] = "\xea\x43", + [0x47d0] = "\xea\x44", [0x47d1] = "\xea\x45", [0x47d2] = "\xea\x46", + [0x47d3] = "\xea\x47", [0x47d4] = "\xea\x48", [0x47d5] = "\xea\x49", + [0x47d6] = "\xea\x4a", [0x47d7] = "\xea\x4b", [0x47d8] = "\xea\x4c", + [0x47d9] = "\xea\x4d", [0x47da] = "\xea\x4e", [0x47db] = "\xea\x4f", + [0x47dc] = "\xea\x50", [0x47dd] = "\xea\x51", [0x47de] = "\xea\x52", + [0x47df] = "\xea\x53", [0x47e0] = "\xea\x54", [0x47e1] = "\xea\x55", + [0x47e2] = "\xea\x56", [0x47e3] = "\xea\x57", [0x47e4] = "\xea\x58", + [0x47e5] = "\xea\x59", [0x47e6] = "\xea\x5a", [0x47e7] = "\xea\x5b", + [0x47e8] = "\xc3\xc5", [0x47e9] = "\xe3\xc5", [0x47ea] = "\xc9\xc1", + [0x47eb] = "\xe3\xc6", [0x47ec] = "\xea\x5c", [0x47ed] = "\xb1\xd5", + [0x47ee] = "\xce\xca", [0x47ef] = "\xb4\xb3", [0x47f0] = "\xc8\xf2", + [0x47f1] = "\xe3\xc7", [0x47f2] = "\xcf\xd0", [0x47f3] = "\xe3\xc8", + [0x47f4] = "\xbc\xe4", [0x47f5] = "\xe3\xc9", [0x47f6] = "\xe3\xca", + [0x47f7] = "\xc3\xc6", [0x47f8] = "\xd5\xa2", [0x47f9] = "\xc4\xd6", + [0x47fa] = "\xb9\xeb", [0x47fb] = "\xce\xc5", [0x47fc] = "\xe3\xcb", + [0x47fd] = "\xc3\xf6", [0x47fe] = "\xe3\xcc", [0x47ff] = "\xea\x5d", + [0x4800] = "\xb7\xa7", [0x4801] = "\xb8\xf3", [0x4802] = "\xba\xd2", + [0x4803] = "\xe3\xcd", [0x4804] = "\xe3\xce", [0x4805] = "\xd4\xc4", + [0x4806] = "\xe3\xcf", [0x4807] = "\xea\x5e", [0x4808] = "\xe3\xd0", + [0x4809] = "\xd1\xcb", [0x480a] = "\xe3\xd1", [0x480b] = "\xe3\xd2", + [0x480c] = "\xe3\xd3", [0x480d] = "\xe3\xd4", [0x480e] = "\xd1\xd6", + [0x480f] = "\xe3\xd5", [0x4810] = "\xb2\xfb", [0x4811] = "\xc0\xbb", + [0x4812] = "\xe3\xd6", [0x4813] = "\xea\x5f", [0x4814] = "\xc0\xab", + [0x4815] = "\xe3\xd7", [0x4816] = "\xe3\xd8", [0x4817] = "\xe3\xd9", + [0x4818] = "\xea\x60", [0x4819] = "\xe3\xda", [0x481a] = "\xe3\xdb", + [0x481b] = "\xea\x61", [0x481c] = "\xb8\xb7", [0x481d] = "\xda\xe2", + [0x481e] = "\xea\x62", [0x481f] = "\xb6\xd3", [0x4820] = "\xea\x63", + [0x4821] = "\xda\xe4", [0x4822] = "\xda\xe3", [0x4823] = "\xea\x64", + [0x4824] = "\xea\x65", [0x4825] = "\xea\x66", [0x4826] = "\xea\x67", + [0x4827] = "\xea\x68", [0x4828] = "\xea\x69", [0x4829] = "\xea\x6a", + [0x482a] = "\xda\xe6", [0x482b] = "\xea\x6b", [0x482c] = "\xea\x6c", + [0x482d] = "\xea\x6d", [0x482e] = "\xc8\xee", [0x482f] = "\xea\x6e", + [0x4830] = "\xea\x6f", [0x4831] = "\xda\xe5", [0x4832] = "\xb7\xc0", + [0x4833] = "\xd1\xf4", [0x4834] = "\xd2\xf5", [0x4835] = "\xd5\xf3", + [0x4836] = "\xbd\xd7", [0x4837] = "\xea\x70", [0x4838] = "\xea\x71", + [0x4839] = "\xea\x72", [0x483a] = "\xea\x73", [0x483b] = "\xd7\xe8", + [0x483c] = "\xda\xe8", [0x483d] = "\xda\xe7", [0x483e] = "\xea\x74", + [0x483f] = "\xb0\xa2", [0x4840] = "\xcd\xd3", [0x4841] = "\xea\x75", + [0x4842] = "\xda\xe9", [0x4843] = "\xea\x76", [0x4844] = "\xb8\xbd", + [0x4845] = "\xbc\xca", [0x4846] = "\xc2\xbd", [0x4847] = "\xc2\xa4", + [0x4848] = "\xb3\xc2", [0x4849] = "\xda\xea", [0x484a] = "\xea\x77", + [0x484b] = "\xc2\xaa", [0x484c] = "\xc4\xb0", [0x484d] = "\xbd\xb5", + [0x484e] = "\xea\x78", [0x484f] = "\xea\x79", [0x4850] = "\xcf\xde", + [0x4851] = "\xea\x7a", [0x4852] = "\xea\x7b", [0x4853] = "\xea\x7c", + [0x4854] = "\xda\xeb", [0x4855] = "\xc9\xc2", [0x4856] = "\xea\x7d", + [0x4857] = "\xea\x7e", [0x4858] = "\xea\x80", [0x4859] = "\xea\x81", + [0x485a] = "\xea\x82", [0x485b] = "\xb1\xdd", [0x485c] = "\xea\x83", + [0x485d] = "\xea\x84", [0x485e] = "\xea\x85", [0x485f] = "\xda\xec", + [0x4860] = "\xea\x86", [0x4861] = "\xb6\xb8", [0x4862] = "\xd4\xba", + [0x4863] = "\xea\x87", [0x4864] = "\xb3\xfd", [0x4865] = "\xea\x88", + [0x4866] = "\xea\x89", [0x4867] = "\xda\xed", [0x4868] = "\xd4\xc9", + [0x4869] = "\xcf\xd5", [0x486a] = "\xc5\xe3", [0x486b] = "\xea\x8a", + [0x486c] = "\xda\xee", [0x486d] = "\xea\x8b", [0x486e] = "\xea\x8c", + [0x486f] = "\xea\x8d", [0x4870] = "\xea\x8e", [0x4871] = "\xea\x8f", + [0x4872] = "\xda\xef", [0x4873] = "\xea\x90", [0x4874] = "\xda\xf0", + [0x4875] = "\xc1\xea", [0x4876] = "\xcc\xd5", [0x4877] = "\xcf\xdd", + [0x4878] = "\xea\x91", [0x4879] = "\xea\x92", [0x487a] = "\xea\x93", + [0x487b] = "\xea\x94", [0x487c] = "\xea\x95", [0x487d] = "\xea\x96", + [0x487e] = "\xea\x97", [0x487f] = "\xea\x98", [0x4880] = "\xea\x99", + [0x4881] = "\xea\x9a", [0x4882] = "\xea\x9b", [0x4883] = "\xea\x9c", + [0x4884] = "\xea\x9d", [0x4885] = "\xd3\xe7", [0x4886] = "\xc2\xa1", + [0x4887] = "\xea\x9e", [0x4888] = "\xda\xf1", [0x4889] = "\xea\x9f", + [0x488a] = "\xea\xa0", [0x488b] = "\xcb\xe5", [0x488c] = "\xeb\x40", + [0x488d] = "\xda\xf2", [0x488e] = "\xeb\x41", [0x488f] = "\xcb\xe6", + [0x4890] = "\xd2\xfe", [0x4891] = "\xeb\x42", [0x4892] = "\xeb\x43", + [0x4893] = "\xeb\x44", [0x4894] = "\xb8\xf4", [0x4895] = "\xeb\x45", + [0x4896] = "\xeb\x46", [0x4897] = "\xda\xf3", [0x4898] = "\xb0\xaf", + [0x4899] = "\xcf\xb6", [0x489a] = "\xeb\x47", [0x489b] = "\xeb\x48", + [0x489c] = "\xd5\xcf", [0x489d] = "\xeb\x49", [0x489e] = "\xeb\x4a", + [0x489f] = "\xeb\x4b", [0x48a0] = "\xeb\x4c", [0x48a1] = "\xeb\x4d", + [0x48a2] = "\xeb\x4e", [0x48a3] = "\xeb\x4f", [0x48a4] = "\xeb\x50", + [0x48a5] = "\xeb\x51", [0x48a6] = "\xeb\x52", [0x48a7] = "\xcb\xed", + [0x48a8] = "\xeb\x53", [0x48a9] = "\xeb\x54", [0x48aa] = "\xeb\x55", + [0x48ab] = "\xeb\x56", [0x48ac] = "\xeb\x57", [0x48ad] = "\xeb\x58", + [0x48ae] = "\xeb\x59", [0x48af] = "\xeb\x5a", [0x48b0] = "\xda\xf4", + [0x48b1] = "\xeb\x5b", [0x48b2] = "\xeb\x5c", [0x48b3] = "\xe3\xc4", + [0x48b4] = "\xeb\x5d", [0x48b5] = "\xeb\x5e", [0x48b6] = "\xc1\xa5", + [0x48b7] = "\xeb\x5f", [0x48b8] = "\xeb\x60", [0x48b9] = "\xf6\xbf", + [0x48ba] = "\xeb\x61", [0x48bb] = "\xeb\x62", [0x48bc] = "\xf6\xc0", + [0x48bd] = "\xf6\xc1", [0x48be] = "\xc4\xd1", [0x48bf] = "\xeb\x63", + [0x48c0] = "\xc8\xb8", [0x48c1] = "\xd1\xe3", [0x48c2] = "\xeb\x64", + [0x48c3] = "\xeb\x65", [0x48c4] = "\xd0\xdb", [0x48c5] = "\xd1\xc5", + [0x48c6] = "\xbc\xaf", [0x48c7] = "\xb9\xcd", [0x48c8] = "\xeb\x66", + [0x48c9] = "\xef\xf4", [0x48ca] = "\xeb\x67", [0x48cb] = "\xeb\x68", + [0x48cc] = "\xb4\xc6", [0x48cd] = "\xd3\xba", [0x48ce] = "\xf6\xc2", + [0x48cf] = "\xb3\xfb", [0x48d0] = "\xeb\x69", [0x48d1] = "\xeb\x6a", + [0x48d2] = "\xf6\xc3", [0x48d3] = "\xeb\x6b", [0x48d4] = "\xeb\x6c", + [0x48d5] = "\xb5\xf1", [0x48d6] = "\xeb\x6d", [0x48d7] = "\xeb\x6e", + [0x48d8] = "\xeb\x6f", [0x48d9] = "\xeb\x70", [0x48da] = "\xeb\x71", + [0x48db] = "\xeb\x72", [0x48dc] = "\xeb\x73", [0x48dd] = "\xeb\x74", + [0x48de] = "\xeb\x75", [0x48df] = "\xeb\x76", [0x48e0] = "\xf6\xc5", + [0x48e1] = "\xeb\x77", [0x48e2] = "\xeb\x78", [0x48e3] = "\xeb\x79", + [0x48e4] = "\xeb\x7a", [0x48e5] = "\xeb\x7b", [0x48e6] = "\xeb\x7c", + [0x48e7] = "\xeb\x7d", [0x48e8] = "\xd3\xea", [0x48e9] = "\xf6\xa7", + [0x48ea] = "\xd1\xa9", [0x48eb] = "\xeb\x7e", [0x48ec] = "\xeb\x80", + [0x48ed] = "\xeb\x81", [0x48ee] = "\xeb\x82", [0x48ef] = "\xf6\xa9", + [0x48f0] = "\xeb\x83", [0x48f1] = "\xeb\x84", [0x48f2] = "\xeb\x85", + [0x48f3] = "\xf6\xa8", [0x48f4] = "\xeb\x86", [0x48f5] = "\xeb\x87", + [0x48f6] = "\xc1\xe3", [0x48f7] = "\xc0\xd7", [0x48f8] = "\xeb\x88", + [0x48f9] = "\xb1\xa2", [0x48fa] = "\xeb\x89", [0x48fb] = "\xeb\x8a", + [0x48fc] = "\xeb\x8b", [0x48fd] = "\xeb\x8c", [0x48fe] = "\xce\xed", + [0x48ff] = "\xeb\x8d", [0x4900] = "\xd0\xe8", [0x4901] = "\xf6\xab", + [0x4902] = "\xeb\x8e", [0x4903] = "\xeb\x8f", [0x4904] = "\xcf\xf6", + [0x4905] = "\xeb\x90", [0x4906] = "\xf6\xaa", [0x4907] = "\xd5\xf0", + [0x4908] = "\xf6\xac", [0x4909] = "\xc3\xb9", [0x490a] = "\xeb\x91", + [0x490b] = "\xeb\x92", [0x490c] = "\xeb\x93", [0x490d] = "\xbb\xf4", + [0x490e] = "\xf6\xae", [0x490f] = "\xf6\xad", [0x4910] = "\xeb\x94", + [0x4911] = "\xeb\x95", [0x4912] = "\xeb\x96", [0x4913] = "\xc4\xde", + [0x4914] = "\xeb\x97", [0x4915] = "\xeb\x98", [0x4916] = "\xc1\xd8", + [0x4917] = "\xeb\x99", [0x4918] = "\xeb\x9a", [0x4919] = "\xeb\x9b", + [0x491a] = "\xeb\x9c", [0x491b] = "\xeb\x9d", [0x491c] = "\xcb\xaa", + [0x491d] = "\xeb\x9e", [0x491e] = "\xcf\xbc", [0x491f] = "\xeb\x9f", + [0x4920] = "\xeb\xa0", [0x4921] = "\xec\x40", [0x4922] = "\xec\x41", + [0x4923] = "\xec\x42", [0x4924] = "\xec\x43", [0x4925] = "\xec\x44", + [0x4926] = "\xec\x45", [0x4927] = "\xec\x46", [0x4928] = "\xec\x47", + [0x4929] = "\xec\x48", [0x492a] = "\xf6\xaf", [0x492b] = "\xec\x49", + [0x492c] = "\xec\x4a", [0x492d] = "\xf6\xb0", [0x492e] = "\xec\x4b", + [0x492f] = "\xec\x4c", [0x4930] = "\xf6\xb1", [0x4931] = "\xec\x4d", + [0x4932] = "\xc2\xb6", [0x4933] = "\xec\x4e", [0x4934] = "\xec\x4f", + [0x4935] = "\xec\x50", [0x4936] = "\xec\x51", [0x4937] = "\xec\x52", + [0x4938] = "\xb0\xd4", [0x4939] = "\xc5\xf9", [0x493a] = "\xec\x53", + [0x493b] = "\xec\x54", [0x493c] = "\xec\x55", [0x493d] = "\xec\x56", + [0x493e] = "\xf6\xb2", [0x493f] = "\xec\x57", [0x4940] = "\xec\x58", + [0x4941] = "\xec\x59", [0x4942] = "\xec\x5a", [0x4943] = "\xec\x5b", + [0x4944] = "\xec\x5c", [0x4945] = "\xec\x5d", [0x4946] = "\xec\x5e", + [0x4947] = "\xec\x5f", [0x4948] = "\xec\x60", [0x4949] = "\xec\x61", + [0x494a] = "\xec\x62", [0x494b] = "\xec\x63", [0x494c] = "\xec\x64", + [0x494d] = "\xec\x65", [0x494e] = "\xec\x66", [0x494f] = "\xec\x67", + [0x4950] = "\xec\x68", [0x4951] = "\xec\x69", [0x4952] = "\xc7\xe0", + [0x4953] = "\xf6\xa6", [0x4954] = "\xec\x6a", [0x4955] = "\xec\x6b", + [0x4956] = "\xbe\xb8", [0x4957] = "\xec\x6c", [0x4958] = "\xec\x6d", + [0x4959] = "\xbe\xb2", [0x495a] = "\xec\x6e", [0x495b] = "\xb5\xe5", + [0x495c] = "\xec\x6f", [0x495d] = "\xec\x70", [0x495e] = "\xb7\xc7", + [0x495f] = "\xec\x71", [0x4960] = "\xbf\xbf", [0x4961] = "\xc3\xd2", + [0x4962] = "\xc3\xe6", [0x4963] = "\xec\x72", [0x4964] = "\xec\x73", + [0x4965] = "\xd8\xcc", [0x4966] = "\xec\x74", [0x4967] = "\xec\x75", + [0x4968] = "\xec\x76", [0x4969] = "\xb8\xef", [0x496a] = "\xec\x77", + [0x496b] = "\xec\x78", [0x496c] = "\xec\x79", [0x496d] = "\xec\x7a", + [0x496e] = "\xec\x7b", [0x496f] = "\xec\x7c", [0x4970] = "\xec\x7d", + [0x4971] = "\xec\x7e", [0x4972] = "\xec\x80", [0x4973] = "\xbd\xf9", + [0x4974] = "\xd1\xa5", [0x4975] = "\xec\x81", [0x4976] = "\xb0\xd0", + [0x4977] = "\xec\x82", [0x4978] = "\xec\x83", [0x4979] = "\xec\x84", + [0x497a] = "\xec\x85", [0x497b] = "\xec\x86", [0x497c] = "\xf7\xb0", + [0x497d] = "\xec\x87", [0x497e] = "\xec\x88", [0x497f] = "\xec\x89", + [0x4980] = "\xec\x8a", [0x4981] = "\xec\x8b", [0x4982] = "\xec\x8c", + [0x4983] = "\xec\x8d", [0x4984] = "\xec\x8e", [0x4985] = "\xf7\xb1", + [0x4986] = "\xec\x8f", [0x4987] = "\xec\x90", [0x4988] = "\xec\x91", + [0x4989] = "\xec\x92", [0x498a] = "\xec\x93", [0x498b] = "\xd0\xac", + [0x498c] = "\xec\x94", [0x498d] = "\xb0\xb0", [0x498e] = "\xec\x95", + [0x498f] = "\xec\x96", [0x4990] = "\xec\x97", [0x4991] = "\xf7\xb2", + [0x4992] = "\xf7\xb3", [0x4993] = "\xec\x98", [0x4994] = "\xf7\xb4", + [0x4995] = "\xec\x99", [0x4996] = "\xec\x9a", [0x4997] = "\xec\x9b", + [0x4998] = "\xc7\xca", [0x4999] = "\xec\x9c", [0x499a] = "\xec\x9d", + [0x499b] = "\xec\x9e", [0x499c] = "\xec\x9f", [0x499d] = "\xec\xa0", + [0x499e] = "\xed\x40", [0x499f] = "\xed\x41", [0x49a0] = "\xbe\xcf", + [0x49a1] = "\xed\x42", [0x49a2] = "\xed\x43", [0x49a3] = "\xf7\xb7", + [0x49a4] = "\xed\x44", [0x49a5] = "\xed\x45", [0x49a6] = "\xed\x46", + [0x49a7] = "\xed\x47", [0x49a8] = "\xed\x48", [0x49a9] = "\xed\x49", + [0x49aa] = "\xed\x4a", [0x49ab] = "\xf7\xb6", [0x49ac] = "\xed\x4b", + [0x49ad] = "\xb1\xde", [0x49ae] = "\xed\x4c", [0x49af] = "\xf7\xb5", + [0x49b0] = "\xed\x4d", [0x49b1] = "\xed\x4e", [0x49b2] = "\xf7\xb8", + [0x49b3] = "\xed\x4f", [0x49b4] = "\xf7\xb9", [0x49b5] = "\xed\x50", + [0x49b6] = "\xed\x51", [0x49b7] = "\xed\x52", [0x49b8] = "\xed\x53", + [0x49b9] = "\xed\x54", [0x49ba] = "\xed\x55", [0x49bb] = "\xed\x56", + [0x49bc] = "\xed\x57", [0x49bd] = "\xed\x58", [0x49be] = "\xed\x59", + [0x49bf] = "\xed\x5a", [0x49c0] = "\xed\x5b", [0x49c1] = "\xed\x5c", + [0x49c2] = "\xed\x5d", [0x49c3] = "\xed\x5e", [0x49c4] = "\xed\x5f", + [0x49c5] = "\xed\x60", [0x49c6] = "\xed\x61", [0x49c7] = "\xed\x62", + [0x49c8] = "\xed\x63", [0x49c9] = "\xed\x64", [0x49ca] = "\xed\x65", + [0x49cb] = "\xed\x66", [0x49cc] = "\xed\x67", [0x49cd] = "\xed\x68", + [0x49ce] = "\xed\x69", [0x49cf] = "\xed\x6a", [0x49d0] = "\xed\x6b", + [0x49d1] = "\xed\x6c", [0x49d2] = "\xed\x6d", [0x49d3] = "\xed\x6e", + [0x49d4] = "\xed\x6f", [0x49d5] = "\xed\x70", [0x49d6] = "\xed\x71", + [0x49d7] = "\xed\x72", [0x49d8] = "\xed\x73", [0x49d9] = "\xed\x74", + [0x49da] = "\xed\x75", [0x49db] = "\xed\x76", [0x49dc] = "\xed\x77", + [0x49dd] = "\xed\x78", [0x49de] = "\xed\x79", [0x49df] = "\xed\x7a", + [0x49e0] = "\xed\x7b", [0x49e1] = "\xed\x7c", [0x49e2] = "\xed\x7d", + [0x49e3] = "\xed\x7e", [0x49e4] = "\xed\x80", [0x49e5] = "\xed\x81", + [0x49e6] = "\xce\xa4", [0x49e7] = "\xc8\xcd", [0x49e8] = "\xed\x82", + [0x49e9] = "\xba\xab", [0x49ea] = "\xe8\xb8", [0x49eb] = "\xe8\xb9", + [0x49ec] = "\xe8\xba", [0x49ed] = "\xbe\xc2", [0x49ee] = "\xed\x83", + [0x49ef] = "\xed\x84", [0x49f0] = "\xed\x85", [0x49f1] = "\xed\x86", + [0x49f2] = "\xed\x87", [0x49f3] = "\xd2\xf4", [0x49f4] = "\xed\x88", + [0x49f5] = "\xd4\xcf", [0x49f6] = "\xc9\xd8", [0x49f7] = "\xed\x89", + [0x49f8] = "\xed\x8a", [0x49f9] = "\xed\x8b", [0x49fa] = "\xed\x8c", + [0x49fb] = "\xed\x8d", [0x49fc] = "\xed\x8e", [0x49fd] = "\xed\x8f", + [0x49fe] = "\xed\x90", [0x49ff] = "\xed\x91", [0x4a00] = "\xed\x92", + [0x4a01] = "\xed\x93", [0x4a02] = "\xed\x94", [0x4a03] = "\xed\x95", + [0x4a04] = "\xed\x96", [0x4a05] = "\xed\x97", [0x4a06] = "\xed\x98", + [0x4a07] = "\xed\x99", [0x4a08] = "\xed\x9a", [0x4a09] = "\xed\x9b", + [0x4a0a] = "\xed\x9c", [0x4a0b] = "\xed\x9d", [0x4a0c] = "\xed\x9e", + [0x4a0d] = "\xed\x9f", [0x4a0e] = "\xed\xa0", [0x4a0f] = "\xee\x40", + [0x4a10] = "\xee\x41", [0x4a11] = "\xee\x42", [0x4a12] = "\xee\x43", + [0x4a13] = "\xee\x44", [0x4a14] = "\xee\x45", [0x4a15] = "\xee\x46", + [0x4a16] = "\xee\x47", [0x4a17] = "\xee\x48", [0x4a18] = "\xee\x49", + [0x4a19] = "\xee\x4a", [0x4a1a] = "\xee\x4b", [0x4a1b] = "\xee\x4c", + [0x4a1c] = "\xee\x4d", [0x4a1d] = "\xee\x4e", [0x4a1e] = "\xee\x4f", + [0x4a1f] = "\xee\x50", [0x4a20] = "\xee\x51", [0x4a21] = "\xee\x52", + [0x4a22] = "\xee\x53", [0x4a23] = "\xee\x54", [0x4a24] = "\xee\x55", + [0x4a25] = "\xee\x56", [0x4a26] = "\xee\x57", [0x4a27] = "\xee\x58", + [0x4a28] = "\xee\x59", [0x4a29] = "\xee\x5a", [0x4a2a] = "\xee\x5b", + [0x4a2b] = "\xee\x5c", [0x4a2c] = "\xee\x5d", [0x4a2d] = "\xee\x5e", + [0x4a2e] = "\xee\x5f", [0x4a2f] = "\xee\x60", [0x4a30] = "\xee\x61", + [0x4a31] = "\xee\x62", [0x4a32] = "\xee\x63", [0x4a33] = "\xee\x64", + [0x4a34] = "\xee\x65", [0x4a35] = "\xee\x66", [0x4a36] = "\xee\x67", + [0x4a37] = "\xee\x68", [0x4a38] = "\xee\x69", [0x4a39] = "\xee\x6a", + [0x4a3a] = "\xee\x6b", [0x4a3b] = "\xee\x6c", [0x4a3c] = "\xee\x6d", + [0x4a3d] = "\xee\x6e", [0x4a3e] = "\xee\x6f", [0x4a3f] = "\xee\x70", + [0x4a40] = "\xee\x71", [0x4a41] = "\xee\x72", [0x4a42] = "\xee\x73", + [0x4a43] = "\xee\x74", [0x4a44] = "\xee\x75", [0x4a45] = "\xee\x76", + [0x4a46] = "\xee\x77", [0x4a47] = "\xee\x78", [0x4a48] = "\xee\x79", + [0x4a49] = "\xee\x7a", [0x4a4a] = "\xee\x7b", [0x4a4b] = "\xee\x7c", + [0x4a4c] = "\xee\x7d", [0x4a4d] = "\xee\x7e", [0x4a4e] = "\xee\x80", + [0x4a4f] = "\xee\x81", [0x4a50] = "\xee\x82", [0x4a51] = "\xee\x83", + [0x4a52] = "\xee\x84", [0x4a53] = "\xee\x85", [0x4a54] = "\xee\x86", + [0x4a55] = "\xee\x87", [0x4a56] = "\xee\x88", [0x4a57] = "\xee\x89", + [0x4a58] = "\xee\x8a", [0x4a59] = "\xee\x8b", [0x4a5a] = "\xee\x8c", + [0x4a5b] = "\xee\x8d", [0x4a5c] = "\xee\x8e", [0x4a5d] = "\xee\x8f", + [0x4a5e] = "\xee\x90", [0x4a5f] = "\xee\x91", [0x4a60] = "\xee\x92", + [0x4a61] = "\xee\x93", [0x4a62] = "\xee\x94", [0x4a63] = "\xee\x95", + [0x4a64] = "\xee\x96", [0x4a65] = "\xee\x97", [0x4a66] = "\xee\x98", + [0x4a67] = "\xee\x99", [0x4a68] = "\xee\x9a", [0x4a69] = "\xee\x9b", + [0x4a6a] = "\xee\x9c", [0x4a6b] = "\xee\x9d", [0x4a6c] = "\xee\x9e", + [0x4a6d] = "\xee\x9f", [0x4a6e] = "\xee\xa0", [0x4a6f] = "\xef\x40", + [0x4a70] = "\xef\x41", [0x4a71] = "\xef\x42", [0x4a72] = "\xef\x43", + [0x4a73] = "\xef\x44", [0x4a74] = "\xef\x45", [0x4a75] = "\xd2\xb3", + [0x4a76] = "\xb6\xa5", [0x4a77] = "\xc7\xea", [0x4a78] = "\xf1\xfc", + [0x4a79] = "\xcf\xee", [0x4a7a] = "\xcb\xb3", [0x4a7b] = "\xd0\xeb", + [0x4a7c] = "\xe7\xef", [0x4a7d] = "\xcd\xe7", [0x4a7e] = "\xb9\xcb", + [0x4a7f] = "\xb6\xd9", [0x4a80] = "\xf1\xfd", [0x4a81] = "\xb0\xe4", + [0x4a82] = "\xcb\xcc", [0x4a83] = "\xf1\xfe", [0x4a84] = "\xd4\xa4", + [0x4a85] = "\xc2\xad", [0x4a86] = "\xc1\xec", [0x4a87] = "\xc6\xc4", + [0x4a88] = "\xbe\xb1", [0x4a89] = "\xf2\xa1", [0x4a8a] = "\xbc\xd5", + [0x4a8b] = "\xef\x46", [0x4a8c] = "\xf2\xa2", [0x4a8d] = "\xf2\xa3", + [0x4a8e] = "\xef\x47", [0x4a8f] = "\xf2\xa4", [0x4a90] = "\xd2\xc3", + [0x4a91] = "\xc6\xb5", [0x4a92] = "\xef\x48", [0x4a93] = "\xcd\xc7", + [0x4a94] = "\xf2\xa5", [0x4a95] = "\xef\x49", [0x4a96] = "\xd3\xb1", + [0x4a97] = "\xbf\xc5", [0x4a98] = "\xcc\xe2", [0x4a99] = "\xef\x4a", + [0x4a9a] = "\xf2\xa6", [0x4a9b] = "\xf2\xa7", [0x4a9c] = "\xd1\xd5", + [0x4a9d] = "\xb6\xee", [0x4a9e] = "\xf2\xa8", [0x4a9f] = "\xf2\xa9", + [0x4aa0] = "\xb5\xdf", [0x4aa1] = "\xf2\xaa", [0x4aa2] = "\xf2\xab", + [0x4aa3] = "\xef\x4b", [0x4aa4] = "\xb2\xfc", [0x4aa5] = "\xf2\xac", + [0x4aa6] = "\xf2\xad", [0x4aa7] = "\xc8\xa7", [0x4aa8] = "\xef\x4c", + [0x4aa9] = "\xef\x4d", [0x4aaa] = "\xef\x4e", [0x4aab] = "\xef\x4f", + [0x4aac] = "\xef\x50", [0x4aad] = "\xef\x51", [0x4aae] = "\xef\x52", + [0x4aaf] = "\xef\x53", [0x4ab0] = "\xef\x54", [0x4ab1] = "\xef\x55", + [0x4ab2] = "\xef\x56", [0x4ab3] = "\xef\x57", [0x4ab4] = "\xef\x58", + [0x4ab5] = "\xef\x59", [0x4ab6] = "\xef\x5a", [0x4ab7] = "\xef\x5b", + [0x4ab8] = "\xef\x5c", [0x4ab9] = "\xef\x5d", [0x4aba] = "\xef\x5e", + [0x4abb] = "\xef\x5f", [0x4abc] = "\xef\x60", [0x4abd] = "\xef\x61", + [0x4abe] = "\xef\x62", [0x4abf] = "\xef\x63", [0x4ac0] = "\xef\x64", + [0x4ac1] = "\xef\x65", [0x4ac2] = "\xef\x66", [0x4ac3] = "\xef\x67", + [0x4ac4] = "\xef\x68", [0x4ac5] = "\xef\x69", [0x4ac6] = "\xef\x6a", + [0x4ac7] = "\xef\x6b", [0x4ac8] = "\xef\x6c", [0x4ac9] = "\xef\x6d", + [0x4aca] = "\xef\x6e", [0x4acb] = "\xef\x6f", [0x4acc] = "\xef\x70", + [0x4acd] = "\xef\x71", [0x4ace] = "\xb7\xe7", [0x4acf] = "\xef\x72", + [0x4ad0] = "\xef\x73", [0x4ad1] = "\xec\xa9", [0x4ad2] = "\xec\xaa", + [0x4ad3] = "\xec\xab", [0x4ad4] = "\xef\x74", [0x4ad5] = "\xec\xac", + [0x4ad6] = "\xef\x75", [0x4ad7] = "\xef\x76", [0x4ad8] = "\xc6\xae", + [0x4ad9] = "\xec\xad", [0x4ada] = "\xec\xae", [0x4adb] = "\xef\x77", + [0x4adc] = "\xef\x78", [0x4add] = "\xef\x79", [0x4ade] = "\xb7\xc9", + [0x4adf] = "\xca\xb3", [0x4ae0] = "\xef\x7a", [0x4ae1] = "\xef\x7b", + [0x4ae2] = "\xef\x7c", [0x4ae3] = "\xef\x7d", [0x4ae4] = "\xef\x7e", + [0x4ae5] = "\xef\x80", [0x4ae6] = "\xef\x81", [0x4ae7] = "\xe2\xb8", + [0x4ae8] = "\xf7\xcf", [0x4ae9] = "\xef\x82", [0x4aea] = "\xef\x83", + [0x4aeb] = "\xef\x84", [0x4aec] = "\xef\x85", [0x4aed] = "\xef\x86", + [0x4aee] = "\xef\x87", [0x4aef] = "\xef\x88", [0x4af0] = "\xef\x89", + [0x4af1] = "\xef\x8a", [0x4af2] = "\xef\x8b", [0x4af3] = "\xef\x8c", + [0x4af4] = "\xef\x8d", [0x4af5] = "\xef\x8e", [0x4af6] = "\xef\x8f", + [0x4af7] = "\xef\x90", [0x4af8] = "\xef\x91", [0x4af9] = "\xef\x92", + [0x4afa] = "\xef\x93", [0x4afb] = "\xef\x94", [0x4afc] = "\xef\x95", + [0x4afd] = "\xef\x96", [0x4afe] = "\xef\x97", [0x4aff] = "\xef\x98", + [0x4b00] = "\xef\x99", [0x4b01] = "\xef\x9a", [0x4b02] = "\xef\x9b", + [0x4b03] = "\xef\x9c", [0x4b04] = "\xef\x9d", [0x4b05] = "\xef\x9e", + [0x4b06] = "\xef\x9f", [0x4b07] = "\xef\xa0", [0x4b08] = "\xf0\x40", + [0x4b09] = "\xf0\x41", [0x4b0a] = "\xf0\x42", [0x4b0b] = "\xf0\x43", + [0x4b0c] = "\xf0\x44", [0x4b0d] = "\xf7\xd0", [0x4b0e] = "\xf0\x45", + [0x4b0f] = "\xf0\x46", [0x4b10] = "\xb2\xcd", [0x4b11] = "\xf0\x47", + [0x4b12] = "\xf0\x48", [0x4b13] = "\xf0\x49", [0x4b14] = "\xf0\x4a", + [0x4b15] = "\xf0\x4b", [0x4b16] = "\xf0\x4c", [0x4b17] = "\xf0\x4d", + [0x4b18] = "\xf0\x4e", [0x4b19] = "\xf0\x4f", [0x4b1a] = "\xf0\x50", + [0x4b1b] = "\xf0\x51", [0x4b1c] = "\xf0\x52", [0x4b1d] = "\xf0\x53", + [0x4b1e] = "\xf0\x54", [0x4b1f] = "\xf0\x55", [0x4b20] = "\xf0\x56", + [0x4b21] = "\xf0\x57", [0x4b22] = "\xf0\x58", [0x4b23] = "\xf0\x59", + [0x4b24] = "\xf0\x5a", [0x4b25] = "\xf0\x5b", [0x4b26] = "\xf0\x5c", + [0x4b27] = "\xf0\x5d", [0x4b28] = "\xf0\x5e", [0x4b29] = "\xf0\x5f", + [0x4b2a] = "\xf0\x60", [0x4b2b] = "\xf0\x61", [0x4b2c] = "\xf0\x62", + [0x4b2d] = "\xf0\x63", [0x4b2e] = "\xf7\xd1", [0x4b2f] = "\xf0\x64", + [0x4b30] = "\xf0\x65", [0x4b31] = "\xf0\x66", [0x4b32] = "\xf0\x67", + [0x4b33] = "\xf0\x68", [0x4b34] = "\xf0\x69", [0x4b35] = "\xf0\x6a", + [0x4b36] = "\xf0\x6b", [0x4b37] = "\xf0\x6c", [0x4b38] = "\xf0\x6d", + [0x4b39] = "\xf0\x6e", [0x4b3a] = "\xf0\x6f", [0x4b3b] = "\xf0\x70", + [0x4b3c] = "\xf0\x71", [0x4b3d] = "\xf0\x72", [0x4b3e] = "\xf0\x73", + [0x4b3f] = "\xf0\x74", [0x4b40] = "\xf0\x75", [0x4b41] = "\xf0\x76", + [0x4b42] = "\xf0\x77", [0x4b43] = "\xf0\x78", [0x4b44] = "\xf0\x79", + [0x4b45] = "\xf0\x7a", [0x4b46] = "\xf0\x7b", [0x4b47] = "\xf0\x7c", + [0x4b48] = "\xf0\x7d", [0x4b49] = "\xf0\x7e", [0x4b4a] = "\xf0\x80", + [0x4b4b] = "\xf0\x81", [0x4b4c] = "\xf0\x82", [0x4b4d] = "\xf0\x83", + [0x4b4e] = "\xf0\x84", [0x4b4f] = "\xf0\x85", [0x4b50] = "\xf0\x86", + [0x4b51] = "\xf0\x87", [0x4b52] = "\xf0\x88", [0x4b53] = "\xf0\x89", + [0x4b54] = "\xf7\xd3", [0x4b55] = "\xf7\xd2", [0x4b56] = "\xf0\x8a", + [0x4b57] = "\xf0\x8b", [0x4b58] = "\xf0\x8c", [0x4b59] = "\xf0\x8d", + [0x4b5a] = "\xf0\x8e", [0x4b5b] = "\xf0\x8f", [0x4b5c] = "\xf0\x90", + [0x4b5d] = "\xf0\x91", [0x4b5e] = "\xf0\x92", [0x4b5f] = "\xf0\x93", + [0x4b60] = "\xf0\x94", [0x4b61] = "\xf0\x95", [0x4b62] = "\xf0\x96", + [0x4b63] = "\xe2\xbb", [0x4b64] = "\xf0\x97", [0x4b65] = "\xbc\xa2", + [0x4b66] = "\xf0\x98", [0x4b67] = "\xe2\xbc", [0x4b68] = "\xe2\xbd", + [0x4b69] = "\xe2\xbe", [0x4b6a] = "\xe2\xbf", [0x4b6b] = "\xe2\xc0", + [0x4b6c] = "\xe2\xc1", [0x4b6d] = "\xb7\xb9", [0x4b6e] = "\xd2\xfb", + [0x4b6f] = "\xbd\xa4", [0x4b70] = "\xca\xce", [0x4b71] = "\xb1\xa5", + [0x4b72] = "\xcb\xc7", [0x4b73] = "\xf0\x99", [0x4b74] = "\xe2\xc2", + [0x4b75] = "\xb6\xfc", [0x4b76] = "\xc8\xc4", [0x4b77] = "\xe2\xc3", + [0x4b78] = "\xf0\x9a", [0x4b79] = "\xf0\x9b", [0x4b7a] = "\xbd\xc8", + [0x4b7b] = "\xf0\x9c", [0x4b7c] = "\xb1\xfd", [0x4b7d] = "\xe2\xc4", + [0x4b7e] = "\xf0\x9d", [0x4b7f] = "\xb6\xf6", [0x4b80] = "\xe2\xc5", + [0x4b81] = "\xc4\xd9", [0x4b82] = "\xf0\x9e", [0x4b83] = "\xf0\x9f", + [0x4b84] = "\xe2\xc6", [0x4b85] = "\xcf\xda", [0x4b86] = "\xb9\xdd", + [0x4b87] = "\xe2\xc7", [0x4b88] = "\xc0\xa1", [0x4b89] = "\xf0\xa0", + [0x4b8a] = "\xe2\xc8", [0x4b8b] = "\xb2\xf6", [0x4b8c] = "\xf1\x40", + [0x4b8d] = "\xe2\xc9", [0x4b8e] = "\xf1\x41", [0x4b8f] = "\xc1\xf3", + [0x4b90] = "\xe2\xca", [0x4b91] = "\xe2\xcb", [0x4b92] = "\xc2\xf8", + [0x4b93] = "\xe2\xcc", [0x4b94] = "\xe2\xcd", [0x4b95] = "\xe2\xce", + [0x4b96] = "\xca\xd7", [0x4b97] = "\xd8\xb8", [0x4b98] = "\xd9\xe5", + [0x4b99] = "\xcf\xe3", [0x4b9a] = "\xf1\x42", [0x4b9b] = "\xf1\x43", + [0x4b9c] = "\xf1\x44", [0x4b9d] = "\xf1\x45", [0x4b9e] = "\xf1\x46", + [0x4b9f] = "\xf1\x47", [0x4ba0] = "\xf1\x48", [0x4ba1] = "\xf1\x49", + [0x4ba2] = "\xf1\x4a", [0x4ba3] = "\xf1\x4b", [0x4ba4] = "\xf1\x4c", + [0x4ba5] = "\xf0\xa5", [0x4ba6] = "\xf1\x4d", [0x4ba7] = "\xf1\x4e", + [0x4ba8] = "\xdc\xb0", [0x4ba9] = "\xf1\x4f", [0x4baa] = "\xf1\x50", + [0x4bab] = "\xf1\x51", [0x4bac] = "\xf1\x52", [0x4bad] = "\xf1\x53", + [0x4bae] = "\xf1\x54", [0x4baf] = "\xf1\x55", [0x4bb0] = "\xf1\x56", + [0x4bb1] = "\xf1\x57", [0x4bb2] = "\xf1\x58", [0x4bb3] = "\xf1\x59", + [0x4bb4] = "\xf1\x5a", [0x4bb5] = "\xf1\x5b", [0x4bb6] = "\xf1\x5c", + [0x4bb7] = "\xf1\x5d", [0x4bb8] = "\xf1\x5e", [0x4bb9] = "\xf1\x5f", + [0x4bba] = "\xf1\x60", [0x4bbb] = "\xf1\x61", [0x4bbc] = "\xf1\x62", + [0x4bbd] = "\xf1\x63", [0x4bbe] = "\xf1\x64", [0x4bbf] = "\xf1\x65", + [0x4bc0] = "\xf1\x66", [0x4bc1] = "\xf1\x67", [0x4bc2] = "\xf1\x68", + [0x4bc3] = "\xf1\x69", [0x4bc4] = "\xf1\x6a", [0x4bc5] = "\xf1\x6b", + [0x4bc6] = "\xf1\x6c", [0x4bc7] = "\xf1\x6d", [0x4bc8] = "\xf1\x6e", + [0x4bc9] = "\xf1\x6f", [0x4bca] = "\xf1\x70", [0x4bcb] = "\xf1\x71", + [0x4bcc] = "\xf1\x72", [0x4bcd] = "\xf1\x73", [0x4bce] = "\xf1\x74", + [0x4bcf] = "\xf1\x75", [0x4bd0] = "\xf1\x76", [0x4bd1] = "\xf1\x77", + [0x4bd2] = "\xf1\x78", [0x4bd3] = "\xf1\x79", [0x4bd4] = "\xf1\x7a", + [0x4bd5] = "\xf1\x7b", [0x4bd6] = "\xf1\x7c", [0x4bd7] = "\xf1\x7d", + [0x4bd8] = "\xf1\x7e", [0x4bd9] = "\xf1\x80", [0x4bda] = "\xf1\x81", + [0x4bdb] = "\xf1\x82", [0x4bdc] = "\xf1\x83", [0x4bdd] = "\xf1\x84", + [0x4bde] = "\xf1\x85", [0x4bdf] = "\xf1\x86", [0x4be0] = "\xf1\x87", + [0x4be1] = "\xf1\x88", [0x4be2] = "\xf1\x89", [0x4be3] = "\xf1\x8a", + [0x4be4] = "\xf1\x8b", [0x4be5] = "\xf1\x8c", [0x4be6] = "\xf1\x8d", + [0x4be7] = "\xf1\x8e", [0x4be8] = "\xf1\x8f", [0x4be9] = "\xf1\x90", + [0x4bea] = "\xf1\x91", [0x4beb] = "\xf1\x92", [0x4bec] = "\xf1\x93", + [0x4bed] = "\xf1\x94", [0x4bee] = "\xf1\x95", [0x4bef] = "\xf1\x96", + [0x4bf0] = "\xf1\x97", [0x4bf1] = "\xf1\x98", [0x4bf2] = "\xf1\x99", + [0x4bf3] = "\xf1\x9a", [0x4bf4] = "\xf1\x9b", [0x4bf5] = "\xf1\x9c", + [0x4bf6] = "\xf1\x9d", [0x4bf7] = "\xf1\x9e", [0x4bf8] = "\xf1\x9f", + [0x4bf9] = "\xf1\xa0", [0x4bfa] = "\xf2\x40", [0x4bfb] = "\xf2\x41", + [0x4bfc] = "\xf2\x42", [0x4bfd] = "\xf2\x43", [0x4bfe] = "\xf2\x44", + [0x4bff] = "\xf2\x45", [0x4c00] = "\xf2\x46", [0x4c01] = "\xf2\x47", + [0x4c02] = "\xf2\x48", [0x4c03] = "\xf2\x49", [0x4c04] = "\xf2\x4a", + [0x4c05] = "\xf2\x4b", [0x4c06] = "\xf2\x4c", [0x4c07] = "\xf2\x4d", + [0x4c08] = "\xf2\x4e", [0x4c09] = "\xf2\x4f", [0x4c0a] = "\xf2\x50", + [0x4c0b] = "\xf2\x51", [0x4c0c] = "\xf2\x52", [0x4c0d] = "\xf2\x53", + [0x4c0e] = "\xf2\x54", [0x4c0f] = "\xf2\x55", [0x4c10] = "\xf2\x56", + [0x4c11] = "\xf2\x57", [0x4c12] = "\xf2\x58", [0x4c13] = "\xf2\x59", + [0x4c14] = "\xf2\x5a", [0x4c15] = "\xf2\x5b", [0x4c16] = "\xf2\x5c", + [0x4c17] = "\xf2\x5d", [0x4c18] = "\xf2\x5e", [0x4c19] = "\xf2\x5f", + [0x4c1a] = "\xf2\x60", [0x4c1b] = "\xf2\x61", [0x4c1c] = "\xf2\x62", + [0x4c1d] = "\xf2\x63", [0x4c1e] = "\xf2\x64", [0x4c1f] = "\xf2\x65", + [0x4c20] = "\xf2\x66", [0x4c21] = "\xf2\x67", [0x4c22] = "\xf2\x68", + [0x4c23] = "\xf2\x69", [0x4c24] = "\xf2\x6a", [0x4c25] = "\xf2\x6b", + [0x4c26] = "\xf2\x6c", [0x4c27] = "\xf2\x6d", [0x4c28] = "\xf2\x6e", + [0x4c29] = "\xf2\x6f", [0x4c2a] = "\xf2\x70", [0x4c2b] = "\xf2\x71", + [0x4c2c] = "\xf2\x72", [0x4c2d] = "\xf2\x73", [0x4c2e] = "\xf2\x74", + [0x4c2f] = "\xf2\x75", [0x4c30] = "\xf2\x76", [0x4c31] = "\xf2\x77", + [0x4c32] = "\xf2\x78", [0x4c33] = "\xf2\x79", [0x4c34] = "\xf2\x7a", + [0x4c35] = "\xf2\x7b", [0x4c36] = "\xf2\x7c", [0x4c37] = "\xf2\x7d", + [0x4c38] = "\xf2\x7e", [0x4c39] = "\xf2\x80", [0x4c3a] = "\xf2\x81", + [0x4c3b] = "\xf2\x82", [0x4c3c] = "\xf2\x83", [0x4c3d] = "\xf2\x84", + [0x4c3e] = "\xf2\x85", [0x4c3f] = "\xf2\x86", [0x4c40] = "\xf2\x87", + [0x4c41] = "\xf2\x88", [0x4c42] = "\xf2\x89", [0x4c43] = "\xf2\x8a", + [0x4c44] = "\xf2\x8b", [0x4c45] = "\xf2\x8c", [0x4c46] = "\xf2\x8d", + [0x4c47] = "\xf2\x8e", [0x4c48] = "\xf2\x8f", [0x4c49] = "\xf2\x90", + [0x4c4a] = "\xf2\x91", [0x4c4b] = "\xf2\x92", [0x4c4c] = "\xf2\x93", + [0x4c4d] = "\xf2\x94", [0x4c4e] = "\xf2\x95", [0x4c4f] = "\xf2\x96", + [0x4c50] = "\xf2\x97", [0x4c51] = "\xf2\x98", [0x4c52] = "\xf2\x99", + [0x4c53] = "\xf2\x9a", [0x4c54] = "\xf2\x9b", [0x4c55] = "\xf2\x9c", + [0x4c56] = "\xf2\x9d", [0x4c57] = "\xf2\x9e", [0x4c58] = "\xf2\x9f", + [0x4c59] = "\xf2\xa0", [0x4c5a] = "\xf3\x40", [0x4c5b] = "\xf3\x41", + [0x4c5c] = "\xf3\x42", [0x4c5d] = "\xf3\x43", [0x4c5e] = "\xf3\x44", + [0x4c5f] = "\xf3\x45", [0x4c60] = "\xf3\x46", [0x4c61] = "\xf3\x47", + [0x4c62] = "\xf3\x48", [0x4c63] = "\xf3\x49", [0x4c64] = "\xf3\x4a", + [0x4c65] = "\xf3\x4b", [0x4c66] = "\xf3\x4c", [0x4c67] = "\xf3\x4d", + [0x4c68] = "\xf3\x4e", [0x4c69] = "\xf3\x4f", [0x4c6a] = "\xf3\x50", + [0x4c6b] = "\xf3\x51", [0x4c6c] = "\xc2\xed", [0x4c6d] = "\xd4\xa6", + [0x4c6e] = "\xcd\xd4", [0x4c6f] = "\xd1\xb1", [0x4c70] = "\xb3\xdb", + [0x4c71] = "\xc7\xfd", [0x4c72] = "\xf3\x52", [0x4c73] = "\xb2\xb5", + [0x4c74] = "\xc2\xbf", [0x4c75] = "\xe6\xe0", [0x4c76] = "\xca\xbb", + [0x4c77] = "\xe6\xe1", [0x4c78] = "\xe6\xe2", [0x4c79] = "\xbe\xd4", + [0x4c7a] = "\xe6\xe3", [0x4c7b] = "\xd7\xa4", [0x4c7c] = "\xcd\xd5", + [0x4c7d] = "\xe6\xe5", [0x4c7e] = "\xbc\xdd", [0x4c7f] = "\xe6\xe4", + [0x4c80] = "\xe6\xe6", [0x4c81] = "\xe6\xe7", [0x4c82] = "\xc2\xee", + [0x4c83] = "\xf3\x53", [0x4c84] = "\xbd\xbe", [0x4c85] = "\xe6\xe8", + [0x4c86] = "\xc2\xe6", [0x4c87] = "\xba\xa7", [0x4c88] = "\xe6\xe9", + [0x4c89] = "\xf3\x54", [0x4c8a] = "\xe6\xea", [0x4c8b] = "\xb3\xd2", + [0x4c8c] = "\xd1\xe9", [0x4c8d] = "\xf3\x55", [0x4c8e] = "\xf3\x56", + [0x4c8f] = "\xbf\xa5", [0x4c90] = "\xe6\xeb", [0x4c91] = "\xc6\xef", + [0x4c92] = "\xe6\xec", [0x4c93] = "\xe6\xed", [0x4c94] = "\xf3\x57", + [0x4c95] = "\xf3\x58", [0x4c96] = "\xe6\xee", [0x4c97] = "\xc6\xad", + [0x4c98] = "\xe6\xef", [0x4c99] = "\xf3\x59", [0x4c9a] = "\xc9\xa7", + [0x4c9b] = "\xe6\xf0", [0x4c9c] = "\xe6\xf1", [0x4c9d] = "\xe6\xf2", + [0x4c9e] = "\xe5\xb9", [0x4c9f] = "\xe6\xf3", [0x4ca0] = "\xe6\xf4", + [0x4ca1] = "\xc2\xe2", [0x4ca2] = "\xe6\xf5", [0x4ca3] = "\xe6\xf6", + [0x4ca4] = "\xd6\xe8", [0x4ca5] = "\xe6\xf7", [0x4ca6] = "\xf3\x5a", + [0x4ca7] = "\xe6\xf8", [0x4ca8] = "\xb9\xc7", [0x4ca9] = "\xf3\x5b", + [0x4caa] = "\xf3\x5c", [0x4cab] = "\xf3\x5d", [0x4cac] = "\xf3\x5e", + [0x4cad] = "\xf3\x5f", [0x4cae] = "\xf3\x60", [0x4caf] = "\xf3\x61", + [0x4cb0] = "\xf7\xbb", [0x4cb1] = "\xf7\xba", [0x4cb2] = "\xf3\x62", + [0x4cb3] = "\xf3\x63", [0x4cb4] = "\xf3\x64", [0x4cb5] = "\xf3\x65", + [0x4cb6] = "\xf7\xbe", [0x4cb7] = "\xf7\xbc", [0x4cb8] = "\xba\xa1", + [0x4cb9] = "\xf3\x66", [0x4cba] = "\xf7\xbf", [0x4cbb] = "\xf3\x67", + [0x4cbc] = "\xf7\xc0", [0x4cbd] = "\xf3\x68", [0x4cbe] = "\xf3\x69", + [0x4cbf] = "\xf3\x6a", [0x4cc0] = "\xf7\xc2", [0x4cc1] = "\xf7\xc1", + [0x4cc2] = "\xf7\xc4", [0x4cc3] = "\xf3\x6b", [0x4cc4] = "\xf3\x6c", + [0x4cc5] = "\xf7\xc3", [0x4cc6] = "\xf3\x6d", [0x4cc7] = "\xf3\x6e", + [0x4cc8] = "\xf3\x6f", [0x4cc9] = "\xf3\x70", [0x4cca] = "\xf3\x71", + [0x4ccb] = "\xf7\xc5", [0x4ccc] = "\xf7\xc6", [0x4ccd] = "\xf3\x72", + [0x4cce] = "\xf3\x73", [0x4ccf] = "\xf3\x74", [0x4cd0] = "\xf3\x75", + [0x4cd1] = "\xf7\xc7", [0x4cd2] = "\xf3\x76", [0x4cd3] = "\xcb\xe8", + [0x4cd4] = "\xf3\x77", [0x4cd5] = "\xf3\x78", [0x4cd6] = "\xf3\x79", + [0x4cd7] = "\xf3\x7a", [0x4cd8] = "\xb8\xdf", [0x4cd9] = "\xf3\x7b", + [0x4cda] = "\xf3\x7c", [0x4cdb] = "\xf3\x7d", [0x4cdc] = "\xf3\x7e", + [0x4cdd] = "\xf3\x80", [0x4cde] = "\xf3\x81", [0x4cdf] = "\xf7\xd4", + [0x4ce0] = "\xf3\x82", [0x4ce1] = "\xf7\xd5", [0x4ce2] = "\xf3\x83", + [0x4ce3] = "\xf3\x84", [0x4ce4] = "\xf3\x85", [0x4ce5] = "\xf3\x86", + [0x4ce6] = "\xf7\xd6", [0x4ce7] = "\xf3\x87", [0x4ce8] = "\xf3\x88", + [0x4ce9] = "\xf3\x89", [0x4cea] = "\xf3\x8a", [0x4ceb] = "\xf7\xd8", + [0x4cec] = "\xf3\x8b", [0x4ced] = "\xf7\xda", [0x4cee] = "\xf3\x8c", + [0x4cef] = "\xf7\xd7", [0x4cf0] = "\xf3\x8d", [0x4cf1] = "\xf3\x8e", + [0x4cf2] = "\xf3\x8f", [0x4cf3] = "\xf3\x90", [0x4cf4] = "\xf3\x91", + [0x4cf5] = "\xf3\x92", [0x4cf6] = "\xf3\x93", [0x4cf7] = "\xf3\x94", + [0x4cf8] = "\xf3\x95", [0x4cf9] = "\xf7\xdb", [0x4cfa] = "\xf3\x96", + [0x4cfb] = "\xf7\xd9", [0x4cfc] = "\xf3\x97", [0x4cfd] = "\xf3\x98", + [0x4cfe] = "\xf3\x99", [0x4cff] = "\xf3\x9a", [0x4d00] = "\xf3\x9b", + [0x4d01] = "\xf3\x9c", [0x4d02] = "\xf3\x9d", [0x4d03] = "\xd7\xd7", + [0x4d04] = "\xf3\x9e", [0x4d05] = "\xf3\x9f", [0x4d06] = "\xf3\xa0", + [0x4d07] = "\xf4\x40", [0x4d08] = "\xf7\xdc", [0x4d09] = "\xf4\x41", + [0x4d0a] = "\xf4\x42", [0x4d0b] = "\xf4\x43", [0x4d0c] = "\xf4\x44", + [0x4d0d] = "\xf4\x45", [0x4d0e] = "\xf4\x46", [0x4d0f] = "\xf7\xdd", + [0x4d10] = "\xf4\x47", [0x4d11] = "\xf4\x48", [0x4d12] = "\xf4\x49", + [0x4d13] = "\xf7\xde", [0x4d14] = "\xf4\x4a", [0x4d15] = "\xf4\x4b", + [0x4d16] = "\xf4\x4c", [0x4d17] = "\xf4\x4d", [0x4d18] = "\xf4\x4e", + [0x4d19] = "\xf4\x4f", [0x4d1a] = "\xf4\x50", [0x4d1b] = "\xf4\x51", + [0x4d1c] = "\xf4\x52", [0x4d1d] = "\xf4\x53", [0x4d1e] = "\xf4\x54", + [0x4d1f] = "\xf7\xdf", [0x4d20] = "\xf4\x55", [0x4d21] = "\xf4\x56", + [0x4d22] = "\xf4\x57", [0x4d23] = "\xf7\xe0", [0x4d24] = "\xf4\x58", + [0x4d25] = "\xf4\x59", [0x4d26] = "\xf4\x5a", [0x4d27] = "\xf4\x5b", + [0x4d28] = "\xf4\x5c", [0x4d29] = "\xf4\x5d", [0x4d2a] = "\xf4\x5e", + [0x4d2b] = "\xf4\x5f", [0x4d2c] = "\xf4\x60", [0x4d2d] = "\xf4\x61", + [0x4d2e] = "\xf4\x62", [0x4d2f] = "\xdb\xcb", [0x4d30] = "\xf4\x63", + [0x4d31] = "\xf4\x64", [0x4d32] = "\xd8\xaa", [0x4d33] = "\xf4\x65", + [0x4d34] = "\xf4\x66", [0x4d35] = "\xf4\x67", [0x4d36] = "\xf4\x68", + [0x4d37] = "\xf4\x69", [0x4d38] = "\xf4\x6a", [0x4d39] = "\xf4\x6b", + [0x4d3a] = "\xf4\x6c", [0x4d3b] = "\xe5\xf7", [0x4d3c] = "\xb9\xed", + [0x4d3d] = "\xf4\x6d", [0x4d3e] = "\xf4\x6e", [0x4d3f] = "\xf4\x6f", + [0x4d40] = "\xf4\x70", [0x4d41] = "\xbf\xfd", [0x4d42] = "\xbb\xea", + [0x4d43] = "\xf7\xc9", [0x4d44] = "\xc6\xc7", [0x4d45] = "\xf7\xc8", + [0x4d46] = "\xf4\x71", [0x4d47] = "\xf7\xca", [0x4d48] = "\xf7\xcc", + [0x4d49] = "\xf7\xcb", [0x4d4a] = "\xf4\x72", [0x4d4b] = "\xf4\x73", + [0x4d4c] = "\xf4\x74", [0x4d4d] = "\xf7\xcd", [0x4d4e] = "\xf4\x75", + [0x4d4f] = "\xce\xba", [0x4d50] = "\xf4\x76", [0x4d51] = "\xf7\xce", + [0x4d52] = "\xf4\x77", [0x4d53] = "\xf4\x78", [0x4d54] = "\xc4\xa7", + [0x4d55] = "\xf4\x79", [0x4d56] = "\xf4\x7a", [0x4d57] = "\xf4\x7b", + [0x4d58] = "\xf4\x7c", [0x4d59] = "\xf4\x7d", [0x4d5a] = "\xf4\x7e", + [0x4d5b] = "\xf4\x80", [0x4d5c] = "\xf4\x81", [0x4d5d] = "\xf4\x82", + [0x4d5e] = "\xf4\x83", [0x4d5f] = "\xf4\x84", [0x4d60] = "\xf4\x85", + [0x4d61] = "\xf4\x86", [0x4d62] = "\xf4\x87", [0x4d63] = "\xf4\x88", + [0x4d64] = "\xf4\x89", [0x4d65] = "\xf4\x8a", [0x4d66] = "\xf4\x8b", + [0x4d67] = "\xf4\x8c", [0x4d68] = "\xf4\x8d", [0x4d69] = "\xf4\x8e", + [0x4d6a] = "\xf4\x8f", [0x4d6b] = "\xf4\x90", [0x4d6c] = "\xf4\x91", + [0x4d6d] = "\xf4\x92", [0x4d6e] = "\xf4\x93", [0x4d6f] = "\xf4\x94", + [0x4d70] = "\xf4\x95", [0x4d71] = "\xf4\x96", [0x4d72] = "\xf4\x97", + [0x4d73] = "\xf4\x98", [0x4d74] = "\xf4\x99", [0x4d75] = "\xf4\x9a", + [0x4d76] = "\xf4\x9b", [0x4d77] = "\xf4\x9c", [0x4d78] = "\xf4\x9d", + [0x4d79] = "\xf4\x9e", [0x4d7a] = "\xf4\x9f", [0x4d7b] = "\xf4\xa0", + [0x4d7c] = "\xf5\x40", [0x4d7d] = "\xf5\x41", [0x4d7e] = "\xf5\x42", + [0x4d7f] = "\xf5\x43", [0x4d80] = "\xf5\x44", [0x4d81] = "\xf5\x45", + [0x4d82] = "\xf5\x46", [0x4d83] = "\xf5\x47", [0x4d84] = "\xf5\x48", + [0x4d85] = "\xf5\x49", [0x4d86] = "\xf5\x4a", [0x4d87] = "\xf5\x4b", + [0x4d88] = "\xf5\x4c", [0x4d89] = "\xf5\x4d", [0x4d8a] = "\xf5\x4e", + [0x4d8b] = "\xf5\x4f", [0x4d8c] = "\xf5\x50", [0x4d8d] = "\xf5\x51", + [0x4d8e] = "\xf5\x52", [0x4d8f] = "\xf5\x53", [0x4d90] = "\xf5\x54", + [0x4d91] = "\xf5\x55", [0x4d92] = "\xf5\x56", [0x4d93] = "\xf5\x57", + [0x4d94] = "\xf5\x58", [0x4d95] = "\xf5\x59", [0x4d96] = "\xf5\x5a", + [0x4d97] = "\xf5\x5b", [0x4d98] = "\xf5\x5c", [0x4d99] = "\xf5\x5d", + [0x4d9a] = "\xf5\x5e", [0x4d9b] = "\xf5\x5f", [0x4d9c] = "\xf5\x60", + [0x4d9d] = "\xf5\x61", [0x4d9e] = "\xf5\x62", [0x4d9f] = "\xf5\x63", + [0x4da0] = "\xf5\x64", [0x4da1] = "\xf5\x65", [0x4da2] = "\xf5\x66", + [0x4da3] = "\xf5\x67", [0x4da4] = "\xf5\x68", [0x4da5] = "\xf5\x69", + [0x4da6] = "\xf5\x6a", [0x4da7] = "\xf5\x6b", [0x4da8] = "\xf5\x6c", + [0x4da9] = "\xf5\x6d", [0x4daa] = "\xf5\x6e", [0x4dab] = "\xf5\x6f", + [0x4dac] = "\xf5\x70", [0x4dad] = "\xf5\x71", [0x4dae] = "\xf5\x72", + [0x4daf] = "\xf5\x73", [0x4db0] = "\xf5\x74", [0x4db1] = "\xf5\x75", + [0x4db2] = "\xf5\x76", [0x4db3] = "\xf5\x77", [0x4db4] = "\xf5\x78", + [0x4db5] = "\xf5\x79", [0x4db6] = "\xf5\x7a", [0x4db7] = "\xf5\x7b", + [0x4db8] = "\xf5\x7c", [0x4db9] = "\xf5\x7d", [0x4dba] = "\xf5\x7e", + [0x4dbb] = "\xf5\x80", [0x4dbc] = "\xf5\x81", [0x4dbd] = "\xf5\x82", + [0x4dbe] = "\xf5\x83", [0x4dbf] = "\xf5\x84", [0x4dc0] = "\xf5\x85", + [0x4dc1] = "\xf5\x86", [0x4dc2] = "\xf5\x87", [0x4dc3] = "\xf5\x88", + [0x4dc4] = "\xf5\x89", [0x4dc5] = "\xf5\x8a", [0x4dc6] = "\xf5\x8b", + [0x4dc7] = "\xf5\x8c", [0x4dc8] = "\xf5\x8d", [0x4dc9] = "\xf5\x8e", + [0x4dca] = "\xf5\x8f", [0x4dcb] = "\xf5\x90", [0x4dcc] = "\xf5\x91", + [0x4dcd] = "\xf5\x92", [0x4dce] = "\xf5\x93", [0x4dcf] = "\xf5\x94", + [0x4dd0] = "\xf5\x95", [0x4dd1] = "\xf5\x96", [0x4dd2] = "\xf5\x97", + [0x4dd3] = "\xf5\x98", [0x4dd4] = "\xf5\x99", [0x4dd5] = "\xf5\x9a", + [0x4dd6] = "\xf5\x9b", [0x4dd7] = "\xf5\x9c", [0x4dd8] = "\xf5\x9d", + [0x4dd9] = "\xf5\x9e", [0x4dda] = "\xf5\x9f", [0x4ddb] = "\xf5\xa0", + [0x4ddc] = "\xf6\x40", [0x4ddd] = "\xf6\x41", [0x4dde] = "\xf6\x42", + [0x4ddf] = "\xf6\x43", [0x4de0] = "\xf6\x44", [0x4de1] = "\xf6\x45", + [0x4de2] = "\xf6\x46", [0x4de3] = "\xf6\x47", [0x4de4] = "\xf6\x48", + [0x4de5] = "\xf6\x49", [0x4de6] = "\xf6\x4a", [0x4de7] = "\xf6\x4b", + [0x4de8] = "\xf6\x4c", [0x4de9] = "\xf6\x4d", [0x4dea] = "\xf6\x4e", + [0x4deb] = "\xf6\x4f", [0x4dec] = "\xf6\x50", [0x4ded] = "\xf6\x51", + [0x4dee] = "\xf6\x52", [0x4def] = "\xf6\x53", [0x4df0] = "\xf6\x54", + [0x4df1] = "\xf6\x55", [0x4df2] = "\xf6\x56", [0x4df3] = "\xf6\x57", + [0x4df4] = "\xf6\x58", [0x4df5] = "\xf6\x59", [0x4df6] = "\xf6\x5a", + [0x4df7] = "\xf6\x5b", [0x4df8] = "\xf6\x5c", [0x4df9] = "\xf6\x5d", + [0x4dfa] = "\xf6\x5e", [0x4dfb] = "\xf6\x5f", [0x4dfc] = "\xf6\x60", + [0x4dfd] = "\xf6\x61", [0x4dfe] = "\xf6\x62", [0x4dff] = "\xf6\x63", + [0x4e00] = "\xf6\x64", [0x4e01] = "\xf6\x65", [0x4e02] = "\xf6\x66", + [0x4e03] = "\xf6\x67", [0x4e04] = "\xf6\x68", [0x4e05] = "\xf6\x69", + [0x4e06] = "\xf6\x6a", [0x4e07] = "\xf6\x6b", [0x4e08] = "\xf6\x6c", + [0x4e09] = "\xf6\x6d", [0x4e0a] = "\xf6\x6e", [0x4e0b] = "\xf6\x6f", + [0x4e0c] = "\xf6\x70", [0x4e0d] = "\xf6\x71", [0x4e0e] = "\xf6\x72", + [0x4e0f] = "\xf6\x73", [0x4e10] = "\xf6\x74", [0x4e11] = "\xf6\x75", + [0x4e12] = "\xf6\x76", [0x4e13] = "\xf6\x77", [0x4e14] = "\xf6\x78", + [0x4e15] = "\xf6\x79", [0x4e16] = "\xf6\x7a", [0x4e17] = "\xf6\x7b", + [0x4e18] = "\xf6\x7c", [0x4e19] = "\xf6\x7d", [0x4e1a] = "\xf6\x7e", + [0x4e1b] = "\xf6\x80", [0x4e1c] = "\xf6\x81", [0x4e1d] = "\xf6\x82", + [0x4e1e] = "\xf6\x83", [0x4e1f] = "\xf6\x84", [0x4e20] = "\xf6\x85", + [0x4e21] = "\xf6\x86", [0x4e22] = "\xf6\x87", [0x4e23] = "\xf6\x88", + [0x4e24] = "\xf6\x89", [0x4e25] = "\xf6\x8a", [0x4e26] = "\xf6\x8b", + [0x4e27] = "\xf6\x8c", [0x4e28] = "\xf6\x8d", [0x4e29] = "\xf6\x8e", + [0x4e2a] = "\xf6\x8f", [0x4e2b] = "\xf6\x90", [0x4e2c] = "\xf6\x91", + [0x4e2d] = "\xf6\x92", [0x4e2e] = "\xf6\x93", [0x4e2f] = "\xf6\x94", + [0x4e30] = "\xf6\x95", [0x4e31] = "\xf6\x96", [0x4e32] = "\xf6\x97", + [0x4e33] = "\xf6\x98", [0x4e34] = "\xf6\x99", [0x4e35] = "\xf6\x9a", + [0x4e36] = "\xf6\x9b", [0x4e37] = "\xf6\x9c", [0x4e38] = "\xf6\x9d", + [0x4e39] = "\xf6\x9e", [0x4e3a] = "\xf6\x9f", [0x4e3b] = "\xf6\xa0", + [0x4e3c] = "\xf7\x40", [0x4e3d] = "\xf7\x41", [0x4e3e] = "\xf7\x42", + [0x4e3f] = "\xf7\x43", [0x4e40] = "\xf7\x44", [0x4e41] = "\xf7\x45", + [0x4e42] = "\xf7\x46", [0x4e43] = "\xf7\x47", [0x4e44] = "\xf7\x48", + [0x4e45] = "\xf7\x49", [0x4e46] = "\xf7\x4a", [0x4e47] = "\xf7\x4b", + [0x4e48] = "\xf7\x4c", [0x4e49] = "\xf7\x4d", [0x4e4a] = "\xf7\x4e", + [0x4e4b] = "\xf7\x4f", [0x4e4c] = "\xf7\x50", [0x4e4d] = "\xf7\x51", + [0x4e4e] = "\xf7\x52", [0x4e4f] = "\xf7\x53", [0x4e50] = "\xf7\x54", + [0x4e51] = "\xf7\x55", [0x4e52] = "\xf7\x56", [0x4e53] = "\xf7\x57", + [0x4e54] = "\xf7\x58", [0x4e55] = "\xf7\x59", [0x4e56] = "\xf7\x5a", + [0x4e57] = "\xf7\x5b", [0x4e58] = "\xf7\x5c", [0x4e59] = "\xf7\x5d", + [0x4e5a] = "\xf7\x5e", [0x4e5b] = "\xf7\x5f", [0x4e5c] = "\xf7\x60", + [0x4e5d] = "\xf7\x61", [0x4e5e] = "\xf7\x62", [0x4e5f] = "\xf7\x63", + [0x4e60] = "\xf7\x64", [0x4e61] = "\xf7\x65", [0x4e62] = "\xf7\x66", + [0x4e63] = "\xf7\x67", [0x4e64] = "\xf7\x68", [0x4e65] = "\xf7\x69", + [0x4e66] = "\xf7\x6a", [0x4e67] = "\xf7\x6b", [0x4e68] = "\xf7\x6c", + [0x4e69] = "\xf7\x6d", [0x4e6a] = "\xf7\x6e", [0x4e6b] = "\xf7\x6f", + [0x4e6c] = "\xf7\x70", [0x4e6d] = "\xf7\x71", [0x4e6e] = "\xf7\x72", + [0x4e6f] = "\xf7\x73", [0x4e70] = "\xf7\x74", [0x4e71] = "\xf7\x75", + [0x4e72] = "\xf7\x76", [0x4e73] = "\xf7\x77", [0x4e74] = "\xf7\x78", + [0x4e75] = "\xf7\x79", [0x4e76] = "\xf7\x7a", [0x4e77] = "\xf7\x7b", + [0x4e78] = "\xf7\x7c", [0x4e79] = "\xf7\x7d", [0x4e7a] = "\xf7\x7e", + [0x4e7b] = "\xf7\x80", [0x4e7c] = "\xd3\xe3", [0x4e7d] = "\xf7\x81", + [0x4e7e] = "\xf7\x82", [0x4e7f] = "\xf6\xcf", [0x4e80] = "\xf7\x83", + [0x4e81] = "\xc2\xb3", [0x4e82] = "\xf6\xd0", [0x4e83] = "\xf7\x84", + [0x4e84] = "\xf7\x85", [0x4e85] = "\xf6\xd1", [0x4e86] = "\xf6\xd2", + [0x4e87] = "\xf6\xd3", [0x4e88] = "\xf6\xd4", [0x4e89] = "\xf7\x86", + [0x4e8a] = "\xf7\x87", [0x4e8b] = "\xf6\xd6", [0x4e8c] = "\xf7\x88", + [0x4e8d] = "\xb1\xab", [0x4e8e] = "\xf6\xd7", [0x4e8f] = "\xf7\x89", + [0x4e90] = "\xf6\xd8", [0x4e91] = "\xf6\xd9", [0x4e92] = "\xf6\xda", + [0x4e93] = "\xf7\x8a", [0x4e94] = "\xf6\xdb", [0x4e95] = "\xf6\xdc", + [0x4e96] = "\xf7\x8b", [0x4e97] = "\xf7\x8c", [0x4e98] = "\xf7\x8d", + [0x4e99] = "\xf7\x8e", [0x4e9a] = "\xf6\xdd", [0x4e9b] = "\xf6\xde", + [0x4e9c] = "\xcf\xca", [0x4e9d] = "\xf7\x8f", [0x4e9e] = "\xf6\xdf", + [0x4e9f] = "\xf6\xe0", [0x4ea0] = "\xf6\xe1", [0x4ea1] = "\xf6\xe2", + [0x4ea2] = "\xf6\xe3", [0x4ea3] = "\xf6\xe4", [0x4ea4] = "\xc0\xf0", + [0x4ea5] = "\xf6\xe5", [0x4ea6] = "\xf6\xe6", [0x4ea7] = "\xf6\xe7", + [0x4ea8] = "\xf6\xe8", [0x4ea9] = "\xf6\xe9", [0x4eaa] = "\xf7\x90", + [0x4eab] = "\xf6\xea", [0x4eac] = "\xf7\x91", [0x4ead] = "\xf6\xeb", + [0x4eae] = "\xf6\xec", [0x4eaf] = "\xf7\x92", [0x4eb0] = "\xf6\xed", + [0x4eb1] = "\xf6\xee", [0x4eb2] = "\xf6\xef", [0x4eb3] = "\xf6\xf0", + [0x4eb4] = "\xf6\xf1", [0x4eb5] = "\xf6\xf2", [0x4eb6] = "\xf6\xf3", + [0x4eb7] = "\xf6\xf4", [0x4eb8] = "\xbe\xa8", [0x4eb9] = "\xf7\x93", + [0x4eba] = "\xf6\xf5", [0x4ebb] = "\xf6\xf6", [0x4ebc] = "\xf6\xf7", + [0x4ebd] = "\xf6\xf8", [0x4ebe] = "\xf7\x94", [0x4ebf] = "\xf7\x95", + [0x4ec0] = "\xf7\x96", [0x4ec1] = "\xf7\x97", [0x4ec2] = "\xf7\x98", + [0x4ec3] = "\xc8\xfa", [0x4ec4] = "\xf6\xf9", [0x4ec5] = "\xf6\xfa", + [0x4ec6] = "\xf6\xfb", [0x4ec7] = "\xf6\xfc", [0x4ec8] = "\xf7\x99", + [0x4ec9] = "\xf7\x9a", [0x4eca] = "\xf6\xfd", [0x4ecb] = "\xf6\xfe", + [0x4ecc] = "\xf7\xa1", [0x4ecd] = "\xf7\xa2", [0x4ece] = "\xf7\xa3", + [0x4ecf] = "\xf7\xa4", [0x4ed0] = "\xf7\xa5", [0x4ed1] = "\xf7\x9b", + [0x4ed2] = "\xf7\x9c", [0x4ed3] = "\xf7\xa6", [0x4ed4] = "\xf7\xa7", + [0x4ed5] = "\xf7\xa8", [0x4ed6] = "\xb1\xee", [0x4ed7] = "\xf7\xa9", + [0x4ed8] = "\xf7\xaa", [0x4ed9] = "\xf7\xab", [0x4eda] = "\xf7\x9d", + [0x4edb] = "\xf7\x9e", [0x4edc] = "\xf7\xac", [0x4edd] = "\xf7\xad", + [0x4ede] = "\xc1\xdb", [0x4edf] = "\xf7\xae", [0x4ee0] = "\xf7\x9f", + [0x4ee1] = "\xf7\xa0", [0x4ee2] = "\xf7\xaf", [0x4ee3] = "\xf8\x40", + [0x4ee4] = "\xf8\x41", [0x4ee5] = "\xf8\x42", [0x4ee6] = "\xf8\x43", + [0x4ee7] = "\xf8\x44", [0x4ee8] = "\xf8\x45", [0x4ee9] = "\xf8\x46", + [0x4eea] = "\xf8\x47", [0x4eeb] = "\xf8\x48", [0x4eec] = "\xf8\x49", + [0x4eed] = "\xf8\x4a", [0x4eee] = "\xf8\x4b", [0x4eef] = "\xf8\x4c", + [0x4ef0] = "\xf8\x4d", [0x4ef1] = "\xf8\x4e", [0x4ef2] = "\xf8\x4f", + [0x4ef3] = "\xf8\x50", [0x4ef4] = "\xf8\x51", [0x4ef5] = "\xf8\x52", + [0x4ef6] = "\xf8\x53", [0x4ef7] = "\xf8\x54", [0x4ef8] = "\xf8\x55", + [0x4ef9] = "\xf8\x56", [0x4efa] = "\xf8\x57", [0x4efb] = "\xf8\x58", + [0x4efc] = "\xf8\x59", [0x4efd] = "\xf8\x5a", [0x4efe] = "\xf8\x5b", + [0x4eff] = "\xf8\x5c", [0x4f00] = "\xf8\x5d", [0x4f01] = "\xf8\x5e", + [0x4f02] = "\xf8\x5f", [0x4f03] = "\xf8\x60", [0x4f04] = "\xf8\x61", + [0x4f05] = "\xf8\x62", [0x4f06] = "\xf8\x63", [0x4f07] = "\xf8\x64", + [0x4f08] = "\xf8\x65", [0x4f09] = "\xf8\x66", [0x4f0a] = "\xf8\x67", + [0x4f0b] = "\xf8\x68", [0x4f0c] = "\xf8\x69", [0x4f0d] = "\xf8\x6a", + [0x4f0e] = "\xf8\x6b", [0x4f0f] = "\xf8\x6c", [0x4f10] = "\xf8\x6d", + [0x4f11] = "\xf8\x6e", [0x4f12] = "\xf8\x6f", [0x4f13] = "\xf8\x70", + [0x4f14] = "\xf8\x71", [0x4f15] = "\xf8\x72", [0x4f16] = "\xf8\x73", + [0x4f17] = "\xf8\x74", [0x4f18] = "\xf8\x75", [0x4f19] = "\xf8\x76", + [0x4f1a] = "\xf8\x77", [0x4f1b] = "\xf8\x78", [0x4f1c] = "\xf8\x79", + [0x4f1d] = "\xf8\x7a", [0x4f1e] = "\xf8\x7b", [0x4f1f] = "\xf8\x7c", + [0x4f20] = "\xf8\x7d", [0x4f21] = "\xf8\x7e", [0x4f22] = "\xf8\x80", + [0x4f23] = "\xf8\x81", [0x4f24] = "\xf8\x82", [0x4f25] = "\xf8\x83", + [0x4f26] = "\xf8\x84", [0x4f27] = "\xf8\x85", [0x4f28] = "\xf8\x86", + [0x4f29] = "\xf8\x87", [0x4f2a] = "\xf8\x88", [0x4f2b] = "\xf8\x89", + [0x4f2c] = "\xf8\x8a", [0x4f2d] = "\xf8\x8b", [0x4f2e] = "\xf8\x8c", + [0x4f2f] = "\xf8\x8d", [0x4f30] = "\xf8\x8e", [0x4f31] = "\xf8\x8f", + [0x4f32] = "\xf8\x90", [0x4f33] = "\xf8\x91", [0x4f34] = "\xf8\x92", + [0x4f35] = "\xf8\x93", [0x4f36] = "\xf8\x94", [0x4f37] = "\xf8\x95", + [0x4f38] = "\xf8\x96", [0x4f39] = "\xf8\x97", [0x4f3a] = "\xf8\x98", + [0x4f3b] = "\xf8\x99", [0x4f3c] = "\xf8\x9a", [0x4f3d] = "\xf8\x9b", + [0x4f3e] = "\xf8\x9c", [0x4f3f] = "\xf8\x9d", [0x4f40] = "\xf8\x9e", + [0x4f41] = "\xf8\x9f", [0x4f42] = "\xf8\xa0", [0x4f43] = "\xf9\x40", + [0x4f44] = "\xf9\x41", [0x4f45] = "\xf9\x42", [0x4f46] = "\xf9\x43", + [0x4f47] = "\xf9\x44", [0x4f48] = "\xf9\x45", [0x4f49] = "\xf9\x46", + [0x4f4a] = "\xf9\x47", [0x4f4b] = "\xf9\x48", [0x4f4c] = "\xf9\x49", + [0x4f4d] = "\xf9\x4a", [0x4f4e] = "\xf9\x4b", [0x4f4f] = "\xf9\x4c", + [0x4f50] = "\xf9\x4d", [0x4f51] = "\xf9\x4e", [0x4f52] = "\xf9\x4f", + [0x4f53] = "\xf9\x50", [0x4f54] = "\xf9\x51", [0x4f55] = "\xf9\x52", + [0x4f56] = "\xf9\x53", [0x4f57] = "\xf9\x54", [0x4f58] = "\xf9\x55", + [0x4f59] = "\xf9\x56", [0x4f5a] = "\xf9\x57", [0x4f5b] = "\xf9\x58", + [0x4f5c] = "\xf9\x59", [0x4f5d] = "\xf9\x5a", [0x4f5e] = "\xf9\x5b", + [0x4f5f] = "\xf9\x5c", [0x4f60] = "\xf9\x5d", [0x4f61] = "\xf9\x5e", + [0x4f62] = "\xf9\x5f", [0x4f63] = "\xf9\x60", [0x4f64] = "\xf9\x61", + [0x4f65] = "\xf9\x62", [0x4f66] = "\xf9\x63", [0x4f67] = "\xf9\x64", + [0x4f68] = "\xf9\x65", [0x4f69] = "\xf9\x66", [0x4f6a] = "\xf9\x67", + [0x4f6b] = "\xf9\x68", [0x4f6c] = "\xf9\x69", [0x4f6d] = "\xf9\x6a", + [0x4f6e] = "\xf9\x6b", [0x4f6f] = "\xf9\x6c", [0x4f70] = "\xf9\x6d", + [0x4f71] = "\xf9\x6e", [0x4f72] = "\xf9\x6f", [0x4f73] = "\xf9\x70", + [0x4f74] = "\xf9\x71", [0x4f75] = "\xf9\x72", [0x4f76] = "\xf9\x73", + [0x4f77] = "\xf9\x74", [0x4f78] = "\xf9\x75", [0x4f79] = "\xf9\x76", + [0x4f7a] = "\xf9\x77", [0x4f7b] = "\xf9\x78", [0x4f7c] = "\xf9\x79", + [0x4f7d] = "\xf9\x7a", [0x4f7e] = "\xf9\x7b", [0x4f7f] = "\xf9\x7c", + [0x4f80] = "\xf9\x7d", [0x4f81] = "\xf9\x7e", [0x4f82] = "\xf9\x80", + [0x4f83] = "\xf9\x81", [0x4f84] = "\xf9\x82", [0x4f85] = "\xf9\x83", + [0x4f86] = "\xf9\x84", [0x4f87] = "\xf9\x85", [0x4f88] = "\xf9\x86", + [0x4f89] = "\xf9\x87", [0x4f8a] = "\xf9\x88", [0x4f8b] = "\xf9\x89", + [0x4f8c] = "\xf9\x8a", [0x4f8d] = "\xf9\x8b", [0x4f8e] = "\xf9\x8c", + [0x4f8f] = "\xf9\x8d", [0x4f90] = "\xf9\x8e", [0x4f91] = "\xf9\x8f", + [0x4f92] = "\xf9\x90", [0x4f93] = "\xf9\x91", [0x4f94] = "\xf9\x92", + [0x4f95] = "\xf9\x93", [0x4f96] = "\xf9\x94", [0x4f97] = "\xf9\x95", + [0x4f98] = "\xf9\x96", [0x4f99] = "\xf9\x97", [0x4f9a] = "\xf9\x98", + [0x4f9b] = "\xf9\x99", [0x4f9c] = "\xf9\x9a", [0x4f9d] = "\xf9\x9b", + [0x4f9e] = "\xf9\x9c", [0x4f9f] = "\xf9\x9d", [0x4fa0] = "\xf9\x9e", + [0x4fa1] = "\xf9\x9f", [0x4fa2] = "\xf9\xa0", [0x4fa3] = "\xfa\x40", + [0x4fa4] = "\xfa\x41", [0x4fa5] = "\xfa\x42", [0x4fa6] = "\xfa\x43", + [0x4fa7] = "\xfa\x44", [0x4fa8] = "\xfa\x45", [0x4fa9] = "\xfa\x46", + [0x4faa] = "\xfa\x47", [0x4fab] = "\xfa\x48", [0x4fac] = "\xfa\x49", + [0x4fad] = "\xfa\x4a", [0x4fae] = "\xfa\x4b", [0x4faf] = "\xfa\x4c", + [0x4fb0] = "\xfa\x4d", [0x4fb1] = "\xfa\x4e", [0x4fb2] = "\xfa\x4f", + [0x4fb3] = "\xfa\x50", [0x4fb4] = "\xfa\x51", [0x4fb5] = "\xfa\x52", + [0x4fb6] = "\xfa\x53", [0x4fb7] = "\xfa\x54", [0x4fb8] = "\xfa\x55", + [0x4fb9] = "\xfa\x56", [0x4fba] = "\xfa\x57", [0x4fbb] = "\xfa\x58", + [0x4fbc] = "\xfa\x59", [0x4fbd] = "\xfa\x5a", [0x4fbe] = "\xfa\x5b", + [0x4fbf] = "\xfa\x5c", [0x4fc0] = "\xfa\x5d", [0x4fc1] = "\xfa\x5e", + [0x4fc2] = "\xfa\x5f", [0x4fc3] = "\xfa\x60", [0x4fc4] = "\xfa\x61", + [0x4fc5] = "\xfa\x62", [0x4fc6] = "\xfa\x63", [0x4fc7] = "\xfa\x64", + [0x4fc8] = "\xfa\x65", [0x4fc9] = "\xfa\x66", [0x4fca] = "\xfa\x67", + [0x4fcb] = "\xfa\x68", [0x4fcc] = "\xfa\x69", [0x4fcd] = "\xfa\x6a", + [0x4fce] = "\xfa\x6b", [0x4fcf] = "\xfa\x6c", [0x4fd0] = "\xfa\x6d", + [0x4fd1] = "\xfa\x6e", [0x4fd2] = "\xfa\x6f", [0x4fd3] = "\xfa\x70", + [0x4fd4] = "\xfa\x71", [0x4fd5] = "\xfa\x72", [0x4fd6] = "\xfa\x73", + [0x4fd7] = "\xfa\x74", [0x4fd8] = "\xfa\x75", [0x4fd9] = "\xfa\x76", + [0x4fda] = "\xfa\x77", [0x4fdb] = "\xfa\x78", [0x4fdc] = "\xfa\x79", + [0x4fdd] = "\xfa\x7a", [0x4fde] = "\xfa\x7b", [0x4fdf] = "\xfa\x7c", + [0x4fe0] = "\xfa\x7d", [0x4fe1] = "\xfa\x7e", [0x4fe2] = "\xfa\x80", + [0x4fe3] = "\xfa\x81", [0x4fe4] = "\xfa\x82", [0x4fe5] = "\xfa\x83", + [0x4fe6] = "\xfa\x84", [0x4fe7] = "\xfa\x85", [0x4fe8] = "\xfa\x86", + [0x4fe9] = "\xfa\x87", [0x4fea] = "\xfa\x88", [0x4feb] = "\xfa\x89", + [0x4fec] = "\xfa\x8a", [0x4fed] = "\xfa\x8b", [0x4fee] = "\xfa\x8c", + [0x4fef] = "\xfa\x8d", [0x4ff0] = "\xfa\x8e", [0x4ff1] = "\xfa\x8f", + [0x4ff2] = "\xfa\x90", [0x4ff3] = "\xfa\x91", [0x4ff4] = "\xfa\x92", + [0x4ff5] = "\xfa\x93", [0x4ff6] = "\xfa\x94", [0x4ff7] = "\xfa\x95", + [0x4ff8] = "\xfa\x96", [0x4ff9] = "\xfa\x97", [0x4ffa] = "\xfa\x98", + [0x4ffb] = "\xfa\x99", [0x4ffc] = "\xfa\x9a", [0x4ffd] = "\xfa\x9b", + [0x4ffe] = "\xfa\x9c", [0x4fff] = "\xfa\x9d", [0x5000] = "\xfa\x9e", + [0x5001] = "\xfa\x9f", [0x5002] = "\xfa\xa0", [0x5003] = "\xfb\x40", + [0x5004] = "\xfb\x41", [0x5005] = "\xfb\x42", [0x5006] = "\xfb\x43", + [0x5007] = "\xfb\x44", [0x5008] = "\xfb\x45", [0x5009] = "\xfb\x46", + [0x500a] = "\xfb\x47", [0x500b] = "\xfb\x48", [0x500c] = "\xfb\x49", + [0x500d] = "\xfb\x4a", [0x500e] = "\xfb\x4b", [0x500f] = "\xfb\x4c", + [0x5010] = "\xfb\x4d", [0x5011] = "\xfb\x4e", [0x5012] = "\xfb\x4f", + [0x5013] = "\xfb\x50", [0x5014] = "\xfb\x51", [0x5015] = "\xfb\x52", + [0x5016] = "\xfb\x53", [0x5017] = "\xfb\x54", [0x5018] = "\xfb\x55", + [0x5019] = "\xfb\x56", [0x501a] = "\xfb\x57", [0x501b] = "\xfb\x58", + [0x501c] = "\xfb\x59", [0x501d] = "\xfb\x5a", [0x501e] = "\xfb\x5b", + [0x501f] = "\xc4\xf1", [0x5020] = "\xf0\xaf", [0x5021] = "\xbc\xa6", + [0x5022] = "\xf0\xb0", [0x5023] = "\xc3\xf9", [0x5024] = "\xfb\x5c", + [0x5025] = "\xc5\xb8", [0x5026] = "\xd1\xbb", [0x5027] = "\xfb\x5d", + [0x5028] = "\xf0\xb1", [0x5029] = "\xf0\xb2", [0x502a] = "\xf0\xb3", + [0x502b] = "\xf0\xb4", [0x502c] = "\xf0\xb5", [0x502d] = "\xd1\xbc", + [0x502e] = "\xfb\x5e", [0x502f] = "\xd1\xec", [0x5030] = "\xfb\x5f", + [0x5031] = "\xf0\xb7", [0x5032] = "\xf0\xb6", [0x5033] = "\xd4\xa7", + [0x5034] = "\xfb\x60", [0x5035] = "\xcd\xd2", [0x5036] = "\xf0\xb8", + [0x5037] = "\xf0\xba", [0x5038] = "\xf0\xb9", [0x5039] = "\xf0\xbb", + [0x503a] = "\xf0\xbc", [0x503b] = "\xfb\x61", [0x503c] = "\xfb\x62", + [0x503d] = "\xb8\xeb", [0x503e] = "\xf0\xbd", [0x503f] = "\xba\xe8", + [0x5040] = "\xfb\x63", [0x5041] = "\xf0\xbe", [0x5042] = "\xf0\xbf", + [0x5043] = "\xbe\xe9", [0x5044] = "\xf0\xc0", [0x5045] = "\xb6\xec", + [0x5046] = "\xf0\xc1", [0x5047] = "\xf0\xc2", [0x5048] = "\xf0\xc3", + [0x5049] = "\xf0\xc4", [0x504a] = "\xc8\xb5", [0x504b] = "\xf0\xc5", + [0x504c] = "\xf0\xc6", [0x504d] = "\xfb\x64", [0x504e] = "\xf0\xc7", + [0x504f] = "\xc5\xf4", [0x5050] = "\xfb\x65", [0x5051] = "\xf0\xc8", + [0x5052] = "\xfb\x66", [0x5053] = "\xfb\x67", [0x5054] = "\xfb\x68", + [0x5055] = "\xf0\xc9", [0x5056] = "\xfb\x69", [0x5057] = "\xf0\xca", + [0x5058] = "\xf7\xbd", [0x5059] = "\xfb\x6a", [0x505a] = "\xf0\xcb", + [0x505b] = "\xf0\xcc", [0x505c] = "\xf0\xcd", [0x505d] = "\xfb\x6b", + [0x505e] = "\xf0\xce", [0x505f] = "\xfb\x6c", [0x5060] = "\xfb\x6d", + [0x5061] = "\xfb\x6e", [0x5062] = "\xfb\x6f", [0x5063] = "\xf0\xcf", + [0x5064] = "\xba\xd7", [0x5065] = "\xfb\x70", [0x5066] = "\xf0\xd0", + [0x5067] = "\xf0\xd1", [0x5068] = "\xf0\xd2", [0x5069] = "\xf0\xd3", + [0x506a] = "\xf0\xd4", [0x506b] = "\xf0\xd5", [0x506c] = "\xf0\xd6", + [0x506d] = "\xf0\xd8", [0x506e] = "\xfb\x71", [0x506f] = "\xfb\x72", + [0x5070] = "\xd3\xa5", [0x5071] = "\xf0\xd7", [0x5072] = "\xfb\x73", + [0x5073] = "\xf0\xd9", [0x5074] = "\xfb\x74", [0x5075] = "\xfb\x75", + [0x5076] = "\xfb\x76", [0x5077] = "\xfb\x77", [0x5078] = "\xfb\x78", + [0x5079] = "\xfb\x79", [0x507a] = "\xfb\x7a", [0x507b] = "\xfb\x7b", + [0x507c] = "\xfb\x7c", [0x507d] = "\xfb\x7d", [0x507e] = "\xf5\xba", + [0x507f] = "\xc2\xb9", [0x5080] = "\xfb\x7e", [0x5081] = "\xfb\x80", + [0x5082] = "\xf7\xe4", [0x5083] = "\xfb\x81", [0x5084] = "\xfb\x82", + [0x5085] = "\xfb\x83", [0x5086] = "\xfb\x84", [0x5087] = "\xf7\xe5", + [0x5088] = "\xf7\xe6", [0x5089] = "\xfb\x85", [0x508a] = "\xfb\x86", + [0x508b] = "\xf7\xe7", [0x508c] = "\xfb\x87", [0x508d] = "\xfb\x88", + [0x508e] = "\xfb\x89", [0x508f] = "\xfb\x8a", [0x5090] = "\xfb\x8b", + [0x5091] = "\xfb\x8c", [0x5092] = "\xf7\xe8", [0x5093] = "\xc2\xb4", + [0x5094] = "\xfb\x8d", [0x5095] = "\xfb\x8e", [0x5096] = "\xfb\x8f", + [0x5097] = "\xfb\x90", [0x5098] = "\xfb\x91", [0x5099] = "\xfb\x92", + [0x509a] = "\xfb\x93", [0x509b] = "\xfb\x94", [0x509c] = "\xfb\x95", + [0x509d] = "\xf7\xea", [0x509e] = "\xfb\x96", [0x509f] = "\xf7\xeb", + [0x50a0] = "\xfb\x97", [0x50a1] = "\xfb\x98", [0x50a2] = "\xfb\x99", + [0x50a3] = "\xfb\x9a", [0x50a4] = "\xfb\x9b", [0x50a5] = "\xfb\x9c", + [0x50a6] = "\xc2\xf3", [0x50a7] = "\xfb\x9d", [0x50a8] = "\xfb\x9e", + [0x50a9] = "\xfb\x9f", [0x50aa] = "\xfb\xa0", [0x50ab] = "\xfc\x40", + [0x50ac] = "\xfc\x41", [0x50ad] = "\xfc\x42", [0x50ae] = "\xfc\x43", + [0x50af] = "\xfc\x44", [0x50b0] = "\xfc\x45", [0x50b1] = "\xfc\x46", + [0x50b2] = "\xfc\x47", [0x50b3] = "\xfc\x48", [0x50b4] = "\xf4\xf0", + [0x50b5] = "\xfc\x49", [0x50b6] = "\xfc\x4a", [0x50b7] = "\xfc\x4b", + [0x50b8] = "\xf4\xef", [0x50b9] = "\xfc\x4c", [0x50ba] = "\xfc\x4d", + [0x50bb] = "\xc2\xe9", [0x50bc] = "\xfc\x4e", [0x50bd] = "\xf7\xe1", + [0x50be] = "\xf7\xe2", [0x50bf] = "\xfc\x4f", [0x50c0] = "\xfc\x50", + [0x50c1] = "\xfc\x51", [0x50c2] = "\xfc\x52", [0x50c3] = "\xfc\x53", + [0x50c4] = "\xbb\xc6", [0x50c5] = "\xfc\x54", [0x50c6] = "\xfc\x55", + [0x50c7] = "\xfc\x56", [0x50c8] = "\xfc\x57", [0x50c9] = "\xd9\xe4", + [0x50ca] = "\xfc\x58", [0x50cb] = "\xfc\x59", [0x50cc] = "\xfc\x5a", + [0x50cd] = "\xca\xf2", [0x50ce] = "\xc0\xe8", [0x50cf] = "\xf0\xa4", + [0x50d0] = "\xfc\x5b", [0x50d1] = "\xba\xda", [0x50d2] = "\xfc\x5c", + [0x50d3] = "\xfc\x5d", [0x50d4] = "\xc7\xad", [0x50d5] = "\xfc\x5e", + [0x50d6] = "\xfc\x5f", [0x50d7] = "\xfc\x60", [0x50d8] = "\xc4\xac", + [0x50d9] = "\xfc\x61", [0x50da] = "\xfc\x62", [0x50db] = "\xf7\xec", + [0x50dc] = "\xf7\xed", [0x50dd] = "\xf7\xee", [0x50de] = "\xfc\x63", + [0x50df] = "\xf7\xf0", [0x50e0] = "\xf7\xef", [0x50e1] = "\xfc\x64", + [0x50e2] = "\xf7\xf1", [0x50e3] = "\xfc\x65", [0x50e4] = "\xfc\x66", + [0x50e5] = "\xf7\xf4", [0x50e6] = "\xfc\x67", [0x50e7] = "\xf7\xf3", + [0x50e8] = "\xfc\x68", [0x50e9] = "\xf7\xf2", [0x50ea] = "\xf7\xf5", + [0x50eb] = "\xfc\x69", [0x50ec] = "\xfc\x6a", [0x50ed] = "\xfc\x6b", + [0x50ee] = "\xfc\x6c", [0x50ef] = "\xf7\xf6", [0x50f0] = "\xfc\x6d", + [0x50f1] = "\xfc\x6e", [0x50f2] = "\xfc\x6f", [0x50f3] = "\xfc\x70", + [0x50f4] = "\xfc\x71", [0x50f5] = "\xfc\x72", [0x50f6] = "\xfc\x73", + [0x50f7] = "\xfc\x74", [0x50f8] = "\xfc\x75", [0x50f9] = "\xed\xe9", + [0x50fa] = "\xfc\x76", [0x50fb] = "\xed\xea", [0x50fc] = "\xed\xeb", + [0x50fd] = "\xfc\x77", [0x50fe] = "\xf6\xbc", [0x50ff] = "\xfc\x78", + [0x5100] = "\xfc\x79", [0x5101] = "\xfc\x7a", [0x5102] = "\xfc\x7b", + [0x5103] = "\xfc\x7c", [0x5104] = "\xfc\x7d", [0x5105] = "\xfc\x7e", + [0x5106] = "\xfc\x80", [0x5107] = "\xfc\x81", [0x5108] = "\xfc\x82", + [0x5109] = "\xfc\x83", [0x510a] = "\xfc\x84", [0x510b] = "\xf6\xbd", + [0x510c] = "\xfc\x85", [0x510d] = "\xf6\xbe", [0x510e] = "\xb6\xa6", + [0x510f] = "\xfc\x86", [0x5110] = "\xd8\xbe", [0x5111] = "\xfc\x87", + [0x5112] = "\xfc\x88", [0x5113] = "\xb9\xc4", [0x5114] = "\xfc\x89", + [0x5115] = "\xfc\x8a", [0x5116] = "\xfc\x8b", [0x5117] = "\xd8\xbb", + [0x5118] = "\xfc\x8c", [0x5119] = "\xdc\xb1", [0x511a] = "\xfc\x8d", + [0x511b] = "\xfc\x8e", [0x511c] = "\xfc\x8f", [0x511d] = "\xfc\x90", + [0x511e] = "\xfc\x91", [0x511f] = "\xfc\x92", [0x5120] = "\xca\xf3", + [0x5121] = "\xfc\x93", [0x5122] = "\xf7\xf7", [0x5123] = "\xfc\x94", + [0x5124] = "\xfc\x95", [0x5125] = "\xfc\x96", [0x5126] = "\xfc\x97", + [0x5127] = "\xfc\x98", [0x5128] = "\xfc\x99", [0x5129] = "\xfc\x9a", + [0x512a] = "\xfc\x9b", [0x512b] = "\xfc\x9c", [0x512c] = "\xf7\xf8", + [0x512d] = "\xfc\x9d", [0x512e] = "\xfc\x9e", [0x512f] = "\xf7\xf9", + [0x5130] = "\xfc\x9f", [0x5131] = "\xfc\xa0", [0x5132] = "\xfd\x40", + [0x5133] = "\xfd\x41", [0x5134] = "\xfd\x42", [0x5135] = "\xfd\x43", + [0x5136] = "\xfd\x44", [0x5137] = "\xf7\xfb", [0x5138] = "\xfd\x45", + [0x5139] = "\xf7\xfa", [0x513a] = "\xfd\x46", [0x513b] = "\xb1\xc7", + [0x513c] = "\xfd\x47", [0x513d] = "\xf7\xfc", [0x513e] = "\xf7\xfd", + [0x513f] = "\xfd\x48", [0x5140] = "\xfd\x49", [0x5141] = "\xfd\x4a", + [0x5142] = "\xfd\x4b", [0x5143] = "\xfd\x4c", [0x5144] = "\xf7\xfe", + [0x5145] = "\xfd\x4d", [0x5146] = "\xfd\x4e", [0x5147] = "\xfd\x4f", + [0x5148] = "\xfd\x50", [0x5149] = "\xfd\x51", [0x514a] = "\xfd\x52", + [0x514b] = "\xfd\x53", [0x514c] = "\xfd\x54", [0x514d] = "\xfd\x55", + [0x514e] = "\xfd\x56", [0x514f] = "\xfd\x57", [0x5150] = "\xc6\xeb", + [0x5151] = "\xec\xb4", [0x5152] = "\xfd\x58", [0x5153] = "\xfd\x59", + [0x5154] = "\xfd\x5a", [0x5155] = "\xfd\x5b", [0x5156] = "\xfd\x5c", + [0x5157] = "\xfd\x5d", [0x5158] = "\xfd\x5e", [0x5159] = "\xfd\x5f", + [0x515a] = "\xfd\x60", [0x515b] = "\xfd\x61", [0x515c] = "\xfd\x62", + [0x515d] = "\xfd\x63", [0x515e] = "\xfd\x64", [0x515f] = "\xfd\x65", + [0x5160] = "\xfd\x66", [0x5161] = "\xfd\x67", [0x5162] = "\xfd\x68", + [0x5163] = "\xfd\x69", [0x5164] = "\xfd\x6a", [0x5165] = "\xfd\x6b", + [0x5166] = "\xfd\x6c", [0x5167] = "\xfd\x6d", [0x5168] = "\xfd\x6e", + [0x5169] = "\xfd\x6f", [0x516a] = "\xfd\x70", [0x516b] = "\xfd\x71", + [0x516c] = "\xfd\x72", [0x516d] = "\xfd\x73", [0x516e] = "\xfd\x74", + [0x516f] = "\xfd\x75", [0x5170] = "\xfd\x76", [0x5171] = "\xfd\x77", + [0x5172] = "\xfd\x78", [0x5173] = "\xfd\x79", [0x5174] = "\xfd\x7a", + [0x5175] = "\xfd\x7b", [0x5176] = "\xfd\x7c", [0x5177] = "\xfd\x7d", + [0x5178] = "\xfd\x7e", [0x5179] = "\xfd\x80", [0x517a] = "\xfd\x81", + [0x517b] = "\xfd\x82", [0x517c] = "\xfd\x83", [0x517d] = "\xfd\x84", + [0x517e] = "\xfd\x85", [0x517f] = "\xb3\xdd", [0x5180] = "\xf6\xb3", + [0x5181] = "\xfd\x86", [0x5182] = "\xfd\x87", [0x5183] = "\xf6\xb4", + [0x5184] = "\xc1\xe4", [0x5185] = "\xf6\xb5", [0x5186] = "\xf6\xb6", + [0x5187] = "\xf6\xb7", [0x5188] = "\xf6\xb8", [0x5189] = "\xf6\xb9", + [0x518a] = "\xf6\xba", [0x518b] = "\xc8\xa3", [0x518c] = "\xf6\xbb", + [0x518d] = "\xfd\x88", [0x518e] = "\xfd\x89", [0x518f] = "\xfd\x8a", + [0x5190] = "\xfd\x8b", [0x5191] = "\xfd\x8c", [0x5192] = "\xfd\x8d", + [0x5193] = "\xfd\x8e", [0x5194] = "\xfd\x8f", [0x5195] = "\xfd\x90", + [0x5196] = "\xfd\x91", [0x5197] = "\xfd\x92", [0x5198] = "\xfd\x93", + [0x5199] = "\xc1\xfa", [0x519a] = "\xb9\xa8", [0x519b] = "\xed\xe8", + [0x519c] = "\xfd\x94", [0x519d] = "\xfd\x95", [0x519e] = "\xfd\x96", + [0x519f] = "\xb9\xea", [0x51a0] = "\xd9\xdf", [0x51a1] = "\xfd\x97", + [0x51a2] = "\xfd\x98", [0x51a3] = "\xfd\x99", [0x51a4] = "\xfd\x9a", + [0x51a5] = "\xfd\x9b", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0xE[78]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0xe7c7, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab9[][2] = +{ + [0x0000] = "\xa8\xbc", [0x0001] = "\xa8\xbf", [0x0020] = "\xa9\x89", + [0x0021] = "\xa9\x8a", [0x0022] = "\xa9\x8b", [0x0023] = "\xa9\x8c", + [0x0024] = "\xa9\x8d", [0x0025] = "\xa9\x8e", [0x0026] = "\xa9\x8f", + [0x0027] = "\xa9\x90", [0x0028] = "\xa9\x91", [0x0029] = "\xa9\x92", + [0x002a] = "\xa9\x93", [0x002b] = "\xa9\x94", [0x002c] = "\xa9\x95", + [0x004e] = "\xfe\x50", [0x004f] = "\xfe\x51", [0x0050] = "\xfe\x52", + [0x0051] = "\xfe\x53", [0x0052] = "\xfe\x54", [0x0053] = "\xfe\x55", + [0x0054] = "\xfe\x56", [0x0055] = "\xfe\x57", [0x0056] = "\xfe\x58", + [0x0057] = "\xfe\x59", [0x0058] = "\xfe\x5a", [0x0059] = "\xfe\x5b", + [0x005a] = "\xfe\x5c", [0x005b] = "\xfe\x5d", [0x005c] = "\xfe\x5e", + [0x005d] = "\xfe\x5f", [0x005e] = "\xfe\x60", [0x005f] = "\xfe\x61", + [0x0060] = "\xfe\x62", [0x0061] = "\xfe\x63", [0x0062] = "\xfe\x64", + [0x0063] = "\xfe\x65", [0x0064] = "\xfe\x66", [0x0065] = "\xfe\x67", + [0x0066] = "\xfe\x68", [0x0067] = "\xfe\x69", [0x0068] = "\xfe\x6a", + [0x0069] = "\xfe\x6b", [0x006a] = "\xfe\x6c", [0x006b] = "\xfe\x6d", + [0x006c] = "\xfe\x6e", [0x006d] = "\xfe\x6f", [0x006e] = "\xfe\x70", + [0x006f] = "\xfe\x71", [0x0070] = "\xfe\x72", [0x0071] = "\xfe\x73", + [0x0072] = "\xfe\x74", [0x0073] = "\xfe\x75", [0x0074] = "\xfe\x76", + [0x0075] = "\xfe\x77", [0x0076] = "\xfe\x78", [0x0077] = "\xfe\x79", + [0x0078] = "\xfe\x7a", [0x0079] = "\xfe\x7b", [0x007a] = "\xfe\x7c", + [0x007b] = "\xfe\x7d", [0x007c] = "\xfe\x7e", [0x007d] = "\xfe\x80", + [0x007e] = "\xfe\x81", [0x007f] = "\xfe\x82", [0x0080] = "\xfe\x83", + [0x0081] = "\xfe\x84", [0x0082] = "\xfe\x85", [0x0083] = "\xfe\x86", + [0x0084] = "\xfe\x87", [0x0085] = "\xfe\x88", [0x0086] = "\xfe\x89", + [0x0087] = "\xfe\x8a", [0x0088] = "\xfe\x8b", [0x0089] = "\xfe\x8c", + [0x008a] = "\xfe\x8d", [0x008b] = "\xfe\x8e", [0x008c] = "\xfe\x8f", + [0x008d] = "\xfe\x90", [0x008e] = "\xfe\x91", [0x008f] = "\xfe\x92", + [0x0090] = "\xfe\x93", [0x0091] = "\xfe\x94", [0x0092] = "\xfe\x95", + [0x0093] = "\xfe\x96", [0x0094] = "\xfe\x97", [0x0095] = "\xfe\x98", + [0x0096] = "\xfe\x99", [0x0097] = "\xfe\x9a", [0x0098] = "\xfe\x9b", + [0x0099] = "\xfe\x9c", [0x009a] = "\xfe\x9d", [0x009b] = "\xfe\x9e", + [0x009c] = "\xfe\x9f", [0x009d] = "\xfe\xa0", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0xFA[0-2]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0xfa0c, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab10[][2] = +{ + [0x0000] = "\xfe\x40", [0x0001] = "\xfe\x41", [0x0002] = "\xfe\x42", + [0x0003] = "\xfe\x43", [0x0005] = "\xfe\x44", [0x0007] = "\xfe\x45", + [0x0008] = "\xfe\x46", [0x000c] = "\xfe\x47", [0x0013] = "\xfe\x48", + [0x0014] = "\xfe\x49", [0x0015] = "\xfe\x4a", [0x0017] = "\xfe\x4b", + [0x0018] = "\xfe\x4c", [0x001b] = "\xfe\x4d", [0x001c] = "\xfe\x4e", + [0x001d] = "\xfe\x4f", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0xFE[3-6]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0xfe30, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab11[][2] = +{ + [0x0000] = "\xa9\x55", [0x0001] = "\xa6\xf2", [0x0003] = "\xa6\xf4", + [0x0004] = "\xa6\xf5", [0x0005] = "\xa6\xe0", [0x0006] = "\xa6\xe1", + [0x0007] = "\xa6\xf0", [0x0008] = "\xa6\xf1", [0x0009] = "\xa6\xe2", + [0x000a] = "\xa6\xe3", [0x000b] = "\xa6\xee", [0x000c] = "\xa6\xef", + [0x000d] = "\xa6\xe6", [0x000e] = "\xa6\xe7", [0x000f] = "\xa6\xe4", + [0x0010] = "\xa6\xe5", [0x0011] = "\xa6\xe8", [0x0012] = "\xa6\xe9", + [0x0013] = "\xa6\xea", [0x0014] = "\xa6\xeb", [0x0019] = "\xa9\x68", + [0x001a] = "\xa9\x69", [0x001b] = "\xa9\x6a", [0x001c] = "\xa9\x6b", + [0x001d] = "\xa9\x6c", [0x001e] = "\xa9\x6d", [0x001f] = "\xa9\x6e", + [0x0020] = "\xa9\x6f", [0x0021] = "\xa9\x70", [0x0022] = "\xa9\x71", + [0x0024] = "\xa9\x72", [0x0025] = "\xa9\x73", [0x0026] = "\xa9\x74", + [0x0027] = "\xa9\x75", [0x0029] = "\xa9\x76", [0x002a] = "\xa9\x77", + [0x002b] = "\xa9\x78", [0x002c] = "\xa9\x79", [0x002d] = "\xa9\x7a", + [0x002e] = "\xa9\x7b", [0x002f] = "\xa9\x7c", [0x0030] = "\xa9\x7d", + [0x0031] = "\xa9\x7e", [0x0032] = "\xa9\x80", [0x0033] = "\xa9\x81", + [0x0034] = "\xa9\x82", [0x0035] = "\xa9\x83", [0x0036] = "\xa9\x84", + [0x0038] = "\xa9\x85", [0x0039] = "\xa9\x86", [0x003a] = "\xa9\x87", + [0x003b] = "\xa9\x88", +}; + +/* The table can be created using + + awk '{ print $2, $1 }' gbk.txt | sort | egrep '^0xFF[0-5]' | perl tab.pl + + where tab.pl is + + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + $n=0; + while (<>) { + local($ucs4, $gbk, %rest) = split; + local($u)=hex($ucs4); + local($g)=hex($gbk); + printf ("\n ") if ($n % 3 == 0); + ++$n; + printf (" [0x%04x] = \"\\x%02x\\x%02x\",", $u - 0xff01, + $g < 0x100 ? $g : int($g/256), $g < 0x100 ? 0 : $g&255); + } + printf ("\n"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +*/ +static const char __gbk_from_ucs4_tab12[][2] = +{ + [0x0000] = "\xa3\xa1", [0x0001] = "\xa3\xa2", [0x0002] = "\xa3\xa3", + [0x0003] = "\xa1\xe7", [0x0004] = "\xa3\xa5", [0x0005] = "\xa3\xa6", + [0x0006] = "\xa3\xa7", [0x0007] = "\xa3\xa8", [0x0008] = "\xa3\xa9", + [0x0009] = "\xa3\xaa", [0x000a] = "\xa3\xab", [0x000b] = "\xa3\xac", + [0x000c] = "\xa3\xad", [0x000d] = "\xa3\xae", [0x000e] = "\xa3\xaf", + [0x000f] = "\xa3\xb0", [0x0010] = "\xa3\xb1", [0x0011] = "\xa3\xb2", + [0x0012] = "\xa3\xb3", [0x0013] = "\xa3\xb4", [0x0014] = "\xa3\xb5", + [0x0015] = "\xa3\xb6", [0x0016] = "\xa3\xb7", [0x0017] = "\xa3\xb8", + [0x0018] = "\xa3\xb9", [0x0019] = "\xa3\xba", [0x001a] = "\xa3\xbb", + [0x001b] = "\xa3\xbc", [0x001c] = "\xa3\xbd", [0x001d] = "\xa3\xbe", + [0x001e] = "\xa3\xbf", [0x001f] = "\xa3\xc0", [0x0020] = "\xa3\xc1", + [0x0021] = "\xa3\xc2", [0x0022] = "\xa3\xc3", [0x0023] = "\xa3\xc4", + [0x0024] = "\xa3\xc5", [0x0025] = "\xa3\xc6", [0x0026] = "\xa3\xc7", + [0x0027] = "\xa3\xc8", [0x0028] = "\xa3\xc9", [0x0029] = "\xa3\xca", + [0x002a] = "\xa3\xcb", [0x002b] = "\xa3\xcc", [0x002c] = "\xa3\xcd", + [0x002d] = "\xa3\xce", [0x002e] = "\xa3\xcf", [0x002f] = "\xa3\xd0", + [0x0030] = "\xa3\xd1", [0x0031] = "\xa3\xd2", [0x0032] = "\xa3\xd3", + [0x0033] = "\xa3\xd4", [0x0034] = "\xa3\xd5", [0x0035] = "\xa3\xd6", + [0x0036] = "\xa3\xd7", [0x0037] = "\xa3\xd8", [0x0038] = "\xa3\xd9", + [0x0039] = "\xa3\xda", [0x003a] = "\xa3\xdb", [0x003b] = "\xa3\xdc", + [0x003c] = "\xa3\xdd", [0x003d] = "\xa3\xde", [0x003e] = "\xa3\xdf", + [0x003f] = "\xa3\xe0", [0x0040] = "\xa3\xe1", [0x0041] = "\xa3\xe2", + [0x0042] = "\xa3\xe3", [0x0043] = "\xa3\xe4", [0x0044] = "\xa3\xe5", + [0x0045] = "\xa3\xe6", [0x0046] = "\xa3\xe7", [0x0047] = "\xa3\xe8", + [0x0048] = "\xa3\xe9", [0x0049] = "\xa3\xea", [0x004a] = "\xa3\xeb", + [0x004b] = "\xa3\xec", [0x004c] = "\xa3\xed", [0x004d] = "\xa3\xee", + [0x004e] = "\xa3\xef", [0x004f] = "\xa3\xf0", [0x0050] = "\xa3\xf1", + [0x0051] = "\xa3\xf2", [0x0052] = "\xa3\xf3", [0x0053] = "\xa3\xf4", + [0x0054] = "\xa3\xf5", [0x0055] = "\xa3\xf6", [0x0056] = "\xa3\xf7", + [0x0057] = "\xa3\xf8", [0x0058] = "\xa3\xf9", [0x0059] = "\xa3\xfa", + [0x005a] = "\xa3\xfb", [0x005b] = "\xa3\xfc", [0x005c] = "\xa3\xfd", + [0x005d] = "\xa1\xab", +}; + + +/* Definitions used in the body of the `gconv' function. */ +#define CHARSET_NAME "GBK//" +#define FROM_LOOP from_gbk +#define TO_LOOP to_gbk +#define DEFINE_INIT 1 +#define DEFINE_FINI 1 +#define MIN_NEEDED_FROM 1 +#define MAX_NEEDED_FROM 2 +#define MIN_NEEDED_TO 4 + + +/* First define the conversion function from ISO 8859-1 to UCS4. */ +#define MIN_NEEDED_INPUT MIN_NEEDED_FROM +#define MAX_NEEDED_INPUT MAX_NEEDED_FROM +#define MIN_NEEDED_OUTPUT MIN_NEEDED_TO +#define LOOPFCT FROM_LOOP +#define BODY \ + { \ + uint32_t ch = *inptr; \ + \ + if (ch <= 0x7f) \ + ++inptr; \ + else \ + if (ch <= 0x80 || ch > 0xfe) \ + { \ + /* This is illegal. */ \ + result = GCONV_ILLEGAL_INPUT; \ + break; \ + } \ + else \ + { \ + /* Two or more byte character. First test whether the \ + next character is also available. */ \ + uint32_t ch2; \ + int idx; \ + \ + if (NEED_LENGTH_TEST && inptr + 1 >= inend) \ + { \ + /* The second character is not available. Store \ + the intermediate result. */ \ + result = GCONV_INCOMPLETE_INPUT; \ + break; \ + } \ + \ + ch2 = inptr[1]; \ + \ + /* All second bytes of a multibyte character must be >= 0x40. */ \ + if (ch2 < 0x40) \ + { \ + /* This is an illegal character. */ \ + result = GCONV_ILLEGAL_INPUT; \ + break; \ + } \ + \ + /* This is code set 1: GBK. */ \ + idx = (ch - 0x81)*192 + (ch2 - 0x40); \ + \ + ch = __gbk_to_ucs[idx]; \ + \ + if (ch == 0 && *inptr != '\0') \ + { \ + /* This is an illegal character. */ \ + result = GCONV_ILLEGAL_INPUT; \ + break; \ + } \ + \ + inptr += 2; \ + } \ + \ + *((uint32_t *) outptr)++ = ch; \ + } +#include <iconv/loop.c> + + +/* Next, define the other direction. */ +#define MIN_NEEDED_INPUT MIN_NEEDED_TO +#define MIN_NEEDED_OUTPUT MIN_NEEDED_FROM +#define MAX_NEEDED_OUTPUT MAX_NEEDED_FROM +#define LOOPFCT TO_LOOP +#define BODY \ + { \ + uint32_t ch = *((uint32_t *) inptr); \ + unsigned char buf[2]; \ + const unsigned char *cp = buf; \ + \ + if (ch <= L'\x7f') \ + /* It's plain ASCII. */ \ + *outptr++ = (unsigned char) ch; \ + else \ + { \ + switch (ch) \ + { \ + case 0xa4 ... 0x101: \ + cp = __gbk_from_ucs4_tab1[ch - 0xa4]; \ + break; \ + case 0x113: \ + cp = "\xa8\xa5"; \ + break; \ + case 0x11b: \ + cp = "\xa8\xa7"; \ + break; \ + case 0x12b: \ + cp = "\xa8\xa9"; \ + break; \ + case 0x144: \ + cp = "\xa8\xbd"; \ + break; \ + case 0x148: \ + cp = "\xa8\xbe"; \ + break; \ + case 0x14d: \ + cp = "\xa8\xad"; \ + break; \ + case 0x16b: \ + cp = "\xa8\xb1"; \ + break; \ + case 0x1ce: \ + cp = "\xa8\xa3"; \ + break; \ + case 0x1d0: \ + cp = "\xa8\xab"; \ + break; \ + case 0x1d2: \ + cp = "\xa8\xaf"; \ + break; \ + case 0x1d4: \ + cp = "\xa8\xb3"; \ + break; \ + case 0x1d6: \ + cp = "\xa8\xb5"; \ + break; \ + case 0x1d8: \ + cp = "\xa8\xb6"; \ + break; \ + case 0x1da: \ + cp = "\xa8\xb7"; \ + break; \ + case 0x1dc: \ + cp = "\xa8\xb8"; \ + break; \ + case 0x251: \ + cp = "\xa8\xbb"; \ + break; \ + case 0x261: \ + cp = "\xa8\xc0"; \ + break; \ + case 0x2c7: \ + cp = "\xa1\xa6"; \ + break; \ + case 0x2c9: \ + cp = "\xa1\xa5"; \ + break; \ + case 0x2ca: \ + cp = "\xa8\x40"; \ + break; \ + case 0x2cb: \ + cp = "\xa8\x41"; \ + break; \ + case 0x2d9: \ + cp = "\xa8\x42"; \ + break; \ + case 0x391 ... 0x3c9: \ + cp = __gbk_from_ucs4_tab2[ch - 0x391]; \ + break; \ + case 0x401 ... 0x451: \ + cp = __gbk_from_ucs4_tab3[ch - 0x401]; \ + break; \ + case 0x2010 ... 0x203b: \ + cp = __gbk_from_ucs4_tab4[ch - 0x2010]; \ + break; \ + case 0x2103 ... 0x22bf: \ + cp = __gbk_from_ucs4_tab5[ch - 0x2103]; \ + break; \ + case 0x2312: \ + cp = "\xa1\xd0"; \ + break; \ + case 0x2460 ... 0x249b: \ + cp = __gbk_from_ucs4_tab6[ch - 0x2460]; \ + break; \ + case 0x2500 ... 0x254b: \ + buf[0] = '\xa9'; \ + buf[1] = '\xa4' + (ch - 0x2500); \ + break; \ + case 0x2550 ... 0x2573: \ + buf[0] = '\xa8'; \ + buf[1] = '\x54' + (ch - 0x2550); \ + break; \ + case 0x2581 ... 0x2587: \ + buf[0] = '\xa8'; \ + buf[1] = '\x78' + (ch - 0x2581); \ + break; \ + case 0x2588 ... 0x258f: \ + buf[0] = '\xa8'; \ + buf[1] = '\x80' + (ch - 0x2588); \ + break; \ + case 0x2593: \ + cp = "\xa8\x88"; \ + break; \ + case 0x2594: \ + cp = "\xa8\x89"; \ + break; \ + case 0x2595: \ + cp = "\xa8\x8a"; \ + break; \ + case 0x25a0: \ + cp = "\xa1\xf6"; \ + break; \ + case 0x25a1: \ + cp = "\xa1\xf5"; \ + break; \ + case 0x25b2: \ + cp = "\xa1\xf8"; \ + break; \ + case 0x25b3: \ + cp = "\xa1\xf7"; \ + break; \ + case 0x25bc: \ + cp = "\xa8\x8b"; \ + break; \ + case 0x25bd: \ + cp = "\xa8\x8c"; \ + break; \ + case 0x25c6: \ + cp = "\xa1\xf4"; \ + break; \ + case 0x25c7: \ + cp = "\xa1\xf3"; \ + break; \ + case 0x25cb: \ + cp = "\xa1\xf0"; \ + break; \ + case 0x25ce: \ + cp = "\xa1\xf2"; \ + break; \ + case 0x25cf: \ + cp = "\xa1\xf1"; \ + break; \ + case 0x25e2 ... 0x25e5: \ + buf[0] = '\xa8'; \ + buf[1] = '\x8d' + (ch - 0x25e2); \ + break; \ + case 0x2605: \ + cp = "\xa1\xef"; \ + break; \ + case 0x2606: \ + cp = "\xa1\xee"; \ + break; \ + case 0x2609: \ + cp = "\xa8\x91"; \ + break; \ + case 0x2640: \ + cp = "\xa1\xe2"; \ + break; \ + case 0x2642: \ + cp = "\xa1\xe1"; \ + break; \ + case 0x3000 ... 0x3129: \ + cp = __gbk_from_ucs4_tab7[ch - 0x3000]; \ + break; \ + case 0x3220 ... 0x3229: \ + buf[0] = '\xa2'; \ + buf[1] = '\xe5' + (ch - 0x3220); \ + break; \ + case 0x3231: \ + cp = "\xa9\x5a"; \ + break; \ + case 0x32a3: \ + cp = "\xa9\x49"; \ + break; \ + case 0x338e: \ + cp = "\xa9\x4a"; \ + break; \ + case 0x338f: \ + cp = "\xa9\x4b"; \ + break; \ + case 0x339c: \ + cp = "\xa9\x4c"; \ + break; \ + case 0x339d: \ + cp = "\xa9\x4d"; \ + break; \ + case 0x339e: \ + cp = "\xa9\x4e"; \ + break; \ + case 0x33a1: \ + cp = "\xa9\x4f"; \ + break; \ + case 0x33c4: \ + cp = "\xa9\x50"; \ + break; \ + case 0x33ce: \ + cp = "\xa9\x51"; \ + break; \ + case 0x33d1: \ + cp = "\xa9\x52"; \ + break; \ + case 0x33d2: \ + cp = "\xa9\x53"; \ + break; \ + case 0x33d5: \ + cp = "\xa9\x54"; \ + break; \ + case 0x4e00 ... 0x9fa5: \ + cp = __gbk_from_ucs4_tab8[ch - 0x4e00]; \ + break; \ + case 0xe7c7 ... 0xe864: \ + cp = __gbk_from_ucs4_tab9[ch - 0xe7c7]; \ + break; \ + case 0xf92c: \ + cp = "\xfd\x9c"; \ + break; \ + case 0xf979: \ + cp = "\xfd\x9d"; \ + break; \ + case 0xf995: \ + cp = "\xfd\x9e"; \ + break; \ + case 0xf9e7: \ + cp = "\xfd\x9f"; \ + break; \ + case 0xf9f1: \ + cp = "\xfd\xa0"; \ + break; \ + case 0xfa0c ... 0xfa29: \ + cp = __gbk_from_ucs4_tab10[ch - 0xfa0c]; \ + break; \ + case 0xfe30 ... 0xfe6b: \ + cp = __gbk_from_ucs4_tab11[ch - 0xfe30]; \ + break; \ + case 0xff01 ... 0xff5e: \ + cp = __gbk_from_ucs4_tab12[ch - 0xff01]; \ + break; \ + case 0xffe0: \ + cp = "\xa1\xe9"; \ + break; \ + case 0xffe1: \ + cp = "\xa1\xea"; \ + break; \ + case 0xffe2: \ + cp = "\xa9\x56"; \ + break; \ + case 0xffe3: \ + cp = "\xa3\xfe"; \ + break; \ + case 0xffe4: \ + cp = "\xa9\x57"; \ + break; \ + case 0xffe5: \ + cp = "\xa3\xa4"; \ + break; \ + default: \ + cp = ""; \ + break; \ + } \ + if (cp == NULL || (cp[0] == '\0' && ch != 0)) \ + { \ + /* Illegal character. */ \ + result = GCONV_ILLEGAL_INPUT; \ + break; \ + } \ + \ + /* See whether there is enough room for the second byte we write. */ \ + if (NEED_LENGTH_TEST && cp[1] != '\0' && outptr + 1 >= outend) \ + { \ + /* We have not enough room. */ \ + result = GCONV_FULL_OUTPUT; \ + break; \ + } \ + \ + *outptr++ = cp[0]; \ + if (cp[1] != '\0') \ + *outptr++ = cp[1]; \ + } \ + \ + inptr += 4; \ + } +#include <iconv/loop.c> + + +/* Now define the toplevel functions. */ +#include <iconv/skeleton.c> diff -durpN glibc-2.1.2/iconvdata/gconv-modules glibc-2.1.3/iconvdata/gconv-modules --- glibc-2.1.2/iconvdata/gconv-modules Tue May 11 06:26:20 1999 +++ glibc-2.1.3/iconvdata/gconv-modules Fri Feb 11 15:49:57 2000 @@ -1,5 +1,5 @@ # GNU libc iconv configuration. -# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. +# Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. # This file is part of the GNU C Library. # Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. # @@ -189,7 +189,7 @@ module PT// INTERNAL ISO646 2 module INTERNAL PT// ISO646 2 alias ISO-IR-84// PT2// -alias ISO646-PT2 PT2// +alias ISO646-PT2// PT2// alias CSISO84PORTUGUESE2// PT2// module PT2// INTERNAL ISO646 2 module INTERNAL PT2// ISO646 2 @@ -324,7 +324,7 @@ module INTERNAL ISO-8859-9// ISO8859-9 # from to module cost alias ISO-IR-157// ISO-8859-10// -alias ISO_8859-10:1993// ISO-8859-10// +alias ISO_8859-10:1992// ISO-8859-10// alias ISO_8859-10// ISO-8859-10// alias LATIN6// ISO-8859-10// alias L6// ISO-8859-10// @@ -341,17 +341,20 @@ module INTERNAL ISO-8859-11// ISO8859- alias ISO-IR-179// ISO-8859-13// alias LATIN7// ISO-8859-13// alias L7// ISO-8859-13// +alias BALTIC// ISO-8859-13// module ISO-8859-13// INTERNAL ISO8859-13 1 module INTERNAL ISO-8859-13// ISO8859-13 1 # from to module cost -alias LATIN8// ISO-8859-13// -alias L8// ISO-8859-13// +alias ISO-IR-199// ISO-8859-14// +alias LATIN8// ISO-8859-14// +alias L8// ISO-8859-14// alias ISO_8859-14:1998// ISO-8859-14// module ISO-8859-14// INTERNAL ISO8859-14 1 module INTERNAL ISO-8859-14// ISO8859-14 1 # from to module cost +alias ISO-IR-203// ISO-8859-15// alias ISO_8859-15:1998// ISO-8859-15// module ISO-8859-15// INTERNAL ISO8859-15 1 module INTERNAL ISO-8859-15// ISO8859-15 1 @@ -380,6 +383,7 @@ module INTERNAL ISO_6937-2// ISO_6937- # from to module cost alias SHIFT-JIS// SJIS// +alias SHIFT_JIS// SJIS// alias CP932// SJIS// alias MS_KANJI// SJIS// alias CSSHIFTJIS// SJIS// @@ -647,7 +651,7 @@ module INTERNAL IBM500// IBM500 1 # from to module cost alias CP850// IBM850// alias 850// IBM850// -alias CSPC8MULTILINGUAL// IBM850// +alias CSPC850MULTILINGUAL// IBM850// alias OSF10020352// IBM850// module IBM850// INTERNAL IBM850 1 module INTERNAL IBM850// IBM850 1 @@ -701,7 +705,7 @@ module INTERNAL IBM861// IBM861 1 # from to module cost alias CP862// IBM862// alias 862// IBM862// -alias CSPC8LATINHEBREW// IBM862// +alias CSPC862LATINHEBREW// IBM862// alias OSF1002035E// IBM862// module IBM862// INTERNAL IBM862 1 module INTERNAL IBM862// IBM862 1 @@ -867,6 +871,7 @@ module INTERNAL JOHAB// JOHAB 1 alias BIG-FIVE// BIG5// alias BIGFIVE// BIG5// alias BIG-5// BIG5// +alias CN-BIG5// BIG5// module BIG5// INTERNAL BIG5 1 module INTERNAL BIG5// BIG5 1 @@ -880,6 +885,9 @@ module INTERNAL EUC-JP// EUC-JP 1 # from to module cost alias EUCCN// EUC-CN// +alias GB2312// EUC-CN// +alias csGB2312// EUC-CN// +alias CN-GB// EUC-CN// module EUC-CN// INTERNAL EUC-CN 1 module INTERNAL EUC-CN// EUC-CN 1 @@ -977,11 +985,6 @@ module IEC_P27-1// INTERNAL IEC_P27-1 module INTERNAL IEC_P27-1// IEC_P27-1 1 # from to module cost -alias ISO-IR-179// BALTIC// -module BALTIC// INTERNAL BALTIC 1 -module INTERNAL BALTIC// BALTIC 1 - -# from to module cost alias ISO_9036// ASMO_449// alias ARABIC7// ASMO_449// alias ISO-IR-89// ASMO_449// @@ -1144,3 +1147,7 @@ module INTERNAL TIS-620// TIS-620 1 # from to module cost module KOI8-U// INTERNAL KOI8-U 1 module INTERNAL KOI8-U// KOI8-U 1 + +# from to module cost +module ISIRI-3342// INTERNAL ISIRI-3342 1 +module INTERNAL ISIRI-3342// ISIRI-3342 1 diff -durpN glibc-2.1.2/iconvdata/isiri-3342.c glibc-2.1.3/iconvdata/isiri-3342.c --- glibc-2.1.2/iconvdata/isiri-3342.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/iconvdata/isiri-3342.c Sat Dec 18 17:54:27 1999 @@ -0,0 +1,29 @@ +/* Conversion from and to ISIRI-3342. + Copyright (C) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. + + 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 <stdint.h> + +/* Specify the conversion table. */ +#define TABLES <isiri-3342.h> + +#define CHARSET_NAME "ISIRI-3342//" +#define HAS_HOLES 1 /* Not all 256 character are defined. */ + +#include <8bit-gap.c> diff -durpN glibc-2.1.2/iconvdata/iso-2022-jp.c glibc-2.1.3/iconvdata/iso-2022-jp.c --- glibc-2.1.2/iconvdata/iso-2022-jp.c Mon Sep 6 12:31:48 1999 +++ glibc-2.1.3/iconvdata/iso-2022-jp.c Mon Nov 29 11:19:24 1999 @@ -212,6 +212,8 @@ gconv_end (struct gconv_step *data) *outbuf++ = ESC; \ *outbuf++ = '('; \ *outbuf++ = 'B'; \ + if (data->is_last) \ + *written += 3; \ data->outbuf = outbuf; \ /* Note that this also clears the G2 designation. */ \ data->statep->count = ASCII_set; \ diff -durpN glibc-2.1.2/iconvdata/iso-2022-kr.c glibc-2.1.3/iconvdata/iso-2022-kr.c --- glibc-2.1.2/iconvdata/iso-2022-kr.c Mon Mar 15 15:56:08 1999 +++ glibc-2.1.3/iconvdata/iso-2022-kr.c Mon Nov 29 11:19:24 1999 @@ -91,6 +91,8 @@ enum { \ /* Write out the shift sequence. */ \ *outbuf++ = SI; \ + if (data->is_last) \ + *written += 1; \ data->outbuf = outbuf; \ data->statep->count = ASCII_set; \ } \ diff -durpN glibc-2.1.2/iconvdata/iso_2033.c glibc-2.1.3/iconvdata/iso_2033.c --- glibc-2.1.2/iconvdata/iso_2033.c Fri Sep 11 08:54:00 1998 +++ glibc-2.1.3/iconvdata/iso_2033.c Thu Dec 9 10:56:51 1999 @@ -1,5 +1,5 @@ /* Conversion from and to ISO_2033-1983. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -23,7 +23,7 @@ /* Get the conversion table. */ #define TABLES <iso_2033.h> -#define CHARSET_NAME "ISO_2033-1983//" +#define CHARSET_NAME "ISO_2033//" #define HAS_HOLES 1 /* Not all 256 character are defined. */ #include <8bit-gap.c> diff -durpN glibc-2.1.2/iconvdata/johab.c glibc-2.1.3/iconvdata/johab.c --- glibc-2.1.2/iconvdata/johab.c Sun Sep 6 16:38:06 1998 +++ glibc-2.1.3/iconvdata/johab.c Tue Dec 21 15:51:19 1999 @@ -1,5 +1,5 @@ /* Mapping tables for JOHAB handling. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jungshik Shin <jshin@pantheon.yale.edu> and Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -64,12 +64,12 @@ static const uint32_t init_to_ucs[19] = 0x314c, 0x314d, 0x314e }; -static const uint32_t final_to_ucs[27] = +static const uint32_t final_to_ucs[31] = { L'\0', L'\0', 0x3133, L'\0', 0x3135, 0x3136, L'\0', L'\0', 0x313a, 0x313b, 0x314c, 0x313d, 0x313e, 0x313f, - 0x3140, L'\0', L'\0', 0x3144, L'\0', L'\0', L'\0', - L'\0', L'\0', L'\0', L'\0', L'\0', L'\0' + 0x3140, L'\0', L'\0', L'\0', 0x3144, L'\0', L'\0', L'\0', + L'\0', L'\0', L'\0', L'\0', L'\0', L'\0', L'\0', L'\0', L'\0' }; /* The following three arrays are used to convert @@ -307,18 +307,18 @@ johab_sym_hanja_to_ucs (uint_fast32_t id { \ if (ch >= 0xac00 && ch <= 0xd7a3) \ { \ - ch -= 0xac00; \ - \ - ch = (init_to_bit[ch / 588] /* 21 * 28 = 588 */ \ - + mid_to_bit[(ch / 28) % 21]/* (ch % (21 * 28)) / 28 */ \ - + final_to_bit[ch % 28]); /* (ch % (21 * 28)) % 28 */ \ - \ if (NEED_LENGTH_TEST && outptr + 2 > outend) \ { \ result = GCONV_FULL_OUTPUT; \ break; \ } \ \ + ch -= 0xac00; \ + \ + ch = (init_to_bit[ch / 588] /* 21 * 28 = 588 */ \ + + mid_to_bit[(ch / 28) % 21]/* (ch % (21 * 28)) / 28 */ \ + + final_to_bit[ch % 28]); /* (ch % (21 * 28)) % 28 */ \ + \ *outptr++ = ch / 256; \ *outptr++ = ch % 256; \ } \ @@ -337,9 +337,11 @@ johab_sym_hanja_to_ucs (uint_fast32_t id *outptr++ = ch / 256; \ *outptr++ = ch % 256; \ } \ - if ((ch >= 0x4e00 && ch <= 0x9fa5) || (ch >= 0xf900 && ch <= 0xfa0b)) \ + else if ((ch >= 0x4e00 && ch <= 0x9fa5) \ + || (ch >= 0xf900 && ch <= 0xfa0b)) \ { \ size_t written; \ + uint32_t temp; \ \ written = ucs4_to_ksc5601_hanja (ch, outptr, \ (NEED_LENGTH_TEST \ @@ -356,13 +358,13 @@ johab_sym_hanja_to_ucs (uint_fast32_t id } \ \ outptr[0] -= 0x4a; \ - outptr[1] += 0x80; \ + outptr[1] -= 0x21; \ \ - outptr[1] += (outptr[0] % 2 \ - ? 0 : (outptr[1] > 0xee ? 0x43 : 0x31)); \ - outptr[1] -= 0xa1; \ - outptr[0] /= 2; \ - outptr[0] += 0xe0; \ + temp = outptr[0] * 94 + outptr[1]; \ + \ + outptr[0] = 0xe0 + temp / 188; \ + outptr[1] = temp % 188; \ + outptr[1] += outptr[1] >= 78 ? 0x43 : 0x31; \ \ outptr += 2; \ } \ diff -durpN glibc-2.1.2/iconvdata/ksc5601.c glibc-2.1.3/iconvdata/ksc5601.c --- glibc-2.1.2/iconvdata/ksc5601.c Sat Apr 25 13:31:07 1998 +++ glibc-2.1.3/iconvdata/ksc5601.c Mon Jan 3 13:10:15 2000 @@ -1,5 +1,5 @@ /* Conversion tables for KS C 5601-1992 based encoding conversion. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jungshik Shin <jshin@pantheon.yale.edu>, 1998. @@ -411,213 +411,213 @@ const uint16_t __ksc5601_sym_to_ucs[] = [0x0094] = 0x2199, [0x0095] = 0x2196, [0x0096] = 0x2198, [0x0097] = 0x266d, [0x0098] = 0x2669, [0x0099] = 0x266a, [0x009a] = 0x266c, [0x009b] = 0x327f, [0x009c] = 0x321c, [0x009d] = 0x2116, [0x009e] = 0x33c7, [0x009f] = 0x2122, - [0x00a0] = 0x33c2, [0x00a1] = 0x33d8, [0x00a2] = 0x2121, [0x00bc] = 0xff01, - [0x00bd] = 0xff02, [0x00be] = 0xff03, [0x00bf] = 0xff04, [0x00c0] = 0xff05, - [0x00c1] = 0xff06, [0x00c2] = 0xff07, [0x00c3] = 0xff08, [0x00c4] = 0xff09, - [0x00c5] = 0xff0a, [0x00c6] = 0xff0b, [0x00c7] = 0xff0c, [0x00c8] = 0xff0d, - [0x00c9] = 0xff0e, [0x00ca] = 0xff0f, [0x00cb] = 0xff10, [0x00cc] = 0xff11, - [0x00cd] = 0xff12, [0x00ce] = 0xff13, [0x00cf] = 0xff14, [0x00d0] = 0xff15, - [0x00d1] = 0xff16, [0x00d2] = 0xff17, [0x00d3] = 0xff18, [0x00d4] = 0xff19, - [0x00d5] = 0xff1a, [0x00d6] = 0xff1b, [0x00d7] = 0xff1c, [0x00d8] = 0xff1d, - [0x00d9] = 0xff1e, [0x00da] = 0xff1f, [0x00db] = 0xff20, [0x00dc] = 0xff21, - [0x00dd] = 0xff22, [0x00de] = 0xff23, [0x00df] = 0xff24, [0x00e0] = 0xff25, - [0x00e1] = 0xff26, [0x00e2] = 0xff27, [0x00e3] = 0xff28, [0x00e4] = 0xff29, - [0x00e5] = 0xff2a, [0x00e6] = 0xff2b, [0x00e7] = 0xff2c, [0x00e8] = 0xff2d, - [0x00e9] = 0xff2e, [0x00ea] = 0xff2f, [0x00eb] = 0xff30, [0x00ec] = 0xff31, - [0x00ed] = 0xff32, [0x00ee] = 0xff33, [0x00ef] = 0xff34, [0x00f0] = 0xff35, - [0x00f1] = 0xff36, [0x00f2] = 0xff37, [0x00f3] = 0xff38, [0x00f4] = 0xff39, - [0x00f5] = 0xff3a, [0x00f6] = 0xff3b, [0x00f7] = 0xffe6, [0x00f8] = 0xff3d, - [0x00f9] = 0xff3e, [0x00fa] = 0xff3f, [0x00fb] = 0xff40, [0x00fc] = 0xff41, - [0x00fd] = 0xff42, [0x00fe] = 0xff43, [0x00ff] = 0xff44, [0x0100] = 0xff45, - [0x0101] = 0xff46, [0x0102] = 0xff47, [0x0103] = 0xff48, [0x0104] = 0xff49, - [0x0105] = 0xff4a, [0x0106] = 0xff4b, [0x0107] = 0xff4c, [0x0108] = 0xff4d, - [0x0109] = 0xff4e, [0x010a] = 0xff4f, [0x010b] = 0xff50, [0x010c] = 0xff51, - [0x010d] = 0xff52, [0x010e] = 0xff53, [0x010f] = 0xff54, [0x0110] = 0xff55, - [0x0111] = 0xff56, [0x0112] = 0xff57, [0x0113] = 0xff58, [0x0114] = 0xff59, - [0x0115] = 0xff5a, [0x0116] = 0xff5b, [0x0117] = 0xff5c, [0x0118] = 0xff5d, - [0x0119] = 0xffe3, [0x011a] = 0x3131, [0x011b] = 0x3132, [0x011c] = 0x3133, - [0x011d] = 0x3134, [0x011e] = 0x3135, [0x011f] = 0x3136, [0x0120] = 0x3137, - [0x0121] = 0x3138, [0x0122] = 0x3139, [0x0123] = 0x313a, [0x0124] = 0x313b, - [0x0125] = 0x313c, [0x0126] = 0x313d, [0x0127] = 0x313e, [0x0128] = 0x313f, - [0x0129] = 0x3140, [0x012a] = 0x3141, [0x012b] = 0x3142, [0x012c] = 0x3143, - [0x012d] = 0x3144, [0x012e] = 0x3145, [0x012f] = 0x3146, [0x0130] = 0x3147, - [0x0131] = 0x3148, [0x0132] = 0x3149, [0x0133] = 0x314a, [0x0134] = 0x314b, - [0x0135] = 0x314c, [0x0136] = 0x314d, [0x0137] = 0x314e, [0x0138] = 0x314f, - [0x0139] = 0x3150, [0x013a] = 0x3151, [0x013b] = 0x3152, [0x013c] = 0x3153, - [0x013d] = 0x3154, [0x013e] = 0x3155, [0x013f] = 0x3156, [0x0140] = 0x3157, - [0x0141] = 0x3158, [0x0142] = 0x3159, [0x0143] = 0x315a, [0x0144] = 0x315b, - [0x0145] = 0x315c, [0x0146] = 0x315d, [0x0147] = 0x315e, [0x0148] = 0x315f, - [0x0149] = 0x3160, [0x014a] = 0x3161, [0x014b] = 0x3162, [0x014c] = 0x3163, - [0x014d] = 0x3164, [0x014e] = 0x3165, [0x014f] = 0x3166, [0x0150] = 0x3167, - [0x0151] = 0x3168, [0x0152] = 0x3169, [0x0153] = 0x316a, [0x0154] = 0x316b, - [0x0155] = 0x316c, [0x0156] = 0x316d, [0x0157] = 0x316e, [0x0158] = 0x316f, - [0x0159] = 0x3170, [0x015a] = 0x3171, [0x015b] = 0x3172, [0x015c] = 0x3173, - [0x015d] = 0x3174, [0x015e] = 0x3175, [0x015f] = 0x3176, [0x0160] = 0x3177, - [0x0161] = 0x3178, [0x0162] = 0x3179, [0x0163] = 0x317a, [0x0164] = 0x317b, - [0x0165] = 0x317c, [0x0166] = 0x317d, [0x0167] = 0x317e, [0x0168] = 0x317f, - [0x0169] = 0x3180, [0x016a] = 0x3181, [0x016b] = 0x3182, [0x016c] = 0x3183, - [0x016d] = 0x3184, [0x016e] = 0x3185, [0x016f] = 0x3186, [0x0170] = 0x3187, - [0x0171] = 0x3188, [0x0172] = 0x3189, [0x0173] = 0x318a, [0x0174] = 0x318b, - [0x0175] = 0x318c, [0x0176] = 0x318d, [0x0177] = 0x318e, [0x0178] = 0x2170, - [0x0179] = 0x2171, [0x017a] = 0x2172, [0x017b] = 0x2173, [0x017c] = 0x2174, - [0x017d] = 0x2175, [0x017e] = 0x2176, [0x017f] = 0x2177, [0x0180] = 0x2178, - [0x0181] = 0x2179, [0x0187] = 0x2160, [0x0188] = 0x2161, [0x0189] = 0x2162, - [0x018a] = 0x2163, [0x018b] = 0x2164, [0x018c] = 0x2165, [0x018d] = 0x2166, - [0x018e] = 0x2167, [0x018f] = 0x2168, [0x0190] = 0x2169, [0x0198] = 0x0391, - [0x0199] = 0x0392, [0x019a] = 0x0393, [0x019b] = 0x0394, [0x019c] = 0x0395, - [0x019d] = 0x0396, [0x019e] = 0x0397, [0x019f] = 0x0398, [0x01a0] = 0x0399, - [0x01a1] = 0x039a, [0x01a2] = 0x039b, [0x01a3] = 0x039c, [0x01a4] = 0x039d, - [0x01a5] = 0x039e, [0x01a6] = 0x039f, [0x01a7] = 0x03a0, [0x01a8] = 0x03a1, - [0x01a9] = 0x03a3, [0x01aa] = 0x03a4, [0x01ab] = 0x03a5, [0x01ac] = 0x03a6, - [0x01ad] = 0x03a7, [0x01ae] = 0x03a8, [0x01af] = 0x03a9, [0x01b8] = 0x03b1, - [0x01b9] = 0x03b2, [0x01ba] = 0x03b3, [0x01bb] = 0x03b4, [0x01bc] = 0x03b5, - [0x01bd] = 0x03b6, [0x01be] = 0x03b7, [0x01bf] = 0x03b8, [0x01c0] = 0x03b9, - [0x01c1] = 0x03ba, [0x01c2] = 0x03bb, [0x01c3] = 0x03bc, [0x01c4] = 0x03bd, - [0x01c5] = 0x03be, [0x01c6] = 0x03bf, [0x01c7] = 0x03c0, [0x01c8] = 0x03c1, - [0x01c9] = 0x03c3, [0x01ca] = 0x03c4, [0x01cb] = 0x03c5, [0x01cc] = 0x03c6, - [0x01cd] = 0x03c7, [0x01ce] = 0x03c8, [0x01cf] = 0x03c9, [0x01d6] = 0x2500, - [0x01d7] = 0x2502, [0x01d8] = 0x250c, [0x01d9] = 0x2510, [0x01da] = 0x2518, - [0x01db] = 0x2514, [0x01dc] = 0x251c, [0x01dd] = 0x252c, [0x01de] = 0x2524, - [0x01df] = 0x2534, [0x01e0] = 0x253c, [0x01e1] = 0x2501, [0x01e2] = 0x2503, - [0x01e3] = 0x250f, [0x01e4] = 0x2513, [0x01e5] = 0x251b, [0x01e6] = 0x2517, - [0x01e7] = 0x2523, [0x01e8] = 0x2533, [0x01e9] = 0x252b, [0x01ea] = 0x253b, - [0x01eb] = 0x254b, [0x01ec] = 0x2520, [0x01ed] = 0x252f, [0x01ee] = 0x2528, - [0x01ef] = 0x2537, [0x01f0] = 0x253f, [0x01f1] = 0x251d, [0x01f2] = 0x2530, - [0x01f3] = 0x2525, [0x01f4] = 0x2538, [0x01f5] = 0x2542, [0x01f6] = 0x2512, - [0x01f7] = 0x2511, [0x01f8] = 0x251a, [0x01f9] = 0x2519, [0x01fa] = 0x2516, - [0x01fb] = 0x2515, [0x01fc] = 0x250e, [0x01fd] = 0x250d, [0x01fe] = 0x251e, - [0x01ff] = 0x251f, [0x0200] = 0x2521, [0x0201] = 0x2522, [0x0202] = 0x2526, - [0x0203] = 0x2527, [0x0204] = 0x2529, [0x0205] = 0x252a, [0x0206] = 0x252d, - [0x0207] = 0x252e, [0x0208] = 0x2531, [0x0209] = 0x2532, [0x020a] = 0x2535, - [0x020b] = 0x2536, [0x020c] = 0x2539, [0x020d] = 0x253a, [0x020e] = 0x253d, - [0x020f] = 0x253e, [0x0210] = 0x2540, [0x0211] = 0x2541, [0x0212] = 0x2543, - [0x0213] = 0x2544, [0x0214] = 0x2545, [0x0215] = 0x2546, [0x0216] = 0x2547, - [0x0217] = 0x2548, [0x0218] = 0x2549, [0x0219] = 0x254a, [0x0234] = 0x3395, - [0x0235] = 0x3396, [0x0236] = 0x3397, [0x0237] = 0x2113, [0x0238] = 0x3398, - [0x0239] = 0x33c4, [0x023a] = 0x33a3, [0x023b] = 0x33a4, [0x023c] = 0x33a5, - [0x023d] = 0x33a6, [0x023e] = 0x3399, [0x023f] = 0x339a, [0x0240] = 0x339b, - [0x0241] = 0x339c, [0x0242] = 0x339d, [0x0243] = 0x339e, [0x0244] = 0x339f, - [0x0245] = 0x33a0, [0x0246] = 0x33a1, [0x0247] = 0x33a2, [0x0248] = 0x33ca, - [0x0249] = 0x338d, [0x024a] = 0x338e, [0x024b] = 0x338f, [0x024c] = 0x33cf, - [0x024d] = 0x3388, [0x024e] = 0x3389, [0x024f] = 0x33c8, [0x0250] = 0x33a7, - [0x0251] = 0x33a8, [0x0252] = 0x33b0, [0x0253] = 0x33b1, [0x0254] = 0x33b2, - [0x0255] = 0x33b3, [0x0256] = 0x33b4, [0x0257] = 0x33b5, [0x0258] = 0x33b6, - [0x0259] = 0x33b7, [0x025a] = 0x33b8, [0x025b] = 0x33b9, [0x025c] = 0x3380, - [0x025d] = 0x3381, [0x025e] = 0x3382, [0x025f] = 0x3383, [0x0260] = 0x3384, - [0x0261] = 0x33ba, [0x0262] = 0x33bb, [0x0263] = 0x33bc, [0x0264] = 0x33bd, - [0x0265] = 0x33be, [0x0266] = 0x33bf, [0x0267] = 0x3390, [0x0268] = 0x3391, - [0x0269] = 0x3392, [0x026a] = 0x3393, [0x026b] = 0x3394, [0x026c] = 0x2126, - [0x026d] = 0x33c0, [0x026e] = 0x33c1, [0x026f] = 0x338a, [0x0270] = 0x338b, - [0x0271] = 0x338c, [0x0272] = 0x33d6, [0x0273] = 0x33c5, [0x0274] = 0x33ad, - [0x0275] = 0x33ae, [0x0276] = 0x33af, [0x0277] = 0x33db, [0x0278] = 0x33a9, - [0x0279] = 0x33aa, [0x027a] = 0x33ab, [0x027b] = 0x33ac, [0x027c] = 0x33dd, - [0x027d] = 0x33d0, [0x027e] = 0x33d3, [0x027f] = 0x33c3, [0x0280] = 0x33c9, - [0x0281] = 0x33dc, [0x0282] = 0x33c6, [0x0292] = 0x00c6, [0x0293] = 0x00d0, - [0x0294] = 0x00aa, [0x0295] = 0x0126, [0x0297] = 0x0132, [0x0299] = 0x013f, - [0x029a] = 0x0141, [0x029b] = 0x00d8, [0x029c] = 0x0152, [0x029d] = 0x00ba, - [0x029e] = 0x00de, [0x029f] = 0x0166, [0x02a0] = 0x014a, [0x02a2] = 0x3260, - [0x02a3] = 0x3261, [0x02a4] = 0x3262, [0x02a5] = 0x3263, [0x02a6] = 0x3264, - [0x02a7] = 0x3265, [0x02a8] = 0x3266, [0x02a9] = 0x3267, [0x02aa] = 0x3268, - [0x02ab] = 0x3269, [0x02ac] = 0x326a, [0x02ad] = 0x326b, [0x02ae] = 0x326c, - [0x02af] = 0x326d, [0x02b0] = 0x326e, [0x02b1] = 0x326f, [0x02b2] = 0x3270, - [0x02b3] = 0x3271, [0x02b4] = 0x3272, [0x02b5] = 0x3273, [0x02b6] = 0x3274, - [0x02b7] = 0x3275, [0x02b8] = 0x3276, [0x02b9] = 0x3277, [0x02ba] = 0x3278, - [0x02bb] = 0x3279, [0x02bc] = 0x327a, [0x02bd] = 0x327b, [0x02be] = 0x24d0, - [0x02bf] = 0x24d1, [0x02c0] = 0x24d2, [0x02c1] = 0x24d3, [0x02c2] = 0x24d4, - [0x02c3] = 0x24d5, [0x02c4] = 0x24d6, [0x02c5] = 0x24d7, [0x02c6] = 0x24d8, - [0x02c7] = 0x24d9, [0x02c8] = 0x24da, [0x02c9] = 0x24db, [0x02ca] = 0x24dc, - [0x02cb] = 0x24dd, [0x02cc] = 0x24de, [0x02cd] = 0x24df, [0x02ce] = 0x24e0, - [0x02cf] = 0x24e1, [0x02d0] = 0x24e2, [0x02d1] = 0x24e3, [0x02d2] = 0x24e4, - [0x02d3] = 0x24e5, [0x02d4] = 0x24e6, [0x02d5] = 0x24e7, [0x02d6] = 0x24e8, - [0x02d7] = 0x24e9, [0x02d8] = 0x2460, [0x02d9] = 0x2461, [0x02da] = 0x2462, - [0x02db] = 0x2463, [0x02dc] = 0x2464, [0x02dd] = 0x2465, [0x02de] = 0x2466, - [0x02df] = 0x2467, [0x02e0] = 0x2468, [0x02e1] = 0x2469, [0x02e2] = 0x246a, - [0x02e3] = 0x246b, [0x02e4] = 0x246c, [0x02e5] = 0x246d, [0x02e6] = 0x246e, - [0x02e7] = 0x00bd, [0x02e8] = 0x2153, [0x02e9] = 0x2154, [0x02ea] = 0x00bc, - [0x02eb] = 0x00be, [0x02ec] = 0x215b, [0x02ed] = 0x215c, [0x02ee] = 0x215d, - [0x02ef] = 0x215e, [0x02f0] = 0x00e6, [0x02f1] = 0x0111, [0x02f2] = 0x00f0, - [0x02f3] = 0x0127, [0x02f4] = 0x0131, [0x02f5] = 0x0133, [0x02f6] = 0x0138, - [0x02f7] = 0x0140, [0x02f8] = 0x0142, [0x02f9] = 0x00f8, [0x02fa] = 0x0153, - [0x02fb] = 0x00df, [0x02fc] = 0x00fe, [0x02fd] = 0x0167, [0x02fe] = 0x014b, - [0x02ff] = 0x0149, [0x0300] = 0x3200, [0x0301] = 0x3201, [0x0302] = 0x3202, - [0x0303] = 0x3203, [0x0304] = 0x3204, [0x0305] = 0x3205, [0x0306] = 0x3206, - [0x0307] = 0x3207, [0x0308] = 0x3208, [0x0309] = 0x3209, [0x030a] = 0x320a, - [0x030b] = 0x320b, [0x030c] = 0x320c, [0x030d] = 0x320d, [0x030e] = 0x320e, - [0x030f] = 0x320f, [0x0310] = 0x3210, [0x0311] = 0x3211, [0x0312] = 0x3212, - [0x0313] = 0x3213, [0x0314] = 0x3214, [0x0315] = 0x3215, [0x0316] = 0x3216, - [0x0317] = 0x3217, [0x0318] = 0x3218, [0x0319] = 0x3219, [0x031a] = 0x321a, - [0x031b] = 0x321b, [0x031c] = 0x249c, [0x031d] = 0x249d, [0x031e] = 0x249e, - [0x031f] = 0x249f, [0x0320] = 0x24a0, [0x0321] = 0x24a1, [0x0322] = 0x24a2, - [0x0323] = 0x24a3, [0x0324] = 0x24a4, [0x0325] = 0x24a5, [0x0326] = 0x24a6, - [0x0327] = 0x24a7, [0x0328] = 0x24a8, [0x0329] = 0x24a9, [0x032a] = 0x24aa, - [0x032b] = 0x24ab, [0x032c] = 0x24ac, [0x032d] = 0x24ad, [0x032e] = 0x24ae, - [0x032f] = 0x24af, [0x0330] = 0x24b0, [0x0331] = 0x24b1, [0x0332] = 0x24b2, - [0x0333] = 0x24b3, [0x0334] = 0x24b4, [0x0335] = 0x24b5, [0x0336] = 0x2474, - [0x0337] = 0x2475, [0x0338] = 0x2476, [0x0339] = 0x2477, [0x033a] = 0x2478, - [0x033b] = 0x2479, [0x033c] = 0x247a, [0x033d] = 0x247b, [0x033e] = 0x247c, - [0x033f] = 0x247d, [0x0340] = 0x247e, [0x0341] = 0x247f, [0x0342] = 0x2480, - [0x0343] = 0x2481, [0x0344] = 0x2482, [0x0345] = 0x00b9, [0x0346] = 0x00b2, - [0x0347] = 0x00b3, [0x0348] = 0x2074, [0x0349] = 0x207f, [0x034a] = 0x2081, - [0x034b] = 0x2082, [0x034c] = 0x2083, [0x034d] = 0x2084, [0x034e] = 0x3041, - [0x034f] = 0x3042, [0x0350] = 0x3043, [0x0351] = 0x3044, [0x0352] = 0x3045, - [0x0353] = 0x3046, [0x0354] = 0x3047, [0x0355] = 0x3048, [0x0356] = 0x3049, - [0x0357] = 0x304a, [0x0358] = 0x304b, [0x0359] = 0x304c, [0x035a] = 0x304d, - [0x035b] = 0x304e, [0x035c] = 0x304f, [0x035d] = 0x3050, [0x035e] = 0x3051, - [0x035f] = 0x3052, [0x0360] = 0x3053, [0x0361] = 0x3054, [0x0362] = 0x3055, - [0x0363] = 0x3056, [0x0364] = 0x3057, [0x0365] = 0x3058, [0x0366] = 0x3059, - [0x0367] = 0x305a, [0x0368] = 0x305b, [0x0369] = 0x305c, [0x036a] = 0x305d, - [0x036b] = 0x305e, [0x036c] = 0x305f, [0x036d] = 0x3060, [0x036e] = 0x3061, - [0x036f] = 0x3062, [0x0370] = 0x3063, [0x0371] = 0x3064, [0x0372] = 0x3065, - [0x0373] = 0x3066, [0x0374] = 0x3067, [0x0375] = 0x3068, [0x0376] = 0x3069, - [0x0377] = 0x306a, [0x0378] = 0x306b, [0x0379] = 0x306c, [0x037a] = 0x306d, - [0x037b] = 0x306e, [0x037c] = 0x306f, [0x037d] = 0x3070, [0x037e] = 0x3071, - [0x037f] = 0x3072, [0x0380] = 0x3073, [0x0381] = 0x3074, [0x0382] = 0x3075, - [0x0383] = 0x3076, [0x0384] = 0x3077, [0x0385] = 0x3078, [0x0386] = 0x3079, - [0x0387] = 0x307a, [0x0388] = 0x307b, [0x0389] = 0x307c, [0x038a] = 0x307d, - [0x038b] = 0x307e, [0x038c] = 0x307f, [0x038d] = 0x3080, [0x038e] = 0x3081, - [0x038f] = 0x3082, [0x0390] = 0x3083, [0x0391] = 0x3084, [0x0392] = 0x3085, - [0x0393] = 0x3086, [0x0394] = 0x3087, [0x0395] = 0x3088, [0x0396] = 0x3089, - [0x0397] = 0x308a, [0x0398] = 0x308b, [0x0399] = 0x308c, [0x039a] = 0x308d, - [0x039b] = 0x308e, [0x039c] = 0x308f, [0x039d] = 0x3090, [0x039e] = 0x3091, - [0x039f] = 0x3092, [0x03a0] = 0x3093, [0x03ac] = 0x30a1, [0x03ad] = 0x30a2, - [0x03ae] = 0x30a3, [0x03af] = 0x30a4, [0x03b0] = 0x30a5, [0x03b1] = 0x30a6, - [0x03b2] = 0x30a7, [0x03b3] = 0x30a8, [0x03b4] = 0x30a9, [0x03b5] = 0x30aa, - [0x03b6] = 0x30ab, [0x03b7] = 0x30ac, [0x03b8] = 0x30ad, [0x03b9] = 0x30ae, - [0x03ba] = 0x30af, [0x03bb] = 0x30b0, [0x03bc] = 0x30b1, [0x03bd] = 0x30b2, - [0x03be] = 0x30b3, [0x03bf] = 0x30b4, [0x03c0] = 0x30b5, [0x03c1] = 0x30b6, - [0x03c2] = 0x30b7, [0x03c3] = 0x30b8, [0x03c4] = 0x30b9, [0x03c5] = 0x30ba, - [0x03c6] = 0x30bb, [0x03c7] = 0x30bc, [0x03c8] = 0x30bd, [0x03c9] = 0x30be, - [0x03ca] = 0x30bf, [0x03cb] = 0x30c0, [0x03cc] = 0x30c1, [0x03cd] = 0x30c2, - [0x03ce] = 0x30c3, [0x03cf] = 0x30c4, [0x03d0] = 0x30c5, [0x03d1] = 0x30c6, - [0x03d2] = 0x30c7, [0x03d3] = 0x30c8, [0x03d4] = 0x30c9, [0x03d5] = 0x30ca, - [0x03d6] = 0x30cb, [0x03d7] = 0x30cc, [0x03d8] = 0x30cd, [0x03d9] = 0x30ce, - [0x03da] = 0x30cf, [0x03db] = 0x30d0, [0x03dc] = 0x30d1, [0x03dd] = 0x30d2, - [0x03de] = 0x30d3, [0x03df] = 0x30d4, [0x03e0] = 0x30d5, [0x03e1] = 0x30d6, - [0x03e2] = 0x30d7, [0x03e3] = 0x30d8, [0x03e4] = 0x30d9, [0x03e5] = 0x30da, - [0x03e6] = 0x30db, [0x03e7] = 0x30dc, [0x03e8] = 0x30dd, [0x03e9] = 0x30de, - [0x03ea] = 0x30df, [0x03eb] = 0x30e0, [0x03ec] = 0x30e1, [0x03ed] = 0x30e2, - [0x03ee] = 0x30e3, [0x03ef] = 0x30e4, [0x03f0] = 0x30e5, [0x03f1] = 0x30e6, - [0x03f2] = 0x30e7, [0x03f3] = 0x30e8, [0x03f4] = 0x30e9, [0x03f5] = 0x30ea, - [0x03f6] = 0x30eb, [0x03f7] = 0x30ec, [0x03f8] = 0x30ed, [0x03f9] = 0x30ee, - [0x03fa] = 0x30ef, [0x03fb] = 0x30f0, [0x03fc] = 0x30f1, [0x03fd] = 0x30f2, - [0x03fe] = 0x30f3, [0x03ff] = 0x30f4, [0x0400] = 0x30f5, [0x0401] = 0x30f6, - [0x040a] = 0x0410, [0x040b] = 0x0411, [0x040c] = 0x0412, [0x040d] = 0x0413, - [0x040e] = 0x0414, [0x040f] = 0x0415, [0x0410] = 0x0401, [0x0411] = 0x0416, - [0x0412] = 0x0417, [0x0413] = 0x0418, [0x0414] = 0x0419, [0x0415] = 0x041a, - [0x0416] = 0x041b, [0x0417] = 0x041c, [0x0418] = 0x041d, [0x0419] = 0x041e, - [0x041a] = 0x041f, [0x041b] = 0x0420, [0x041c] = 0x0421, [0x041d] = 0x0422, - [0x041e] = 0x0423, [0x041f] = 0x0424, [0x0420] = 0x0425, [0x0421] = 0x0426, - [0x0422] = 0x0427, [0x0423] = 0x0428, [0x0424] = 0x0429, [0x0425] = 0x042a, - [0x0426] = 0x042b, [0x0427] = 0x042c, [0x0428] = 0x042d, [0x0429] = 0x042e, - [0x042a] = 0x042f, [0x043a] = 0x0430, [0x043b] = 0x0431, [0x043c] = 0x0432, - [0x043d] = 0x0433, [0x043e] = 0x0434, [0x043f] = 0x0435, [0x0440] = 0x0451, - [0x0441] = 0x0436, [0x0442] = 0x0437, [0x0443] = 0x0438, [0x0444] = 0x0439, - [0x0445] = 0x043a, [0x0446] = 0x043b, [0x0447] = 0x043c, [0x0448] = 0x043d, - [0x0449] = 0x043e, [0x044a] = 0x043f, [0x044b] = 0x0440, [0x044c] = 0x0441, - [0x044d] = 0x0442, [0x044e] = 0x0443, [0x044f] = 0x0444, [0x0450] = 0x0445, - [0x0451] = 0x0446, [0x0452] = 0x0447, [0x0453] = 0x0448, [0x0454] = 0x0449, - [0x0455] = 0x044a, [0x0456] = 0x044b, [0x0457] = 0x044c, [0x0458] = 0x044d, - [0x0459] = 0x044e, [0x045a] = 0x044f + [0x00a0] = 0x33c2, [0x00a1] = 0x33d8, [0x00a2] = 0x2121, [0x00a3] = 0x20ac, + [0x00a4] = 0x00ae, [0x00bc] = 0xff01, [0x00bd] = 0xff02, [0x00be] = 0xff03, + [0x00bf] = 0xff04, [0x00c0] = 0xff05, [0x00c1] = 0xff06, [0x00c2] = 0xff07, + [0x00c3] = 0xff08, [0x00c4] = 0xff09, [0x00c5] = 0xff0a, [0x00c6] = 0xff0b, + [0x00c7] = 0xff0c, [0x00c8] = 0xff0d, [0x00c9] = 0xff0e, [0x00ca] = 0xff0f, + [0x00cb] = 0xff10, [0x00cc] = 0xff11, [0x00cd] = 0xff12, [0x00ce] = 0xff13, + [0x00cf] = 0xff14, [0x00d0] = 0xff15, [0x00d1] = 0xff16, [0x00d2] = 0xff17, + [0x00d3] = 0xff18, [0x00d4] = 0xff19, [0x00d5] = 0xff1a, [0x00d6] = 0xff1b, + [0x00d7] = 0xff1c, [0x00d8] = 0xff1d, [0x00d9] = 0xff1e, [0x00da] = 0xff1f, + [0x00db] = 0xff20, [0x00dc] = 0xff21, [0x00dd] = 0xff22, [0x00de] = 0xff23, + [0x00df] = 0xff24, [0x00e0] = 0xff25, [0x00e1] = 0xff26, [0x00e2] = 0xff27, + [0x00e3] = 0xff28, [0x00e4] = 0xff29, [0x00e5] = 0xff2a, [0x00e6] = 0xff2b, + [0x00e7] = 0xff2c, [0x00e8] = 0xff2d, [0x00e9] = 0xff2e, [0x00ea] = 0xff2f, + [0x00eb] = 0xff30, [0x00ec] = 0xff31, [0x00ed] = 0xff32, [0x00ee] = 0xff33, + [0x00ef] = 0xff34, [0x00f0] = 0xff35, [0x00f1] = 0xff36, [0x00f2] = 0xff37, + [0x00f3] = 0xff38, [0x00f4] = 0xff39, [0x00f5] = 0xff3a, [0x00f6] = 0xff3b, + [0x00f7] = 0xffe6, [0x00f8] = 0xff3d, [0x00f9] = 0xff3e, [0x00fa] = 0xff3f, + [0x00fb] = 0xff40, [0x00fc] = 0xff41, [0x00fd] = 0xff42, [0x00fe] = 0xff43, + [0x00ff] = 0xff44, [0x0100] = 0xff45, [0x0101] = 0xff46, [0x0102] = 0xff47, + [0x0103] = 0xff48, [0x0104] = 0xff49, [0x0105] = 0xff4a, [0x0106] = 0xff4b, + [0x0107] = 0xff4c, [0x0108] = 0xff4d, [0x0109] = 0xff4e, [0x010a] = 0xff4f, + [0x010b] = 0xff50, [0x010c] = 0xff51, [0x010d] = 0xff52, [0x010e] = 0xff53, + [0x010f] = 0xff54, [0x0110] = 0xff55, [0x0111] = 0xff56, [0x0112] = 0xff57, + [0x0113] = 0xff58, [0x0114] = 0xff59, [0x0115] = 0xff5a, [0x0116] = 0xff5b, + [0x0117] = 0xff5c, [0x0118] = 0xff5d, [0x0119] = 0xffe3, [0x011a] = 0x3131, + [0x011b] = 0x3132, [0x011c] = 0x3133, [0x011d] = 0x3134, [0x011e] = 0x3135, + [0x011f] = 0x3136, [0x0120] = 0x3137, [0x0121] = 0x3138, [0x0122] = 0x3139, + [0x0123] = 0x313a, [0x0124] = 0x313b, [0x0125] = 0x313c, [0x0126] = 0x313d, + [0x0127] = 0x313e, [0x0128] = 0x313f, [0x0129] = 0x3140, [0x012a] = 0x3141, + [0x012b] = 0x3142, [0x012c] = 0x3143, [0x012d] = 0x3144, [0x012e] = 0x3145, + [0x012f] = 0x3146, [0x0130] = 0x3147, [0x0131] = 0x3148, [0x0132] = 0x3149, + [0x0133] = 0x314a, [0x0134] = 0x314b, [0x0135] = 0x314c, [0x0136] = 0x314d, + [0x0137] = 0x314e, [0x0138] = 0x314f, [0x0139] = 0x3150, [0x013a] = 0x3151, + [0x013b] = 0x3152, [0x013c] = 0x3153, [0x013d] = 0x3154, [0x013e] = 0x3155, + [0x013f] = 0x3156, [0x0140] = 0x3157, [0x0141] = 0x3158, [0x0142] = 0x3159, + [0x0143] = 0x315a, [0x0144] = 0x315b, [0x0145] = 0x315c, [0x0146] = 0x315d, + [0x0147] = 0x315e, [0x0148] = 0x315f, [0x0149] = 0x3160, [0x014a] = 0x3161, + [0x014b] = 0x3162, [0x014c] = 0x3163, [0x014d] = 0x3164, [0x014e] = 0x3165, + [0x014f] = 0x3166, [0x0150] = 0x3167, [0x0151] = 0x3168, [0x0152] = 0x3169, + [0x0153] = 0x316a, [0x0154] = 0x316b, [0x0155] = 0x316c, [0x0156] = 0x316d, + [0x0157] = 0x316e, [0x0158] = 0x316f, [0x0159] = 0x3170, [0x015a] = 0x3171, + [0x015b] = 0x3172, [0x015c] = 0x3173, [0x015d] = 0x3174, [0x015e] = 0x3175, + [0x015f] = 0x3176, [0x0160] = 0x3177, [0x0161] = 0x3178, [0x0162] = 0x3179, + [0x0163] = 0x317a, [0x0164] = 0x317b, [0x0165] = 0x317c, [0x0166] = 0x317d, + [0x0167] = 0x317e, [0x0168] = 0x317f, [0x0169] = 0x3180, [0x016a] = 0x3181, + [0x016b] = 0x3182, [0x016c] = 0x3183, [0x016d] = 0x3184, [0x016e] = 0x3185, + [0x016f] = 0x3186, [0x0170] = 0x3187, [0x0171] = 0x3188, [0x0172] = 0x3189, + [0x0173] = 0x318a, [0x0174] = 0x318b, [0x0175] = 0x318c, [0x0176] = 0x318d, + [0x0177] = 0x318e, [0x0178] = 0x2170, [0x0179] = 0x2171, [0x017a] = 0x2172, + [0x017b] = 0x2173, [0x017c] = 0x2174, [0x017d] = 0x2175, [0x017e] = 0x2176, + [0x017f] = 0x2177, [0x0180] = 0x2178, [0x0181] = 0x2179, [0x0187] = 0x2160, + [0x0188] = 0x2161, [0x0189] = 0x2162, [0x018a] = 0x2163, [0x018b] = 0x2164, + [0x018c] = 0x2165, [0x018d] = 0x2166, [0x018e] = 0x2167, [0x018f] = 0x2168, + [0x0190] = 0x2169, [0x0198] = 0x0391, [0x0199] = 0x0392, [0x019a] = 0x0393, + [0x019b] = 0x0394, [0x019c] = 0x0395, [0x019d] = 0x0396, [0x019e] = 0x0397, + [0x019f] = 0x0398, [0x01a0] = 0x0399, [0x01a1] = 0x039a, [0x01a2] = 0x039b, + [0x01a3] = 0x039c, [0x01a4] = 0x039d, [0x01a5] = 0x039e, [0x01a6] = 0x039f, + [0x01a7] = 0x03a0, [0x01a8] = 0x03a1, [0x01a9] = 0x03a3, [0x01aa] = 0x03a4, + [0x01ab] = 0x03a5, [0x01ac] = 0x03a6, [0x01ad] = 0x03a7, [0x01ae] = 0x03a8, + [0x01af] = 0x03a9, [0x01b8] = 0x03b1, [0x01b9] = 0x03b2, [0x01ba] = 0x03b3, + [0x01bb] = 0x03b4, [0x01bc] = 0x03b5, [0x01bd] = 0x03b6, [0x01be] = 0x03b7, + [0x01bf] = 0x03b8, [0x01c0] = 0x03b9, [0x01c1] = 0x03ba, [0x01c2] = 0x03bb, + [0x01c3] = 0x03bc, [0x01c4] = 0x03bd, [0x01c5] = 0x03be, [0x01c6] = 0x03bf, + [0x01c7] = 0x03c0, [0x01c8] = 0x03c1, [0x01c9] = 0x03c3, [0x01ca] = 0x03c4, + [0x01cb] = 0x03c5, [0x01cc] = 0x03c6, [0x01cd] = 0x03c7, [0x01ce] = 0x03c8, + [0x01cf] = 0x03c9, [0x01d6] = 0x2500, [0x01d7] = 0x2502, [0x01d8] = 0x250c, + [0x01d9] = 0x2510, [0x01da] = 0x2518, [0x01db] = 0x2514, [0x01dc] = 0x251c, + [0x01dd] = 0x252c, [0x01de] = 0x2524, [0x01df] = 0x2534, [0x01e0] = 0x253c, + [0x01e1] = 0x2501, [0x01e2] = 0x2503, [0x01e3] = 0x250f, [0x01e4] = 0x2513, + [0x01e5] = 0x251b, [0x01e6] = 0x2517, [0x01e7] = 0x2523, [0x01e8] = 0x2533, + [0x01e9] = 0x252b, [0x01ea] = 0x253b, [0x01eb] = 0x254b, [0x01ec] = 0x2520, + [0x01ed] = 0x252f, [0x01ee] = 0x2528, [0x01ef] = 0x2537, [0x01f0] = 0x253f, + [0x01f1] = 0x251d, [0x01f2] = 0x2530, [0x01f3] = 0x2525, [0x01f4] = 0x2538, + [0x01f5] = 0x2542, [0x01f6] = 0x2512, [0x01f7] = 0x2511, [0x01f8] = 0x251a, + [0x01f9] = 0x2519, [0x01fa] = 0x2516, [0x01fb] = 0x2515, [0x01fc] = 0x250e, + [0x01fd] = 0x250d, [0x01fe] = 0x251e, [0x01ff] = 0x251f, [0x0200] = 0x2521, + [0x0201] = 0x2522, [0x0202] = 0x2526, [0x0203] = 0x2527, [0x0204] = 0x2529, + [0x0205] = 0x252a, [0x0206] = 0x252d, [0x0207] = 0x252e, [0x0208] = 0x2531, + [0x0209] = 0x2532, [0x020a] = 0x2535, [0x020b] = 0x2536, [0x020c] = 0x2539, + [0x020d] = 0x253a, [0x020e] = 0x253d, [0x020f] = 0x253e, [0x0210] = 0x2540, + [0x0211] = 0x2541, [0x0212] = 0x2543, [0x0213] = 0x2544, [0x0214] = 0x2545, + [0x0215] = 0x2546, [0x0216] = 0x2547, [0x0217] = 0x2548, [0x0218] = 0x2549, + [0x0219] = 0x254a, [0x0234] = 0x3395, [0x0235] = 0x3396, [0x0236] = 0x3397, + [0x0237] = 0x2113, [0x0238] = 0x3398, [0x0239] = 0x33c4, [0x023a] = 0x33a3, + [0x023b] = 0x33a4, [0x023c] = 0x33a5, [0x023d] = 0x33a6, [0x023e] = 0x3399, + [0x023f] = 0x339a, [0x0240] = 0x339b, [0x0241] = 0x339c, [0x0242] = 0x339d, + [0x0243] = 0x339e, [0x0244] = 0x339f, [0x0245] = 0x33a0, [0x0246] = 0x33a1, + [0x0247] = 0x33a2, [0x0248] = 0x33ca, [0x0249] = 0x338d, [0x024a] = 0x338e, + [0x024b] = 0x338f, [0x024c] = 0x33cf, [0x024d] = 0x3388, [0x024e] = 0x3389, + [0x024f] = 0x33c8, [0x0250] = 0x33a7, [0x0251] = 0x33a8, [0x0252] = 0x33b0, + [0x0253] = 0x33b1, [0x0254] = 0x33b2, [0x0255] = 0x33b3, [0x0256] = 0x33b4, + [0x0257] = 0x33b5, [0x0258] = 0x33b6, [0x0259] = 0x33b7, [0x025a] = 0x33b8, + [0x025b] = 0x33b9, [0x025c] = 0x3380, [0x025d] = 0x3381, [0x025e] = 0x3382, + [0x025f] = 0x3383, [0x0260] = 0x3384, [0x0261] = 0x33ba, [0x0262] = 0x33bb, + [0x0263] = 0x33bc, [0x0264] = 0x33bd, [0x0265] = 0x33be, [0x0266] = 0x33bf, + [0x0267] = 0x3390, [0x0268] = 0x3391, [0x0269] = 0x3392, [0x026a] = 0x3393, + [0x026b] = 0x3394, [0x026c] = 0x2126, [0x026d] = 0x33c0, [0x026e] = 0x33c1, + [0x026f] = 0x338a, [0x0270] = 0x338b, [0x0271] = 0x338c, [0x0272] = 0x33d6, + [0x0273] = 0x33c5, [0x0274] = 0x33ad, [0x0275] = 0x33ae, [0x0276] = 0x33af, + [0x0277] = 0x33db, [0x0278] = 0x33a9, [0x0279] = 0x33aa, [0x027a] = 0x33ab, + [0x027b] = 0x33ac, [0x027c] = 0x33dd, [0x027d] = 0x33d0, [0x027e] = 0x33d3, + [0x027f] = 0x33c3, [0x0280] = 0x33c9, [0x0281] = 0x33dc, [0x0282] = 0x33c6, + [0x0292] = 0x00c6, [0x0293] = 0x00d0, [0x0294] = 0x00aa, [0x0295] = 0x0126, + [0x0297] = 0x0132, [0x0299] = 0x013f, [0x029a] = 0x0141, [0x029b] = 0x00d8, + [0x029c] = 0x0152, [0x029d] = 0x00ba, [0x029e] = 0x00de, [0x029f] = 0x0166, + [0x02a0] = 0x014a, [0x02a2] = 0x3260, [0x02a3] = 0x3261, [0x02a4] = 0x3262, + [0x02a5] = 0x3263, [0x02a6] = 0x3264, [0x02a7] = 0x3265, [0x02a8] = 0x3266, + [0x02a9] = 0x3267, [0x02aa] = 0x3268, [0x02ab] = 0x3269, [0x02ac] = 0x326a, + [0x02ad] = 0x326b, [0x02ae] = 0x326c, [0x02af] = 0x326d, [0x02b0] = 0x326e, + [0x02b1] = 0x326f, [0x02b2] = 0x3270, [0x02b3] = 0x3271, [0x02b4] = 0x3272, + [0x02b5] = 0x3273, [0x02b6] = 0x3274, [0x02b7] = 0x3275, [0x02b8] = 0x3276, + [0x02b9] = 0x3277, [0x02ba] = 0x3278, [0x02bb] = 0x3279, [0x02bc] = 0x327a, + [0x02bd] = 0x327b, [0x02be] = 0x24d0, [0x02bf] = 0x24d1, [0x02c0] = 0x24d2, + [0x02c1] = 0x24d3, [0x02c2] = 0x24d4, [0x02c3] = 0x24d5, [0x02c4] = 0x24d6, + [0x02c5] = 0x24d7, [0x02c6] = 0x24d8, [0x02c7] = 0x24d9, [0x02c8] = 0x24da, + [0x02c9] = 0x24db, [0x02ca] = 0x24dc, [0x02cb] = 0x24dd, [0x02cc] = 0x24de, + [0x02cd] = 0x24df, [0x02ce] = 0x24e0, [0x02cf] = 0x24e1, [0x02d0] = 0x24e2, + [0x02d1] = 0x24e3, [0x02d2] = 0x24e4, [0x02d3] = 0x24e5, [0x02d4] = 0x24e6, + [0x02d5] = 0x24e7, [0x02d6] = 0x24e8, [0x02d7] = 0x24e9, [0x02d8] = 0x2460, + [0x02d9] = 0x2461, [0x02da] = 0x2462, [0x02db] = 0x2463, [0x02dc] = 0x2464, + [0x02dd] = 0x2465, [0x02de] = 0x2466, [0x02df] = 0x2467, [0x02e0] = 0x2468, + [0x02e1] = 0x2469, [0x02e2] = 0x246a, [0x02e3] = 0x246b, [0x02e4] = 0x246c, + [0x02e5] = 0x246d, [0x02e6] = 0x246e, [0x02e7] = 0x00bd, [0x02e8] = 0x2153, + [0x02e9] = 0x2154, [0x02ea] = 0x00bc, [0x02eb] = 0x00be, [0x02ec] = 0x215b, + [0x02ed] = 0x215c, [0x02ee] = 0x215d, [0x02ef] = 0x215e, [0x02f0] = 0x00e6, + [0x02f1] = 0x0111, [0x02f2] = 0x00f0, [0x02f3] = 0x0127, [0x02f4] = 0x0131, + [0x02f5] = 0x0133, [0x02f6] = 0x0138, [0x02f7] = 0x0140, [0x02f8] = 0x0142, + [0x02f9] = 0x00f8, [0x02fa] = 0x0153, [0x02fb] = 0x00df, [0x02fc] = 0x00fe, + [0x02fd] = 0x0167, [0x02fe] = 0x014b, [0x02ff] = 0x0149, [0x0300] = 0x3200, + [0x0301] = 0x3201, [0x0302] = 0x3202, [0x0303] = 0x3203, [0x0304] = 0x3204, + [0x0305] = 0x3205, [0x0306] = 0x3206, [0x0307] = 0x3207, [0x0308] = 0x3208, + [0x0309] = 0x3209, [0x030a] = 0x320a, [0x030b] = 0x320b, [0x030c] = 0x320c, + [0x030d] = 0x320d, [0x030e] = 0x320e, [0x030f] = 0x320f, [0x0310] = 0x3210, + [0x0311] = 0x3211, [0x0312] = 0x3212, [0x0313] = 0x3213, [0x0314] = 0x3214, + [0x0315] = 0x3215, [0x0316] = 0x3216, [0x0317] = 0x3217, [0x0318] = 0x3218, + [0x0319] = 0x3219, [0x031a] = 0x321a, [0x031b] = 0x321b, [0x031c] = 0x249c, + [0x031d] = 0x249d, [0x031e] = 0x249e, [0x031f] = 0x249f, [0x0320] = 0x24a0, + [0x0321] = 0x24a1, [0x0322] = 0x24a2, [0x0323] = 0x24a3, [0x0324] = 0x24a4, + [0x0325] = 0x24a5, [0x0326] = 0x24a6, [0x0327] = 0x24a7, [0x0328] = 0x24a8, + [0x0329] = 0x24a9, [0x032a] = 0x24aa, [0x032b] = 0x24ab, [0x032c] = 0x24ac, + [0x032d] = 0x24ad, [0x032e] = 0x24ae, [0x032f] = 0x24af, [0x0330] = 0x24b0, + [0x0331] = 0x24b1, [0x0332] = 0x24b2, [0x0333] = 0x24b3, [0x0334] = 0x24b4, + [0x0335] = 0x24b5, [0x0336] = 0x2474, [0x0337] = 0x2475, [0x0338] = 0x2476, + [0x0339] = 0x2477, [0x033a] = 0x2478, [0x033b] = 0x2479, [0x033c] = 0x247a, + [0x033d] = 0x247b, [0x033e] = 0x247c, [0x033f] = 0x247d, [0x0340] = 0x247e, + [0x0341] = 0x247f, [0x0342] = 0x2480, [0x0343] = 0x2481, [0x0344] = 0x2482, + [0x0345] = 0x00b9, [0x0346] = 0x00b2, [0x0347] = 0x00b3, [0x0348] = 0x2074, + [0x0349] = 0x207f, [0x034a] = 0x2081, [0x034b] = 0x2082, [0x034c] = 0x2083, + [0x034d] = 0x2084, [0x034e] = 0x3041, [0x034f] = 0x3042, [0x0350] = 0x3043, + [0x0351] = 0x3044, [0x0352] = 0x3045, [0x0353] = 0x3046, [0x0354] = 0x3047, + [0x0355] = 0x3048, [0x0356] = 0x3049, [0x0357] = 0x304a, [0x0358] = 0x304b, + [0x0359] = 0x304c, [0x035a] = 0x304d, [0x035b] = 0x304e, [0x035c] = 0x304f, + [0x035d] = 0x3050, [0x035e] = 0x3051, [0x035f] = 0x3052, [0x0360] = 0x3053, + [0x0361] = 0x3054, [0x0362] = 0x3055, [0x0363] = 0x3056, [0x0364] = 0x3057, + [0x0365] = 0x3058, [0x0366] = 0x3059, [0x0367] = 0x305a, [0x0368] = 0x305b, + [0x0369] = 0x305c, [0x036a] = 0x305d, [0x036b] = 0x305e, [0x036c] = 0x305f, + [0x036d] = 0x3060, [0x036e] = 0x3061, [0x036f] = 0x3062, [0x0370] = 0x3063, + [0x0371] = 0x3064, [0x0372] = 0x3065, [0x0373] = 0x3066, [0x0374] = 0x3067, + [0x0375] = 0x3068, [0x0376] = 0x3069, [0x0377] = 0x306a, [0x0378] = 0x306b, + [0x0379] = 0x306c, [0x037a] = 0x306d, [0x037b] = 0x306e, [0x037c] = 0x306f, + [0x037d] = 0x3070, [0x037e] = 0x3071, [0x037f] = 0x3072, [0x0380] = 0x3073, + [0x0381] = 0x3074, [0x0382] = 0x3075, [0x0383] = 0x3076, [0x0384] = 0x3077, + [0x0385] = 0x3078, [0x0386] = 0x3079, [0x0387] = 0x307a, [0x0388] = 0x307b, + [0x0389] = 0x307c, [0x038a] = 0x307d, [0x038b] = 0x307e, [0x038c] = 0x307f, + [0x038d] = 0x3080, [0x038e] = 0x3081, [0x038f] = 0x3082, [0x0390] = 0x3083, + [0x0391] = 0x3084, [0x0392] = 0x3085, [0x0393] = 0x3086, [0x0394] = 0x3087, + [0x0395] = 0x3088, [0x0396] = 0x3089, [0x0397] = 0x308a, [0x0398] = 0x308b, + [0x0399] = 0x308c, [0x039a] = 0x308d, [0x039b] = 0x308e, [0x039c] = 0x308f, + [0x039d] = 0x3090, [0x039e] = 0x3091, [0x039f] = 0x3092, [0x03a0] = 0x3093, + [0x03ac] = 0x30a1, [0x03ad] = 0x30a2, [0x03ae] = 0x30a3, [0x03af] = 0x30a4, + [0x03b0] = 0x30a5, [0x03b1] = 0x30a6, [0x03b2] = 0x30a7, [0x03b3] = 0x30a8, + [0x03b4] = 0x30a9, [0x03b5] = 0x30aa, [0x03b6] = 0x30ab, [0x03b7] = 0x30ac, + [0x03b8] = 0x30ad, [0x03b9] = 0x30ae, [0x03ba] = 0x30af, [0x03bb] = 0x30b0, + [0x03bc] = 0x30b1, [0x03bd] = 0x30b2, [0x03be] = 0x30b3, [0x03bf] = 0x30b4, + [0x03c0] = 0x30b5, [0x03c1] = 0x30b6, [0x03c2] = 0x30b7, [0x03c3] = 0x30b8, + [0x03c4] = 0x30b9, [0x03c5] = 0x30ba, [0x03c6] = 0x30bb, [0x03c7] = 0x30bc, + [0x03c8] = 0x30bd, [0x03c9] = 0x30be, [0x03ca] = 0x30bf, [0x03cb] = 0x30c0, + [0x03cc] = 0x30c1, [0x03cd] = 0x30c2, [0x03ce] = 0x30c3, [0x03cf] = 0x30c4, + [0x03d0] = 0x30c5, [0x03d1] = 0x30c6, [0x03d2] = 0x30c7, [0x03d3] = 0x30c8, + [0x03d4] = 0x30c9, [0x03d5] = 0x30ca, [0x03d6] = 0x30cb, [0x03d7] = 0x30cc, + [0x03d8] = 0x30cd, [0x03d9] = 0x30ce, [0x03da] = 0x30cf, [0x03db] = 0x30d0, + [0x03dc] = 0x30d1, [0x03dd] = 0x30d2, [0x03de] = 0x30d3, [0x03df] = 0x30d4, + [0x03e0] = 0x30d5, [0x03e1] = 0x30d6, [0x03e2] = 0x30d7, [0x03e3] = 0x30d8, + [0x03e4] = 0x30d9, [0x03e5] = 0x30da, [0x03e6] = 0x30db, [0x03e7] = 0x30dc, + [0x03e8] = 0x30dd, [0x03e9] = 0x30de, [0x03ea] = 0x30df, [0x03eb] = 0x30e0, + [0x03ec] = 0x30e1, [0x03ed] = 0x30e2, [0x03ee] = 0x30e3, [0x03ef] = 0x30e4, + [0x03f0] = 0x30e5, [0x03f1] = 0x30e6, [0x03f2] = 0x30e7, [0x03f3] = 0x30e8, + [0x03f4] = 0x30e9, [0x03f5] = 0x30ea, [0x03f6] = 0x30eb, [0x03f7] = 0x30ec, + [0x03f8] = 0x30ed, [0x03f9] = 0x30ee, [0x03fa] = 0x30ef, [0x03fb] = 0x30f0, + [0x03fc] = 0x30f1, [0x03fd] = 0x30f2, [0x03fe] = 0x30f3, [0x03ff] = 0x30f4, + [0x0400] = 0x30f5, [0x0401] = 0x30f6, [0x040a] = 0x0410, [0x040b] = 0x0411, + [0x040c] = 0x0412, [0x040d] = 0x0413, [0x040e] = 0x0414, [0x040f] = 0x0415, + [0x0410] = 0x0401, [0x0411] = 0x0416, [0x0412] = 0x0417, [0x0413] = 0x0418, + [0x0414] = 0x0419, [0x0415] = 0x041a, [0x0416] = 0x041b, [0x0417] = 0x041c, + [0x0418] = 0x041d, [0x0419] = 0x041e, [0x041a] = 0x041f, [0x041b] = 0x0420, + [0x041c] = 0x0421, [0x041d] = 0x0422, [0x041e] = 0x0423, [0x041f] = 0x0424, + [0x0420] = 0x0425, [0x0421] = 0x0426, [0x0422] = 0x0427, [0x0423] = 0x0428, + [0x0424] = 0x0429, [0x0425] = 0x042a, [0x0426] = 0x042b, [0x0427] = 0x042c, + [0x0428] = 0x042d, [0x0429] = 0x042e, [0x042a] = 0x042f, [0x043a] = 0x0430, + [0x043b] = 0x0431, [0x043c] = 0x0432, [0x043d] = 0x0433, [0x043e] = 0x0434, + [0x043f] = 0x0435, [0x0440] = 0x0451, [0x0441] = 0x0436, [0x0442] = 0x0437, + [0x0443] = 0x0438, [0x0444] = 0x0439, [0x0445] = 0x043a, [0x0446] = 0x043b, + [0x0447] = 0x043c, [0x0448] = 0x043d, [0x0449] = 0x043e, [0x044a] = 0x043f, + [0x044b] = 0x0440, [0x044c] = 0x0441, [0x044d] = 0x0442, [0x044e] = 0x0443, + [0x044f] = 0x0444, [0x0450] = 0x0445, [0x0451] = 0x0446, [0x0452] = 0x0447, + [0x0453] = 0x0448, [0x0454] = 0x0449, [0x0455] = 0x044a, [0x0456] = 0x044b, + [0x0457] = 0x044c, [0x0458] = 0x044d, [0x0459] = 0x044e, [0x045a] = 0x044f }; @@ -650,333 +650,334 @@ const struct map __ksc5601_sym_from_ucs[ { {0x00a1, "\x22\x2e"}, {0x00a4, "\x22\x34"}, {0x00a7, "\x21\x57"}, {0x00a8, "\x21\x27"}, {0x00aa, "\x28\x23"}, {0x00ad, "\x21\x29"}, - {0x00b0, "\x21\x46"}, {0x00b1, "\x21\x3e"}, {0x00b2, "\x29\x77"}, - {0x00b3, "\x29\x78"}, {0x00b4, "\x22\x25"}, {0x00b6, "\x22\x52"}, - {0x00b7, "\x21\x24"}, {0x00b8, "\x22\x2c"}, {0x00b9, "\x29\x76"}, - {0x00ba, "\x28\x2c"}, {0x00bc, "\x28\x79"}, {0x00bd, "\x28\x76"}, - {0x00be, "\x28\x7a"}, {0x00bf, "\x22\x2f"}, {0x00c6, "\x28\x21"}, - {0x00d0, "\x28\x22"}, {0x00d7, "\x21\x3f"}, {0x00d8, "\x28\x2a"}, - {0x00de, "\x28\x2d"}, {0x00df, "\x29\x2c"}, {0x00e6, "\x29\x21"}, - {0x00f0, "\x29\x23"}, {0x00f7, "\x21\x40"}, {0x00f8, "\x29\x2a"}, - {0x00fe, "\x29\x2d"}, {0x0111, "\x29\x22"}, {0x0126, "\x28\x24"}, - {0x0127, "\x29\x24"}, {0x0131, "\x29\x25"}, {0x0132, "\x28\x26"}, - {0x0133, "\x29\x26"}, {0x0138, "\x29\x27"}, {0x013f, "\x28\x28"}, - {0x0140, "\x29\x28"}, {0x0141, "\x28\x29"}, {0x0142, "\x29\x29"}, - {0x0149, "\x29\x30"}, {0x014a, "\x28\x2f"}, {0x014b, "\x29\x2f"}, - {0x0152, "\x28\x2b"}, {0x0153, "\x29\x2b"}, {0x0166, "\x28\x2e"}, - {0x0167, "\x29\x2e"}, {0x02c7, "\x22\x27"}, {0x02d0, "\x22\x30"}, - {0x02d8, "\x22\x28"}, {0x02d9, "\x22\x2b"}, {0x02da, "\x22\x2a"}, - {0x02db, "\x22\x2d"}, {0x02dd, "\x22\x29"}, {0x0391, "\x25\x41"}, - {0x0392, "\x25\x42"}, {0x0393, "\x25\x43"}, {0x0394, "\x25\x44"}, - {0x0395, "\x25\x45"}, {0x0396, "\x25\x46"}, {0x0397, "\x25\x47"}, - {0x0398, "\x25\x48"}, {0x0399, "\x25\x49"}, {0x039a, "\x25\x4a"}, - {0x039b, "\x25\x4b"}, {0x039c, "\x25\x4c"}, {0x039d, "\x25\x4d"}, - {0x039e, "\x25\x4e"}, {0x039f, "\x25\x4f"}, {0x03a0, "\x25\x50"}, - {0x03a1, "\x25\x51"}, {0x03a3, "\x25\x52"}, {0x03a4, "\x25\x53"}, - {0x03a5, "\x25\x54"}, {0x03a6, "\x25\x55"}, {0x03a7, "\x25\x56"}, - {0x03a8, "\x25\x57"}, {0x03a9, "\x25\x58"}, {0x03b1, "\x25\x61"}, - {0x03b2, "\x25\x62"}, {0x03b3, "\x25\x63"}, {0x03b4, "\x25\x64"}, - {0x03b5, "\x25\x65"}, {0x03b6, "\x25\x66"}, {0x03b7, "\x25\x67"}, - {0x03b8, "\x25\x68"}, {0x03b9, "\x25\x69"}, {0x03ba, "\x25\x6a"}, - {0x03bb, "\x25\x6b"}, {0x03bc, "\x25\x6c"}, {0x03bd, "\x25\x6d"}, - {0x03be, "\x25\x6e"}, {0x03bf, "\x25\x6f"}, {0x03c0, "\x25\x70"}, - {0x03c1, "\x25\x71"}, {0x03c3, "\x25\x72"}, {0x03c4, "\x25\x73"}, - {0x03c5, "\x25\x74"}, {0x03c6, "\x25\x75"}, {0x03c7, "\x25\x76"}, - {0x03c8, "\x25\x77"}, {0x03c9, "\x25\x78"}, {0x0401, "\x2c\x27"}, - {0x0410, "\x2c\x21"}, {0x0411, "\x2c\x22"}, {0x0412, "\x2c\x23"}, - {0x0413, "\x2c\x24"}, {0x0414, "\x2c\x25"}, {0x0415, "\x2c\x26"}, - {0x0416, "\x2c\x28"}, {0x0417, "\x2c\x29"}, {0x0418, "\x2c\x2a"}, - {0x0419, "\x2c\x2b"}, {0x041a, "\x2c\x2c"}, {0x041b, "\x2c\x2d"}, - {0x041c, "\x2c\x2e"}, {0x041d, "\x2c\x2f"}, {0x041e, "\x2c\x30"}, - {0x041f, "\x2c\x31"}, {0x0420, "\x2c\x32"}, {0x0421, "\x2c\x33"}, - {0x0422, "\x2c\x34"}, {0x0423, "\x2c\x35"}, {0x0424, "\x2c\x36"}, - {0x0425, "\x2c\x37"}, {0x0426, "\x2c\x38"}, {0x0427, "\x2c\x39"}, - {0x0428, "\x2c\x3a"}, {0x0429, "\x2c\x3b"}, {0x042a, "\x2c\x3c"}, - {0x042b, "\x2c\x3d"}, {0x042c, "\x2c\x3e"}, {0x042d, "\x2c\x3f"}, - {0x042e, "\x2c\x40"}, {0x042f, "\x2c\x41"}, {0x0430, "\x2c\x51"}, - {0x0431, "\x2c\x52"}, {0x0432, "\x2c\x53"}, {0x0433, "\x2c\x54"}, - {0x0434, "\x2c\x55"}, {0x0435, "\x2c\x56"}, {0x0436, "\x2c\x58"}, - {0x0437, "\x2c\x59"}, {0x0438, "\x2c\x5a"}, {0x0439, "\x2c\x5b"}, - {0x043a, "\x2c\x5c"}, {0x043b, "\x2c\x5d"}, {0x043c, "\x2c\x5e"}, - {0x043d, "\x2c\x5f"}, {0x043e, "\x2c\x60"}, {0x043f, "\x2c\x61"}, - {0x0440, "\x2c\x62"}, {0x0441, "\x2c\x63"}, {0x0442, "\x2c\x64"}, - {0x0443, "\x2c\x65"}, {0x0444, "\x2c\x66"}, {0x0445, "\x2c\x67"}, - {0x0446, "\x2c\x68"}, {0x0447, "\x2c\x69"}, {0x0448, "\x2c\x6a"}, - {0x0449, "\x2c\x6b"}, {0x044a, "\x2c\x6c"}, {0x044b, "\x2c\x6d"}, - {0x044c, "\x2c\x6e"}, {0x044d, "\x2c\x6f"}, {0x044e, "\x2c\x70"}, - {0x044f, "\x2c\x71"}, {0x0451, "\x2c\x57"}, {0x2015, "\x21\x2a"}, - {0x2018, "\x21\x2e"}, {0x2019, "\x21\x2f"}, {0x201c, "\x21\x30"}, - {0x201d, "\x21\x31"}, {0x2020, "\x22\x53"}, {0x2021, "\x22\x54"}, - {0x2025, "\x21\x25"}, {0x2026, "\x21\x26"}, {0x2030, "\x22\x36"}, - {0x2032, "\x21\x47"}, {0x2033, "\x21\x48"}, {0x203b, "\x21\x58"}, - {0x2074, "\x29\x79"}, {0x207f, "\x29\x7a"}, {0x2081, "\x29\x7b"}, - {0x2082, "\x29\x7c"}, {0x2083, "\x29\x7d"}, {0x2084, "\x29\x7e"}, - {0x2103, "\x21\x49"}, {0x2109, "\x22\x35"}, {0x2113, "\x27\x24"}, - {0x2116, "\x22\x60"}, {0x2121, "\x22\x65"}, {0x2122, "\x22\x62"}, - {0x2126, "\x27\x59"}, {0x212b, "\x21\x4a"}, {0x2153, "\x28\x77"}, - {0x2154, "\x28\x78"}, {0x215b, "\x28\x7b"}, {0x215c, "\x28\x7c"}, - {0x215d, "\x28\x7d"}, {0x215e, "\x28\x7e"}, {0x2160, "\x25\x30"}, - {0x2161, "\x25\x31"}, {0x2162, "\x25\x32"}, {0x2163, "\x25\x33"}, - {0x2164, "\x25\x34"}, {0x2165, "\x25\x35"}, {0x2166, "\x25\x36"}, - {0x2167, "\x25\x37"}, {0x2168, "\x25\x38"}, {0x2169, "\x25\x39"}, - {0x2170, "\x25\x21"}, {0x2171, "\x25\x22"}, {0x2172, "\x25\x23"}, - {0x2173, "\x25\x24"}, {0x2174, "\x25\x25"}, {0x2175, "\x25\x26"}, - {0x2176, "\x25\x27"}, {0x2177, "\x25\x28"}, {0x2178, "\x25\x29"}, - {0x2179, "\x25\x2a"}, {0x2190, "\x21\x67"}, {0x2191, "\x21\x68"}, - {0x2192, "\x21\x66"}, {0x2193, "\x21\x69"}, {0x2194, "\x21\x6a"}, - {0x2195, "\x22\x55"}, {0x2196, "\x22\x58"}, {0x2197, "\x22\x56"}, - {0x2198, "\x22\x59"}, {0x2199, "\x22\x57"}, {0x21d2, "\x22\x21"}, - {0x21d4, "\x22\x22"}, {0x2200, "\x22\x23"}, {0x2202, "\x21\x53"}, - {0x2203, "\x22\x24"}, {0x2207, "\x21\x54"}, {0x2208, "\x21\x74"}, - {0x220b, "\x21\x75"}, {0x220f, "\x22\x33"}, {0x2211, "\x22\x32"}, - {0x221a, "\x21\x6e"}, {0x221d, "\x21\x70"}, {0x221e, "\x21\x44"}, - {0x2220, "\x21\x50"}, {0x2225, "\x21\x2b"}, {0x2227, "\x21\x7c"}, - {0x2228, "\x21\x7d"}, {0x2229, "\x21\x7b"}, {0x222a, "\x21\x7a"}, - {0x222b, "\x21\x72"}, {0x222c, "\x21\x73"}, {0x222e, "\x22\x31"}, - {0x2234, "\x21\x45"}, {0x2235, "\x21\x71"}, {0x223c, "\x21\x2d"}, - {0x223d, "\x21\x6f"}, {0x2252, "\x21\x56"}, {0x2260, "\x21\x41"}, - {0x2261, "\x21\x55"}, {0x2264, "\x21\x42"}, {0x2265, "\x21\x43"}, - {0x226a, "\x21\x6c"}, {0x226b, "\x21\x6d"}, {0x2282, "\x21\x78"}, - {0x2283, "\x21\x79"}, {0x2286, "\x21\x76"}, {0x2287, "\x21\x77"}, - {0x2299, "\x22\x41"}, {0x22a5, "\x21\x51"}, {0x2312, "\x21\x52"}, - {0x2460, "\x28\x67"}, {0x2461, "\x28\x68"}, {0x2462, "\x28\x69"}, - {0x2463, "\x28\x6a"}, {0x2464, "\x28\x6b"}, {0x2465, "\x28\x6c"}, - {0x2466, "\x28\x6d"}, {0x2467, "\x28\x6e"}, {0x2468, "\x28\x6f"}, - {0x2469, "\x28\x70"}, {0x246a, "\x28\x71"}, {0x246b, "\x28\x72"}, - {0x246c, "\x28\x73"}, {0x246d, "\x28\x74"}, {0x246e, "\x28\x75"}, - {0x2474, "\x29\x67"}, {0x2475, "\x29\x68"}, {0x2476, "\x29\x69"}, - {0x2477, "\x29\x6a"}, {0x2478, "\x29\x6b"}, {0x2479, "\x29\x6c"}, - {0x247a, "\x29\x6d"}, {0x247b, "\x29\x6e"}, {0x247c, "\x29\x6f"}, - {0x247d, "\x29\x70"}, {0x247e, "\x29\x71"}, {0x247f, "\x29\x72"}, - {0x2480, "\x29\x73"}, {0x2481, "\x29\x74"}, {0x2482, "\x29\x75"}, - {0x249c, "\x29\x4d"}, {0x249d, "\x29\x4e"}, {0x249e, "\x29\x4f"}, - {0x249f, "\x29\x50"}, {0x24a0, "\x29\x51"}, {0x24a1, "\x29\x52"}, - {0x24a2, "\x29\x53"}, {0x24a3, "\x29\x54"}, {0x24a4, "\x29\x55"}, - {0x24a5, "\x29\x56"}, {0x24a6, "\x29\x57"}, {0x24a7, "\x29\x58"}, - {0x24a8, "\x29\x59"}, {0x24a9, "\x29\x5a"}, {0x24aa, "\x29\x5b"}, - {0x24ab, "\x29\x5c"}, {0x24ac, "\x29\x5d"}, {0x24ad, "\x29\x5e"}, - {0x24ae, "\x29\x5f"}, {0x24af, "\x29\x60"}, {0x24b0, "\x29\x61"}, - {0x24b1, "\x29\x62"}, {0x24b2, "\x29\x63"}, {0x24b3, "\x29\x64"}, - {0x24b4, "\x29\x65"}, {0x24b5, "\x29\x66"}, {0x24d0, "\x28\x4d"}, - {0x24d1, "\x28\x4e"}, {0x24d2, "\x28\x4f"}, {0x24d3, "\x28\x50"}, - {0x24d4, "\x28\x51"}, {0x24d5, "\x28\x52"}, {0x24d6, "\x28\x53"}, - {0x24d7, "\x28\x54"}, {0x24d8, "\x28\x55"}, {0x24d9, "\x28\x56"}, - {0x24da, "\x28\x57"}, {0x24db, "\x28\x58"}, {0x24dc, "\x28\x59"}, - {0x24dd, "\x28\x5a"}, {0x24de, "\x28\x5b"}, {0x24df, "\x28\x5c"}, - {0x24e0, "\x28\x5d"}, {0x24e1, "\x28\x5e"}, {0x24e2, "\x28\x5f"}, - {0x24e3, "\x28\x60"}, {0x24e4, "\x28\x61"}, {0x24e5, "\x28\x62"}, - {0x24e6, "\x28\x63"}, {0x24e7, "\x28\x64"}, {0x24e8, "\x28\x65"}, - {0x24e9, "\x28\x66"}, {0x2500, "\x26\x21"}, {0x2501, "\x26\x2c"}, - {0x2502, "\x26\x22"}, {0x2503, "\x26\x2d"}, {0x250c, "\x26\x23"}, - {0x250d, "\x26\x48"}, {0x250e, "\x26\x47"}, {0x250f, "\x26\x2e"}, - {0x2510, "\x26\x24"}, {0x2511, "\x26\x42"}, {0x2512, "\x26\x41"}, - {0x2513, "\x26\x2f"}, {0x2514, "\x26\x26"}, {0x2515, "\x26\x46"}, - {0x2516, "\x26\x45"}, {0x2517, "\x26\x31"}, {0x2518, "\x26\x25"}, - {0x2519, "\x26\x44"}, {0x251a, "\x26\x43"}, {0x251b, "\x26\x30"}, - {0x251c, "\x26\x27"}, {0x251d, "\x26\x3c"}, {0x251e, "\x26\x49"}, - {0x251f, "\x26\x4a"}, {0x2520, "\x26\x37"}, {0x2521, "\x26\x4b"}, - {0x2522, "\x26\x4c"}, {0x2523, "\x26\x32"}, {0x2524, "\x26\x29"}, - {0x2525, "\x26\x3e"}, {0x2526, "\x26\x4d"}, {0x2527, "\x26\x4e"}, - {0x2528, "\x26\x39"}, {0x2529, "\x26\x4f"}, {0x252a, "\x26\x50"}, - {0x252b, "\x26\x34"}, {0x252c, "\x26\x28"}, {0x252d, "\x26\x51"}, - {0x252e, "\x26\x52"}, {0x252f, "\x26\x38"}, {0x2530, "\x26\x3d"}, - {0x2531, "\x26\x53"}, {0x2532, "\x26\x54"}, {0x2533, "\x26\x33"}, - {0x2534, "\x26\x2a"}, {0x2535, "\x26\x55"}, {0x2536, "\x26\x56"}, - {0x2537, "\x26\x3a"}, {0x2538, "\x26\x3f"}, {0x2539, "\x26\x57"}, - {0x253a, "\x26\x58"}, {0x253b, "\x26\x35"}, {0x253c, "\x26\x2b"}, - {0x253d, "\x26\x59"}, {0x253e, "\x26\x5a"}, {0x253f, "\x26\x3b"}, - {0x2540, "\x26\x5b"}, {0x2541, "\x26\x5c"}, {0x2542, "\x26\x40"}, - {0x2543, "\x26\x5d"}, {0x2544, "\x26\x5e"}, {0x2545, "\x26\x5f"}, - {0x2546, "\x26\x60"}, {0x2547, "\x26\x61"}, {0x2548, "\x26\x62"}, - {0x2549, "\x26\x63"}, {0x254a, "\x26\x64"}, {0x254b, "\x26\x36"}, - {0x2592, "\x22\x46"}, {0x25a0, "\x21\x61"}, {0x25a1, "\x21\x60"}, - {0x25a3, "\x22\x43"}, {0x25a4, "\x22\x47"}, {0x25a5, "\x22\x48"}, - {0x25a6, "\x22\x4b"}, {0x25a7, "\x22\x4a"}, {0x25a8, "\x22\x49"}, - {0x25a9, "\x22\x4c"}, {0x25b2, "\x21\x63"}, {0x25b3, "\x21\x62"}, - {0x25b6, "\x22\x3a"}, {0x25b7, "\x22\x39"}, {0x25bc, "\x21\x65"}, - {0x25bd, "\x21\x64"}, {0x25c0, "\x22\x38"}, {0x25c1, "\x22\x37"}, - {0x25c6, "\x21\x5f"}, {0x25c7, "\x21\x5e"}, {0x25c8, "\x22\x42"}, - {0x25cb, "\x21\x5b"}, {0x25ce, "\x21\x5d"}, {0x25cf, "\x21\x5c"}, - {0x25d0, "\x22\x44"}, {0x25d1, "\x22\x45"}, {0x2605, "\x21\x5a"}, - {0x2606, "\x21\x59"}, {0x260e, "\x22\x4f"}, {0x260f, "\x22\x4e"}, - {0x261c, "\x22\x50"}, {0x261e, "\x22\x51"}, {0x2640, "\x21\x4f"}, - {0x2642, "\x21\x4e"}, {0x2660, "\x22\x3c"}, {0x2661, "\x22\x3d"}, - {0x2663, "\x22\x40"}, {0x2664, "\x22\x3b"}, {0x2665, "\x22\x3e"}, - {0x2667, "\x22\x3f"}, {0x2668, "\x22\x4d"}, {0x2669, "\x22\x5b"}, - {0x266a, "\x22\x5c"}, {0x266c, "\x22\x5d"}, {0x266d, "\x22\x5a"}, - {0x3000, "\x21\x21"}, {0x3001, "\x21\x22"}, {0x3002, "\x21\x23"}, - {0x3003, "\x21\x28"}, {0x3008, "\x21\x34"}, {0x3009, "\x21\x35"}, - {0x300a, "\x21\x36"}, {0x300b, "\x21\x37"}, {0x300c, "\x21\x38"}, - {0x300d, "\x21\x39"}, {0x300e, "\x21\x3a"}, {0x300f, "\x21\x3b"}, - {0x3010, "\x21\x3c"}, {0x3011, "\x21\x3d"}, {0x3013, "\x21\x6b"}, - {0x3014, "\x21\x32"}, {0x3015, "\x21\x33"}, {0x3041, "\x2a\x21"}, - {0x3042, "\x2a\x22"}, {0x3043, "\x2a\x23"}, {0x3044, "\x2a\x24"}, - {0x3045, "\x2a\x25"}, {0x3046, "\x2a\x26"}, {0x3047, "\x2a\x27"}, - {0x3048, "\x2a\x28"}, {0x3049, "\x2a\x29"}, {0x304a, "\x2a\x2a"}, - {0x304b, "\x2a\x2b"}, {0x304c, "\x2a\x2c"}, {0x304d, "\x2a\x2d"}, - {0x304e, "\x2a\x2e"}, {0x304f, "\x2a\x2f"}, {0x3050, "\x2a\x30"}, - {0x3051, "\x2a\x31"}, {0x3052, "\x2a\x32"}, {0x3053, "\x2a\x33"}, - {0x3054, "\x2a\x34"}, {0x3055, "\x2a\x35"}, {0x3056, "\x2a\x36"}, - {0x3057, "\x2a\x37"}, {0x3058, "\x2a\x38"}, {0x3059, "\x2a\x39"}, - {0x305a, "\x2a\x3a"}, {0x305b, "\x2a\x3b"}, {0x305c, "\x2a\x3c"}, - {0x305d, "\x2a\x3d"}, {0x305e, "\x2a\x3e"}, {0x305f, "\x2a\x3f"}, - {0x3060, "\x2a\x40"}, {0x3061, "\x2a\x41"}, {0x3062, "\x2a\x42"}, - {0x3063, "\x2a\x43"}, {0x3064, "\x2a\x44"}, {0x3065, "\x2a\x45"}, - {0x3066, "\x2a\x46"}, {0x3067, "\x2a\x47"}, {0x3068, "\x2a\x48"}, - {0x3069, "\x2a\x49"}, {0x306a, "\x2a\x4a"}, {0x306b, "\x2a\x4b"}, - {0x306c, "\x2a\x4c"}, {0x306d, "\x2a\x4d"}, {0x306e, "\x2a\x4e"}, - {0x306f, "\x2a\x4f"}, {0x3070, "\x2a\x50"}, {0x3071, "\x2a\x51"}, - {0x3072, "\x2a\x52"}, {0x3073, "\x2a\x53"}, {0x3074, "\x2a\x54"}, - {0x3075, "\x2a\x55"}, {0x3076, "\x2a\x56"}, {0x3077, "\x2a\x57"}, - {0x3078, "\x2a\x58"}, {0x3079, "\x2a\x59"}, {0x307a, "\x2a\x5a"}, - {0x307b, "\x2a\x5b"}, {0x307c, "\x2a\x5c"}, {0x307d, "\x2a\x5d"}, - {0x307e, "\x2a\x5e"}, {0x307f, "\x2a\x5f"}, {0x3080, "\x2a\x60"}, - {0x3081, "\x2a\x61"}, {0x3082, "\x2a\x62"}, {0x3083, "\x2a\x63"}, - {0x3084, "\x2a\x64"}, {0x3085, "\x2a\x65"}, {0x3086, "\x2a\x66"}, - {0x3087, "\x2a\x67"}, {0x3088, "\x2a\x68"}, {0x3089, "\x2a\x69"}, - {0x308a, "\x2a\x6a"}, {0x308b, "\x2a\x6b"}, {0x308c, "\x2a\x6c"}, - {0x308d, "\x2a\x6d"}, {0x308e, "\x2a\x6e"}, {0x308f, "\x2a\x6f"}, - {0x3090, "\x2a\x70"}, {0x3091, "\x2a\x71"}, {0x3092, "\x2a\x72"}, - {0x3093, "\x2a\x73"}, {0x30a1, "\x2b\x21"}, {0x30a2, "\x2b\x22"}, - {0x30a3, "\x2b\x23"}, {0x30a4, "\x2b\x24"}, {0x30a5, "\x2b\x25"}, - {0x30a6, "\x2b\x26"}, {0x30a7, "\x2b\x27"}, {0x30a8, "\x2b\x28"}, - {0x30a9, "\x2b\x29"}, {0x30aa, "\x2b\x2a"}, {0x30ab, "\x2b\x2b"}, - {0x30ac, "\x2b\x2c"}, {0x30ad, "\x2b\x2d"}, {0x30ae, "\x2b\x2e"}, - {0x30af, "\x2b\x2f"}, {0x30b0, "\x2b\x30"}, {0x30b1, "\x2b\x31"}, - {0x30b2, "\x2b\x32"}, {0x30b3, "\x2b\x33"}, {0x30b4, "\x2b\x34"}, - {0x30b5, "\x2b\x35"}, {0x30b6, "\x2b\x36"}, {0x30b7, "\x2b\x37"}, - {0x30b8, "\x2b\x38"}, {0x30b9, "\x2b\x39"}, {0x30ba, "\x2b\x3a"}, - {0x30bb, "\x2b\x3b"}, {0x30bc, "\x2b\x3c"}, {0x30bd, "\x2b\x3d"}, - {0x30be, "\x2b\x3e"}, {0x30bf, "\x2b\x3f"}, {0x30c0, "\x2b\x40"}, - {0x30c1, "\x2b\x41"}, {0x30c2, "\x2b\x42"}, {0x30c3, "\x2b\x43"}, - {0x30c4, "\x2b\x44"}, {0x30c5, "\x2b\x45"}, {0x30c6, "\x2b\x46"}, - {0x30c7, "\x2b\x47"}, {0x30c8, "\x2b\x48"}, {0x30c9, "\x2b\x49"}, - {0x30ca, "\x2b\x4a"}, {0x30cb, "\x2b\x4b"}, {0x30cc, "\x2b\x4c"}, - {0x30cd, "\x2b\x4d"}, {0x30ce, "\x2b\x4e"}, {0x30cf, "\x2b\x4f"}, - {0x30d0, "\x2b\x50"}, {0x30d1, "\x2b\x51"}, {0x30d2, "\x2b\x52"}, - {0x30d3, "\x2b\x53"}, {0x30d4, "\x2b\x54"}, {0x30d5, "\x2b\x55"}, - {0x30d6, "\x2b\x56"}, {0x30d7, "\x2b\x57"}, {0x30d8, "\x2b\x58"}, - {0x30d9, "\x2b\x59"}, {0x30da, "\x2b\x5a"}, {0x30db, "\x2b\x5b"}, - {0x30dc, "\x2b\x5c"}, {0x30dd, "\x2b\x5d"}, {0x30de, "\x2b\x5e"}, - {0x30df, "\x2b\x5f"}, {0x30e0, "\x2b\x60"}, {0x30e1, "\x2b\x61"}, - {0x30e2, "\x2b\x62"}, {0x30e3, "\x2b\x63"}, {0x30e4, "\x2b\x64"}, - {0x30e5, "\x2b\x65"}, {0x30e6, "\x2b\x66"}, {0x30e7, "\x2b\x67"}, - {0x30e8, "\x2b\x68"}, {0x30e9, "\x2b\x69"}, {0x30ea, "\x2b\x6a"}, - {0x30eb, "\x2b\x6b"}, {0x30ec, "\x2b\x6c"}, {0x30ed, "\x2b\x6d"}, - {0x30ee, "\x2b\x6e"}, {0x30ef, "\x2b\x6f"}, {0x30f0, "\x2b\x70"}, - {0x30f1, "\x2b\x71"}, {0x30f2, "\x2b\x72"}, {0x30f3, "\x2b\x73"}, - {0x30f4, "\x2b\x74"}, {0x30f5, "\x2b\x75"}, {0x30f6, "\x2b\x76"}, - {0x3131, "\x24\x21"}, {0x3132, "\x24\x22"}, {0x3133, "\x24\x23"}, - {0x3134, "\x24\x24"}, {0x3135, "\x24\x25"}, {0x3136, "\x24\x26"}, - {0x3137, "\x24\x27"}, {0x3138, "\x24\x28"}, {0x3139, "\x24\x29"}, - {0x313a, "\x24\x2a"}, {0x313b, "\x24\x2b"}, {0x313c, "\x24\x2c"}, - {0x313d, "\x24\x2d"}, {0x313e, "\x24\x2e"}, {0x313f, "\x24\x2f"}, - {0x3140, "\x24\x30"}, {0x3141, "\x24\x31"}, {0x3142, "\x24\x32"}, - {0x3143, "\x24\x33"}, {0x3144, "\x24\x34"}, {0x3145, "\x24\x35"}, - {0x3146, "\x24\x36"}, {0x3147, "\x24\x37"}, {0x3148, "\x24\x38"}, - {0x3149, "\x24\x39"}, {0x314a, "\x24\x3a"}, {0x314b, "\x24\x3b"}, - {0x314c, "\x24\x3c"}, {0x314d, "\x24\x3d"}, {0x314e, "\x24\x3e"}, - {0x314f, "\x24\x3f"}, {0x3150, "\x24\x40"}, {0x3151, "\x24\x41"}, - {0x3152, "\x24\x42"}, {0x3153, "\x24\x43"}, {0x3154, "\x24\x44"}, - {0x3155, "\x24\x45"}, {0x3156, "\x24\x46"}, {0x3157, "\x24\x47"}, - {0x3158, "\x24\x48"}, {0x3159, "\x24\x49"}, {0x315a, "\x24\x4a"}, - {0x315b, "\x24\x4b"}, {0x315c, "\x24\x4c"}, {0x315d, "\x24\x4d"}, - {0x315e, "\x24\x4e"}, {0x315f, "\x24\x4f"}, {0x3160, "\x24\x50"}, - {0x3161, "\x24\x51"}, {0x3162, "\x24\x52"}, {0x3163, "\x24\x53"}, - {0x3164, "\x24\x54"}, {0x3165, "\x24\x55"}, {0x3166, "\x24\x56"}, - {0x3167, "\x24\x57"}, {0x3168, "\x24\x58"}, {0x3169, "\x24\x59"}, - {0x316a, "\x24\x5a"}, {0x316b, "\x24\x5b"}, {0x316c, "\x24\x5c"}, - {0x316d, "\x24\x5d"}, {0x316e, "\x24\x5e"}, {0x316f, "\x24\x5f"}, - {0x3170, "\x24\x60"}, {0x3171, "\x24\x61"}, {0x3172, "\x24\x62"}, - {0x3173, "\x24\x63"}, {0x3174, "\x24\x64"}, {0x3175, "\x24\x65"}, - {0x3176, "\x24\x66"}, {0x3177, "\x24\x67"}, {0x3178, "\x24\x68"}, - {0x3179, "\x24\x69"}, {0x317a, "\x24\x6a"}, {0x317b, "\x24\x6b"}, - {0x317c, "\x24\x6c"}, {0x317d, "\x24\x6d"}, {0x317e, "\x24\x6e"}, - {0x317f, "\x24\x6f"}, {0x3180, "\x24\x70"}, {0x3181, "\x24\x71"}, - {0x3182, "\x24\x72"}, {0x3183, "\x24\x73"}, {0x3184, "\x24\x74"}, - {0x3185, "\x24\x75"}, {0x3186, "\x24\x76"}, {0x3187, "\x24\x77"}, - {0x3188, "\x24\x78"}, {0x3189, "\x24\x79"}, {0x318a, "\x24\x7a"}, - {0x318b, "\x24\x7b"}, {0x318c, "\x24\x7c"}, {0x318d, "\x24\x7d"}, - {0x318e, "\x24\x7e"}, {0x3200, "\x29\x31"}, {0x3201, "\x29\x32"}, - {0x3202, "\x29\x33"}, {0x3203, "\x29\x34"}, {0x3204, "\x29\x35"}, - {0x3205, "\x29\x36"}, {0x3206, "\x29\x37"}, {0x3207, "\x29\x38"}, - {0x3208, "\x29\x39"}, {0x3209, "\x29\x3a"}, {0x320a, "\x29\x3b"}, - {0x320b, "\x29\x3c"}, {0x320c, "\x29\x3d"}, {0x320d, "\x29\x3e"}, - {0x320e, "\x29\x3f"}, {0x320f, "\x29\x40"}, {0x3210, "\x29\x41"}, - {0x3211, "\x29\x42"}, {0x3212, "\x29\x43"}, {0x3213, "\x29\x44"}, - {0x3214, "\x29\x45"}, {0x3215, "\x29\x46"}, {0x3216, "\x29\x47"}, - {0x3217, "\x29\x48"}, {0x3218, "\x29\x49"}, {0x3219, "\x29\x4a"}, - {0x321a, "\x29\x4b"}, {0x321b, "\x29\x4c"}, {0x321c, "\x22\x5f"}, - {0x3260, "\x28\x31"}, {0x3261, "\x28\x32"}, {0x3262, "\x28\x33"}, - {0x3263, "\x28\x34"}, {0x3264, "\x28\x35"}, {0x3265, "\x28\x36"}, - {0x3266, "\x28\x37"}, {0x3267, "\x28\x38"}, {0x3268, "\x28\x39"}, - {0x3269, "\x28\x3a"}, {0x326a, "\x28\x3b"}, {0x326b, "\x28\x3c"}, - {0x326c, "\x28\x3d"}, {0x326d, "\x28\x3e"}, {0x326e, "\x28\x3f"}, - {0x326f, "\x28\x40"}, {0x3270, "\x28\x41"}, {0x3271, "\x28\x42"}, - {0x3272, "\x28\x43"}, {0x3273, "\x28\x44"}, {0x3274, "\x28\x45"}, - {0x3275, "\x28\x46"}, {0x3276, "\x28\x47"}, {0x3277, "\x28\x48"}, - {0x3278, "\x28\x49"}, {0x3279, "\x28\x4a"}, {0x327a, "\x28\x4b"}, - {0x327b, "\x28\x4c"}, {0x327f, "\x22\x5e"}, {0x3380, "\x27\x49"}, - {0x3381, "\x27\x4a"}, {0x3382, "\x27\x4b"}, {0x3383, "\x27\x4c"}, - {0x3384, "\x27\x4d"}, {0x3388, "\x27\x3a"}, {0x3389, "\x27\x3b"}, - {0x338a, "\x27\x5c"}, {0x338b, "\x27\x5d"}, {0x338c, "\x27\x5e"}, - {0x338d, "\x27\x36"}, {0x338e, "\x27\x37"}, {0x338f, "\x27\x38"}, - {0x3390, "\x27\x54"}, {0x3391, "\x27\x55"}, {0x3392, "\x27\x56"}, - {0x3393, "\x27\x57"}, {0x3394, "\x27\x58"}, {0x3395, "\x27\x21"}, - {0x3396, "\x27\x22"}, {0x3397, "\x27\x23"}, {0x3398, "\x27\x25"}, - {0x3399, "\x27\x2b"}, {0x339a, "\x27\x2c"}, {0x339b, "\x27\x2d"}, - {0x339c, "\x27\x2e"}, {0x339d, "\x27\x2f"}, {0x339e, "\x27\x30"}, - {0x339f, "\x27\x31"}, {0x33a0, "\x27\x32"}, {0x33a1, "\x27\x33"}, - {0x33a2, "\x27\x34"}, {0x33a3, "\x27\x27"}, {0x33a4, "\x27\x28"}, - {0x33a5, "\x27\x29"}, {0x33a6, "\x27\x2a"}, {0x33a7, "\x27\x3d"}, - {0x33a8, "\x27\x3e"}, {0x33a9, "\x27\x65"}, {0x33aa, "\x27\x66"}, - {0x33ab, "\x27\x67"}, {0x33ac, "\x27\x68"}, {0x33ad, "\x27\x61"}, - {0x33ae, "\x27\x62"}, {0x33af, "\x27\x63"}, {0x33b0, "\x27\x3f"}, - {0x33b1, "\x27\x40"}, {0x33b2, "\x27\x41"}, {0x33b3, "\x27\x42"}, - {0x33b4, "\x27\x43"}, {0x33b5, "\x27\x44"}, {0x33b6, "\x27\x45"}, - {0x33b7, "\x27\x46"}, {0x33b8, "\x27\x47"}, {0x33b9, "\x27\x48"}, - {0x33ba, "\x27\x4e"}, {0x33bb, "\x27\x4f"}, {0x33bc, "\x27\x50"}, - {0x33bd, "\x27\x51"}, {0x33be, "\x27\x52"}, {0x33bf, "\x27\x53"}, - {0x33c0, "\x27\x5a"}, {0x33c1, "\x27\x5b"}, {0x33c2, "\x22\x63"}, - {0x33c3, "\x27\x6c"}, {0x33c4, "\x27\x26"}, {0x33c5, "\x27\x60"}, - {0x33c6, "\x27\x6f"}, {0x33c7, "\x22\x61"}, {0x33c8, "\x27\x3c"}, - {0x33c9, "\x27\x6d"}, {0x33ca, "\x27\x35"}, {0x33cf, "\x27\x39"}, - {0x33d0, "\x27\x6a"}, {0x33d3, "\x27\x6b"}, {0x33d6, "\x27\x5f"}, - {0x33d8, "\x22\x64"}, {0x33db, "\x27\x64"}, {0x33dc, "\x27\x6e"}, - {0x33dd, "\x27\x69"}, {0xff01, "\x23\x21"}, {0xff02, "\x23\x22"}, - {0xff03, "\x23\x23"}, {0xff04, "\x23\x24"}, {0xff05, "\x23\x25"}, - {0xff06, "\x23\x26"}, {0xff07, "\x23\x27"}, {0xff08, "\x23\x28"}, - {0xff09, "\x23\x29"}, {0xff0a, "\x23\x2a"}, {0xff0b, "\x23\x2b"}, - {0xff0c, "\x23\x2c"}, {0xff0d, "\x23\x2d"}, {0xff0e, "\x23\x2e"}, - {0xff0f, "\x23\x2f"}, {0xff10, "\x23\x30"}, {0xff11, "\x23\x31"}, - {0xff12, "\x23\x32"}, {0xff13, "\x23\x33"}, {0xff14, "\x23\x34"}, - {0xff15, "\x23\x35"}, {0xff16, "\x23\x36"}, {0xff17, "\x23\x37"}, - {0xff18, "\x23\x38"}, {0xff19, "\x23\x39"}, {0xff1a, "\x23\x3a"}, - {0xff1b, "\x23\x3b"}, {0xff1c, "\x23\x3c"}, {0xff1d, "\x23\x3d"}, - {0xff1e, "\x23\x3e"}, {0xff1f, "\x23\x3f"}, {0xff20, "\x23\x40"}, - {0xff21, "\x23\x41"}, {0xff22, "\x23\x42"}, {0xff23, "\x23\x43"}, - {0xff24, "\x23\x44"}, {0xff25, "\x23\x45"}, {0xff26, "\x23\x46"}, - {0xff27, "\x23\x47"}, {0xff28, "\x23\x48"}, {0xff29, "\x23\x49"}, - {0xff2a, "\x23\x4a"}, {0xff2b, "\x23\x4b"}, {0xff2c, "\x23\x4c"}, - {0xff2d, "\x23\x4d"}, {0xff2e, "\x23\x4e"}, {0xff2f, "\x23\x4f"}, - {0xff30, "\x23\x50"}, {0xff31, "\x23\x51"}, {0xff32, "\x23\x52"}, - {0xff33, "\x23\x53"}, {0xff34, "\x23\x54"}, {0xff35, "\x23\x55"}, - {0xff36, "\x23\x56"}, {0xff37, "\x23\x57"}, {0xff38, "\x23\x58"}, - {0xff39, "\x23\x59"}, {0xff3a, "\x23\x5a"}, {0xff3b, "\x23\x5b"}, - {0xff3c, "\x21\x2c"}, {0xff3d, "\x23\x5d"}, {0xff3e, "\x23\x5e"}, - {0xff3f, "\x23\x5f"}, {0xff40, "\x23\x60"}, {0xff41, "\x23\x61"}, - {0xff42, "\x23\x62"}, {0xff43, "\x23\x63"}, {0xff44, "\x23\x64"}, - {0xff45, "\x23\x65"}, {0xff46, "\x23\x66"}, {0xff47, "\x23\x67"}, - {0xff48, "\x23\x68"}, {0xff49, "\x23\x69"}, {0xff4a, "\x23\x6a"}, - {0xff4b, "\x23\x6b"}, {0xff4c, "\x23\x6c"}, {0xff4d, "\x23\x6d"}, - {0xff4e, "\x23\x6e"}, {0xff4f, "\x23\x6f"}, {0xff50, "\x23\x70"}, - {0xff51, "\x23\x71"}, {0xff52, "\x23\x72"}, {0xff53, "\x23\x73"}, - {0xff54, "\x23\x74"}, {0xff55, "\x23\x75"}, {0xff56, "\x23\x76"}, - {0xff57, "\x23\x77"}, {0xff58, "\x23\x78"}, {0xff59, "\x23\x79"}, - {0xff5a, "\x23\x7a"}, {0xff5b, "\x23\x7b"}, {0xff5c, "\x23\x7c"}, - {0xff5d, "\x23\x7d"}, {0xff5e, "\x22\x26"}, {0xffe0, "\x21\x4b"}, - {0xffe1, "\x21\x4c"}, {0xffe2, "\x21\x7e"}, {0xffe3, "\x23\x7e"}, - {0xffe5, "\x21\x4d"}, {0xffe6, "\x23\x5c"}, + {0x00ae, "\x22\x67"}, {0x00b0, "\x21\x46"}, {0x00b1, "\x21\x3e"}, + {0x00b2, "\x29\x77"}, {0x00b3, "\x29\x78"}, {0x00b4, "\x22\x25"}, + {0x00b6, "\x22\x52"}, {0x00b7, "\x21\x24"}, {0x00b8, "\x22\x2c"}, + {0x00b9, "\x29\x76"}, {0x00ba, "\x28\x2c"}, {0x00bc, "\x28\x79"}, + {0x00bd, "\x28\x76"}, {0x00be, "\x28\x7a"}, {0x00bf, "\x22\x2f"}, + {0x00c6, "\x28\x21"}, {0x00d0, "\x28\x22"}, {0x00d7, "\x21\x3f"}, + {0x00d8, "\x28\x2a"}, {0x00de, "\x28\x2d"}, {0x00df, "\x29\x2c"}, + {0x00e6, "\x29\x21"}, {0x00f0, "\x29\x23"}, {0x00f7, "\x21\x40"}, + {0x00f8, "\x29\x2a"}, {0x00fe, "\x29\x2d"}, {0x0111, "\x29\x22"}, + {0x0126, "\x28\x24"}, {0x0127, "\x29\x24"}, {0x0131, "\x29\x25"}, + {0x0132, "\x28\x26"}, {0x0133, "\x29\x26"}, {0x0138, "\x29\x27"}, + {0x013f, "\x28\x28"}, {0x0140, "\x29\x28"}, {0x0141, "\x28\x29"}, + {0x0142, "\x29\x29"}, {0x0149, "\x29\x30"}, {0x014a, "\x28\x2f"}, + {0x014b, "\x29\x2f"}, {0x0152, "\x28\x2b"}, {0x0153, "\x29\x2b"}, + {0x0166, "\x28\x2e"}, {0x0167, "\x29\x2e"}, {0x02c7, "\x22\x27"}, + {0x02d0, "\x22\x30"}, {0x02d8, "\x22\x28"}, {0x02d9, "\x22\x2b"}, + {0x02da, "\x22\x2a"}, {0x02db, "\x22\x2d"}, {0x02dd, "\x22\x29"}, + {0x0391, "\x25\x41"}, {0x0392, "\x25\x42"}, {0x0393, "\x25\x43"}, + {0x0394, "\x25\x44"}, {0x0395, "\x25\x45"}, {0x0396, "\x25\x46"}, + {0x0397, "\x25\x47"}, {0x0398, "\x25\x48"}, {0x0399, "\x25\x49"}, + {0x039a, "\x25\x4a"}, {0x039b, "\x25\x4b"}, {0x039c, "\x25\x4c"}, + {0x039d, "\x25\x4d"}, {0x039e, "\x25\x4e"}, {0x039f, "\x25\x4f"}, + {0x03a0, "\x25\x50"}, {0x03a1, "\x25\x51"}, {0x03a3, "\x25\x52"}, + {0x03a4, "\x25\x53"}, {0x03a5, "\x25\x54"}, {0x03a6, "\x25\x55"}, + {0x03a7, "\x25\x56"}, {0x03a8, "\x25\x57"}, {0x03a9, "\x25\x58"}, + {0x03b1, "\x25\x61"}, {0x03b2, "\x25\x62"}, {0x03b3, "\x25\x63"}, + {0x03b4, "\x25\x64"}, {0x03b5, "\x25\x65"}, {0x03b6, "\x25\x66"}, + {0x03b7, "\x25\x67"}, {0x03b8, "\x25\x68"}, {0x03b9, "\x25\x69"}, + {0x03ba, "\x25\x6a"}, {0x03bb, "\x25\x6b"}, {0x03bc, "\x25\x6c"}, + {0x03bd, "\x25\x6d"}, {0x03be, "\x25\x6e"}, {0x03bf, "\x25\x6f"}, + {0x03c0, "\x25\x70"}, {0x03c1, "\x25\x71"}, {0x03c3, "\x25\x72"}, + {0x03c4, "\x25\x73"}, {0x03c5, "\x25\x74"}, {0x03c6, "\x25\x75"}, + {0x03c7, "\x25\x76"}, {0x03c8, "\x25\x77"}, {0x03c9, "\x25\x78"}, + {0x0401, "\x2c\x27"}, {0x0410, "\x2c\x21"}, {0x0411, "\x2c\x22"}, + {0x0412, "\x2c\x23"}, {0x0413, "\x2c\x24"}, {0x0414, "\x2c\x25"}, + {0x0415, "\x2c\x26"}, {0x0416, "\x2c\x28"}, {0x0417, "\x2c\x29"}, + {0x0418, "\x2c\x2a"}, {0x0419, "\x2c\x2b"}, {0x041a, "\x2c\x2c"}, + {0x041b, "\x2c\x2d"}, {0x041c, "\x2c\x2e"}, {0x041d, "\x2c\x2f"}, + {0x041e, "\x2c\x30"}, {0x041f, "\x2c\x31"}, {0x0420, "\x2c\x32"}, + {0x0421, "\x2c\x33"}, {0x0422, "\x2c\x34"}, {0x0423, "\x2c\x35"}, + {0x0424, "\x2c\x36"}, {0x0425, "\x2c\x37"}, {0x0426, "\x2c\x38"}, + {0x0427, "\x2c\x39"}, {0x0428, "\x2c\x3a"}, {0x0429, "\x2c\x3b"}, + {0x042a, "\x2c\x3c"}, {0x042b, "\x2c\x3d"}, {0x042c, "\x2c\x3e"}, + {0x042d, "\x2c\x3f"}, {0x042e, "\x2c\x40"}, {0x042f, "\x2c\x41"}, + {0x0430, "\x2c\x51"}, {0x0431, "\x2c\x52"}, {0x0432, "\x2c\x53"}, + {0x0433, "\x2c\x54"}, {0x0434, "\x2c\x55"}, {0x0435, "\x2c\x56"}, + {0x0436, "\x2c\x58"}, {0x0437, "\x2c\x59"}, {0x0438, "\x2c\x5a"}, + {0x0439, "\x2c\x5b"}, {0x043a, "\x2c\x5c"}, {0x043b, "\x2c\x5d"}, + {0x043c, "\x2c\x5e"}, {0x043d, "\x2c\x5f"}, {0x043e, "\x2c\x60"}, + {0x043f, "\x2c\x61"}, {0x0440, "\x2c\x62"}, {0x0441, "\x2c\x63"}, + {0x0442, "\x2c\x64"}, {0x0443, "\x2c\x65"}, {0x0444, "\x2c\x66"}, + {0x0445, "\x2c\x67"}, {0x0446, "\x2c\x68"}, {0x0447, "\x2c\x69"}, + {0x0448, "\x2c\x6a"}, {0x0449, "\x2c\x6b"}, {0x044a, "\x2c\x6c"}, + {0x044b, "\x2c\x6d"}, {0x044c, "\x2c\x6e"}, {0x044d, "\x2c\x6f"}, + {0x044e, "\x2c\x70"}, {0x044f, "\x2c\x71"}, {0x0451, "\x2c\x57"}, + {0x2015, "\x21\x2a"}, {0x2018, "\x21\x2e"}, {0x2019, "\x21\x2f"}, + {0x201c, "\x21\x30"}, {0x201d, "\x21\x31"}, {0x2020, "\x22\x53"}, + {0x2021, "\x22\x54"}, {0x2025, "\x21\x25"}, {0x2026, "\x21\x26"}, + {0x2030, "\x22\x36"}, {0x2032, "\x21\x47"}, {0x2033, "\x21\x48"}, + {0x203b, "\x21\x58"}, {0x2074, "\x29\x79"}, {0x207f, "\x29\x7a"}, + {0x2081, "\x29\x7b"}, {0x2082, "\x29\x7c"}, {0x2083, "\x29\x7d"}, + {0x2084, "\x29\x7e"}, {0x20ac, "\x22\x66"}, {0x2103, "\x21\x49"}, + {0x2109, "\x22\x35"}, {0x2113, "\x27\x24"}, {0x2116, "\x22\x60"}, + {0x2121, "\x22\x65"}, {0x2122, "\x22\x62"}, {0x2126, "\x27\x59"}, + {0x212b, "\x21\x4a"}, {0x2153, "\x28\x77"}, {0x2154, "\x28\x78"}, + {0x215b, "\x28\x7b"}, {0x215c, "\x28\x7c"}, {0x215d, "\x28\x7d"}, + {0x215e, "\x28\x7e"}, {0x2160, "\x25\x30"}, {0x2161, "\x25\x31"}, + {0x2162, "\x25\x32"}, {0x2163, "\x25\x33"}, {0x2164, "\x25\x34"}, + {0x2165, "\x25\x35"}, {0x2166, "\x25\x36"}, {0x2167, "\x25\x37"}, + {0x2168, "\x25\x38"}, {0x2169, "\x25\x39"}, {0x2170, "\x25\x21"}, + {0x2171, "\x25\x22"}, {0x2172, "\x25\x23"}, {0x2173, "\x25\x24"}, + {0x2174, "\x25\x25"}, {0x2175, "\x25\x26"}, {0x2176, "\x25\x27"}, + {0x2177, "\x25\x28"}, {0x2178, "\x25\x29"}, {0x2179, "\x25\x2a"}, + {0x2190, "\x21\x67"}, {0x2191, "\x21\x68"}, {0x2192, "\x21\x66"}, + {0x2193, "\x21\x69"}, {0x2194, "\x21\x6a"}, {0x2195, "\x22\x55"}, + {0x2196, "\x22\x58"}, {0x2197, "\x22\x56"}, {0x2198, "\x22\x59"}, + {0x2199, "\x22\x57"}, {0x21d2, "\x22\x21"}, {0x21d4, "\x22\x22"}, + {0x2200, "\x22\x23"}, {0x2202, "\x21\x53"}, {0x2203, "\x22\x24"}, + {0x2207, "\x21\x54"}, {0x2208, "\x21\x74"}, {0x220b, "\x21\x75"}, + {0x220f, "\x22\x33"}, {0x2211, "\x22\x32"}, {0x221a, "\x21\x6e"}, + {0x221d, "\x21\x70"}, {0x221e, "\x21\x44"}, {0x2220, "\x21\x50"}, + {0x2225, "\x21\x2b"}, {0x2227, "\x21\x7c"}, {0x2228, "\x21\x7d"}, + {0x2229, "\x21\x7b"}, {0x222a, "\x21\x7a"}, {0x222b, "\x21\x72"}, + {0x222c, "\x21\x73"}, {0x222e, "\x22\x31"}, {0x2234, "\x21\x45"}, + {0x2235, "\x21\x71"}, {0x223c, "\x21\x2d"}, {0x223d, "\x21\x6f"}, + {0x2252, "\x21\x56"}, {0x2260, "\x21\x41"}, {0x2261, "\x21\x55"}, + {0x2264, "\x21\x42"}, {0x2265, "\x21\x43"}, {0x226a, "\x21\x6c"}, + {0x226b, "\x21\x6d"}, {0x2282, "\x21\x78"}, {0x2283, "\x21\x79"}, + {0x2286, "\x21\x76"}, {0x2287, "\x21\x77"}, {0x2299, "\x22\x41"}, + {0x22a5, "\x21\x51"}, {0x2312, "\x21\x52"}, {0x2460, "\x28\x67"}, + {0x2461, "\x28\x68"}, {0x2462, "\x28\x69"}, {0x2463, "\x28\x6a"}, + {0x2464, "\x28\x6b"}, {0x2465, "\x28\x6c"}, {0x2466, "\x28\x6d"}, + {0x2467, "\x28\x6e"}, {0x2468, "\x28\x6f"}, {0x2469, "\x28\x70"}, + {0x246a, "\x28\x71"}, {0x246b, "\x28\x72"}, {0x246c, "\x28\x73"}, + {0x246d, "\x28\x74"}, {0x246e, "\x28\x75"}, {0x2474, "\x29\x67"}, + {0x2475, "\x29\x68"}, {0x2476, "\x29\x69"}, {0x2477, "\x29\x6a"}, + {0x2478, "\x29\x6b"}, {0x2479, "\x29\x6c"}, {0x247a, "\x29\x6d"}, + {0x247b, "\x29\x6e"}, {0x247c, "\x29\x6f"}, {0x247d, "\x29\x70"}, + {0x247e, "\x29\x71"}, {0x247f, "\x29\x72"}, {0x2480, "\x29\x73"}, + {0x2481, "\x29\x74"}, {0x2482, "\x29\x75"}, {0x249c, "\x29\x4d"}, + {0x249d, "\x29\x4e"}, {0x249e, "\x29\x4f"}, {0x249f, "\x29\x50"}, + {0x24a0, "\x29\x51"}, {0x24a1, "\x29\x52"}, {0x24a2, "\x29\x53"}, + {0x24a3, "\x29\x54"}, {0x24a4, "\x29\x55"}, {0x24a5, "\x29\x56"}, + {0x24a6, "\x29\x57"}, {0x24a7, "\x29\x58"}, {0x24a8, "\x29\x59"}, + {0x24a9, "\x29\x5a"}, {0x24aa, "\x29\x5b"}, {0x24ab, "\x29\x5c"}, + {0x24ac, "\x29\x5d"}, {0x24ad, "\x29\x5e"}, {0x24ae, "\x29\x5f"}, + {0x24af, "\x29\x60"}, {0x24b0, "\x29\x61"}, {0x24b1, "\x29\x62"}, + {0x24b2, "\x29\x63"}, {0x24b3, "\x29\x64"}, {0x24b4, "\x29\x65"}, + {0x24b5, "\x29\x66"}, {0x24d0, "\x28\x4d"}, {0x24d1, "\x28\x4e"}, + {0x24d2, "\x28\x4f"}, {0x24d3, "\x28\x50"}, {0x24d4, "\x28\x51"}, + {0x24d5, "\x28\x52"}, {0x24d6, "\x28\x53"}, {0x24d7, "\x28\x54"}, + {0x24d8, "\x28\x55"}, {0x24d9, "\x28\x56"}, {0x24da, "\x28\x57"}, + {0x24db, "\x28\x58"}, {0x24dc, "\x28\x59"}, {0x24dd, "\x28\x5a"}, + {0x24de, "\x28\x5b"}, {0x24df, "\x28\x5c"}, {0x24e0, "\x28\x5d"}, + {0x24e1, "\x28\x5e"}, {0x24e2, "\x28\x5f"}, {0x24e3, "\x28\x60"}, + {0x24e4, "\x28\x61"}, {0x24e5, "\x28\x62"}, {0x24e6, "\x28\x63"}, + {0x24e7, "\x28\x64"}, {0x24e8, "\x28\x65"}, {0x24e9, "\x28\x66"}, + {0x2500, "\x26\x21"}, {0x2501, "\x26\x2c"}, {0x2502, "\x26\x22"}, + {0x2503, "\x26\x2d"}, {0x250c, "\x26\x23"}, {0x250d, "\x26\x48"}, + {0x250e, "\x26\x47"}, {0x250f, "\x26\x2e"}, {0x2510, "\x26\x24"}, + {0x2511, "\x26\x42"}, {0x2512, "\x26\x41"}, {0x2513, "\x26\x2f"}, + {0x2514, "\x26\x26"}, {0x2515, "\x26\x46"}, {0x2516, "\x26\x45"}, + {0x2517, "\x26\x31"}, {0x2518, "\x26\x25"}, {0x2519, "\x26\x44"}, + {0x251a, "\x26\x43"}, {0x251b, "\x26\x30"}, {0x251c, "\x26\x27"}, + {0x251d, "\x26\x3c"}, {0x251e, "\x26\x49"}, {0x251f, "\x26\x4a"}, + {0x2520, "\x26\x37"}, {0x2521, "\x26\x4b"}, {0x2522, "\x26\x4c"}, + {0x2523, "\x26\x32"}, {0x2524, "\x26\x29"}, {0x2525, "\x26\x3e"}, + {0x2526, "\x26\x4d"}, {0x2527, "\x26\x4e"}, {0x2528, "\x26\x39"}, + {0x2529, "\x26\x4f"}, {0x252a, "\x26\x50"}, {0x252b, "\x26\x34"}, + {0x252c, "\x26\x28"}, {0x252d, "\x26\x51"}, {0x252e, "\x26\x52"}, + {0x252f, "\x26\x38"}, {0x2530, "\x26\x3d"}, {0x2531, "\x26\x53"}, + {0x2532, "\x26\x54"}, {0x2533, "\x26\x33"}, {0x2534, "\x26\x2a"}, + {0x2535, "\x26\x55"}, {0x2536, "\x26\x56"}, {0x2537, "\x26\x3a"}, + {0x2538, "\x26\x3f"}, {0x2539, "\x26\x57"}, {0x253a, "\x26\x58"}, + {0x253b, "\x26\x35"}, {0x253c, "\x26\x2b"}, {0x253d, "\x26\x59"}, + {0x253e, "\x26\x5a"}, {0x253f, "\x26\x3b"}, {0x2540, "\x26\x5b"}, + {0x2541, "\x26\x5c"}, {0x2542, "\x26\x40"}, {0x2543, "\x26\x5d"}, + {0x2544, "\x26\x5e"}, {0x2545, "\x26\x5f"}, {0x2546, "\x26\x60"}, + {0x2547, "\x26\x61"}, {0x2548, "\x26\x62"}, {0x2549, "\x26\x63"}, + {0x254a, "\x26\x64"}, {0x254b, "\x26\x36"}, {0x2592, "\x22\x46"}, + {0x25a0, "\x21\x61"}, {0x25a1, "\x21\x60"}, {0x25a3, "\x22\x43"}, + {0x25a4, "\x22\x47"}, {0x25a5, "\x22\x48"}, {0x25a6, "\x22\x4b"}, + {0x25a7, "\x22\x4a"}, {0x25a8, "\x22\x49"}, {0x25a9, "\x22\x4c"}, + {0x25b2, "\x21\x63"}, {0x25b3, "\x21\x62"}, {0x25b6, "\x22\x3a"}, + {0x25b7, "\x22\x39"}, {0x25bc, "\x21\x65"}, {0x25bd, "\x21\x64"}, + {0x25c0, "\x22\x38"}, {0x25c1, "\x22\x37"}, {0x25c6, "\x21\x5f"}, + {0x25c7, "\x21\x5e"}, {0x25c8, "\x22\x42"}, {0x25cb, "\x21\x5b"}, + {0x25ce, "\x21\x5d"}, {0x25cf, "\x21\x5c"}, {0x25d0, "\x22\x44"}, + {0x25d1, "\x22\x45"}, {0x2605, "\x21\x5a"}, {0x2606, "\x21\x59"}, + {0x260e, "\x22\x4f"}, {0x260f, "\x22\x4e"}, {0x261c, "\x22\x50"}, + {0x261e, "\x22\x51"}, {0x2640, "\x21\x4f"}, {0x2642, "\x21\x4e"}, + {0x2660, "\x22\x3c"}, {0x2661, "\x22\x3d"}, {0x2663, "\x22\x40"}, + {0x2664, "\x22\x3b"}, {0x2665, "\x22\x3e"}, {0x2667, "\x22\x3f"}, + {0x2668, "\x22\x4d"}, {0x2669, "\x22\x5b"}, {0x266a, "\x22\x5c"}, + {0x266c, "\x22\x5d"}, {0x266d, "\x22\x5a"}, {0x3000, "\x21\x21"}, + {0x3001, "\x21\x22"}, {0x3002, "\x21\x23"}, {0x3003, "\x21\x28"}, + {0x3008, "\x21\x34"}, {0x3009, "\x21\x35"}, {0x300a, "\x21\x36"}, + {0x300b, "\x21\x37"}, {0x300c, "\x21\x38"}, {0x300d, "\x21\x39"}, + {0x300e, "\x21\x3a"}, {0x300f, "\x21\x3b"}, {0x3010, "\x21\x3c"}, + {0x3011, "\x21\x3d"}, {0x3013, "\x21\x6b"}, {0x3014, "\x21\x32"}, + {0x3015, "\x21\x33"}, {0x3041, "\x2a\x21"}, {0x3042, "\x2a\x22"}, + {0x3043, "\x2a\x23"}, {0x3044, "\x2a\x24"}, {0x3045, "\x2a\x25"}, + {0x3046, "\x2a\x26"}, {0x3047, "\x2a\x27"}, {0x3048, "\x2a\x28"}, + {0x3049, "\x2a\x29"}, {0x304a, "\x2a\x2a"}, {0x304b, "\x2a\x2b"}, + {0x304c, "\x2a\x2c"}, {0x304d, "\x2a\x2d"}, {0x304e, "\x2a\x2e"}, + {0x304f, "\x2a\x2f"}, {0x3050, "\x2a\x30"}, {0x3051, "\x2a\x31"}, + {0x3052, "\x2a\x32"}, {0x3053, "\x2a\x33"}, {0x3054, "\x2a\x34"}, + {0x3055, "\x2a\x35"}, {0x3056, "\x2a\x36"}, {0x3057, "\x2a\x37"}, + {0x3058, "\x2a\x38"}, {0x3059, "\x2a\x39"}, {0x305a, "\x2a\x3a"}, + {0x305b, "\x2a\x3b"}, {0x305c, "\x2a\x3c"}, {0x305d, "\x2a\x3d"}, + {0x305e, "\x2a\x3e"}, {0x305f, "\x2a\x3f"}, {0x3060, "\x2a\x40"}, + {0x3061, "\x2a\x41"}, {0x3062, "\x2a\x42"}, {0x3063, "\x2a\x43"}, + {0x3064, "\x2a\x44"}, {0x3065, "\x2a\x45"}, {0x3066, "\x2a\x46"}, + {0x3067, "\x2a\x47"}, {0x3068, "\x2a\x48"}, {0x3069, "\x2a\x49"}, + {0x306a, "\x2a\x4a"}, {0x306b, "\x2a\x4b"}, {0x306c, "\x2a\x4c"}, + {0x306d, "\x2a\x4d"}, {0x306e, "\x2a\x4e"}, {0x306f, "\x2a\x4f"}, + {0x3070, "\x2a\x50"}, {0x3071, "\x2a\x51"}, {0x3072, "\x2a\x52"}, + {0x3073, "\x2a\x53"}, {0x3074, "\x2a\x54"}, {0x3075, "\x2a\x55"}, + {0x3076, "\x2a\x56"}, {0x3077, "\x2a\x57"}, {0x3078, "\x2a\x58"}, + {0x3079, "\x2a\x59"}, {0x307a, "\x2a\x5a"}, {0x307b, "\x2a\x5b"}, + {0x307c, "\x2a\x5c"}, {0x307d, "\x2a\x5d"}, {0x307e, "\x2a\x5e"}, + {0x307f, "\x2a\x5f"}, {0x3080, "\x2a\x60"}, {0x3081, "\x2a\x61"}, + {0x3082, "\x2a\x62"}, {0x3083, "\x2a\x63"}, {0x3084, "\x2a\x64"}, + {0x3085, "\x2a\x65"}, {0x3086, "\x2a\x66"}, {0x3087, "\x2a\x67"}, + {0x3088, "\x2a\x68"}, {0x3089, "\x2a\x69"}, {0x308a, "\x2a\x6a"}, + {0x308b, "\x2a\x6b"}, {0x308c, "\x2a\x6c"}, {0x308d, "\x2a\x6d"}, + {0x308e, "\x2a\x6e"}, {0x308f, "\x2a\x6f"}, {0x3090, "\x2a\x70"}, + {0x3091, "\x2a\x71"}, {0x3092, "\x2a\x72"}, {0x3093, "\x2a\x73"}, + {0x30a1, "\x2b\x21"}, {0x30a2, "\x2b\x22"}, {0x30a3, "\x2b\x23"}, + {0x30a4, "\x2b\x24"}, {0x30a5, "\x2b\x25"}, {0x30a6, "\x2b\x26"}, + {0x30a7, "\x2b\x27"}, {0x30a8, "\x2b\x28"}, {0x30a9, "\x2b\x29"}, + {0x30aa, "\x2b\x2a"}, {0x30ab, "\x2b\x2b"}, {0x30ac, "\x2b\x2c"}, + {0x30ad, "\x2b\x2d"}, {0x30ae, "\x2b\x2e"}, {0x30af, "\x2b\x2f"}, + {0x30b0, "\x2b\x30"}, {0x30b1, "\x2b\x31"}, {0x30b2, "\x2b\x32"}, + {0x30b3, "\x2b\x33"}, {0x30b4, "\x2b\x34"}, {0x30b5, "\x2b\x35"}, + {0x30b6, "\x2b\x36"}, {0x30b7, "\x2b\x37"}, {0x30b8, "\x2b\x38"}, + {0x30b9, "\x2b\x39"}, {0x30ba, "\x2b\x3a"}, {0x30bb, "\x2b\x3b"}, + {0x30bc, "\x2b\x3c"}, {0x30bd, "\x2b\x3d"}, {0x30be, "\x2b\x3e"}, + {0x30bf, "\x2b\x3f"}, {0x30c0, "\x2b\x40"}, {0x30c1, "\x2b\x41"}, + {0x30c2, "\x2b\x42"}, {0x30c3, "\x2b\x43"}, {0x30c4, "\x2b\x44"}, + {0x30c5, "\x2b\x45"}, {0x30c6, "\x2b\x46"}, {0x30c7, "\x2b\x47"}, + {0x30c8, "\x2b\x48"}, {0x30c9, "\x2b\x49"}, {0x30ca, "\x2b\x4a"}, + {0x30cb, "\x2b\x4b"}, {0x30cc, "\x2b\x4c"}, {0x30cd, "\x2b\x4d"}, + {0x30ce, "\x2b\x4e"}, {0x30cf, "\x2b\x4f"}, {0x30d0, "\x2b\x50"}, + {0x30d1, "\x2b\x51"}, {0x30d2, "\x2b\x52"}, {0x30d3, "\x2b\x53"}, + {0x30d4, "\x2b\x54"}, {0x30d5, "\x2b\x55"}, {0x30d6, "\x2b\x56"}, + {0x30d7, "\x2b\x57"}, {0x30d8, "\x2b\x58"}, {0x30d9, "\x2b\x59"}, + {0x30da, "\x2b\x5a"}, {0x30db, "\x2b\x5b"}, {0x30dc, "\x2b\x5c"}, + {0x30dd, "\x2b\x5d"}, {0x30de, "\x2b\x5e"}, {0x30df, "\x2b\x5f"}, + {0x30e0, "\x2b\x60"}, {0x30e1, "\x2b\x61"}, {0x30e2, "\x2b\x62"}, + {0x30e3, "\x2b\x63"}, {0x30e4, "\x2b\x64"}, {0x30e5, "\x2b\x65"}, + {0x30e6, "\x2b\x66"}, {0x30e7, "\x2b\x67"}, {0x30e8, "\x2b\x68"}, + {0x30e9, "\x2b\x69"}, {0x30ea, "\x2b\x6a"}, {0x30eb, "\x2b\x6b"}, + {0x30ec, "\x2b\x6c"}, {0x30ed, "\x2b\x6d"}, {0x30ee, "\x2b\x6e"}, + {0x30ef, "\x2b\x6f"}, {0x30f0, "\x2b\x70"}, {0x30f1, "\x2b\x71"}, + {0x30f2, "\x2b\x72"}, {0x30f3, "\x2b\x73"}, {0x30f4, "\x2b\x74"}, + {0x30f5, "\x2b\x75"}, {0x30f6, "\x2b\x76"}, {0x3131, "\x24\x21"}, + {0x3132, "\x24\x22"}, {0x3133, "\x24\x23"}, {0x3134, "\x24\x24"}, + {0x3135, "\x24\x25"}, {0x3136, "\x24\x26"}, {0x3137, "\x24\x27"}, + {0x3138, "\x24\x28"}, {0x3139, "\x24\x29"}, {0x313a, "\x24\x2a"}, + {0x313b, "\x24\x2b"}, {0x313c, "\x24\x2c"}, {0x313d, "\x24\x2d"}, + {0x313e, "\x24\x2e"}, {0x313f, "\x24\x2f"}, {0x3140, "\x24\x30"}, + {0x3141, "\x24\x31"}, {0x3142, "\x24\x32"}, {0x3143, "\x24\x33"}, + {0x3144, "\x24\x34"}, {0x3145, "\x24\x35"}, {0x3146, "\x24\x36"}, + {0x3147, "\x24\x37"}, {0x3148, "\x24\x38"}, {0x3149, "\x24\x39"}, + {0x314a, "\x24\x3a"}, {0x314b, "\x24\x3b"}, {0x314c, "\x24\x3c"}, + {0x314d, "\x24\x3d"}, {0x314e, "\x24\x3e"}, {0x314f, "\x24\x3f"}, + {0x3150, "\x24\x40"}, {0x3151, "\x24\x41"}, {0x3152, "\x24\x42"}, + {0x3153, "\x24\x43"}, {0x3154, "\x24\x44"}, {0x3155, "\x24\x45"}, + {0x3156, "\x24\x46"}, {0x3157, "\x24\x47"}, {0x3158, "\x24\x48"}, + {0x3159, "\x24\x49"}, {0x315a, "\x24\x4a"}, {0x315b, "\x24\x4b"}, + {0x315c, "\x24\x4c"}, {0x315d, "\x24\x4d"}, {0x315e, "\x24\x4e"}, + {0x315f, "\x24\x4f"}, {0x3160, "\x24\x50"}, {0x3161, "\x24\x51"}, + {0x3162, "\x24\x52"}, {0x3163, "\x24\x53"}, {0x3164, "\x24\x54"}, + {0x3165, "\x24\x55"}, {0x3166, "\x24\x56"}, {0x3167, "\x24\x57"}, + {0x3168, "\x24\x58"}, {0x3169, "\x24\x59"}, {0x316a, "\x24\x5a"}, + {0x316b, "\x24\x5b"}, {0x316c, "\x24\x5c"}, {0x316d, "\x24\x5d"}, + {0x316e, "\x24\x5e"}, {0x316f, "\x24\x5f"}, {0x3170, "\x24\x60"}, + {0x3171, "\x24\x61"}, {0x3172, "\x24\x62"}, {0x3173, "\x24\x63"}, + {0x3174, "\x24\x64"}, {0x3175, "\x24\x65"}, {0x3176, "\x24\x66"}, + {0x3177, "\x24\x67"}, {0x3178, "\x24\x68"}, {0x3179, "\x24\x69"}, + {0x317a, "\x24\x6a"}, {0x317b, "\x24\x6b"}, {0x317c, "\x24\x6c"}, + {0x317d, "\x24\x6d"}, {0x317e, "\x24\x6e"}, {0x317f, "\x24\x6f"}, + {0x3180, "\x24\x70"}, {0x3181, "\x24\x71"}, {0x3182, "\x24\x72"}, + {0x3183, "\x24\x73"}, {0x3184, "\x24\x74"}, {0x3185, "\x24\x75"}, + {0x3186, "\x24\x76"}, {0x3187, "\x24\x77"}, {0x3188, "\x24\x78"}, + {0x3189, "\x24\x79"}, {0x318a, "\x24\x7a"}, {0x318b, "\x24\x7b"}, + {0x318c, "\x24\x7c"}, {0x318d, "\x24\x7d"}, {0x318e, "\x24\x7e"}, + {0x3200, "\x29\x31"}, {0x3201, "\x29\x32"}, {0x3202, "\x29\x33"}, + {0x3203, "\x29\x34"}, {0x3204, "\x29\x35"}, {0x3205, "\x29\x36"}, + {0x3206, "\x29\x37"}, {0x3207, "\x29\x38"}, {0x3208, "\x29\x39"}, + {0x3209, "\x29\x3a"}, {0x320a, "\x29\x3b"}, {0x320b, "\x29\x3c"}, + {0x320c, "\x29\x3d"}, {0x320d, "\x29\x3e"}, {0x320e, "\x29\x3f"}, + {0x320f, "\x29\x40"}, {0x3210, "\x29\x41"}, {0x3211, "\x29\x42"}, + {0x3212, "\x29\x43"}, {0x3213, "\x29\x44"}, {0x3214, "\x29\x45"}, + {0x3215, "\x29\x46"}, {0x3216, "\x29\x47"}, {0x3217, "\x29\x48"}, + {0x3218, "\x29\x49"}, {0x3219, "\x29\x4a"}, {0x321a, "\x29\x4b"}, + {0x321b, "\x29\x4c"}, {0x321c, "\x22\x5f"}, {0x3260, "\x28\x31"}, + {0x3261, "\x28\x32"}, {0x3262, "\x28\x33"}, {0x3263, "\x28\x34"}, + {0x3264, "\x28\x35"}, {0x3265, "\x28\x36"}, {0x3266, "\x28\x37"}, + {0x3267, "\x28\x38"}, {0x3268, "\x28\x39"}, {0x3269, "\x28\x3a"}, + {0x326a, "\x28\x3b"}, {0x326b, "\x28\x3c"}, {0x326c, "\x28\x3d"}, + {0x326d, "\x28\x3e"}, {0x326e, "\x28\x3f"}, {0x326f, "\x28\x40"}, + {0x3270, "\x28\x41"}, {0x3271, "\x28\x42"}, {0x3272, "\x28\x43"}, + {0x3273, "\x28\x44"}, {0x3274, "\x28\x45"}, {0x3275, "\x28\x46"}, + {0x3276, "\x28\x47"}, {0x3277, "\x28\x48"}, {0x3278, "\x28\x49"}, + {0x3279, "\x28\x4a"}, {0x327a, "\x28\x4b"}, {0x327b, "\x28\x4c"}, + {0x327f, "\x22\x5e"}, {0x3380, "\x27\x49"}, {0x3381, "\x27\x4a"}, + {0x3382, "\x27\x4b"}, {0x3383, "\x27\x4c"}, {0x3384, "\x27\x4d"}, + {0x3388, "\x27\x3a"}, {0x3389, "\x27\x3b"}, {0x338a, "\x27\x5c"}, + {0x338b, "\x27\x5d"}, {0x338c, "\x27\x5e"}, {0x338d, "\x27\x36"}, + {0x338e, "\x27\x37"}, {0x338f, "\x27\x38"}, {0x3390, "\x27\x54"}, + {0x3391, "\x27\x55"}, {0x3392, "\x27\x56"}, {0x3393, "\x27\x57"}, + {0x3394, "\x27\x58"}, {0x3395, "\x27\x21"}, {0x3396, "\x27\x22"}, + {0x3397, "\x27\x23"}, {0x3398, "\x27\x25"}, {0x3399, "\x27\x2b"}, + {0x339a, "\x27\x2c"}, {0x339b, "\x27\x2d"}, {0x339c, "\x27\x2e"}, + {0x339d, "\x27\x2f"}, {0x339e, "\x27\x30"}, {0x339f, "\x27\x31"}, + {0x33a0, "\x27\x32"}, {0x33a1, "\x27\x33"}, {0x33a2, "\x27\x34"}, + {0x33a3, "\x27\x27"}, {0x33a4, "\x27\x28"}, {0x33a5, "\x27\x29"}, + {0x33a6, "\x27\x2a"}, {0x33a7, "\x27\x3d"}, {0x33a8, "\x27\x3e"}, + {0x33a9, "\x27\x65"}, {0x33aa, "\x27\x66"}, {0x33ab, "\x27\x67"}, + {0x33ac, "\x27\x68"}, {0x33ad, "\x27\x61"}, {0x33ae, "\x27\x62"}, + {0x33af, "\x27\x63"}, {0x33b0, "\x27\x3f"}, {0x33b1, "\x27\x40"}, + {0x33b2, "\x27\x41"}, {0x33b3, "\x27\x42"}, {0x33b4, "\x27\x43"}, + {0x33b5, "\x27\x44"}, {0x33b6, "\x27\x45"}, {0x33b7, "\x27\x46"}, + {0x33b8, "\x27\x47"}, {0x33b9, "\x27\x48"}, {0x33ba, "\x27\x4e"}, + {0x33bb, "\x27\x4f"}, {0x33bc, "\x27\x50"}, {0x33bd, "\x27\x51"}, + {0x33be, "\x27\x52"}, {0x33bf, "\x27\x53"}, {0x33c0, "\x27\x5a"}, + {0x33c1, "\x27\x5b"}, {0x33c2, "\x22\x63"}, {0x33c3, "\x27\x6c"}, + {0x33c4, "\x27\x26"}, {0x33c5, "\x27\x60"}, {0x33c6, "\x27\x6f"}, + {0x33c7, "\x22\x61"}, {0x33c8, "\x27\x3c"}, {0x33c9, "\x27\x6d"}, + {0x33ca, "\x27\x35"}, {0x33cf, "\x27\x39"}, {0x33d0, "\x27\x6a"}, + {0x33d3, "\x27\x6b"}, {0x33d6, "\x27\x5f"}, {0x33d8, "\x22\x64"}, + {0x33db, "\x27\x64"}, {0x33dc, "\x27\x6e"}, {0x33dd, "\x27\x69"}, + {0xff01, "\x23\x21"}, {0xff02, "\x23\x22"}, {0xff03, "\x23\x23"}, + {0xff04, "\x23\x24"}, {0xff05, "\x23\x25"}, {0xff06, "\x23\x26"}, + {0xff07, "\x23\x27"}, {0xff08, "\x23\x28"}, {0xff09, "\x23\x29"}, + {0xff0a, "\x23\x2a"}, {0xff0b, "\x23\x2b"}, {0xff0c, "\x23\x2c"}, + {0xff0d, "\x23\x2d"}, {0xff0e, "\x23\x2e"}, {0xff0f, "\x23\x2f"}, + {0xff10, "\x23\x30"}, {0xff11, "\x23\x31"}, {0xff12, "\x23\x32"}, + {0xff13, "\x23\x33"}, {0xff14, "\x23\x34"}, {0xff15, "\x23\x35"}, + {0xff16, "\x23\x36"}, {0xff17, "\x23\x37"}, {0xff18, "\x23\x38"}, + {0xff19, "\x23\x39"}, {0xff1a, "\x23\x3a"}, {0xff1b, "\x23\x3b"}, + {0xff1c, "\x23\x3c"}, {0xff1d, "\x23\x3d"}, {0xff1e, "\x23\x3e"}, + {0xff1f, "\x23\x3f"}, {0xff20, "\x23\x40"}, {0xff21, "\x23\x41"}, + {0xff22, "\x23\x42"}, {0xff23, "\x23\x43"}, {0xff24, "\x23\x44"}, + {0xff25, "\x23\x45"}, {0xff26, "\x23\x46"}, {0xff27, "\x23\x47"}, + {0xff28, "\x23\x48"}, {0xff29, "\x23\x49"}, {0xff2a, "\x23\x4a"}, + {0xff2b, "\x23\x4b"}, {0xff2c, "\x23\x4c"}, {0xff2d, "\x23\x4d"}, + {0xff2e, "\x23\x4e"}, {0xff2f, "\x23\x4f"}, {0xff30, "\x23\x50"}, + {0xff31, "\x23\x51"}, {0xff32, "\x23\x52"}, {0xff33, "\x23\x53"}, + {0xff34, "\x23\x54"}, {0xff35, "\x23\x55"}, {0xff36, "\x23\x56"}, + {0xff37, "\x23\x57"}, {0xff38, "\x23\x58"}, {0xff39, "\x23\x59"}, + {0xff3a, "\x23\x5a"}, {0xff3b, "\x23\x5b"}, {0xff3c, "\x21\x2c"}, + {0xff3d, "\x23\x5d"}, {0xff3e, "\x23\x5e"}, {0xff3f, "\x23\x5f"}, + {0xff40, "\x23\x60"}, {0xff41, "\x23\x61"}, {0xff42, "\x23\x62"}, + {0xff43, "\x23\x63"}, {0xff44, "\x23\x64"}, {0xff45, "\x23\x65"}, + {0xff46, "\x23\x66"}, {0xff47, "\x23\x67"}, {0xff48, "\x23\x68"}, + {0xff49, "\x23\x69"}, {0xff4a, "\x23\x6a"}, {0xff4b, "\x23\x6b"}, + {0xff4c, "\x23\x6c"}, {0xff4d, "\x23\x6d"}, {0xff4e, "\x23\x6e"}, + {0xff4f, "\x23\x6f"}, {0xff50, "\x23\x70"}, {0xff51, "\x23\x71"}, + {0xff52, "\x23\x72"}, {0xff53, "\x23\x73"}, {0xff54, "\x23\x74"}, + {0xff55, "\x23\x75"}, {0xff56, "\x23\x76"}, {0xff57, "\x23\x77"}, + {0xff58, "\x23\x78"}, {0xff59, "\x23\x79"}, {0xff5a, "\x23\x7a"}, + {0xff5b, "\x23\x7b"}, {0xff5c, "\x23\x7c"}, {0xff5d, "\x23\x7d"}, + {0xff5e, "\x22\x26"}, {0xffe0, "\x21\x4b"}, {0xffe1, "\x21\x4c"}, + {0xffe2, "\x21\x7e"}, {0xffe3, "\x23\x7e"}, {0xffe5, "\x21\x4d"}, + {0xffe6, "\x23\x5c"} }; /* diff -durpN glibc-2.1.2/iconvdata/ksc5601.h glibc-2.1.3/iconvdata/ksc5601.h --- glibc-2.1.2/iconvdata/ksc5601.h Wed Jul 28 13:41:44 1999 +++ glibc-2.1.3/iconvdata/ksc5601.h Mon Jan 3 13:10:15 2000 @@ -1,5 +1,5 @@ /* Access functions for KS C 5601-1992 based encoding conversion. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 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 @@ -22,7 +22,7 @@ #define KSC5601_HANGUL 2350 #define KSC5601_HANJA 4888 -#define KSC5601_SYMBOL 986 +#define KSC5601_SYMBOL 988 #include <gconv.h> #include <stdint.h> diff -durpN glibc-2.1.2/iconvdata/sami-ws2.c glibc-2.1.3/iconvdata/sami-ws2.c --- glibc-2.1.2/iconvdata/sami-ws2.c Wed Jan 20 08:12:07 1999 +++ glibc-2.1.3/iconvdata/sami-ws2.c Thu Dec 9 10:56:51 1999 @@ -23,7 +23,7 @@ /* Get the conversion table. */ #define TABLES <sami-ws2.h> -#define CHARSET_NAME "SAMI-WS2//" +#define CHARSET_NAME "WIN-SAMI-2//" #define HAS_HOLES 1 /* Not all 256 character are defined. */ #include <8bit-gap.c> diff -durpN glibc-2.1.2/iconvdata/t.61.c glibc-2.1.3/iconvdata/t.61.c --- glibc-2.1.2/iconvdata/t.61.c Thu Dec 31 10:00:49 1998 +++ glibc-2.1.3/iconvdata/t.61.c Mon Nov 29 11:19:24 1999 @@ -1,5 +1,5 @@ /* Generic conversion to and from T.61. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -365,7 +365,7 @@ static const char from_ucs4[][2] = /* Definitions used in the body of the `gconv' function. */ -#define CHARSET_NAME "T.61//" +#define CHARSET_NAME "T.61-8BIT//" #define FROM_LOOP from_t_61 #define TO_LOOP to_t_61 #define DEFINE_INIT 1 diff -durpN glibc-2.1.2/include/fcntl.h glibc-2.1.3/include/fcntl.h --- glibc-2.1.2/include/fcntl.h Sun Sep 6 16:38:38 1998 +++ glibc-2.1.3/include/fcntl.h Fri Jan 7 21:12:57 2000 @@ -3,4 +3,7 @@ /* Now define the internal interfaces. */ extern int __open64 __P ((__const char *__file, int __oflag, ...)); +extern int __libc_open64 __P ((const char *file, int oflag, ...)); +extern int __libc_open __P ((const char *file, int oflag, ...)); +extern int __libc_fcntl __P ((int fd, int cmd, ...)); #endif diff -durpN glibc-2.1.2/include/features.h glibc-2.1.3/include/features.h --- glibc-2.1.2/include/features.h Thu Dec 31 10:04:45 1998 +++ glibc-2.1.3/include/features.h Tue Dec 21 15:51:20 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,95,96,97,98,99 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 @@ -23,7 +23,8 @@ to specify the desired environment: __STRICT_ANSI__ ISO Standard C. - _ISOC9X_SOURCE Extensions to ISO C 89 from ISO C 9x. + _ISOC99_SOURCE Extensions to ISO C 89 from ISO C 99. + _ISOC9X_SOURCE Similar, kept for compatibility. _POSIX_SOURCE IEEE Std 1003.1. _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2; if >=199309L, add IEEE Std 1003.1b-1993; @@ -148,7 +149,7 @@ /* This is to enable the ISO C 9x extension. It will go away as soon as this standard is officially released. */ -#ifdef _ISOC9X_SOURCE +#if defined _ISOC9X_SOURCE || defined _ISOC99_SOURCE # define __USE_ISOC9X 1 #endif diff -durpN glibc-2.1.2/include/netdb.h glibc-2.1.3/include/netdb.h --- glibc-2.1.2/include/netdb.h Tue Dec 8 05:10:58 1998 +++ glibc-2.1.3/include/netdb.h Mon Oct 4 12:48:07 1999 @@ -8,7 +8,7 @@ extern int __gethostent_r __P ((struct h int *__restrict __h_errnop)); extern int __gethostbyaddr_r __P ((__const char *__restrict __addr, - int __len, int __type, + size_t __len, int __type, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, diff -durpN glibc-2.1.2/include/sys/resource.h glibc-2.1.3/include/sys/resource.h --- glibc-2.1.2/include/sys/resource.h Sun Sep 6 16:39:14 1998 +++ glibc-2.1.3/include/sys/resource.h Mon Nov 22 11:10:44 1999 @@ -5,4 +5,8 @@ extern int __getrlimit __P ((enum __rlimit_resource __resource, struct rlimit *__rlimits)); extern int __getrusage __P ((enum __rusage_who __who, struct rusage *__usage)); + +extern int __setrlimit (enum __rlimit_resource __resource, + const struct rlimit *__rlimits); + #endif diff -durpN glibc-2.1.2/include/ucontext.h glibc-2.1.3/include/ucontext.h --- glibc-2.1.2/include/ucontext.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/include/ucontext.h Mon Dec 20 23:26:49 1999 @@ -0,0 +1 @@ +#include <stdlib/ucontext.h> diff -durpN glibc-2.1.2/include/unistd.h glibc-2.1.3/include/unistd.h --- glibc-2.1.2/include/unistd.h Tue Dec 8 05:11:01 1998 +++ glibc-2.1.3/include/unistd.h Fri Jan 7 21:12:36 2000 @@ -5,10 +5,22 @@ extern int __access __P ((__const char *__name, int __type)); extern int __euidaccess __P ((__const char *__name, int __type)); extern __off64_t __lseek64 __P ((int __fd, __off64_t __offset, int __whence)); +extern __off64_t __libc_lseek64 (int __fd, __off64_t __offset, int __whence); +extern __off_t __libc_lseek __P ((int __fd, __off_t __offset, int __whence)); extern ssize_t __pread __P ((int __fd, __ptr_t __buf, size_t __nbytes, __off_t __offset)); +extern ssize_t __libc_pread (int __fd, void *__buf, size_t __nbytes, + __off_t __offset); +extern ssize_t __libc_pread64 (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset); extern ssize_t __pwrite __P ((int __fd, __const __ptr_t __buf, size_t __n, __off_t __offset)); +extern ssize_t __libc_pwrite (int __fd, __const void *__buf, size_t __n, + __off_t __offset); +extern ssize_t __libc_pwrite64 (int __fd, __const void *__buf, size_t __n, + __off64_t __offset); +extern ssize_t __libc_read (int __fd, void *__buf, size_t __n); +extern ssize_t __libc_write (int __fd, __const void *__buf, size_t __n); extern int __pipe __P ((int __pipedes[2])); extern unsigned int __sleep __P ((unsigned int __seconds)); extern int __chown __P ((__const char *__file, diff -durpN glibc-2.1.2/inet/gethstbyad.c glibc-2.1.3/inet/gethstbyad.c --- glibc-2.1.2/inet/gethstbyad.c Fri Feb 14 20:27:22 1997 +++ glibc-2.1.3/inet/gethstbyad.c Mon Oct 4 12:48:21 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -23,7 +23,7 @@ #define LOOKUP_TYPE struct hostent #define FUNCTION_NAME gethostbyaddr #define DATABASE_NAME hosts -#define ADD_PARAMS const char *addr, int len, int type +#define ADD_PARAMS const char *addr, size_t len, int type #define ADD_VARIABLES addr, len, type #define BUFLEN 1024 #define NEED_H_ERRNO 1 diff -durpN glibc-2.1.2/inet/gethstbyad_r.c glibc-2.1.3/inet/gethstbyad_r.c --- glibc-2.1.2/inet/gethstbyad_r.c Fri Nov 20 09:23:15 1998 +++ glibc-2.1.3/inet/gethstbyad_r.c Mon Oct 4 12:48:21 1999 @@ -23,7 +23,7 @@ #define LOOKUP_TYPE struct hostent #define FUNCTION_NAME gethostbyaddr #define DATABASE_NAME hosts -#define ADD_PARAMS const char *addr, int len, int type +#define ADD_PARAMS const char *addr, size_t len, int type #define ADD_VARIABLES addr, len, type #define NEED_H_ERRNO 1 #define NEED__RES 1 diff -durpN glibc-2.1.2/inet/getnameinfo.c glibc-2.1.3/inet/getnameinfo.c --- glibc-2.1.2/inet/getnameinfo.c Thu Apr 29 05:41:41 1999 +++ glibc-2.1.3/inet/getnameinfo.c Thu Jan 20 17:40:17 2000 @@ -243,6 +243,8 @@ getnameinfo (const struct sockaddr *sa, { strncpy (host, h->h_name, min(hostlen, (size_t) (c - h->h_name))); + host[min(hostlen - 1, (size_t) (c - h->h_name))] + = '\0'; break; } } diff -durpN glibc-2.1.2/inet/inet_net.c glibc-2.1.3/inet/inet_net.c --- glibc-2.1.2/inet/inet_net.c Sun Sep 6 16:39:52 1998 +++ glibc-2.1.3/inet/inet_net.c Fri Feb 11 15:49:57 2000 @@ -10,10 +10,6 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. @@ -52,29 +48,36 @@ inet_network(cp) register u_int32_t val, base, n, i; register char c; u_int32_t parts[4], *pp = parts; + int digit; again: - val = 0; base = 10; + val = 0; base = 10; digit = 0; if (*cp == '0') - base = 8, cp++; + digit = 1, base = 8, cp++; if (*cp == 'x' || *cp == 'X') base = 16, cp++; - while ((c = *cp)) { + while ((c = *cp) != 0) { if (isdigit(c)) { + if (base == 8 && (c == '8' || c == '9')) + return (INADDR_NONE); val = (val * base) + (c - '0'); cp++; + digit = 1; continue; } if (base == 16 && isxdigit(c)) { - val = (val << 4) + (c + 10 - (islower(c) ? 'a' : 'A')); + val = (val << 4) + (tolower (c) + 10 - 'a'); cp++; + digit = 1; continue; } break; } + if (!digit) + return (INADDR_NONE); + if (pp >= parts + 4 || val > 0xff) + return (INADDR_NONE); if (*cp == '.') { - if (pp >= parts + 4) - return (INADDR_NONE); *pp++ = val, cp++; goto again; } @@ -82,8 +85,6 @@ again: return (INADDR_NONE); *pp++ = val; n = pp - parts; - if (n > 4) - return (INADDR_NONE); for (val = 0, i = 0; i < n; i++) { val <<= 8; val |= parts[i] & 0xff; diff -durpN glibc-2.1.2/inet/rcmd.c glibc-2.1.3/inet/rcmd.c --- glibc-2.1.2/inet/rcmd.c Fri Jul 2 11:11:40 1999 +++ glibc-2.1.3/inet/rcmd.c Mon Nov 29 11:19:26 1999 @@ -54,11 +54,16 @@ static char sccsid[] = "@(#)rcmd.c 8.3 ( #include <ctype.h> #include <string.h> #include <libintl.h> +#include <stdlib.h> int __ivaliduser __P ((FILE *, u_int32_t, const char *, const char *)); static int __ivaliduser2 __P ((FILE *, u_int32_t, const char *, const char *, const char *)); +static int iruserok2 (u_int32_t raddr, int superuser, const char *ruser, + const char *luser, const char *rhost); +int iruserok (u_int32_t raddr, int superuser, const char *ruser, + const char *luser); int @@ -288,7 +293,7 @@ ruserok(rhost, superuser, ruser, luser) for (ap = hp->h_addr_list; *ap; ++ap) { bcopy(*ap, &addr, sizeof(addr)); - if (iruserok(addr, superuser, ruser, luser, rhost) == 0) + if (iruserok2(addr, superuser, ruser, luser, rhost) == 0) return 0; } return -1; @@ -353,7 +358,7 @@ iruserok2 (raddr, superuser, ruser, luse const char *ruser, *luser, *rhost; { FILE *hostf = NULL; - int isbad; + int isbad = -1; if (!superuser) hostf = iruserfopen (_PATH_HEQUIV, 0); diff -durpN glibc-2.1.2/intl/finddomain.c glibc-2.1.3/intl/finddomain.c --- glibc-2.1.2/intl/finddomain.c Wed Apr 28 14:50:36 1999 +++ glibc-2.1.3/intl/finddomain.c Mon Oct 4 12:48:51 1999 @@ -191,6 +191,10 @@ _nl_find_domain (dirname, locale, domain if (alias_value != NULL) free (locale); + /* The space for normalized_codeset is dynamically allocated. Free it. */ + if (mask & XPG_NORM_CODESET) + free ((void *) normalized_codeset); + return retval; } diff -durpN glibc-2.1.2/intl/l10nflist.c glibc-2.1.3/intl/l10nflist.c --- glibc-2.1.2/intl/l10nflist.c Sat Jan 23 14:11:28 1999 +++ glibc-2.1.3/intl/l10nflist.c Mon Nov 8 15:44:29 1999 @@ -352,7 +352,8 @@ _nl_make_l10nflist (l10nfile_list, dirli /* Normalize codeset name. There is no standard for the codeset names. Normalization allows the user to use any of the common - names. */ + names. The return value is dynamically allocated and has to be + freed by the caller. */ const char * _nl_normalize_codeset (codeset, name_len) const char *codeset; diff -durpN glibc-2.1.2/intl/loadinfo.h glibc-2.1.3/intl/loadinfo.h --- glibc-2.1.2/intl/loadinfo.h Thu Jun 18 12:54:46 1998 +++ glibc-2.1.3/intl/loadinfo.h Mon Nov 8 15:44:29 1999 @@ -51,6 +51,10 @@ struct loaded_l10nfile }; +/* Normalize codeset name. There is no standard for the codeset + names. Normalization allows the user to use any of the common + names. The return value is dynamically allocated and has to be + freed by the caller. */ extern const char *_nl_normalize_codeset PARAMS ((const char *codeset, size_t name_len)); @@ -67,6 +71,8 @@ _nl_make_l10nflist PARAMS ((struct loade extern const char *_nl_expand_alias PARAMS ((const char *name)); +/* normalized_codeset is dynamically allocated and has to be freed by + the caller. */ extern int _nl_explode_name PARAMS ((char *name, const char **language, const char **modifier, const char **territory, diff -durpN glibc-2.1.2/intl/locale.alias glibc-2.1.3/intl/locale.alias --- glibc-2.1.2/intl/locale.alias Sun Aug 15 13:20:12 1999 +++ glibc-2.1.3/intl/locale.alias Wed Jan 5 17:45:12 2000 @@ -1,5 +1,5 @@ # Locale name alias data base. -# Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000 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 @@ -33,6 +33,8 @@ danish da_DK.ISO-8859-1 dansk da_DK.ISO-8859-1 deutsch de_DE.ISO-8859-1 dutch nl_NL.ISO-8859-1 +eesti et_EE.ISO-8859-1 +estonian et_EE.ISO-8859-1 finnish fi_FI.ISO-8859-1 fran�ais fr_FR.ISO-8859-1 french fr_FR.ISO-8859-1 @@ -45,6 +47,7 @@ icelandic is_IS.ISO-8859-1 italian it_IT.ISO-8859-1 japanese ja_JP.SJIS japanese.euc ja_JP.eucJP +lithuanian lt_LT.ISO-8859-13 norwegian no_NO.ISO-8859-1 polish pl_PL.ISO-8859-2 portuguese pt_PT.ISO-8859-1 diff -durpN glibc-2.1.2/io/Versions glibc-2.1.3/io/Versions --- glibc-2.1.2/io/Versions Thu Apr 8 19:16:21 1999 +++ glibc-2.1.3/io/Versions Tue Dec 21 15:51:22 1999 @@ -87,4 +87,8 @@ libc { # l* lockf64; } + GLIBC_2.1.3 { + # For the cancelation wrappers. + __libc_open64; __libc_lseek64; + } } diff -durpN glibc-2.1.2/io/ftw.c glibc-2.1.3/io/ftw.c --- glibc-2.1.2/io/ftw.c Wed Apr 28 14:53:58 1999 +++ glibc-2.1.3/io/ftw.c Wed Jan 5 17:45:13 2000 @@ -1,5 +1,5 @@ /* File tree walker functions. - Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -288,12 +288,12 @@ process_entry (struct ftw_data *data, st && (flag == FTW_NS || !(data->flags & FTW_MOUNT) || st.st_dev == data->dev)) { - if ((data->flags & FTW_PHYS) || flag == FTW_NS - || (!find_object (data, &st) - /* Remember the object. */ - && (result = add_object (data, &st)) == 0)) + if (flag == FTW_D) { - if (flag == FTW_D) + if ((data->flags & FTW_PHYS) + || (!find_object (data, &st) + /* Remember the object. */ + && (result = add_object (data, &st)) == 0)) { result = ftw_dir (data, &st); @@ -325,10 +325,10 @@ process_entry (struct ftw_data *data, st } } } - else - result = (*data->func) (data->dirbuf, &st, data->cvt_arr[flag], - &data->ftw); } + else + result = (*data->func) (data->dirbuf, &st, data->cvt_arr[flag], + &data->ftw); } return result; diff -durpN glibc-2.1.2/libio/stdio.h glibc-2.1.3/libio/stdio.h --- glibc-2.1.2/libio/stdio.h Tue Jan 26 12:48:04 1999 +++ glibc-2.1.3/libio/stdio.h Tue Feb 22 23:02:52 2000 @@ -1,5 +1,5 @@ /* Define ISO C stdio on top of C++ iostreams. - Copyright (C) 1991, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc. + Copyright (C) 1991, 1994-1999, 2000 Free Software Foundation, Inc. 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 @@ -114,6 +114,10 @@ typedef _G_fpos64_t fpos64_t; extern FILE *stdin; /* Standard input stream. */ extern FILE *stdout; /* Standard output stream. */ extern FILE *stderr; /* Standard error output stream. */ +/* C89/C99 say they're macros. Make them happy. */ +#define stdin stdin +#define stdout stdout +#define stderr stderr /* Remove file FILENAME. */ diff -durpN glibc-2.1.2/locale/C-ctype.c glibc-2.1.3/locale/C-ctype.c --- glibc-2.1.2/locale/C-ctype.c Mon Oct 19 01:01:12 1998 +++ glibc-2.1.3/locale/C-ctype.c Thu Feb 24 14:48:02 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. @@ -343,7 +343,7 @@ const struct locale_data _nl_C_LC_CTYPE _nl_C_name, NULL, 0, 0, /* no file mapped */ UNDELETABLE, - 15, + 20, { { string: _nl_C_LC_CTYPE_class }, #if BYTE_ORDER == LITTLE_ENDIAN @@ -368,6 +368,15 @@ const struct locale_data _nl_C_LC_CTYPE { string: "tolower\0" "toupper\0" }, { string: _nl_C_LC_CTYPE_width }, { word: 1 }, - { string: "ANSI_X3.4-1968" } + { string: "ANSI_X3.4-1968" }, +#if BYTE_ORDER == LITTLE_ENDIAN + { string: NULL }, +#endif + { string: (const char *) (_nl_C_LC_CTYPE_toupper + 128) }, + { string: NULL }, + { string: (const char *) (_nl_C_LC_CTYPE_tolower + 128) } +#if BYTE_ORDER == BIG_ENDIAN + { string: NULL }, +#endif } }; diff -durpN glibc-2.1.2/locale/findlocale.c glibc-2.1.3/locale/findlocale.c --- glibc-2.1.2/locale/findlocale.c Thu Jan 28 06:13:01 1999 +++ glibc-2.1.3/locale/findlocale.c Mon Nov 8 15:44:29 1999 @@ -138,6 +138,10 @@ _nl_find_locale (const char *locale_path return NULL; } + /* The space for normalized_codeset is dynamically allocated. Free it. */ + if (mask & XPG_NORM_CODESET) + free ((void *) normalized_codeset); + if (locale_file->decided == 0) _nl_load_locale (locale_file, category); diff -durpN glibc-2.1.2/locale/iso-4217.def glibc-2.1.3/locale/iso-4217.def --- glibc-2.1.2/locale/iso-4217.def Fri Apr 24 00:01:07 1998 +++ glibc-2.1.3/locale/iso-4217.def Mon Jan 3 13:10:18 2000 @@ -12,14 +12,13 @@ DEFINE_INT_CURR("AFA ") /* Afghanistan DEFINE_INT_CURR("ALL ") /* Albanian Lek */ DEFINE_INT_CURR("AMD ") /* Armenia Dram */ DEFINE_INT_CURR("ANG ") /* Netherlands Antilles */ -DEFINE_INT_CURR("AOK ") /* Angolan Kwanza */ /* obsolete */ DEFINE_INT_CURR("AON ") /* Angolan New Kwanza */ DEFINE_INT_CURR("ARS ") /* Argentine Peso */ DEFINE_INT_CURR("ATS ") /* Austrian Schilling */ DEFINE_INT_CURR("AUD ") /* Australian Dollar */ DEFINE_INT_CURR("AWG ") /* Aruba Guilder */ DEFINE_INT_CURR("AZM ") /* Azerbaijan Manat */ -DEFINE_INT_CURR("BAD ") /* Bosnian Dinar */ +DEFINE_INT_CURR("BAK ") /* Bosnian and Herzegovina Convertible Mark */ DEFINE_INT_CURR("BBD ") /* Barbados Dollar */ DEFINE_INT_CURR("BDT ") /* Bangladesh Taka */ DEFINE_INT_CURR("BEF ") /* Belgian Franc */ @@ -32,7 +31,6 @@ DEFINE_INT_CURR("BOB ") /* Bolivian Bol DEFINE_INT_CURR("BPS ") /* Canton and Enderbury Islands */ /* ?? */ DEFINE_INT_CURR("BRE ") /* Brazil Real */ /* obsolete */ DEFINE_INT_CURR("BRL ") /* Brazil Cruzeiro */ -DEFINE_INT_CURR("BRR ") /* Brazil Real */ /* obsolete */ DEFINE_INT_CURR("BSD ") /* Bahamas Dollar */ DEFINE_INT_CURR("BTN ") /* Bhutan Ngultrum */ DEFINE_INT_CURR("BUK ") /* Burma */ /* obsolete */ @@ -129,6 +127,7 @@ DEFINE_INT_CURR("MWK ") /* Malawi Kwach DEFINE_INT_CURR("MXP ") /* Mexican Peso */ DEFINE_INT_CURR("MYR ") /* Malaysian Ringgit */ DEFINE_INT_CURR("MZM ") /* Mozambique Metical */ +DEFINE_INT_CURR("NAD ") /* Namibia Dollar */ DEFINE_INT_CURR("NGN ") /* Nigeria Naira */ DEFINE_INT_CURR("NIC ") /* Nicaragua Cordoba */ DEFINE_INT_CURR("NLG ") /* Netherlands Guilder */ diff -durpN glibc-2.1.2/locale/langinfo.h glibc-2.1.3/locale/langinfo.h --- glibc-2.1.2/locale/langinfo.h Mon Apr 5 18:26:07 1999 +++ glibc-2.1.3/locale/langinfo.h Tue Feb 15 10:59:23 2000 @@ -1,5 +1,5 @@ /* Access to locale-dependent parameters. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000 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 @@ -207,9 +207,12 @@ enum _NL_CTYPE_WIDTH, _NL_CTYPE_MB_CUR_MAX, _NL_CTYPE_CODESET_NAME, -#ifdef __USE_XOPEN CODESET = _NL_CTYPE_CODESET_NAME, -#endif +#define CODESET CODESET + _NL_CTYPE_TOUPPER32_EB, + _NL_CTYPE_TOLOWER32_EB, + _NL_CTYPE_TOUPPER32_EL, + _NL_CTYPE_TOLOWER32_EL, _NL_NUM_LC_CTYPE, /* LC_MONETARY category: formatting of monetary quantities. diff -durpN glibc-2.1.2/locale/lc-ctype.c glibc-2.1.3/locale/lc-ctype.c --- glibc-2.1.2/locale/lc-ctype.c Fri Feb 14 20:28:02 1997 +++ glibc-2.1.3/locale/lc-ctype.c Tue Feb 15 10:59:23 2000 @@ -1,5 +1,5 @@ /* Define current locale data for LC_CTYPE category. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 2000 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 @@ -20,6 +20,7 @@ #include "localeinfo.h" #include <ctype.h> #include <endian.h> +#include <stdint.h> _NL_CURRENT_DEFINE (LC_CTYPE); @@ -49,11 +50,15 @@ _nl_postload_ctype (void) extern const unsigned int *__ctype32_b; extern const unsigned int *__ctype_names; extern const unsigned char *__ctype_width; + extern const uint32_t *__ctype32_toupper; + extern const uint32_t *__ctype32_tolower; __ctype_b = current (unsigned short int, CLASS, 128); __ctype_toupper = current (int, bo (TOUPPER), 128); __ctype_tolower = current (int, bo (TOLOWER), 128); __ctype32_b = current (unsigned int, CLASS32, 0); + __ctype32_toupper = current (uint32_t, bo (TOUPPER32), 0); + __ctype32_tolower = current (uint32_t, bo (TOLOWER32), 0); __ctype_names = current (unsigned int, bo (NAMES), 0); __ctype_width = current (unsigned char, WIDTH, 0); } diff -durpN glibc-2.1.2/locale/nl_langinfo.c glibc-2.1.3/locale/nl_langinfo.c --- glibc-2.1.2/locale/nl_langinfo.c Wed Apr 28 15:03:50 1999 +++ glibc-2.1.3/locale/nl_langinfo.c Tue Feb 15 10:59:23 2000 @@ -1,5 +1,5 @@ /* User interface for extracting locale-dependent parameters. - Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1999, 2000 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 @@ -34,20 +34,14 @@ nl_langinfo (item) const struct locale_data *data; if (category < 0 || category >= LC_ALL) - { - /* Bogus category: bogus item. */ - __set_errno (EINVAL); - return NULL; - } + /* Bogus category: bogus item. */ + return (char *) ""; data = *_nl_current[category]; if (index >= data->nstrings) - { - /* Bogus index for this category: bogus item. */ - __set_errno (EINVAL); - return NULL; - } + /* Bogus index for this category: bogus item. */ + return (char *) ""; /* Return the string for the specified item. */ return (char *) data->values[index].string; diff -durpN glibc-2.1.2/locale/programs/charmap.c glibc-2.1.3/locale/programs/charmap.c --- glibc-2.1.2/locale/programs/charmap.c Sun Oct 25 01:01:47 1998 +++ glibc-2.1.3/locale/programs/charmap.c Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -445,7 +445,6 @@ argument to <%s> must be a single charac lr_error (cmfile, _("too many bytes in character encoding")); else charset_new_char (cmfile, &result->char_table, - now->val.charcode.nbytes, now->val.charcode.val, from_name, to_name); /* Ignore trailing comment silently. */ diff -durpN glibc-2.1.2/locale/programs/charset.c glibc-2.1.3/locale/programs/charset.c --- glibc-2.1.2/locale/programs/charset.c Thu Apr 30 09:50:19 1998 +++ glibc-2.1.3/locale/programs/charset.c Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -46,7 +46,7 @@ charset_find_value (const hash_table *ht void -charset_new_char (struct linereader *lr, hash_table *ht, int bytes, +charset_new_char (struct linereader *lr, hash_table *ht, unsigned int value, const char *from, const char *to) { char *from_end; diff -durpN glibc-2.1.2/locale/programs/charset.h glibc-2.1.3/locale/programs/charset.h --- glibc-2.1.2/locale/programs/charset.h Thu Apr 30 11:45:13 1998 +++ glibc-2.1.3/locale/programs/charset.h Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -64,7 +64,7 @@ extern int be_quiet; struct charset_t *charmap_read (const char *filename); /* Prototypes for function to insert new character. */ -void charset_new_char (struct linereader *lr, hash_table *ht, int bytes, +void charset_new_char (struct linereader *lr, hash_table *ht, unsigned int value, const char *from, const char *to); /* Return the value stored under the given key in the hashing table. */ diff -durpN glibc-2.1.2/locale/programs/ld-collate.c glibc-2.1.3/locale/programs/ld-collate.c --- glibc-2.1.2/locale/programs/ld-collate.c Mon Apr 26 07:00:56 1999 +++ glibc-2.1.3/locale/programs/ld-collate.c Tue Feb 22 23:02:54 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. @@ -1418,7 +1418,7 @@ line before ellipsis does not contain de /* Now it's time to handle the ellipsis in the previous line. We do this only when the last line contained an definition for a character, the current line also defines an character, the - character code for the later is bigger than the former. */ + character code for the latter is bigger than the former. */ if (collate->was_ellipsis) { if (collate->kind != character) diff -durpN glibc-2.1.2/locale/programs/ld-ctype.c glibc-2.1.3/locale/programs/ld-ctype.c --- glibc-2.1.2/locale/programs/ld-ctype.c Mon Apr 26 07:01:09 1999 +++ glibc-2.1.3/locale/programs/ld-ctype.c Thu Feb 24 11:19:02 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. @@ -78,8 +78,10 @@ struct locale_ctype_t size_t nr_charclass; const char *classnames[MAX_NR_CHARCLASS]; unsigned long int current_class_mask; + unsigned int last_class_char256; + uint32_t class_collection256[256]; unsigned int last_class_char; - u_int32_t *class_collection; + uint32_t *class_collection; size_t class_collection_max; size_t class_collection_act; unsigned long int class_done; @@ -88,11 +90,13 @@ struct locale_ctype_t increase it. But I doubt it will. --drepper@gnu */ #define MAX_NR_CHARMAP 16 const char *mapnames[MAX_NR_CHARMAP]; + u_int32_t map_collection256[MAX_NR_CHARMAP][256]; u_int32_t *map_collection[MAX_NR_CHARMAP]; size_t map_collection_max[MAX_NR_CHARMAP]; size_t map_collection_act[MAX_NR_CHARMAP]; size_t map_collection_nr; size_t last_map_idx; + unsigned int from_map_char256; unsigned int from_map_char; int toupper_done; int tolower_done; @@ -104,6 +108,8 @@ struct locale_ctype_t char_class32_t *ctype32_b; u_int32_t *names_el; u_int32_t *names_eb; + u_int32_t **map256_eb; + u_int32_t **map256_el; u_int32_t **map_eb; u_int32_t **map_el; u_int32_t *class_name_ptr; @@ -123,7 +129,8 @@ static void ctype_map_newP (struct liner static u_int32_t *find_idx (struct locale_ctype_t *ctype, u_int32_t **table, size_t *max, size_t *act, unsigned int idx); static void set_class_defaults (struct locale_ctype_t *ctype, - struct charset_t *charset); + struct charset_t *charset, + struct repertoire_t *repertoire); static void allocate_arrays (struct locale_ctype_t *ctype, struct charset_t *charset); @@ -156,6 +163,7 @@ ctype_startup (struct linereader *lr, st /* Fill character class information. */ ctype->nr_charclass = 0; ctype->current_class_mask = 0; + ctype->last_class_char256 = ILLEGAL_CHAR_VALUE; ctype->last_class_char = ILLEGAL_CHAR_VALUE; /* The order of the following instructions determines the bit positions! */ @@ -174,24 +182,25 @@ ctype_startup (struct linereader *lr, st ctype->class_collection_max = charset->mb_cur_max == 1 ? 256 : 512; ctype->class_collection - = (u_int32_t *) xmalloc (sizeof (unsigned long int) - * ctype->class_collection_max); - memset (ctype->class_collection, '\0', - sizeof (unsigned long int) * ctype->class_collection_max); + = (u_int32_t *) xcalloc (sizeof (unsigned long int), + ctype->class_collection_max); + memset (ctype->class_collection256, '\0', + sizeof (ctype->class_collection256[0]) * 256); ctype->class_collection_act = 256; /* Fill character map information. */ ctype->map_collection_nr = 0; ctype->last_map_idx = MAX_NR_CHARMAP; + ctype->from_map_char256 = ILLEGAL_CHAR_VALUE; ctype->from_map_char = ILLEGAL_CHAR_VALUE; ctype_map_newP (lr, ctype, "toupper", charset); ctype_map_newP (lr, ctype, "tolower", charset); - /* Fill first 256 entries in `toupper' and `tolower' arrays. */ + /* Fill first entries in `toupper' and `tolower' arrays. */ for (cnt = 0; cnt < 256; ++cnt) { - ctype->map_collection[0][cnt] = cnt; - ctype->map_collection[1][cnt] = cnt; + ctype->map_collection256[0][cnt] = cnt; + ctype->map_collection256[1][cnt] = cnt; } } @@ -229,9 +238,86 @@ ctype_finish (struct localedef_t *locale struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype; /* Set default value for classes not specified. */ - set_class_defaults (ctype, charset); + set_class_defaults (ctype, charset, locale->repertoire); /* Check according to table. */ + for (cnt = 0; cnt < 256; ++cnt) + { + unsigned long int tmp; + + tmp = ctype->class_collection256[cnt]; + if (tmp == 0) + continue; + + for (cls1 = 0; cls1 < NCLASS; ++cls1) + if ((tmp & (1 << cls1)) != 0) + for (cls2 = 0; cls2 < NCLASS; ++cls2) + if (valid_table[cls1].allow[cls2] != '-') + { + int eq = (tmp & (1 << cls2)) != 0; + switch (valid_table[cls1].allow[cls2]) + { + case 'M': + if (!eq) + { + char buf[17]; + char *cp = buf; + unsigned int value; + + value = cnt; + + if ((value & 0xff000000) != 0) + cp += sprintf (cp, "\\%o", (value >> 24) & 0xff); + if ((value & 0xffff0000) != 0) + cp += sprintf (cp, "\\%o", (value >> 16) & 0xff); + if ((value & 0xffffff00) != 0) + cp += sprintf (cp, "\\%o", (value >> 8) & 0xff); + sprintf (cp, "\\%o", value & 0xff); + + if (!be_quiet) + error (0, 0, _("\ +character '%s' in class `%s' must be in class `%s'"), + buf, valid_table[cls1].name, + valid_table[cls2].name); + } + break; + + case 'X': + if (eq) + { + char buf[17]; + char *cp = buf; + unsigned int value; + + value = cnt; + + if ((value & 0xff000000) != 0) + cp += sprintf (cp, "\\%o", value >> 24); + if ((value & 0xffff0000) != 0) + cp += sprintf (cp, "\\%o", (value >> 16) & 0xff); + if ((value & 0xffffff00) != 0) + cp += sprintf (cp, "\\%o", (value >> 8) & 0xff); + sprintf (cp, "\\%o", value & 0xff); + + if (!be_quiet) + error (0, 0, _("\ +character '%s' in class `%s' must not be in class `%s'"), + buf, valid_table[cls1].name, + valid_table[cls2].name); + } + break; + + case 'D': + ctype->class_collection256[cnt] |= 1 << cls2; + break; + + default: + error (5, 0, _("internal error in %s, line %u"), + __FUNCTION__, __LINE__); + } + } + } + for (cnt = 0; cnt < ctype->class_collection_max; ++cnt) { unsigned long int tmp; @@ -267,8 +353,8 @@ ctype_finish (struct localedef_t *locale if (!be_quiet) error (0, 0, _("\ -character %s'%s' in class `%s' must be in class `%s'"), value > 256 ? "L" : "", - buf, valid_table[cls1].name, +character L'%s' (index %Zd) in class `%s' must be in class `%s'"), + buf, cnt, valid_table[cls1].name, valid_table[cls2].name); } break; @@ -292,9 +378,8 @@ character %s'%s' in class `%s' must be i if (!be_quiet) error (0, 0, _("\ -character %s'%s' in class `%s' must not be in class `%s'"), - value > 256 ? "L" : "", buf, - valid_table[cls1].name, +character L'%s' (index %Zd) in class `%s' must not be in class `%s'"), + buf, cnt, valid_table[cls1].name, valid_table[cls2].name); } break; @@ -320,30 +405,35 @@ character %s'%s' in class `%s' must not error (0, 0, _("character <SP> not defined in character map")); } else if (((cnt = BITPOS (tok_space), - (ELEM (ctype, class_collection, , space_value) - & BIT (tok_space)) == 0) + (ctype->class_collection256[space_value] & BIT (tok_space)) == 0 + || (ctype->class_collection[L' '] & BIT (tok_space)) == 0) || (cnt = BITPOS (tok_blank), - (ELEM (ctype, class_collection, , space_value) - & BIT (tok_blank)) == 0))) + (ctype->class_collection256[space_value] + & BIT (tok_blank)) == 0 + || (ctype->class_collection[L' '] & BIT (tok_blank)) == 0))) { if (!be_quiet) error (0, 0, _("<SP> character not in class `%s'"), valid_table[cnt].name); } else if (((cnt = BITPOS (tok_punct), - (ELEM (ctype, class_collection, , space_value) - & BIT (tok_punct)) != 0) + (ctype->class_collection256[space_value] & BIT (tok_punct)) != 0 + || (ctype->class_collection[L' '] & BIT (tok_punct)) != 0) || (cnt = BITPOS (tok_graph), - (ELEM (ctype, class_collection, , space_value) - & BIT (tok_graph)) - != 0))) + (ctype->class_collection256[space_value] + & BIT (tok_graph)) != 0 + || (ctype->class_collection[L' '] & BIT (tok_punct)) != 0))) { if (!be_quiet) error (0, 0, _("<SP> character must not be in class `%s'"), valid_table[cnt].name); } else - ELEM (ctype, class_collection, , space_value) |= BIT (tok_print); + { + if (space_value < 256) + ctype->class_collection256[space_value] |= BIT (tok_print); + ELEM (ctype, class_collection, , L' ') |= BIT (tok_print); + } /* Now that the tests are done make sure the name array contains all characters which are handled in the WIDTH section of the @@ -416,19 +506,33 @@ ctype_output (struct localedef_t *locale (256 + 128) * sizeof (char_class_t)); CTYPE_DATA (_NL_CTYPE_TOUPPER_EB, + ctype->map256_eb[0], + (256 + 128) * sizeof (u_int32_t)); + CTYPE_DATA (_NL_CTYPE_TOLOWER_EB, + ctype->map256_eb[1], + (256 + 128) * sizeof (u_int32_t)); + + CTYPE_DATA (_NL_CTYPE_TOUPPER_EL, + ctype->map256_el[0], + (256 + 128) * sizeof (u_int32_t)); + CTYPE_DATA (_NL_CTYPE_TOLOWER_EL, + ctype->map256_el[1], + (256 + 128) * sizeof (u_int32_t)); + + CTYPE_DATA (_NL_CTYPE_TOUPPER32_EB, ctype->map_eb[0], (ctype->plane_size * ctype->plane_cnt + 128) * sizeof (u_int32_t)); - CTYPE_DATA (_NL_CTYPE_TOLOWER_EB, + CTYPE_DATA (_NL_CTYPE_TOLOWER32_EB, ctype->map_eb[1], (ctype->plane_size * ctype->plane_cnt + 128) * sizeof (u_int32_t)); - CTYPE_DATA (_NL_CTYPE_TOUPPER_EL, + CTYPE_DATA (_NL_CTYPE_TOUPPER32_EL, ctype->map_el[0], (ctype->plane_size * ctype->plane_cnt + 128) * sizeof (u_int32_t)); - CTYPE_DATA (_NL_CTYPE_TOLOWER_EL, + CTYPE_DATA (_NL_CTYPE_TOLOWER32_EL, ctype->map_el[1], (ctype->plane_size * ctype->plane_cnt + 128) * sizeof (u_int32_t)); @@ -489,7 +593,8 @@ ctype_output (struct localedef_t *locale break; CTYPE_DATA (_NL_CTYPE_WIDTH, - ctype->width, ctype->plane_size * ctype->plane_cnt); + ctype->width, + (ctype->plane_size * ctype->plane_cnt + 3) & ~3ul); CTYPE_DATA (_NL_CTYPE_MB_CUR_MAX, &ctype->mb_cur_max, sizeof (u_int32_t)); @@ -634,7 +739,8 @@ ctype_class_start (struct linereader *lr void ctype_class_from (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset) + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire) { struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype; unsigned int value; @@ -642,22 +748,33 @@ ctype_class_from (struct linereader *lr, value = charset_find_value (&charset->char_table, code->val.str.start, code->val.str.len); - ctype->last_class_char = value; + ctype->last_class_char256 = value; - if ((wchar_t) value == ILLEGAL_CHAR_VALUE) + if ((wchar_t) value != ILLEGAL_CHAR_VALUE && value < 256) /* In the LC_CTYPE category it is no error when a character is not found. This has to be ignored silently. */ - return; + ctype->class_collection256[value] |= ctype->current_class_mask; - *find_idx (ctype, &ctype->class_collection, &ctype->class_collection_max, - &ctype->class_collection_act, value) - |= ctype->current_class_mask; + /* Now the wide character value. */ + value = repertoire_find_value (&repertoire->char_table, code->val.str.start, + code->val.str.len); + + ctype->last_class_char = value; + + if ((wchar_t) value != ILLEGAL_CHAR_VALUE) + /* In the LC_CTYPE category it is no error when a character is + not found. This has to be ignored silently. */ + *find_idx (ctype, &ctype->class_collection, + &ctype->class_collection_max, + &ctype->class_collection_act, value) + |= ctype->current_class_mask; } void ctype_class_to (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset) + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire) { struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype; unsigned int value, cnt; @@ -667,7 +784,20 @@ ctype_class_to (struct linereader *lr, s /* In the LC_CTYPE category it is no error when a character is not found. This has to be ignored silently. */ + if ((wchar_t) ctype->last_class_char256 != ILLEGAL_CHAR_VALUE + && ctype->last_class_char256 < value + && (wchar_t) value != ILLEGAL_CHAR_VALUE) + for (cnt = ctype->last_class_char256 + 1; cnt <= value && cnt < 256; ++cnt) + ctype->class_collection256[cnt] |= ctype->current_class_mask; + + ctype->last_class_char256 = ILLEGAL_CHAR_VALUE; + + /* Now the wide character value. */ + value = repertoire_find_value (&repertoire->char_table, code->val.str.start, + code->val.str.len); + if ((wchar_t) ctype->last_class_char != ILLEGAL_CHAR_VALUE + && ctype->last_class_char < value && (wchar_t) value != ILLEGAL_CHAR_VALUE) for (cnt = ctype->last_class_char + 1; cnt <= value; ++cnt) *find_idx (ctype, &ctype->class_collection, &ctype->class_collection_max, @@ -752,7 +882,8 @@ ctype_map_start (struct linereader *lr, void ctype_map_from (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset) + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire) { struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype; unsigned int value; @@ -760,20 +891,25 @@ ctype_map_from (struct linereader *lr, s value = charset_find_value (&charset->char_table, code->val.str.start, code->val.str.len); - if ((wchar_t) value == ILLEGAL_CHAR_VALUE) - /* In the LC_CTYPE category it is no error when a character is - not found. This has to be ignored silently. */ - return; + if ((wchar_t) value != ILLEGAL_CHAR_VALUE) + { + /* In the LC_CTYPE category it is no error when a character is + not found. This has to be ignored silently. */ + assert (ctype->last_map_idx < ctype->map_collection_nr); - assert (ctype->last_map_idx < ctype->map_collection_nr); + ctype->from_map_char256 = value; + } + value = repertoire_find_value (&repertoire->char_table, code->val.str.start, + code->val.str.len); ctype->from_map_char = value; } void ctype_map_to (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset) + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire) { struct locale_ctype_t *ctype = locale->categories[LC_CTYPE].ctype; unsigned int value; @@ -781,19 +917,26 @@ ctype_map_to (struct linereader *lr, str value = charset_find_value (&charset->char_table, code->val.str.start, code->val.str.len); - if ((wchar_t) ctype->from_map_char == ILLEGAL_CHAR_VALUE - || (wchar_t) value == ILLEGAL_CHAR_VALUE) - { - /* In the LC_CTYPE category it is no error when a character is - not found. This has to be ignored silently. */ - ctype->from_map_char = ILLEGAL_CHAR_VALUE; - return; - } + if ((wchar_t) ctype->from_map_char256 != ILLEGAL_CHAR_VALUE + && (wchar_t) value != ILLEGAL_CHAR_VALUE + && ctype->from_map_char256 < 256 + && value < 256) + /* In the LC_CTYPE category it is no error when a character is + not found. This has to be ignored silently. */ + ctype->map_collection256[ctype->last_map_idx][ctype->from_map_char256] + = value; - *find_idx (ctype, &ctype->map_collection[ctype->last_map_idx], - &ctype->map_collection_max[ctype->last_map_idx], - &ctype->map_collection_act[ctype->last_map_idx], - ctype->from_map_char) = value; + ctype->from_map_char256 = ILLEGAL_CHAR_VALUE; + + value = repertoire_find_value (&repertoire->char_table, code->val.str.start, + code->val.str.len); + + if ((wchar_t) ctype->from_map_char != ILLEGAL_CHAR_VALUE + && (wchar_t) value != ILLEGAL_CHAR_VALUE) + *find_idx (ctype, &ctype->map_collection[ctype->last_map_idx], + &ctype->map_collection_max[ctype->last_map_idx], + &ctype->map_collection_act[ctype->last_map_idx], + ctype->from_map_char) = value; ctype->from_map_char = ILLEGAL_CHAR_VALUE; } @@ -938,7 +1081,8 @@ find_idx (struct locale_ctype_t *ctype, static void -set_class_defaults (struct locale_ctype_t *ctype, struct charset_t *charset) +set_class_defaults (struct locale_ctype_t *ctype, struct charset_t *charset, + struct repertoire_t *repertoire) { /* These function defines the default values for the classes and conversions according to POSIX.2 2.5.2.1. @@ -967,7 +1111,10 @@ character `%s' not defined while needed continue; } else - ELEM (ctype, class_collection, , value) |= bit; + ctype->class_collection256[value] |= bit; + + /* The wide character version is even simpler. */ + ELEM (ctype, class_collection, , ch) |= bit; } } @@ -991,6 +1138,10 @@ character `%s' not defined while needed unsigned long int mask = BIT (tok_upper) | BIT (tok_lower); size_t cnt; + for (cnt = 0; cnt < 256; ++cnt) + if ((ctype->class_collection256[cnt] & mask) != 0) + ctype->class_collection256[cnt] |= BIT (tok_alpha); + for (cnt = 0; cnt < ctype->class_collection_act; ++cnt) if ((ctype->class_collection[cnt] & mask) != 0) ctype->class_collection[cnt] |= BIT (tok_alpha); @@ -1009,6 +1160,10 @@ character `%s' not defined while needed unsigned long int mask = BIT (tok_alpha) | BIT (tok_digit); size_t cnt; + for (cnt = 0; cnt < 256; ++cnt) + if ((ctype->class_collection256[cnt] & mask) != 0) + ctype->class_collection256[cnt] |= BIT (tok_alnum); + for (cnt = 0; cnt < ctype->class_collection_act; ++cnt) if ((ctype->class_collection[cnt] & mask) != 0) ctype->class_collection[cnt] |= BIT (tok_alnum); @@ -1031,7 +1186,9 @@ character `%s' not defined while needed "<space>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_space); + ctype->class_collection256[value] |= BIT (tok_space); + + ELEM (ctype, class_collection, , L' ') |= BIT (tok_space); value = charset_find_value (&charset->char_table, "form-feed", 9); if ((wchar_t) value == ILLEGAL_CHAR_VALUE) @@ -1042,7 +1199,9 @@ character `%s' not defined while needed "<form-feed>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_space); + ctype->class_collection256[value] |= BIT (tok_space); + + ELEM (ctype, class_collection, , L'\f') |= BIT (tok_space); value = charset_find_value (&charset->char_table, "newline", 7); if ((wchar_t) value == ILLEGAL_CHAR_VALUE) @@ -1053,7 +1212,9 @@ character `%s' not defined while needed "<newline>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_space); + ctype->class_collection256[value] |= BIT (tok_space); + + ELEM (ctype, class_collection, , L'\n') |= BIT (tok_space); value = charset_find_value (&charset->char_table, "carriage-return", 15); if ((wchar_t) value == ILLEGAL_CHAR_VALUE) @@ -1064,7 +1225,9 @@ character `%s' not defined while needed "<carriage-return>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_space); + ctype->class_collection256[value] |= BIT (tok_space); + + ELEM (ctype, class_collection, , L'\r') |= BIT (tok_space); value = charset_find_value (&charset->char_table, "tab", 3); if ((wchar_t) value == ILLEGAL_CHAR_VALUE) @@ -1075,7 +1238,9 @@ character `%s' not defined while needed "<tab>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_space); + ctype->class_collection256[value] |= BIT (tok_space); + + ELEM (ctype, class_collection, , L'\t') |= BIT (tok_space); value = charset_find_value (&charset->char_table, "vertical-tab", 12); if ((wchar_t) value == ILLEGAL_CHAR_VALUE) @@ -1086,7 +1251,9 @@ character `%s' not defined while needed "<vertical-tab>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_space); + ctype->class_collection256[value] |= BIT (tok_space); + + ELEM (ctype, class_collection, , L'\v') |= BIT (tok_space); } if ((ctype->class_done & BIT (tok_xdigit)) == 0) @@ -1115,7 +1282,9 @@ character `%s' not defined while needed "<space>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_blank); + ctype->class_collection256[value] |= BIT (tok_blank); + + ELEM (ctype, class_collection, , L' ') |= BIT (tok_blank); value = charset_find_value (&charset->char_table, "tab", 3); if ((wchar_t) value == ILLEGAL_CHAR_VALUE) @@ -1126,7 +1295,9 @@ character `%s' not defined while needed "<tab>"); } else - ELEM (ctype, class_collection, , value) |= BIT (tok_blank); + ctype->class_collection256[value] |= BIT (tok_blank); + + ELEM (ctype, class_collection, , L'\t') |= BIT (tok_blank); } if ((ctype->class_done & BIT (tok_graph)) == 0) @@ -1138,6 +1309,10 @@ character `%s' not defined while needed BIT (tok_alpha) | BIT (tok_digit) | BIT (tok_xdigit) | BIT (tok_punct); size_t cnt; + for (cnt = 0; cnt < 256; ++cnt) + if ((ctype->class_collection256[cnt] & mask) != 0) + ctype->class_collection256[cnt] |= BIT (tok_graph); + for (cnt = 0; cnt < ctype->class_collection_act; ++cnt) if ((ctype->class_collection[cnt] & mask) != 0) ctype->class_collection[cnt] |= BIT (tok_graph); @@ -1154,6 +1329,10 @@ character `%s' not defined while needed size_t cnt; wchar_t space; + for (cnt = 0; cnt < 256; ++cnt) + if ((ctype->class_collection256[cnt] & mask) != 0) + ctype->class_collection256[cnt] |= BIT (tok_print); + for (cnt = 0; cnt < ctype->class_collection_act; ++cnt) if ((ctype->class_collection[cnt] & mask) != 0) ctype->class_collection[cnt] |= BIT (tok_print); @@ -1167,7 +1346,9 @@ character `%s' not defined while needed "<space>"); } else - ELEM (ctype, class_collection, , space) |= BIT (tok_print); + ctype->class_collection256[space] |= BIT (tok_print); + + ELEM (ctype, class_collection, , L' ') |= BIT (tok_print); } if (ctype->toupper_done == 0) @@ -1206,12 +1387,13 @@ character `%s' not defined while needed error (0, 0, _("\ character `%s' not defined while needed as default value"), tmp); - continue; } + else if (value_to < 256) + /* The index [0] is determined by the order of the + `ctype_map_newP' calls in `ctype_startup'. */ + ctype->map_collection256[0][value_from] = value_to; - /* The index [0] is determined by the order of the - `ctype_map_newP' calls in `ctype_startup'. */ - ELEM (ctype, map_collection, [0], value_from) = value_to; + ELEM (ctype, map_collection, [0], ch) = tmp[1]; } } @@ -1221,6 +1403,10 @@ character `%s' not defined while needed { size_t cnt; + for (cnt = 0; cnt < 256; ++cnt) + if (ctype->map_collection256[0][cnt] != 0) + ctype->map_collection256[1][ctype->map_collection256[0][cnt]] = cnt; + for (cnt = 0; cnt < ctype->map_collection_act[0]; ++cnt) if (ctype->map_collection[0][cnt] != 0) ELEM (ctype, map_collection, [1], @@ -1248,6 +1434,7 @@ allocate_arrays (struct locale_ctype_t * value for TABSIZE * N, where TABSIZE >= 256. */ size_t min_total = UINT_MAX; size_t act_size = 256; + size_t width_table_size; if (!be_quiet) fputs (_("\ @@ -1352,10 +1539,8 @@ Computing table size for character class # define TRANS32(w) (w) #endif - for (idx = 0; idx < ctype->class_collection_act; ++idx) - if (ctype->charnames[idx] < 256) - ctype->ctype_b[128 + ctype->charnames[idx]] - = TRANS (ctype->class_collection[idx]); + for (idx = 0; idx < 256; ++idx) + ctype->ctype_b[128 + idx] = TRANS (ctype->class_collection256[idx]); /* Mirror first 127 entries. We must take care that entry -1 is not mirrored because EOF == -1. */ @@ -1368,6 +1553,10 @@ Computing table size for character class = TRANS32 (ctype->class_collection[idx]); /* Room for table of mappings. */ + ctype->map256_eb = (u_int32_t **) xmalloc (ctype->map_collection_nr + * sizeof (u_int32_t *)); + ctype->map256_el = (u_int32_t **) xmalloc (ctype->map_collection_nr + * sizeof (u_int32_t *)); ctype->map_eb = (u_int32_t **) xmalloc (ctype->map_collection_nr * sizeof (u_int32_t *)); ctype->map_el = (u_int32_t **) xmalloc (ctype->map_collection_nr @@ -1378,42 +1567,65 @@ Computing table size for character class { unsigned int idx2; - /* Allocate table. */ - ctype->map_eb[idx] = (u_int32_t *) xmalloc ((ctype->plane_size - * ctype->plane_cnt + 128) - * sizeof (u_int32_t)); - ctype->map_el[idx] = (u_int32_t *) xmalloc ((ctype->plane_size - * ctype->plane_cnt + 128) - * sizeof (u_int32_t)); - #if __BYTE_ORDER == __LITTLE_ENDIAN +# define MAP256_B1 ctype->map256_el +# define MAP256_B2 ctype->map256_eb # define MAP_B1 ctype->map_el # define MAP_B2 ctype->map_eb #else +# define MAP256_B1 ctype->map256_eb +# define MAP256_B2 ctype->map256_el # define MAP_B1 ctype->map_eb # define MAP_B2 ctype->map_el #endif + /* Allocate table. */ + if (idx < 2) + { + ctype->map256_eb[idx] = (u_int32_t *) xmalloc ((256 + 128) + * sizeof (u_int32_t)); + ctype->map256_el[idx] = (u_int32_t *) xmalloc ((256 + 128) + * sizeof (u_int32_t)); + + + for (idx2 = 0; idx2 < 256; ++idx2) + { + MAP256_B1[idx][128 + idx2] + = ctype->map_collection256[idx][idx2]; + MAP256_B2[idx][128 + idx2] + = SWAPU32 (ctype->map_collection256[idx][idx2]); + } + + for (idx2 = 0; idx2 < 127; ++idx2) + { + MAP256_B1[idx][idx2] = MAP256_B1[idx][256 + idx2]; + MAP256_B2[idx][idx2] = MAP256_B2[idx][256 + idx2]; + } + + /* EOF must map to EOF. */ + MAP256_B1[idx][127] = EOF; + MAP256_B2[idx][127] = SWAPU32 (EOF); + } + + ctype->map_eb[idx] = (u_int32_t *) xmalloc ((ctype->plane_size + * ctype->plane_cnt) + * sizeof (u_int32_t)); + ctype->map_el[idx] = (u_int32_t *) xmalloc ((ctype->plane_size + * ctype->plane_cnt) + * sizeof (u_int32_t)); + /* Copy default value (identity mapping). */ - memcpy (&MAP_B1[idx][128], NAMES_B1, + memcpy (MAP_B1[idx], NAMES_B1, ctype->plane_size * ctype->plane_cnt * sizeof (u_int32_t)); /* Copy values from collection. */ for (idx2 = 0; idx2 < ctype->map_collection_act[idx]; ++idx2) if (ctype->map_collection[idx][idx2] != 0) - MAP_B1[idx][128 + ctype->charnames[idx2]] = + MAP_B1[idx][ctype->charnames[idx2]] = ctype->map_collection[idx][idx2]; - /* Mirror first 127 entries. We must take care not to map entry - -1 because EOF == -1. */ - for (idx2 = 0; idx2 < 127; ++idx2) - MAP_B1[idx][idx2] = MAP_B1[idx][256 + idx2]; - - /* EOF must map to EOF. */ - MAP_B1[idx][127] = EOF; - /* And now the other byte order. */ - for (idx2 = 0; idx2 < ctype->plane_size * ctype->plane_cnt + 128; ++idx2) + for (idx2 = 0; idx2 < ctype->plane_size * ctype->plane_cnt; ++idx2) MAP_B2[idx][idx2] = SWAPU32 (MAP_B1[idx][idx2]); } @@ -1426,11 +1638,11 @@ Computing table size for character class /* Array for width information. Because the expected width are very small we use only one single byte. This save space and we need not provide the information twice with both endianesses. */ - ctype->width = (unsigned char *) xmalloc (ctype->plane_size - * ctype->plane_cnt); + width_table_size = (ctype->plane_size * ctype->plane_cnt + 3) & ~3ul; + ctype->width = (unsigned char *) xmalloc (width_table_size); + /* Initialize with default width value. */ - memset (ctype->width, charset->width_default, - ctype->plane_size * ctype->plane_cnt); + memset (ctype->width, charset->width_default, width_table_size); if (charset->width_rules != NULL) { size_t cnt; diff -durpN glibc-2.1.2/locale/programs/linereader.c glibc-2.1.3/locale/programs/linereader.c --- glibc-2.1.2/locale/programs/linereader.c Sat Jan 23 14:12:03 1999 +++ glibc-2.1.3/locale/programs/linereader.c Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -400,7 +400,7 @@ get_symname (struct linereader *lr) { /* Yes, it is. */ lr->token.tok = bufact == 6 ? tok_ucs2 : tok_ucs4; - lr->token.val.charcode.val = strtoul (buf, NULL, 16); + lr->token.val.charcode.val = strtoul (buf + 1, NULL, 16); lr->token.val.charcode.nbytes = lr->token.tok == tok_ucs2 ? 2 : 4; return &lr->token; diff -durpN glibc-2.1.2/locale/programs/locale.c glibc-2.1.3/locale/programs/locale.c --- glibc-2.1.2/locale/programs/locale.c Mon Jan 4 04:32:29 1999 +++ glibc-2.1.3/locale/programs/locale.c Fri Feb 11 15:49:57 2000 @@ -1,5 +1,5 @@ /* Implementation of the locale program according to POSIX 9945-2. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. @@ -376,11 +376,11 @@ write_locales (void) cp = buf; /* Ignore leading white space. */ - while (isspace (cp[0])) + while (isspace (cp[0]) && cp[0] != '\n') ++cp; /* A leading '#' signals a comment line. */ - if (cp[0] != '\0' && cp[0] != '#') + if (cp[0] != '\0' && cp[0] != '#' && cp[0] != '\n') { alias = cp++; while (cp[0] != '\0' && !isspace (cp[0])) diff -durpN glibc-2.1.2/locale/programs/locales.h glibc-2.1.3/locale/programs/locales.h --- glibc-2.1.2/locale/programs/locales.h Mon Oct 19 06:30:06 1998 +++ glibc-2.1.3/locale/programs/locales.h Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -114,9 +114,11 @@ void ctype_class_start (struct linereade enum token_t tok, const char *name, struct charset_t *charset); void ctype_class_from (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset); + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire); void ctype_class_to (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset); + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire); void ctype_class_end (struct linereader *lr, struct localedef_t *locale); int ctype_is_charconv (struct linereader *lr, struct localedef_t *locale, @@ -128,9 +130,11 @@ void ctype_map_start (struct linereader enum token_t tok, const char *name, struct charset_t *charset); void ctype_map_from (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset); + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire); void ctype_map_to (struct linereader *lr, struct localedef_t *locale, - struct token *code, struct charset_t *charset); + struct token *code, struct charset_t *charset, + struct repertoire_t *repertoire); void ctype_map_end (struct linereader *lr, struct localedef_t *locale); diff -durpN glibc-2.1.2/locale/programs/locfile.c glibc-2.1.3/locale/programs/locfile.c --- glibc-2.1.2/locale/programs/locfile.c Wed Apr 14 06:46:06 1999 +++ glibc-2.1.3/locale/programs/locfile.c Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996. @@ -282,7 +282,8 @@ argument to `%s' must be a single charac error (4, 0, _("no repertoire map specified: cannot proceed")); - repertoire = repertoire_read (repertoiremap); + result->repertoire = repertoire + = repertoire_read (repertoiremap); if (repertoire == NULL) /* This is also fatal. */ error (4, errno, _("cannot read repertoire map `%s'"), @@ -300,7 +301,8 @@ argument to `%s' must be a single charac error (4, 0, _("no repertoire map specified: cannot proceed")); - repertoire = repertoire_read (repertoiremap); + result->repertoire = repertoire + = repertoire_read (repertoiremap); if (repertoire == NULL) /* This is also fatal. */ error (4, errno, _("cannot read repertoire map `%s'"), @@ -318,7 +320,8 @@ argument to `%s' must be a single charac error (4, 0, _("no repertoire map specified: cannot proceed")); - repertoire = repertoire_read (repertoiremap); + result->repertoire = repertoire + = repertoire_read (repertoiremap); if (repertoire == NULL) /* This is also fatal. */ error (4, errno, _("cannot read repertoire map `%s'"), @@ -336,7 +339,8 @@ argument to `%s' must be a single charac error (4, 0, _("no repertoire map specified: cannot proceed")); - repertoire = repertoire_read (repertoiremap); + result->repertoire = repertoire + = repertoire_read (repertoiremap); if (repertoire == NULL) /* This is also fatal. */ error (4, errno, _("cannot read repertoire map `%s'"), @@ -354,7 +358,8 @@ argument to `%s' must be a single charac error (4, 0, _("no repertoire map specified: cannot proceed")); - repertoire = repertoire_read (repertoiremap); + result->repertoire = repertoire + = repertoire_read (repertoiremap); if (repertoire == NULL) /* This is also fatal. */ error (4, errno, _("cannot read repertoire map `%s'"), @@ -372,7 +377,8 @@ argument to `%s' must be a single charac error (4, 0, _("no repertoire map specified: cannot proceed")); - repertoire = repertoire_read (repertoiremap); + result->repertoire = repertoire + = repertoire_read (repertoiremap); if (repertoire == NULL) /* This is also fatal. */ error (4, errno, _("cannot read repertoire map `%s'"), @@ -495,7 +501,7 @@ syntax error in character class definiti } /* Lookup value for token and write into array. */ - ctype_class_from (ldfile, result, arg, charset); + ctype_class_from (ldfile, result, arg, charset, repertoire); arg = lr_token (ldfile, charset); if (arg->tok == tok_semicolon) @@ -515,7 +521,7 @@ syntax error in character class definiti goto bad_charclass; /* Write range starting at LAST to ARG->VAL. */ - ctype_class_to (ldfile, result, arg, charset); + ctype_class_to (ldfile, result, arg, charset, repertoire); arg = lr_token (ldfile, charset); if (arg->tok == tok_semicolon) @@ -554,7 +560,7 @@ syntax error in character conversion def } /* Lookup arg and assign to FROM. */ - ctype_map_from (ldfile, result, now, charset); + ctype_map_from (ldfile, result, now, charset, repertoire); now = lr_token (ldfile, charset); if (now->tok != tok_comma) @@ -565,7 +571,7 @@ syntax error in character conversion def goto bad_charconv; /* Lookup arg and assign to TO. */ - ctype_map_to (ldfile, result, now, charset); + ctype_map_to (ldfile, result, now, charset, repertoire); now = lr_token (ldfile, charset); if (now->tok != tok_close_brace) diff -durpN glibc-2.1.2/locale/programs/locfile.h glibc-2.1.3/locale/programs/locfile.h --- glibc-2.1.2/locale/programs/locfile.h Thu Apr 30 09:50:28 1998 +++ glibc-2.1.3/locale/programs/locfile.h Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. @@ -51,6 +51,8 @@ struct localedef_t } categories[6]; size_t len[6]; + + struct repertoire_t *repertoire; }; /* Declared in localedef.c. */ diff -durpN glibc-2.1.2/locale/programs/repertoire.c glibc-2.1.3/locale/programs/repertoire.c --- glibc-2.1.2/locale/programs/repertoire.c Thu Apr 30 11:45:15 1998 +++ glibc-2.1.3/locale/programs/repertoire.c Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -41,6 +41,18 @@ extern void *xmalloc (size_t __n); static const struct keyword_t *repertoiremap_hash (const char *str, int len); +uint32_t +repertoire_find_value (const hash_table *ht, const char *name, size_t len) +{ + void *result; + + if (find_entry ((hash_table *) ht, name, len, &result) < 0) + return ILLEGAL_CHAR_VALUE; + + return (unsigned int) ((unsigned long int) result); +} + + struct repertoire_t * repertoire_read (const char *filename) { @@ -242,7 +254,7 @@ argument to <%s> must be a single charac } /* We've found a new valid definition. */ - charset_new_char (repfile, &result->char_table, 4, + charset_new_char (repfile, &result->char_table, now->val.charcode.val, from_name, to_name); /* Ignore the rest of the line. */ diff -durpN glibc-2.1.2/locale/programs/repertoire.h glibc-2.1.3/locale/programs/repertoire.h --- glibc-2.1.2/locale/programs/repertoire.h Thu Apr 30 09:50:52 1998 +++ glibc-2.1.3/locale/programs/repertoire.h Tue Feb 15 10:59:23 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -20,6 +20,7 @@ #ifndef _REPERTOIREMAP_H #define _REPERTOIREMAP_H 1 +#include <stdint.h> #include <obstack.h> #include "simple-hash.h" @@ -33,6 +34,10 @@ struct repertoire_t /* Prototypes for repertoire map handling functions. */ -struct repertoire_t *repertoire_read (const char *filename); +extern struct repertoire_t *repertoire_read (const char *filename); + +/* Find value for name in repertoire map. */ +extern uint32_t repertoire_find_value (const hash_table *repertoire, + const char *name, size_t len); #endif /* repertoiremap.h */ diff -durpN glibc-2.1.2/localedata/ChangeLog glibc-2.1.3/localedata/ChangeLog --- glibc-2.1.2/localedata/ChangeLog Mon Sep 6 12:32:13 1999 +++ glibc-2.1.3/localedata/ChangeLog Tue Feb 22 23:02:54 2000 @@ -1,3 +1,111 @@ +2000-02-22 Ulrich Drepper <drepper@redhat.com> + + * locales/mk_MK: New file. + Contributed by Damjan Georgievski <gdamjan@freemail.org.mk> + * SUPPORTED: Add mk_MK ISO-8859-5. + +2000-02-12 Ulrich Drepper <drepper@redhat.com> + + * locales/en_BW: Work around limitation in current localedef + version. + * locales/en_ZW: Likewise. + + * SUPPORTED: Add gl_ES. + * locales/gl_ES: Copy CTYPE category from es_ES. + + * SUPPORTED: Add af_ZA, ar_SA, en_BW, and en_ZW. + + * locales/ar_SA: New file. + + * locales/th_TH: Remove Thai digits from `digits'. + + * SUPPORTED: Add th_TH.TIS-620. + + * locales/el_GR (toupper): Don't map *s to S*. + * locales/en_DK: Likewise. + * locales/en_DK.com: Likewise. + * locales/ru_RU: Likewise. + * locales/ru_UA: Likewise. + * locales/tr_TR: Likewise. + * locales/uk_UA: Likewise. + + * locales/en_DK (toupper): Map v% to V%. + (tolower): Map V% to v%. + * locales/en_DK.com: Likewise. + * locales/ru_RU: Likewise. + * locales/ru_UA: Likewise. + * locales/tr_TR: Likewise. + * locales/uk_UA: Likewise. + +2000-01-31 Ulrich Drepper <drepper@redhat.com> + + * charmaps/ISO-8859-8: Update mappings for /xAF, /xFD, and /xFE. + * charmaps/NEXTSTEP: Add mappings for /xA9, /xAC, /xAD, /xB8 and /xB9. + Reported by Bruno Haible <haible@ilog.fr>. + +2000-01-27 Jakub Jelinek <jakub@redhat.com> + + * locales/af_ZA: Fix syntax errors. + +2000-01-24 Ulrich Drepper <drepper@cygnus.com> + + * locales/gl_ES: New file. + Contributed by Jacobo Tarrio <jtarrio@ceu.fi.udc.es>. + + * locales/POSIX: Remove trailing semicolon. + * locales/th_TH: Likewise. + +2000-01-05 Ulrich Drepper <drepper@cygnus.com> + + * SUPPORTED: Change lt_LT and lv_LV entries to use ISO-8859-13. + +1999-12-23 Ulrich Drepper <drepper@cygnus.com> + + * locales/en_BW: New file. + * locales/en_ZW: New file. + Contributed by Schalk W. Cronj� <schalkc@ntaba.co.za>. + +1999-12-20 Ulrich Drepper <drepper@cygnus.com> + + * locales/af_ZA: New file. + Contributed by Schalk W. Cronj� <schalkc@ntaba.co.za>. + +1999-12-18 Ulrich Drepper <drepper@cygnus.com> + + * charmaps/ISIRI-3342: New file. + * locales/fa_IR: New file. + Contributed by Roozbeh Pournader <roozbeh@sina.sharif.ac.ir>. + +1999-12-08 Ulrich Drepper <drepper@cygnus.com> + + * repertoiremaps/mnemonic.ds: Add U066A, UFE80, UFE81, UFE83, + UFE85, and UFE8B. + * charmaps/IBM864: Add mapping for /x25, /xc1, /xc2, /xc3, /xc4, + and /xc6. + * charmaps/KOI8-U: Fix typo in /x95 entry. + * charmaps/KOI8-R: Correct 0x95 entry. + * charmaps/CP1258: Add /xEC. + * repertoiremaps/mnemonic.ds: Add U0300 and U0301. + * charmaps/IBM874: Add Euro. + * charmaps/ISO-8859-7: Map /xB4 to U0384. + Reported by Bruno Haible <haible@ilog.fr>. + +1999-11-29 Ulrich Drepper <drepper@cygnus.com> + + * charmaps/ISO-8859-10: Correct alias. This standard was issued + in 1992. Reported by Bruno Haible <haible@ilog.fr>. + +1999-11-12 Ulrich Drepper <drepper@cygnus.com> + + * charmaps/ISO-8859-7: Fix 0xa1 mapping. + + * charmaps/ISO-8859-13: Fix a few entries. + Patch by Marius Gedminas <mgedmin@takas.lt>. + +1999-09-13 Ulrich Drepper <drepper@cygnus.com> + + * locales/id_ID: Fix typo. + 1999-09-01 Thorsten Kukuk <kukuk@suse.de> * localedata/locales/en_DK: Fix typos diff -durpN glibc-2.1.2/localedata/SUPPORTED glibc-2.1.3/localedata/SUPPORTED --- glibc-2.1.2/localedata/SUPPORTED Sun Aug 15 14:28:32 1999 +++ glibc-2.1.3/localedata/SUPPORTED Tue Feb 22 23:02:54 2000 @@ -1,6 +1,8 @@ # This file names the currently supported and somewhat tested locales. # If you have any additions please use the glibcbug script to send an # appropriate message. +af_ZA ISO-8859-1 +ar_SA ISO-8859-6 ca_ES ISO-8859-1 cs_CZ ISO-8859-2 da_DK ISO-8859-1 @@ -11,11 +13,13 @@ de_DE ISO-8859-1 de_LU ISO-8859-1 el_GR ISO-8859-7 en_AU ISO-8859-1 +en_BW ISO-8859-1 en_CA ISO-8859-1 en_DK ISO-8859-1 en_GB ISO-8859-1 en_IE ISO-8859-1 en_US ISO-8859-1 +en_ZW ISO-8859-1 es_ES ISO-8859-1 et_EE ISO-8859-1 eu_ES ISO-8859-1 @@ -27,6 +31,7 @@ fr_CH ISO-8859-1 fr_FR ISO-8859-1 fr_LU ISO-8859-1 ga_IE ISO-8859-1 +gl_ES ISO-8859-1 hr_HR ISO-8859-2 hu_HU ISO-8859-2 in_ID ISO-8859-1 @@ -35,8 +40,9 @@ it_CH ISO-8859-1 it_IT ISO-8859-1 iw_IL ISO-8859-8 kl_GL ISO-8859-1 -lt_LT BALTIC -lv_LV BALTIC +lt_LT ISO-8859-13 +lv_LV ISO-8859-13 +mk_MK ISO-8859-5 nl_BE ISO-8859-1 nl_NL ISO-8859-1 no_NO ISO-8859-1 @@ -52,5 +58,6 @@ sl_SI ISO-8859-2 sr_YU ISO-8859-2 sv_FI ISO-8859-1 sv_SE ISO-8859-1 +th_TH TIS-620 tr_TR ISO-8859-9 uk_UA KOI8-U diff -durpN glibc-2.1.2/localedata/charmaps/CP1258 glibc-2.1.3/localedata/charmaps/CP1258 --- glibc-2.1.2/localedata/charmaps/CP1258 Wed Mar 31 02:37:11 1999 +++ glibc-2.1.3/localedata/charmaps/CP1258 Thu Dec 9 10:56:55 1999 @@ -326,6 +326,7 @@ CHARMAP <e'> /xE9 <U00E9> LATIN SMALL LETTER E WITH ACUTE <e/>> /xEA <U00EA> LATIN SMALL LETTER E WITH CIRCUMFLEX <e:> /xEB <U00EB> LATIN SMALL LETTER E WITH DIAERESIS +<"'> /xEC <U0301> COMBINING ACUTE ACCENT <i'> /xED <U00ED> LATIN SMALL LETTER I WITH ACUTE <i/>> /xEE <U00EE> LATIN SMALL LETTER I WITH CIRCUMFLEX <i:> /xEF <U00EF> LATIN SMALL LETTER I WITH DIAERESIS diff -durpN glibc-2.1.2/localedata/charmaps/IBM864 glibc-2.1.3/localedata/charmaps/IBM864 --- glibc-2.1.2/localedata/charmaps/IBM864 Fri Apr 16 16:26:46 1999 +++ glibc-2.1.3/localedata/charmaps/IBM864 Thu Dec 9 10:56:56 1999 @@ -80,6 +80,7 @@ CHARMAP <!S> /x24 <U0024> DOLLAR SIGN <DO> /x24 <U0024> DOLLAR SIGN <dollar-sign> /x24 <U0024> DOLLAR SIGN +<%a> /x25 <U066A> ARABIC PERCENT SIGN <&> /x26 <U0026> AMPERSAND <ampersand> /x26 <U0026> AMPERSAND <'> /x27 <U0027> APOSTROPHE @@ -292,7 +293,12 @@ CHARMAP <?+> /xBF <U061F> ARABIC QUESTION MARK <Ct> /xC0 <U00A2> CENT SIGN <!C> /xC0 <U00A2> CENT SIGN +<H'-> /xC1 <UFE80> ARABIC LETTER HAMZA ISOLATED FORM +<aM-> /xC2 <UFE81> ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM +<aH-> /xC3 <UFE83> ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM +<wH-> /xC4 <UFE85> ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM <e+.> /xC5 <UFECA> ARABIC LETTER AIN FINAL FORM +<yH,> /xC6 <UFE8D> ARABIC LETTER ALEF ISOLATED FORM <a+-> /xC7 <UFE8D> ARABIC LETTER ALEF ISOLATED FORM <b+,> /xC8 <UFE91> ARABIC LETTER BEH INITIAL FORM <tm-> /xC9 <UFE93> ARABIC LETTER TEH MARBUTA ISOLATED FORM diff -durpN glibc-2.1.2/localedata/charmaps/IBM874 glibc-2.1.3/localedata/charmaps/IBM874 --- glibc-2.1.2/localedata/charmaps/IBM874 Fri Apr 16 17:01:13 1999 +++ glibc-2.1.3/localedata/charmaps/IBM874 Thu Dec 9 10:56:56 1999 @@ -221,6 +221,7 @@ CHARMAP <tilde> /x7E <U007E> TILDE <DEL> /x7F <U007F> DELETE <DT> /x7F <U007F> DELETE +<Eu> /x80 <U20AC> EURO SIGN <.3> /x85 <U2026> HORIZONTAL ELLIPSIS <'6> /x91 <U2018> LEFT SINGLE QUOTATION MARK <'9> /x92 <U2019> RIGHT SINGLE QUOTATION MARK diff -durpN glibc-2.1.2/localedata/charmaps/ISIRI-3342 glibc-2.1.3/localedata/charmaps/ISIRI-3342 --- glibc-2.1.2/localedata/charmaps/ISIRI-3342 Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/charmaps/ISIRI-3342 Sat Dec 18 16:30:01 1999 @@ -0,0 +1,367 @@ +<code_set_name> ISIRI-3342 +<comment_char> % +<escape_char> / +% version: 0.0 +% repertoiremap: +% source: Iranian standard ISIRI 3342 (1993) +% author: Pablo Saratxaga, and Roozbeh Pournader +% email: pablo@mandrakesoft.com, roozbeh@sina.sharif.ac.ir + +% I think the mnemonic for upper space (0xA0) should be different from +% lower space (0x20). Because the semantics are different, although they +% are mapped to a single Unicode character. This is specially important +% when specifying LC_CTYPE. Because we need to distinguish the characters. +% Also, their BIDI behaviour is different of course. This is true also +% of other characters like punctuations, etc. +% Please note that the Unicode equivalents of the Persian part (0x80..0xFF) +% are for compatiblity purposes only. I have also changed the fourth +% column consisting of names to reflect the difference. The names are +% invented on the pattern of Unicode character names. --RP +% +% NOTE: Some entries were missing in the mnemonics.ds file; We invented our +% own. Those are: <zwnj>, <zwj>, <!+>, <Rl>, <%+>, <.+>, <,f>, <(+>, +% <)+>, <*X+>, <+f>, <-f>, <.f>, <//f>, <0f>..<9f>, <:f>, <<f>, <=f>, +% </>f>, <kf>, <yf>, <)/>+>, <<(+>, <!)+>, <(!+>, <<<+>, </>/>+>, <*+>, +% <!!+>, and <////+>. Also, all character sequences +% <NU>..<US>, <SP>, <DT> have counter-parts <NU+>..<US+>, <SP+>, <DT+> + +CHARMAP +<NU> /x00 <U0000> NULL (NUL) +<SH> /x01 <U0001> START OF HEADING (SOH) +<SX> /x02 <U0002> START OF TEXT (STX) +<EX> /x03 <U0003> END OF TEXT (ETX) +<ET> /x04 <U0004> END OF TRANSMISSION (EOT) +<EQ> /x05 <U0005> ENQUIRY (ENQ) +<AK> /x06 <U0006> ACKNOWLEDGE (ACK) +<BL> /x07 <U0007> BELL (BEL) +<BS> /x08 <U0008> BACKSPACE (BS) +<HT> /x09 <U0009> CHARACTER TABULATION (HT) +<LF> /x0A <U000A> LINE FEED (LF) +<VT> /x0B <U000B> LINE TABULATION (VT) +<FF> /x0C <U000C> FORM FEED (FF) +<CR> /x0D <U000D> CARRIAGE RETURN (CR) +<SO> /x0E <U000E> SHIFT OUT (SO) +<SI> /x0F <U000F> SHIFT IN (SI) +<DL> /x10 <U0010> DATALINK ESCAPE (DLE) +<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1) +<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2) +<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3) +<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4) +<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK) +<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN) +<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB) +<CN> /x18 <U0018> CANCEL (CAN) +<EM> /x19 <U0019> END OF MEDIUM (EM) +<SB> /x1A <U001A> SUBSTITUTE (SUB) +<EC> /x1B <U001B> ESCAPE (ESC) +<FS> /x1C <U001C> FILE SEPARATOR (IS4) +<GS> /x1D <U001D> GROUP SEPARATOR (IS3) +<RS> /x1E <U001E> RECORD SEPARATOR (IS2) +<US> /x1F <U001F> UNIT SEPARATOR (IS1) +<SP> /x20 <U0020> SPACE +<!> /x21 <U0021> EXCLAMATION MARK +<"> /x22 <U0022> QUOTATION MARK +<Nb> /x23 <U0023> NUMBER SIGN +<DO> /x24 <U0024> DOLLAR SIGN +<%> /x25 <U0025> PERCENT SIGN +<&> /x26 <U0026> AMPERSAND +<'> /x27 <U0027> APOSTROPHE +<(> /x28 <U0028> LEFT PARENTHESIS +<)> /x29 <U0029> RIGHT PARENTHESIS +<*> /x2A <U002A> ASTERISK +<+> /x2B <U002B> PLUS SIGN +<,> /x2C <U002C> COMMA +<-> /x2D <U002D> HYPHEN-MINUS +<.> /x2E <U002E> FULL STOP +<//> /x2F <U002F> SOLIDUS +<0> /x30 <U0030> DIGIT ZERO +<1> /x31 <U0031> DIGIT ONE +<2> /x32 <U0032> DIGIT TWO +<3> /x33 <U0033> DIGIT THREE +<4> /x34 <U0034> DIGIT FOUR +<5> /x35 <U0035> DIGIT FIVE +<6> /x36 <U0036> DIGIT SIX +<7> /x37 <U0037> DIGIT SEVEN +<8> /x38 <U0038> DIGIT EIGHT +<9> /x39 <U0039> DIGIT NINE +<:> /x3A <U003A> COLON +<;> /x3B <U003B> SEMICOLON +<<> /x3C <U003C> LESS-THAN SIGN +<=> /x3D <U003D> EQUALS SIGN +</>> /x3E <U003E> GREATER-THAN SIGN +<?> /x3F <U003F> QUESTION MARK +<At> /x40 <U0040> COMMERCIAL AT +<A> /x41 <U0041> LATIN CAPITAL LETTER A +<B> /x42 <U0042> LATIN CAPITAL LETTER B +<C> /x43 <U0043> LATIN CAPITAL LETTER C +<D> /x44 <U0044> LATIN CAPITAL LETTER D +<E> /x45 <U0045> LATIN CAPITAL LETTER E +<F> /x46 <U0046> LATIN CAPITAL LETTER F +<G> /x47 <U0047> LATIN CAPITAL LETTER G +<H> /x48 <U0048> LATIN CAPITAL LETTER H +<I> /x49 <U0049> LATIN CAPITAL LETTER I +<J> /x4A <U004A> LATIN CAPITAL LETTER J +<K> /x4B <U004B> LATIN CAPITAL LETTER K +<L> /x4C <U004C> LATIN CAPITAL LETTER L +<M> /x4D <U004D> LATIN CAPITAL LETTER M +<N> /x4E <U004E> LATIN CAPITAL LETTER N +<O> /x4F <U004F> LATIN CAPITAL LETTER O +<P> /x50 <U0050> LATIN CAPITAL LETTER P +<Q> /x51 <U0051> LATIN CAPITAL LETTER Q +<R> /x52 <U0052> LATIN CAPITAL LETTER R +<S> /x53 <U0053> LATIN CAPITAL LETTER S +<T> /x54 <U0054> LATIN CAPITAL LETTER T +<U> /x55 <U0055> LATIN CAPITAL LETTER U +<V> /x56 <U0056> LATIN CAPITAL LETTER V +<W> /x57 <U0057> LATIN CAPITAL LETTER W +<X> /x58 <U0058> LATIN CAPITAL LETTER X +<Y> /x59 <U0059> LATIN CAPITAL LETTER Y +<Z> /x5A <U005A> LATIN CAPITAL LETTER Z +<<(> /x5B <U005B> LEFT SQUARE BRACKET +<////> /x5C <U005C> REVERSE SOLIDUS +<)/>> /x5D <U005D> RIGHT SQUARE BRACKET +<'/>> /x5E <U005E> CIRCUMFLEX ACCENT +<_> /x5F <U005F> LOW LINE +<'!> /x60 <U0060> GRAVE ACCENT +<a> /x61 <U0061> LATIN SMALL LETTER A +<b> /x62 <U0062> LATIN SMALL LETTER B +<c> /x63 <U0063> LATIN SMALL LETTER C +<d> /x64 <U0064> LATIN SMALL LETTER D +<e> /x65 <U0065> LATIN SMALL LETTER E +<f> /x66 <U0066> LATIN SMALL LETTER F +<g> /x67 <U0067> LATIN SMALL LETTER G +<h> /x68 <U0068> LATIN SMALL LETTER H +<i> /x69 <U0069> LATIN SMALL LETTER I +<j> /x6A <U006A> LATIN SMALL LETTER J +<k> /x6B <U006B> LATIN SMALL LETTER K +<l> /x6C <U006C> LATIN SMALL LETTER L +<m> /x6D <U006D> LATIN SMALL LETTER M +<n> /x6E <U006E> LATIN SMALL LETTER N +<o> /x6F <U006F> LATIN SMALL LETTER O +<p> /x70 <U0070> LATIN SMALL LETTER P +<q> /x71 <U0071> LATIN SMALL LETTER Q +<r> /x72 <U0072> LATIN SMALL LETTER R +<s> /x73 <U0073> LATIN SMALL LETTER S +<t> /x74 <U0074> LATIN SMALL LETTER T +<u> /x75 <U0075> LATIN SMALL LETTER U +<v> /x76 <U0076> LATIN SMALL LETTER V +<w> /x77 <U0077> LATIN SMALL LETTER W +<x> /x78 <U0078> LATIN SMALL LETTER X +<y> /x79 <U0079> LATIN SMALL LETTER Y +<z> /x7A <U007A> LATIN SMALL LETTER Z +<(!> /x7B <U007B> LEFT CURLY BRACKET +<!!> /x7C <U007C> VERTICAL LINE +<!)> /x7D <U007D> RIGHT CURLY BRACKET +<'?> /x7E <U007E> TILDE +<DT> /x7F <U007F> DELETE (DEL) + +<NU+> /x80 <U0000> ARABIC NULL (NUL) +<SH+> /x81 <U0001> ARABIC START OF HEADING (SOH) +<SX+> /x82 <U0002> ARABIC START OF TEXT (STX) +<EX+> /x83 <U0003> ARABIC END OF TEXT (ETX) +<ET+> /x84 <U0004> ARABIC END OF TRANSMISSION (EOT) +<EQ+> /x85 <U0005> ARABIC ENQUIRY (ENQ) +<AK+> /x86 <U0006> ARABIC ACKNOWLEDGE (ACK) +<BL+> /x87 <U0007> ARABIC BELL (BEL) +<BS+> /x88 <U0008> ARABIC BACKSPACE (BS) +<HT+> /x89 <U0009> ARABIC CHARACTER TABULATION (HT) +<LF+> /x8A <U000A> ARABIC LINE FEED (LF) +<VT+> /x8B <U000B> ARABIC LINE TABULATION (VT) +<FF+> /x8C <U000C> ARABIC FORM FEED (FF) +<CR+> /x8D <U000D> ARABIC CARRIAGE RETURN (CR) +<SO+> /x8E <U000E> ARABIC SHIFT OUT (SO) +<SI+> /x8F <U000F> ARABIC SHIFT IN (SI) +<DL+> /x90 <U0010> ARABIC DATALINK ESCAPE (DLE) +<D1+> /x91 <U0011> ARABIC DEVICE CONTROL ONE (DC1) +<D2+> /x92 <U0012> ARABIC DEVICE CONTROL TWO (DC2) +<D3+> /x93 <U0013> ARABIC DEVICE CONTROL THREE (DC3) +<D4+> /x94 <U0014> ARABIC DEVICE CONTROL FOUR (DC4) +<NK+> /x95 <U0015> ARABIC NEGATIVE ACKNOWLEDGE (NAK) +<SY+> /x96 <U0016> ARABIC SYNCHRONOUS IDLE (SYN) +<EB+> /x97 <U0017> ARABIC END OF TRANSMISSION BLOCK (ETB) +<CN+> /x98 <U0018> ARABIC CANCEL (CAN) +<EM+> /x99 <U0019> ARABIC END OF MEDIUM (EM) +<SB+> /x9A <U001A> ARABIC SUBSTITUTE (SUB) +<EC+> /x9B <U001B> ARABIC ESCAPE (ESC) +<FS+> /x9C <U001C> ARABIC FILE SEPARATOR (IS4) +<GS+> /x9D <U001D> ARABIC GROUP SEPARATOR (IS3) +<RS+> /x9E <U001E> ARABIC RECORD SEPARATOR (IS2) +<US+> /x9F <U001F> ARABIC UNIT SEPARATOR (IS1) + +<SP+> /xA0 <U0020> ARABIC SPACE +<zwnj> /xA1 <U200C> ZERO WIDTH NON-JOINER +<zwj> /xA2 <U200D> ZERO WIDTH JOINER +<!+> /xA3 <U0021> ARABIC EXCLAMATION MARK +<Rl> /xA4 <U00A4> RIAL SIGN +<%+> /xA5 <U066A> ARABIC PERCENT SIGN +<.+> /xA6 <U002E> ARABIC FULL STOP +<,f> /xA7 <U066C> ARABIC THOUSANDS SEPARATOR +<(+> /xA8 <U0029> ARABIC CLOSING PARENTHESIS +<)+> /xA9 <U0028> ARABIC OPENING PARENTHESIS +<*X+> /xAA <U00D7> ARABIC MULTIPLICATION SIGN +<+f> /xAB <U002B> ARABIC PLUS SIGN +<,+> /xAC <U060C> ARABIC COMMA +<-f> /xAD <U002D> ARABIC HYPHEN-MINUS +<.f> /xAE <U066B> ARABIC DECIMAL SEPARATOR +<//f> /xAF <U002F> ARABIC SOLIDUS +<0f> /xB0 <U06F0> EXTENDED ARABIC-INDIC DIGIT ZERO +<1f> /xB1 <U06F1> EXTENDED ARABIC-INDIC DIGIT ONE +<2f> /xB2 <U06F2> EXTENDED ARABIC-INDIC DIGIT TWO +<3f> /xB3 <U06F3> EXTENDED ARABIC-INDIC DIGIT THREE +<4f> /xB4 <U06F4> EXTENDED ARABIC-INDIC DIGIT FOUR +<5f> /xB5 <U06F5> EXTENDED ARABIC-INDIC DIGIT FIVE +<6f> /xB6 <U06F6> EXTENDED ARABIC-INDIC DIGIT SIX +<7f> /xB7 <U06F7> EXTENDED ARABIC-INDIC DIGIT SEVEN +<8f> /xB8 <U06F8> EXTENDED ARABIC-INDIC DIGIT EIGHT +<9f> /xB9 <U06F9> EXTENDED ARABIC-INDIC DIGIT NINE +<:f> /xBA <U003A> ARABIC COLON +<;+> /xBB <U061B> ARABIC SEMICOLON +</>f> /xBC <U003C> ARABIC GREATER-THAN SIGN +<=f> /xBD <U003D> ARABIC EQUALS SIGN +<<f> /xBE <U003E> ARABIC LESS-THAN SIGN +<?+> /xBF <U061F> ARABIC QUESTION MARK +<aM> /xC0 <U0622> ARABIC LETTER ALEF WITH MADDA ABOVE +<a+> /xC1 <U0627> ARABIC LETTER ALEF +<H'> /xC2 <U0621> ARABIC LETTER HAMZA +<b+> /xC3 <U0628> ARABIC LETTER BEH +<p+> /xC4 <U067E> ARABIC LETTER PEH +<t+> /xC5 <U062A> ARABIC LETTER TEH +<tk> /xC6 <U062B> ARABIC LETTER THEH +<g+> /xC7 <U062C> ARABIC LETTER JEEM +<tc> /xC8 <U0686> ARABIC LETTER TCHEH +<hk> /xC9 <U062D> ARABIC LETTER HAH +<x+> /xCA <U062E> ARABIC LETTER KHAH +<d+> /xCB <U062F> ARABIC LETTER DAL +<dk> /xCC <U0630> ARABIC LETTER THAL +<r+> /xCD <U0631> ARABIC LETTER REH +<z+> /xCE <U0632> ARABIC LETTER ZAIN +<zj> /xCF <U0698> ARABIC LETTER JEH +<s+> /xD0 <U0633> ARABIC LETTER SEEN +<sn> /xD1 <U0634> ARABIC LETTER SHEEN +<c+> /xD2 <U0635> ARABIC LETTER SAD +<dd> /xD3 <U0636> ARABIC LETTER DAD +<tj> /xD4 <U0637> ARABIC LETTER TAH +<zH> /xD5 <U0638> ARABIC LETTER ZAH +<e+> /xD6 <U0639> ARABIC LETTER AIN +<i+> /xD7 <U063A> ARABIC LETTER GHAIN +<f+> /xD8 <U0641> ARABIC LETTER FEH +<q+> /xD9 <U0642> ARABIC LETTER QAF +<kf> /xDA <U06A9> ARABIC LETTER KEHEH +<gf> /xDB <U06AF> ARABIC LETTER GAF +<l+> /xDC <U0644> ARABIC LETTER LAM +<m+> /xDD <U0645> ARABIC LETTER MEEM +<n+> /xDE <U0646> ARABIC LETTER NOON +<w+> /xDF <U0648> ARABIC LETTER WAW +<h+> /xE0 <U0647> ARABIC LETTER HEH +<yf> /xE1 <U06CC> ARABIC LETTER FARSI YEH +<<(+> /xE2 <U005D> ARABIC CLOSING SQUARE BRACKET +<)/>+> /xE3 <U005B> ARABIC OPENING SQUARE BRACKET +<(!+> /xE4 <U007D> ARABIC CLOSING CURLY BRACKET +<!)+> /xE5 <U007B> ARABIC OPENING CURLY BRACKET +<<<> /xE6 <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +</>/>> /xE7 <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +<*+> /xE8 <U002A> ARABIC ASTERISK +<++> /xE9 <U0640> ARABIC TATWEEL +<!!+> /xEA <U007C> ARABIC VERTICAL LINE +<////+> /xEB <U005C> ARABIC REVERSE SOLIDUS +<//+> /xF0 <U064E> ARABIC FATHA +<1+> /xF1 <U0650> ARABIC KASRA +<'+> /xF2 <U064F> ARABIC DAMMA +<:+> /xF3 <U064B> ARABIC FATHATAN +<=+> /xF4 <U064D> ARABIC KASRATAN +<"+> /xF5 <U064C> ARABIC DAMMATAN +<3+> /xF6 <U0651> ARABIC SHADDA +<0+> /xF7 <U0652> ARABIC SUKUN +<aH> /xF8 <U0623> ARABIC LETTER ALEF WITH HAMZA ABOVE +<wH> /xF9 <U0624> ARABIC LETTER WAW WITH HAMZA ABOVE +<ah> /xFA <U0625> ARABIC LETTER ALEF WITH HAMZA BELOW +<yH> /xFB <U0626> ARABIC LETTER YEH WITH HAMZA ABOVE +<tm> /xFC <U0629> ARABIC LETTER TEH MARBUTA +<k+> /xFD <U0643> ARABIC LETTER KAF +<y+> /xFE <U064A> ARABIC LETTER YEH +<DT+> /xFF <U007F> ARABIC DELETE + +<NUL> /x00 <U0000> NULL (NUL) +<SOH> /x01 <U0001> START OF HEADING (SOH) +<STX> /x02 <U0002> START OF TEXT (STX) +<ETX> /x03 <U0003> END OF TEXT (ETX) +<EOT> /x04 <U0004> END OF TRANSMISSION (EOT) +<ENQ> /x05 <U0005> ENQUIRY (ENQ) +<ACK> /x06 <U0006> ACKNOWLEDGE (ACK) +<alert> /x07 <U0007> BELL (BEL) +<BEL> /x07 <U0007> BELL (BEL) +<backspace> /x08 <U0008> BACKSPACE (BS) +<tab> /x09 <U0009> CHARACTER TABULATION (HT) +<newline> /x0A <U000A> LINE FEED (LF) +<vertical-tab> /x0B <U000B> LINE TABULATION (VT) +<form-feed> /x0C <U000C> FORM FEED (FF) +<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR) +<DLE> /x10 <U0010> DATALINK ESCAPE (DLE) +<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1) +<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2) +<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3) +<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4) +<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK) +<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN) +<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB) +<CAN> /x18 <U0018> CANCEL (CAN) +<SUB> /x1A <U001A> SUBSTITUTE (SUB) +<ESC> /x1B <U001B> ESCAPE (ESC) +<IS4> /x1C <U001C> FILE SEPARATOR (IS4) +<IS3> /x1D <U001D> GROUP SEPARATOR (IS3) +<intro> /x1D <U001D> GROUP SEPARATOR (IS3) +<IS2> /x1E <U001E> RECORD SEPARATOR (IS2) +<IS1> /x1F <U001F> UNIT SEPARATOR (IS1) +<DEL> /x7F <U007F> DELETE (DEL) +<space> /x20 <U0020> SPACE +<exclamation-mark> /x21 <U0021> EXCLAMATION MARK +<quotation-mark> /x22 <U0022> QUOTATION MARK +<number-sign> /x23 <U0023> NUMBER SIGN +<dollar-sign> /x24 <U0024> DOLLAR SIGN +<percent-sign> /x25 <U0025> PERCENT SIGN +<ampersand> /x26 <U0026> AMPERSAND +<apostrophe> /x27 <U0027> APOSTROPHE +<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS +<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS +<asterisk> /x2A <U002A> ASTERISK +<plus-sign> /x2B <U002B> PLUS SIGN +<comma> /x2C <U002C> COMMA +<hyphen> /x2D <U002D> HYPHEN-MINUS +<hyphen-minus> /x2D <U002D> HYPHEN-MINUS +<period> /x2E <U002E> FULL STOP +<full-stop> /x2E <U002E> FULL STOP +<slash> /x2F <U002F> SOLIDUS +<solidus> /x2F <U002F> SOLIDUS +<zero> /x30 <U0030> DIGIT ZERO +<one> /x31 <U0031> DIGIT ONE +<two> /x32 <U0032> DIGIT TWO +<three> /x33 <U0033> DIGIT THREE +<four> /x34 <U0034> DIGIT FOUR +<five> /x35 <U0035> DIGIT FIVE +<six> /x36 <U0036> DIGIT SIX +<seven> /x37 <U0037> DIGIT SEVEN +<eight> /x38 <U0038> DIGIT EIGHT +<nine> /x39 <U0039> DIGIT NINE +<colon> /x3A <U003A> COLON +<semicolon> /x3B <U003B> SEMICOLON +<less-than-sign> /x3C <U003C> LESS-THAN SIGN +<equals-sign> /x3D <U003D> EQUALS SIGN +<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN +<question-mark> /x3F <U003F> QUESTION MARK +<commercial-at> /x40 <U0040> COMMERCIAL AT +<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET +<backslash> /x5C <U005C> REVERSE SOLIDUS +<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS +<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET +<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT +<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT +<underscore> /x5F <U005F> LOW LINE +<low-line> /x5F <U005F> LOW LINE +<grave-accent> /x60 <U0060> GRAVE ACCENT +<left-brace> /x7B <U007B> LEFT CURLY BRACKET +<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET +<vertical-line> /x7C <U007C> VERTICAL LINE +<right-brace> /x7D <U007D> RIGHT CURLY BRACKET +<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET +<tilde> /x7E <U007E> TILDE +END CHARMAP diff -durpN glibc-2.1.2/localedata/charmaps/ISO-8859-10 glibc-2.1.3/localedata/charmaps/ISO-8859-10 --- glibc-2.1.2/localedata/charmaps/ISO-8859-10 Thu Sep 10 05:34:06 1998 +++ glibc-2.1.3/localedata/charmaps/ISO-8859-10 Mon Nov 29 11:32:50 1999 @@ -6,7 +6,7 @@ % source: ECMA registry % alias ISO-IR-157 -% alias ISO_8859-10:1993 +% alias ISO_8859-10:1992 % alias ISO_8859-10 % alias L6 % alias LATIN6 diff -durpN glibc-2.1.2/localedata/charmaps/ISO-8859-13 glibc-2.1.3/localedata/charmaps/ISO-8859-13 --- glibc-2.1.2/localedata/charmaps/ISO-8859-13 Sun Dec 13 03:04:41 1998 +++ glibc-2.1.3/localedata/charmaps/ISO-8859-13 Fri Nov 12 14:56:42 1999 @@ -84,7 +84,6 @@ CHARMAP <dollar-sign> /x24 <U0024> DOLLAR SIGN <%> /x25 <U0025> PERCENT SIGN <percent-sign> /x25 <U0025> PERCENT SIGN -<percent-sign/>> /x25 <U0025> PERCENT SIGN <&> /x26 <U0026> AMPERSAND <ampersand> /x26 <U0026> AMPERSAND <'> /x27 <U0027> APOSTROPHE @@ -241,7 +240,7 @@ CHARMAP <S3> /x8F <U008F> SINGLE-SHIFT THREE (SS3) <DC> /x90 <U0090> DEVICE CONTROL STRING (DCS) <P1> /x91 <U0091> PRIVATE USE ONE (PU1) -<P2> /x92 <U0092> PRIVATE USE ONE (PU2) +<P2> /x92 <U0092> PRIVATE USE TWO (PU2) <TS> /x93 <U0093> SET TRANSMIT STATE (STS) <CC> /x94 <U0094> CANCEL CHARACTER (CCH) <MW> /x95 <U0095> MESSAGE WAITING (MW) @@ -256,26 +255,25 @@ CHARMAP <PM> /x9E <U009E> PRIVACY MESSAGE (PM) <AC> /x9F <U009F> APPLICATION PROGRAM COMMAND (APC) <NS> /xA0 <U00A0> NO-BREAK SPACE +<"9> /xA1 <U201D> RIGHT DOUBLE QUOTATION MARK <Ct> /xA2 <U00A2> CENT SIGN <!C> /xA2 <U00A2> CENT SIGN <L-> /xA3 <U00A3> POUND SIGN <Pd> /xA3 <U00A3> POUND SIGN <Cu> /xA4 <U00A4> CURRENCY SIGN <Xo> /xA4 <U00A4> CURRENCY SIGN +<:9> /xA5 <U201E> DOUBLE LOW-9 QUOTATION MARK <BB> /xA6 <U00A6> BROKEN BAR <!B> /xA6 <U00A6> BROKEN BAR -<So> /xA7 <U00A7> SECTION SIGN <SE> /xA7 <U00A7> SECTION SIGN <O//> /xA8 <U00D8> LATIN CAPITAL LETTER O WITH STROKE <Co> /xA9 <U00A9> COPYRIGHT SIGN -<OC> /xA9 <U00A9> COPYRIGHT SIGN <R,> /xAA <U0156> LATIN CAPITAL LETTER R WITH CEDILLA <<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK <NO> /xAC <U00AC> NOT SIGN <7!> /xAC <U00AC> NOT SIGN <--> /xAD <U00AD> SOFT HYPHEN <Rg> /xAE <U00AE> REGISTERED SIGN -<OR> /xAE <U00AE> REGISTERED SIGN <AE> /xAF <U00C6> LATIN CAPITAL LETTER AE <DG> /xB0 <U00B0> DEGREE SIGN <+-> /xB1 <U00B1> PLUS-MINUS SIGN diff -durpN glibc-2.1.2/localedata/charmaps/ISO-8859-7 glibc-2.1.3/localedata/charmaps/ISO-8859-7 --- glibc-2.1.2/localedata/charmaps/ISO-8859-7 Thu Sep 10 05:34:37 1998 +++ glibc-2.1.3/localedata/charmaps/ISO-8859-7 Thu Dec 9 10:56:56 1999 @@ -174,7 +174,7 @@ CHARMAP <PM> /x9E <U009E> PRIVACY MESSAGE (PM) <AC> /x9F <U009F> APPLICATION PROGRAM COMMAND (APC) <NS> /xA0 <U00A0> NO-BREAK SPACE -<9'> /xA1 <U201B> SINGLE HIGH-REVERSED-9 QUOTATION MARK +<'6> /xA1 <U2018> LEFT SINGLE QUOTATION MARK <'9> /xA2 <U2019> RIGHT SINGLE QUOTATION MARK <Pd> /xA3 <U00A3> POUND SIGN <BB> /xA6 <U00A6> BROKEN BAR @@ -189,7 +189,7 @@ CHARMAP <+-> /xB1 <U00B1> PLUS-MINUS SIGN <2S> /xB2 <U00B2> SUPERSCRIPT TWO <3S> /xB3 <U00B3> SUPERSCRIPT THREE -<''> /xB4 <U00B4> ACUTE ACCENT +<'*> /xB4 <U0384> GREEK TONOS <'%> /xB5 <U0385> GREEK DIALYTIKA TONOS <A%> /xB6 <U0386> GREEK CAPITAL LETTER ALPHA WITH TONOS <.M> /xB7 <U00B7> MIDDLE DOT diff -durpN glibc-2.1.2/localedata/charmaps/ISO-8859-8 glibc-2.1.3/localedata/charmaps/ISO-8859-8 --- glibc-2.1.2/localedata/charmaps/ISO-8859-8 Sun Jan 25 11:15:34 1998 +++ glibc-2.1.3/localedata/charmaps/ISO-8859-8 Fri Feb 11 15:49:57 2000 @@ -184,7 +184,7 @@ CHARMAP <NO> /xAC <U00AC> NOT SIGN <--> /xAD <U00AD> SOFT HYPHEN <Rg> /xAE <U00AE> REGISTERED SIGN -<'-> /xAF <U203E> OVERLINE +<'m> /xAF <U00AF> MACRON <DG> /xB0 <U00B0> DEGREE SIGN <+-> /xB1 <U00B1> PLUS-MINUS SIGN <2S> /xB2 <U00B2> SUPERSCRIPT TWO @@ -228,6 +228,8 @@ CHARMAP <R+> /xF8 <U05E8> HEBREW LETTER RESH <Sh> /xF9 <U05E9> HEBREW LETTER SHIN <T+> /xFA <U05EA> HEBREW LETTER TAV +<LR> /xFD <U200E> LEFT-TO-RIGHT MARK +<RL> /xFE <U200F> RIGHT-TO-LEFT MARK <NUL> /x00 <U0000> NUL <SOH> /x01 <U0001> START OF HEADING (SOH) <STX> /x02 <U0002> START OF TEXT (STX) diff -durpN glibc-2.1.2/localedata/charmaps/KOI8-R glibc-2.1.3/localedata/charmaps/KOI8-R --- glibc-2.1.2/localedata/charmaps/KOI8-R Sun Jan 25 11:16:03 1998 +++ glibc-2.1.3/localedata/charmaps/KOI8-R Thu Dec 9 10:56:56 1999 @@ -157,7 +157,7 @@ CHARMAP <?S> /x92 <U2593> DARK SHADE <Iu> /x93 <U2320> TOP HALF INTEGRAL <fS> /x94 <U25A0> BLACK SQUARE -<sb> /x95 <U2022> BULLET +<Sb> /x95 <U2219> BULLET OPERATOR <RT> /x96 <U221A> SQUARE ROOT <?2> /x97 <U2248> ALMOST EQUAL TO <=<> /x98 <U2264> LESS-THAN OR EQUAL TO diff -durpN glibc-2.1.2/localedata/charmaps/KOI8-U glibc-2.1.3/localedata/charmaps/KOI8-U --- glibc-2.1.2/localedata/charmaps/KOI8-U Wed Apr 14 15:56:31 1999 +++ glibc-2.1.3/localedata/charmaps/KOI8-U Thu Dec 9 10:56:56 1999 @@ -156,7 +156,7 @@ CHARMAP <?S> /x92 <U2593> DARK SHADE <Iu> /x93 <U2320> TOP HALF INTEGRAL <fS> /x94 <U25A0> BLACK SQUARE -<Sb> /x95 <U2019> BULLET OPERATOR +<Sb> /x95 <U2219> BULLET OPERATOR <RT> /x96 <U221A> SQUARE ROOT <?2> /x97 <U2248> ALMOST EQUAL TO <=<> /x98 <U2264> LESS THAN OR EQUAL TO diff -durpN glibc-2.1.2/localedata/charmaps/NEXTSTEP glibc-2.1.3/localedata/charmaps/NEXTSTEP --- glibc-2.1.2/localedata/charmaps/NEXTSTEP Sun Jan 25 11:16:15 1998 +++ glibc-2.1.3/localedata/charmaps/NEXTSTEP Fri Feb 11 15:49:57 2000 @@ -176,8 +176,11 @@ CHARMAP <f2> /xA6 <U0192> LATIN SMALL LETTER F WITH HOOK <SE> /xA7 <U00A7> SECTION SIGN <Cu> /xA8 <U00A4> CURRENCY SIGN +<'9> /xA9 <U2019> RIGHT SINGLE QUOTATION MARK <"6> /xAA <U201C> LEFT DOUBLE QUOTATION MARK <<<> /xAB <U00AB> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +<<1> /xAC <U2039> SINGLE LEFT-POINTING ANGLE QUOTATION MARK +</>1> /xAD <U203A> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK <fi> /xAE <UFB01> LATIN SMALL LIGATURE FI <fl> /xAF <UFB02> LATIN SMALL LIGATURE FL <Rg> /xB0 <U00AE> REGISTERED SIGN @@ -188,6 +191,8 @@ CHARMAP <BB> /xB5 <U00A6> BROKEN BAR <PI> /xB6 <U00B6> PILCROW SIGN <sb> /xB7 <U2022> BULLET +<.9> /xB8 <U201A> SINGLE LOW-9 QUOTATION MARK +<:9> /xB9 <U201E> DOUBLE LOW-9 QUOTATION MARK <"9> /xBA <U201D> RIGHT DOUBLE QUOTATION MARK </>/>> /xBB <U00BB> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK <.3> /xBC <U2026> HORIZONTAL ELLIPSIS diff -durpN glibc-2.1.2/localedata/locales/POSIX glibc-2.1.3/localedata/locales/POSIX --- glibc-2.1.2/localedata/locales/POSIX Mon Oct 19 06:33:00 1998 +++ glibc-2.1.3/localedata/locales/POSIX Tue Jan 25 20:08:54 2000 @@ -56,7 +56,7 @@ punct <exclamation-mark>;<quotation-ma <greater-than-sign>;<question-mark>;<commercial-at>;\ <left-square-bracket>;<backslash>;<right-square-bracket>;\ <circumflex>;<underscore>;<grave-accent>;\ - <left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde>; + <left-curly-bracket>;<vertical-line>;<right-curly-bracket>;<tilde> # xdigit <zero>;<one>;<two>;<three>;<four>;<five>;<six>;<seven>;<eight>;\ <nine>;<A>;<B>;<C>;<D>;<E>;<F>;<a>;<b>;<c>;<d>;<e>;<f> diff -durpN glibc-2.1.2/localedata/locales/af_ZA glibc-2.1.3/localedata/locales/af_ZA --- glibc-2.1.2/localedata/locales/af_ZA Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/locales/af_ZA Fri Feb 11 15:49:57 2000 @@ -0,0 +1,2202 @@ +escape_char / +comment_char % + +% Afrikaans language locale for South Africa +% Source: RAP +% Email: schalkc@ntaba.co.za +% Tel: +27 12 3293397 +% Fax: +27 12 3293397 +% Language: af +% Territory: ZA +% Revision: 0.2 +% Date: 1999-09-28 +% Users: general +% Repertoiremap: mnemonic.ds +% Charset: ISO-8859-1 +% Distribution and use is free, also +% for commercial purposes. + +LC_CTYPE +copy "en_DK" +END LC_CTYPE + +LC_COLLATE + +% Sorteerskema: Gebaseer op en_DK +% met aanpassings vir spesiale karakters +% +% Sorteeralgoritme: +% 1. Spasies en koppeltekens (nie sagte +% koppels nie) voor skryftekens; +% skryftekens voor nommers; +% nommers voor letters. +% 2. Letters met diakritiese tekens is +% in ekwiwalente klasse. +% 3. Die volgende uitsondering word wel +% gemaak: +% 4. Spesiale karakters word ignoreer +% wanneer letters vergelyk word, maar +% daarna wor hulle vergelyk. +% +% Sorteersimbole: +% Die sorteersimboolnotasie kom meestal uit +% ISO 10646-1. Die kas- en aksent notasie +% is spesifiek uit hierdie standaard. +% + +collating-symbol <CAPITAL> +collating-symbol <SMALL> + +% <CAPITAL-SMALL> en <SMALL-CAPITAL> +% is vir gevalle soos <A><e> in +% Caesar. Ek dink nie daar is sulke +% gevalle in Afrikaans nie +%collating-symbol <CAPITAL-SMALL> +%collating-symbol <SMALL-CAPITAL> + +% Die <a8> .. <z8> sorteersimbole dra spesifieke +% gewigte as die laaste karakter in 'n groep +% (Latynse) karakters. Dit word gebruik om delta's +% per lokaal te spesifiseer. Die gebruik is 'n +% verstek lokaal gevolg deur 'n "reorder-after" +% instruksie wat dan die delta in 'n volgorde +% spesifiseer +% +collating-symbol <a8> +collating-symbol <b8> +collating-symbol <c8> +collating-symbol <d8> +collating-symbol <e8> +collating-symbol <f8> +collating-symbol <g8> +collating-symbol <h8> +collating-symbol <i8> +collating-symbol <j8> +collating-symbol <k8> +collating-symbol <l8> +collating-symbol <m8> +collating-symbol <n8> +collating-symbol <o8> +collating-symbol <p8> +collating-symbol <q8> +collating-symbol <r8> +collating-symbol <s8> +collating-symbol <t8> +collating-symbol <u8> +collating-symbol <v8> +collating-symbol <w8> +collating-symbol <x8> +collating-symbol <y8> +collating-symbol <z8> + +% +% EK het hierdie simbole nog nie in diepte +% bestudeer nie. Daar mag oortollige or +% weggelate simbole wees +% +collating-symbol <NONE> +collating-symbol <ACUTE> +collating-symbol <ACUTE+DOT> +collating-symbol <GRAVE> +collating-symbol <DOUBLE-GRAVE> +collating-symbol <BREVE> +collating-symbol <BREVE+ACUTE> +collating-symbol <BREVE+GRAVE> +collating-symbol <BREVE+MACRON> +collating-symbol <BREVE+HOOK> +collating-symbol <BREVE+TILDE> +collating-symbol <BREVE+DOT-BELOW> +collating-symbol <BREVE-BELOW> +collating-symbol <INVERTED-BREVE> +collating-symbol <CIRCUMFLEX> +collating-symbol <CIRCUMFLEX+ACUTE> +collating-symbol <CIRCUMFLEX+GRAVE> +collating-symbol <CIRCUMFLEX+HOOK> +collating-symbol <CIRCUMFLEX+TILDE> +collating-symbol <CIRCUMFLEX+DOT-BELOW> +collating-symbol <CARON> +collating-symbol <CARON+DIAERESIS> +collating-symbol <CARON+DOT> +collating-symbol <RING> +collating-symbol <RING+ACUTE> +collating-symbol <RING-BELOW> +collating-symbol <DIAERESIS> +collating-symbol <DIAERESIS+MACRON> +collating-symbol <DIAERESIS+ACUTE> +collating-symbol <DIAERESIS+GRAVE> +collating-symbol <DIAERESIS+CARON> +collating-symbol <DOUBLE-ACUTE> +collating-symbol <HOOK> +collating-symbol <TILDE> +collating-symbol <TILDE+ACUTE> +collating-symbol <TILDE+DIAERESIS> +collating-symbol <TILDE-BELOW> +collating-symbol <DOT> +collating-symbol <DOT-BELOW> +collating-symbol <DOT+DOT-BELOW> +collating-symbol <STROKE> +collating-symbol <STROKE+ACUTE> +collating-symbol <CEDILLA> +collating-symbol <CEDILLA+ACUTE> +collating-symbol <CEDILLA+GRAVE> +collating-symbol <CEDILLA+BREVE> +collating-symbol <OGONEK> +collating-symbol <OGONEK+MACRON> +collating-symbol <MACRON> +collating-symbol <MACRON+ACUTE> +collating-symbol <MACRON+GRAVE> +collating-symbol <MACRON+DIAERESIS> +collating-symbol <MACRON+DIAERESIS-BELOW> +collating-symbol <MACRON+DOT> +collating-symbol <MACRON+DOT-BELOW> +collating-symbol <MACRON+CIRCUMFLEX> +collating-symbol <LINE-BELOW> +collating-symbol <HORN> +collating-symbol <HORN+ACUTE> +collating-symbol <HORN+GRAVE> +collating-symbol <HORN+HOOK> +collating-symbol <HORN+TILDE> +collating-symbol <HORN+DOT-BELOW> +collating-symbol <PRECEDED-BY-APOSTROPHE> +collating-symbol <GREEK> +collating-symbol <TONOS> +collating-symbol <DIALYTICA> +collating-symbol <DIALYTICA+TONOS> +collating-symbol <CYRILLIC> +collating-symbol <HIRAGANA> +collating-symbol <KATAKANA> +collating-symbol <SPECIAL> + +% +% letter;aksent;kas;spesiaal +% + +order_start forward;forward/ + ;forward;position + +% +% <CAPITAL> of <SMALL> letters eerste; +% <CAPITAL-SMALL> en <SMALL-CAPITAL> +% is uit gekommentaar + +<CAPITAL> +%<CAPITAL-SMALL> +%<SMALL-CAPITAL> +<SMALL> + +% +% Aksente: +% + +<NONE> +<ACUTE> +<ACUTE+DOT> +<GRAVE> +<DOUBLE-GRAVE> +<BREVE> +<BREVE+ACUTE> +<BREVE+GRAVE> +<BREVE+MACRON> +<BREVE+HOOK> +<BREVE+TILDE> +<BREVE+DOT-BELOW> +<BREVE-BELOW> +<INVERTED-BREVE> +<CIRCUMFLEX> +<CIRCUMFLEX+ACUTE> +<CIRCUMFLEX+GRAVE> +<CIRCUMFLEX+HOOK> +<CIRCUMFLEX+TILDE> +<CIRCUMFLEX+DOT-BELOW> +<CARON> +<CARON+DIAERESIS> +<CARON+DOT> +<RING> +<RING+ACUTE> +<RING-BELOW> +<DIAERESIS> +<DIAERESIS+MACRON> +<DIAERESIS+ACUTE> +<DIAERESIS+GRAVE> +<DIAERESIS+CARON> +<DOUBLE-ACUTE> +<HOOK> +<TILDE> +<TILDE+ACUTE> +<TILDE+DIAERESIS> +<TILDE-BELOW> +<DOT> +<DOT-BELOW> +<DOT+DOT-BELOW> +<STROKE> +<STROKE+ACUTE> +<CEDILLA> +<CEDILLA+ACUTE> +<CEDILLA+GRAVE> +<CEDILLA+BREVE> +<OGONEK> +<OGONEK+MACRON> +<MACRON> +<MACRON+ACUTE> +<MACRON+GRAVE> +<MACRON+DIAERESIS> +<MACRON+DIAERESIS-BELOW> +<MACRON+DOT> +<MACRON+DOT-BELOW> +<MACRON+CIRCUMFLEX> +<LINE-BELOW> +<HORN> +<HORN+ACUTE> +<HORN+GRAVE> +<HORN+HOOK> +<HORN+TILDE> +<HORN+DOT-BELOW> +<PRECEDED-BY-APOSTROPHE> +<GREEK> +<TONOS> +<DIALYTICA> +<DIALYTICA+TONOS> +<CYRILLIC> +<HIRAGANA> +<KATAKANA> +<SPECIAL> + +% +% Geen detail oor heirdie is geskryf nie +% +<NS> <NS>;<NS>;<NS>;IGNORE +<SP> IGNORE;IGNORE;IGNORE;<SP> +<HT> IGNORE;IGNORE;IGNORE;<HT> +<VT> IGNORE;IGNORE;IGNORE;<VT> +<CR> IGNORE;IGNORE;IGNORE;<CR> +<LF> IGNORE;IGNORE;IGNORE;<LF> +<FF> IGNORE;IGNORE;IGNORE;<FF> +<_> IGNORE;IGNORE;IGNORE;<_> +<'m> IGNORE;IGNORE;IGNORE;<'m> +<--> IGNORE;IGNORE;IGNORE;<--> +<-> IGNORE;IGNORE;IGNORE;<-> +<,> IGNORE;IGNORE;IGNORE;<,> +<;> IGNORE;IGNORE;IGNORE;<;> +<:> IGNORE;IGNORE;IGNORE;<:> +<!> IGNORE;IGNORE;IGNORE;<!> +<!I> IGNORE;IGNORE;IGNORE;<!I> +<?> IGNORE;IGNORE;IGNORE;<?> +<?I> IGNORE;IGNORE;IGNORE;<?I> +<//> IGNORE;IGNORE;IGNORE;<//> +<.> IGNORE;IGNORE;IGNORE;<.> +<''> IGNORE;IGNORE;IGNORE;<''> +<'!> IGNORE;IGNORE;IGNORE;<'!> +<'/>> IGNORE;IGNORE;IGNORE;<'/>> +<':> IGNORE;IGNORE;IGNORE;<':> +<'?> IGNORE;IGNORE;IGNORE;<'?> +<.M> IGNORE;IGNORE;IGNORE;<.M> +<',> IGNORE;IGNORE;IGNORE;<',> +<'> IGNORE;IGNORE;IGNORE;<'> +<'6> IGNORE;IGNORE;IGNORE;<'6> +<'9> IGNORE;IGNORE;IGNORE;<'9> +<"> IGNORE;IGNORE;IGNORE;<"> +<"6> IGNORE;IGNORE;IGNORE;<"6> +<"9> IGNORE;IGNORE;IGNORE;<"9> +<<<> IGNORE;IGNORE;IGNORE;<<<> +</>/>> IGNORE;IGNORE;IGNORE;</>/>> +<(> IGNORE;IGNORE;IGNORE;<(> +<(S> IGNORE;IGNORE;IGNORE;<(S> +<)> IGNORE;IGNORE;IGNORE;<)> +<)S> IGNORE;IGNORE;IGNORE;<)S> +<<(> IGNORE;IGNORE;IGNORE;<<(> +<)/>> IGNORE;IGNORE;IGNORE;<)/>> +<(!> IGNORE;IGNORE;IGNORE;<(!> +<!)> IGNORE;IGNORE;IGNORE;<!)> +<SE> IGNORE;IGNORE;IGNORE;<SE> +<PI> IGNORE;IGNORE;IGNORE;<PI> +<Co> IGNORE;IGNORE;IGNORE;<Co> +<Rg> IGNORE;IGNORE;IGNORE;<Rg> +<At> IGNORE;IGNORE;IGNORE;<At> +<Cu> IGNORE;IGNORE;IGNORE;<Cu> +<Ct> IGNORE;IGNORE;IGNORE;<Ct> +<DO> IGNORE;IGNORE;IGNORE;<DO> +<Pd> IGNORE;IGNORE;IGNORE;<Pd> +<Ye> IGNORE;IGNORE;IGNORE;<Ye> +<*> IGNORE;IGNORE;IGNORE;<*> +<////> IGNORE;IGNORE;IGNORE;<////> +<&> IGNORE;IGNORE;IGNORE;<&> +<Nb> IGNORE;IGNORE;IGNORE;<Nb> +<%> IGNORE;IGNORE;IGNORE;<%> +<-S> IGNORE;IGNORE;IGNORE;<-S> +<+> IGNORE;IGNORE;IGNORE;<+> +<+S> IGNORE;IGNORE;IGNORE;<+S> +<+-> IGNORE;IGNORE;IGNORE;<+-> +<-:> IGNORE;IGNORE;IGNORE;<-:> +<*X> IGNORE;IGNORE;IGNORE;<*X> +<!=> IGNORE;IGNORE;IGNORE;<!=> +<<> IGNORE;IGNORE;IGNORE;<<> +<=<> IGNORE;IGNORE;IGNORE;<=<> +<=> IGNORE;IGNORE;IGNORE;<=> +</>=> IGNORE;IGNORE;IGNORE;</>=> +</>> IGNORE;IGNORE;IGNORE;</>> +<NO> IGNORE;IGNORE;IGNORE;<NO> +<!!> IGNORE;IGNORE;IGNORE;<!!> +<BB> IGNORE;IGNORE;IGNORE;<BB> +<DG> IGNORE;IGNORE;IGNORE;<DG> +<My> IGNORE;IGNORE;IGNORE;<My> +<'<> IGNORE;IGNORE;IGNORE;<'<> +<'(> IGNORE;IGNORE;IGNORE;<'(> +<'.> IGNORE;IGNORE;IGNORE;<'.> +<'0> IGNORE;IGNORE;IGNORE;<'0> +<';> IGNORE;IGNORE;IGNORE;<';> +<1?> IGNORE;IGNORE;IGNORE;<1?> +<'"> IGNORE;IGNORE;IGNORE;<'"> +<'G> IGNORE;IGNORE;IGNORE;<'G> +<,G> IGNORE;IGNORE;IGNORE;<,G> +<j3> IGNORE;IGNORE;IGNORE;<j3> +<?%> IGNORE;IGNORE;IGNORE;<?%> +<'*> IGNORE;IGNORE;IGNORE;<'*> +<'%> IGNORE;IGNORE;IGNORE;<'%> +<.*> IGNORE;IGNORE;IGNORE;<.*> +<b3> IGNORE;IGNORE;IGNORE;<b3> +<,,> IGNORE;IGNORE;IGNORE;<,,> +<?*> IGNORE;IGNORE;IGNORE;<?*> +<?:> IGNORE;IGNORE;IGNORE;<?:> +<,!> IGNORE;IGNORE;IGNORE;<,!> +<,'> IGNORE;IGNORE;IGNORE;<,'> +<?,> IGNORE;IGNORE;IGNORE;<?,> +<;!> IGNORE;IGNORE;IGNORE;<;!> +<;'> IGNORE;IGNORE;IGNORE;<;'> +<?;> IGNORE;IGNORE;IGNORE;<?;> +<!:> IGNORE;IGNORE;IGNORE;<!:> +<!*> IGNORE;IGNORE;IGNORE;<!*> +<;;> IGNORE;IGNORE;IGNORE;<;;> +<1N> IGNORE;IGNORE;IGNORE;<1N> +<1M> IGNORE;IGNORE;IGNORE;<1M> +<3M> IGNORE;IGNORE;IGNORE;<3M> +<4M> IGNORE;IGNORE;IGNORE;<4M> +<6M> IGNORE;IGNORE;IGNORE;<6M> +<LR> IGNORE;IGNORE;IGNORE;<LR> +<RL> IGNORE;IGNORE;IGNORE;<RL> +<1T> IGNORE;IGNORE;IGNORE;<1T> +<1H> IGNORE;IGNORE;IGNORE;<1H> +<-1> IGNORE;IGNORE;IGNORE;<-1> +<-N> IGNORE;IGNORE;IGNORE;<-N> +<-M> IGNORE;IGNORE;IGNORE;<-M> +<-3> IGNORE;IGNORE;IGNORE;<-3> +<!2> IGNORE;IGNORE;IGNORE;<!2> +<=2> IGNORE;IGNORE;IGNORE;<=2> +<.9> IGNORE;IGNORE;IGNORE;<.9> +<9'> IGNORE;IGNORE;IGNORE;<9'> +<:9> IGNORE;IGNORE;IGNORE;<:9> +<9"> IGNORE;IGNORE;IGNORE;<9"> +<//-> IGNORE;IGNORE;IGNORE;<//-> +<//=> IGNORE;IGNORE;IGNORE;<//=> +<sb> IGNORE;IGNORE;IGNORE;<sb> +<..> IGNORE;IGNORE;IGNORE;<..> +<.3> IGNORE;IGNORE;IGNORE;<.3> +<%0> IGNORE;IGNORE;IGNORE;<%0> +<1'> IGNORE;IGNORE;IGNORE;<1'> +<2'> IGNORE;IGNORE;IGNORE;<2'> +<3'> IGNORE;IGNORE;IGNORE;<3'> +<1"> IGNORE;IGNORE;IGNORE;<1"> +<2"> IGNORE;IGNORE;IGNORE;<2"> +<3"> IGNORE;IGNORE;IGNORE;<3"> +<Ca> IGNORE;IGNORE;IGNORE;<Ca> +<<1> IGNORE;IGNORE;IGNORE;<<1> +</>1> IGNORE;IGNORE;IGNORE;</>1> +<:X> IGNORE;IGNORE;IGNORE;<:X> +<!*2> IGNORE;IGNORE;IGNORE;<!*2> +<'-> IGNORE;IGNORE;IGNORE;<'-> +<//f> IGNORE;IGNORE;IGNORE;<//f> +<=S> IGNORE;IGNORE;IGNORE;<=S> +<0s> IGNORE;IGNORE;IGNORE;<0s> +<1s> IGNORE;IGNORE;IGNORE;<1s> +<2s> IGNORE;IGNORE;IGNORE;<2s> +<3s> IGNORE;IGNORE;IGNORE;<3s> +<4s> IGNORE;IGNORE;IGNORE;<4s> +<5s> IGNORE;IGNORE;IGNORE;<5s> +<6s> IGNORE;IGNORE;IGNORE;<6s> +<7s> IGNORE;IGNORE;IGNORE;<7s> +<8s> IGNORE;IGNORE;IGNORE;<8s> +<9s> IGNORE;IGNORE;IGNORE;<9s> +<+s> IGNORE;IGNORE;IGNORE;<+s> +<-s> IGNORE;IGNORE;IGNORE;<-s> +<=s> IGNORE;IGNORE;IGNORE;<=s> +<(s> IGNORE;IGNORE;IGNORE;<(s> +<)s> IGNORE;IGNORE;IGNORE;<)s> +<Ff> IGNORE;IGNORE;IGNORE;<Ff> +<Li> IGNORE;IGNORE;IGNORE;<Li> +<Pt> IGNORE;IGNORE;IGNORE;<Pt> +<W=> IGNORE;IGNORE;IGNORE;<W=> +<oC> IGNORE;IGNORE;IGNORE;<oC> +<co> IGNORE;IGNORE;IGNORE;<co> +<oF> IGNORE;IGNORE;IGNORE;<oF> +<N0> IGNORE;IGNORE;IGNORE;<N0> +<PO> IGNORE;IGNORE;IGNORE;<PO> +<Rx> IGNORE;IGNORE;IGNORE;<Rx> +<SM> IGNORE;IGNORE;IGNORE;<SM> +<TM> IGNORE;IGNORE;IGNORE;<TM> +<Om> IGNORE;IGNORE;IGNORE;<Om> +<AO> IGNORE;IGNORE;IGNORE;<AO> +<13> IGNORE;IGNORE;IGNORE;<13> +<23> IGNORE;IGNORE;IGNORE;<23> +<15> IGNORE;IGNORE;IGNORE;<15> +<25> IGNORE;IGNORE;IGNORE;<25> +<35> IGNORE;IGNORE;IGNORE;<35> +<45> IGNORE;IGNORE;IGNORE;<45> +<16> IGNORE;IGNORE;IGNORE;<16> +<56> IGNORE;IGNORE;IGNORE;<56> +<1R> IGNORE;IGNORE;IGNORE;<1R> +<2R> IGNORE;IGNORE;IGNORE;<2R> +<3R> IGNORE;IGNORE;IGNORE;<3R> +<4R> IGNORE;IGNORE;IGNORE;<4R> +<5R> IGNORE;IGNORE;IGNORE;<5R> +<6R> IGNORE;IGNORE;IGNORE;<6R> +<7R> IGNORE;IGNORE;IGNORE;<7R> +<8R> IGNORE;IGNORE;IGNORE;<8R> +<9R> IGNORE;IGNORE;IGNORE;<9R> +<aR> IGNORE;IGNORE;IGNORE;<aR> +<bR> IGNORE;IGNORE;IGNORE;<bR> +<cR> IGNORE;IGNORE;IGNORE;<cR> +<50R> IGNORE;IGNORE;IGNORE;<50R> +<100R> IGNORE;IGNORE;IGNORE;<100R> +<500R> IGNORE;IGNORE;IGNORE;<500R> +<1000R> IGNORE;IGNORE;IGNORE;<1000R> +<1r> IGNORE;IGNORE;IGNORE;<1r> +<2r> IGNORE;IGNORE;IGNORE;<2r> +<3r> IGNORE;IGNORE;IGNORE;<3r> +<4r> IGNORE;IGNORE;IGNORE;<4r> +<5r> IGNORE;IGNORE;IGNORE;<5r> +<6r> IGNORE;IGNORE;IGNORE;<6r> +<7r> IGNORE;IGNORE;IGNORE;<7r> +<8r> IGNORE;IGNORE;IGNORE;<8r> +<9r> IGNORE;IGNORE;IGNORE;<9r> +<ar> IGNORE;IGNORE;IGNORE;<ar> +<br> IGNORE;IGNORE;IGNORE;<br> +<cr> IGNORE;IGNORE;IGNORE;<cr> +<50r> IGNORE;IGNORE;IGNORE;<50r> +<100r> IGNORE;IGNORE;IGNORE;<100r> +<500r> IGNORE;IGNORE;IGNORE;<500r> +<1000r> IGNORE;IGNORE;IGNORE;<1000r> +<1000RCD> IGNORE;IGNORE;IGNORE;<1000RCD> +<5000R> IGNORE;IGNORE;IGNORE;<5000R> +<10000R> IGNORE;IGNORE;IGNORE;<10000R> +<-!> IGNORE;IGNORE;IGNORE;<-!> +<-v> IGNORE;IGNORE;IGNORE;<-v> +<</>> IGNORE;IGNORE;IGNORE;<</>> +<UD> IGNORE;IGNORE;IGNORE;<UD> +<<!!> IGNORE;IGNORE;IGNORE;<<!!> +</////>> IGNORE;IGNORE;IGNORE;</////>> +<!!/>> IGNORE;IGNORE;IGNORE;<!!/>> +<<////> IGNORE;IGNORE;IGNORE;<<////> +<UD-> IGNORE;IGNORE;IGNORE;<UD-> +</>V> IGNORE;IGNORE;IGNORE;</>V> +<<=> IGNORE;IGNORE;IGNORE;<<=> +<=/>> IGNORE;IGNORE;IGNORE;<=/>> +<==> IGNORE;IGNORE;IGNORE;<==> +<FA> IGNORE;IGNORE;IGNORE;<FA> +<dP> IGNORE;IGNORE;IGNORE;<dP> +<TE> IGNORE;IGNORE;IGNORE;<TE> +<//0> IGNORE;IGNORE;IGNORE;<//0> +<DE> IGNORE;IGNORE;IGNORE;<DE> +<NB> IGNORE;IGNORE;IGNORE;<NB> +<(-> IGNORE;IGNORE;IGNORE;<(-> +<-)> IGNORE;IGNORE;IGNORE;<-)> +<*P> IGNORE;IGNORE;IGNORE;<*P> +<+Z> IGNORE;IGNORE;IGNORE;<+Z> +<-2> IGNORE;IGNORE;IGNORE;<-2> +<-+> IGNORE;IGNORE;IGNORE;<-+> +<.+> IGNORE;IGNORE;IGNORE;<.+> +<*-> IGNORE;IGNORE;IGNORE;<*-> +<Ob> IGNORE;IGNORE;IGNORE;<Ob> +<Sb> IGNORE;IGNORE;IGNORE;<Sb> +<RT> IGNORE;IGNORE;IGNORE;<RT> +<0(> IGNORE;IGNORE;IGNORE;<0(> +<00> IGNORE;IGNORE;IGNORE;<00> +<-L> IGNORE;IGNORE;IGNORE;<-L> +<-V> IGNORE;IGNORE;IGNORE;<-V> +<PP> IGNORE;IGNORE;IGNORE;<PP> +<AN> IGNORE;IGNORE;IGNORE;<AN> +<OR> IGNORE;IGNORE;IGNORE;<OR> +<(U> IGNORE;IGNORE;IGNORE;<(U> +<)U> IGNORE;IGNORE;IGNORE;<)U> +<In> IGNORE;IGNORE;IGNORE;<In> +<DI> IGNORE;IGNORE;IGNORE;<DI> +<Io> IGNORE;IGNORE;IGNORE;<Io> +<.:> IGNORE;IGNORE;IGNORE;<.:> +<:.> IGNORE;IGNORE;IGNORE;<:.> +<:R> IGNORE;IGNORE;IGNORE;<:R> +<::> IGNORE;IGNORE;IGNORE;<::> +<?1> IGNORE;IGNORE;IGNORE;<?1> +<CG> IGNORE;IGNORE;IGNORE;<CG> +<?-> IGNORE;IGNORE;IGNORE;<?-> +<?=> IGNORE;IGNORE;IGNORE;<?=> +<?2> IGNORE;IGNORE;IGNORE;<?2> +<=?> IGNORE;IGNORE;IGNORE;<=?> +<HI> IGNORE;IGNORE;IGNORE;<HI> +<=3> IGNORE;IGNORE;IGNORE;<=3> +<<*> IGNORE;IGNORE;IGNORE;<<*> +<*/>> IGNORE;IGNORE;IGNORE;<*/>> +<!<> IGNORE;IGNORE;IGNORE;<!<> +<!/>> IGNORE;IGNORE;IGNORE;<!/>> +<(C> IGNORE;IGNORE;IGNORE;<(C> +<)C> IGNORE;IGNORE;IGNORE;<)C> +<(_> IGNORE;IGNORE;IGNORE;<(_> +<)_> IGNORE;IGNORE;IGNORE;<)_> +<0.> IGNORE;IGNORE;IGNORE;<0.> +<02> IGNORE;IGNORE;IGNORE;<02> +<-T> IGNORE;IGNORE;IGNORE;<-T> +<.P> IGNORE;IGNORE;IGNORE;<.P> +<:3> IGNORE;IGNORE;IGNORE;<:3> +<Eh> IGNORE;IGNORE;IGNORE;<Eh> +<<7> IGNORE;IGNORE;IGNORE;<<7> +</>7> IGNORE;IGNORE;IGNORE;</>7> +<7<> IGNORE;IGNORE;IGNORE;<7<> +<7/>> IGNORE;IGNORE;IGNORE;<7/>> +<NI> IGNORE;IGNORE;IGNORE;<NI> +<(A> IGNORE;IGNORE;IGNORE;<(A> +<TR> IGNORE;IGNORE;IGNORE;<TR> +<88> IGNORE;IGNORE;IGNORE;<88> +<Iu> IGNORE;IGNORE;IGNORE;<Iu> +<Il> IGNORE;IGNORE;IGNORE;<Il> +<Vs> IGNORE;IGNORE;IGNORE;<Vs> +<1h> IGNORE;IGNORE;IGNORE;<1h> +<3h> IGNORE;IGNORE;IGNORE;<3h> +<2h> IGNORE;IGNORE;IGNORE;<2h> +<4h> IGNORE;IGNORE;IGNORE;<4h> +<1j> IGNORE;IGNORE;IGNORE;<1j> +<2j> IGNORE;IGNORE;IGNORE;<2j> +<3j> IGNORE;IGNORE;IGNORE;<3j> +<4j> IGNORE;IGNORE;IGNORE;<4j> +<1-o> IGNORE;IGNORE;IGNORE;<1-o> +<2-o> IGNORE;IGNORE;IGNORE;<2-o> +<3-o> IGNORE;IGNORE;IGNORE;<3-o> +<4-o> IGNORE;IGNORE;IGNORE;<4-o> +<5-o> IGNORE;IGNORE;IGNORE;<5-o> +<6-o> IGNORE;IGNORE;IGNORE;<6-o> +<7-o> IGNORE;IGNORE;IGNORE;<7-o> +<8-o> IGNORE;IGNORE;IGNORE;<8-o> +<9-o> IGNORE;IGNORE;IGNORE;<9-o> +<10-o> IGNORE;IGNORE;IGNORE;<10-o> +<11-o> IGNORE;IGNORE;IGNORE;<11-o> +<12-o> IGNORE;IGNORE;IGNORE;<12-o> +<13-o> IGNORE;IGNORE;IGNORE;<13-o> +<14-o> IGNORE;IGNORE;IGNORE;<14-o> +<15-o> IGNORE;IGNORE;IGNORE;<15-o> +<16-o> IGNORE;IGNORE;IGNORE;<16-o> +<17-o> IGNORE;IGNORE;IGNORE;<17-o> +<18-o> IGNORE;IGNORE;IGNORE;<18-o> +<19-o> IGNORE;IGNORE;IGNORE;<19-o> +<20-o> IGNORE;IGNORE;IGNORE;<20-o> +<(1)> IGNORE;IGNORE;IGNORE;<(1)> +<(2)> IGNORE;IGNORE;IGNORE;<(2)> +<(3)> IGNORE;IGNORE;IGNORE;<(3)> +<(4)> IGNORE;IGNORE;IGNORE;<(4)> +<(5)> IGNORE;IGNORE;IGNORE;<(5)> +<(6)> IGNORE;IGNORE;IGNORE;<(6)> +<(7)> IGNORE;IGNORE;IGNORE;<(7)> +<(8)> IGNORE;IGNORE;IGNORE;<(8)> +<(9)> IGNORE;IGNORE;IGNORE;<(9)> +<(10)> IGNORE;IGNORE;IGNORE;<(10)> +<(11)> IGNORE;IGNORE;IGNORE;<(11)> +<(12)> IGNORE;IGNORE;IGNORE;<(12)> +<(13)> IGNORE;IGNORE;IGNORE;<(13)> +<(14)> IGNORE;IGNORE;IGNORE;<(14)> +<(15)> IGNORE;IGNORE;IGNORE;<(15)> +<(16)> IGNORE;IGNORE;IGNORE;<(16)> +<(17)> IGNORE;IGNORE;IGNORE;<(17)> +<(18)> IGNORE;IGNORE;IGNORE;<(18)> +<(19)> IGNORE;IGNORE;IGNORE;<(19)> +<(20)> IGNORE;IGNORE;IGNORE;<(20)> +<1.> IGNORE;IGNORE;IGNORE;<1.> +<2.> IGNORE;IGNORE;IGNORE;<2.> +<3.> IGNORE;IGNORE;IGNORE;<3.> +<4.> IGNORE;IGNORE;IGNORE;<4.> +<5.> IGNORE;IGNORE;IGNORE;<5.> +<6.> IGNORE;IGNORE;IGNORE;<6.> +<7.> IGNORE;IGNORE;IGNORE;<7.> +<8.> IGNORE;IGNORE;IGNORE;<8.> +<9.> IGNORE;IGNORE;IGNORE;<9.> +<10.> IGNORE;IGNORE;IGNORE;<10.> +<11.> IGNORE;IGNORE;IGNORE;<11.> +<12.> IGNORE;IGNORE;IGNORE;<12.> +<13.> IGNORE;IGNORE;IGNORE;<13.> +<14.> IGNORE;IGNORE;IGNORE;<14.> +<15.> IGNORE;IGNORE;IGNORE;<15.> +<16.> IGNORE;IGNORE;IGNORE;<16.> +<17.> IGNORE;IGNORE;IGNORE;<17.> +<18.> IGNORE;IGNORE;IGNORE;<18.> +<19.> IGNORE;IGNORE;IGNORE;<19.> +<20.> IGNORE;IGNORE;IGNORE;<20.> +<0-o> IGNORE;IGNORE;IGNORE;<0-o> +<hh> IGNORE;IGNORE;IGNORE;<hh> +<HH-> IGNORE;IGNORE;IGNORE;<HH-> +<vv> IGNORE;IGNORE;IGNORE;<vv> +<VV-> IGNORE;IGNORE;IGNORE;<VV-> +<3-> IGNORE;IGNORE;IGNORE;<3-> +<3_> IGNORE;IGNORE;IGNORE;<3_> +<3!> IGNORE;IGNORE;IGNORE;<3!> +<3//> IGNORE;IGNORE;IGNORE;<3//> +<4-> IGNORE;IGNORE;IGNORE;<4-> +<4_> IGNORE;IGNORE;IGNORE;<4_> +<4!> IGNORE;IGNORE;IGNORE;<4!> +<4//> IGNORE;IGNORE;IGNORE;<4//> +<dr> IGNORE;IGNORE;IGNORE;<dr> +<dR-> IGNORE;IGNORE;IGNORE;<dR-> +<Dr-> IGNORE;IGNORE;IGNORE;<Dr-> +<DR-> IGNORE;IGNORE;IGNORE;<DR-> +<dl> IGNORE;IGNORE;IGNORE;<dl> +<dL-> IGNORE;IGNORE;IGNORE;<dL-> +<Dl-> IGNORE;IGNORE;IGNORE;<Dl-> +<LD-> IGNORE;IGNORE;IGNORE;<LD-> +<ur> IGNORE;IGNORE;IGNORE;<ur> +<uR-> IGNORE;IGNORE;IGNORE;<uR-> +<Ur-> IGNORE;IGNORE;IGNORE;<Ur-> +<UR-> IGNORE;IGNORE;IGNORE;<UR-> +<ul> IGNORE;IGNORE;IGNORE;<ul> +<uL-> IGNORE;IGNORE;IGNORE;<uL-> +<Ul-> IGNORE;IGNORE;IGNORE;<Ul-> +<UL-> IGNORE;IGNORE;IGNORE;<UL-> +<vr> IGNORE;IGNORE;IGNORE;<vr> +<vR-> IGNORE;IGNORE;IGNORE;<vR-> +<Udr> IGNORE;IGNORE;IGNORE;<Udr> +<uDr> IGNORE;IGNORE;IGNORE;<uDr> +<Vr-> IGNORE;IGNORE;IGNORE;<Vr-> +<UdR> IGNORE;IGNORE;IGNORE;<UdR> +<uDR> IGNORE;IGNORE;IGNORE;<uDR> +<VR-> IGNORE;IGNORE;IGNORE;<VR-> +<vl> IGNORE;IGNORE;IGNORE;<vl> +<vL-> IGNORE;IGNORE;IGNORE;<vL-> +<Udl> IGNORE;IGNORE;IGNORE;<Udl> +<uDl> IGNORE;IGNORE;IGNORE;<uDl> +<Vl-> IGNORE;IGNORE;IGNORE;<Vl-> +<UdL> IGNORE;IGNORE;IGNORE;<UdL> +<uDL> IGNORE;IGNORE;IGNORE;<uDL> +<VL-> IGNORE;IGNORE;IGNORE;<VL-> +<dh> IGNORE;IGNORE;IGNORE;<dh> +<dLr> IGNORE;IGNORE;IGNORE;<dLr> +<dlR> IGNORE;IGNORE;IGNORE;<dlR> +<dH-> IGNORE;IGNORE;IGNORE;<dH-> +<Dh-> IGNORE;IGNORE;IGNORE;<Dh-> +<DLr> IGNORE;IGNORE;IGNORE;<DLr> +<DlR> IGNORE;IGNORE;IGNORE;<DlR> +<DH-> IGNORE;IGNORE;IGNORE;<DH-> +<uh> IGNORE;IGNORE;IGNORE;<uh> +<uLr> IGNORE;IGNORE;IGNORE;<uLr> +<ulR> IGNORE;IGNORE;IGNORE;<ulR> +<uH-> IGNORE;IGNORE;IGNORE;<uH-> +<Uh-> IGNORE;IGNORE;IGNORE;<Uh-> +<ULr> IGNORE;IGNORE;IGNORE;<ULr> +<UlR> IGNORE;IGNORE;IGNORE;<UlR> +<UH-> IGNORE;IGNORE;IGNORE;<UH-> +<vh> IGNORE;IGNORE;IGNORE;<vh> +<vLr> IGNORE;IGNORE;IGNORE;<vLr> +<vlR> IGNORE;IGNORE;IGNORE;<vlR> +<vH-> IGNORE;IGNORE;IGNORE;<vH-> +<Udh> IGNORE;IGNORE;IGNORE;<Udh> +<uDh> IGNORE;IGNORE;IGNORE;<uDh> +<Vh-> IGNORE;IGNORE;IGNORE;<Vh-> +<UdLr> IGNORE;IGNORE;IGNORE;<UdLr> +<UdlR> IGNORE;IGNORE;IGNORE;<UdlR> +<uDLr> IGNORE;IGNORE;IGNORE;<uDLr> +<uDlR> IGNORE;IGNORE;IGNORE;<uDlR> +<UdH> IGNORE;IGNORE;IGNORE;<UdH> +<uDH> IGNORE;IGNORE;IGNORE;<uDH> +<VLr> IGNORE;IGNORE;IGNORE;<VLr> +<VlR> IGNORE;IGNORE;IGNORE;<VlR> +<VH-> IGNORE;IGNORE;IGNORE;<VH-> +<HH> IGNORE;IGNORE;IGNORE;<HH> +<VV> IGNORE;IGNORE;IGNORE;<VV> +<dR> IGNORE;IGNORE;IGNORE;<dR> +<Dr> IGNORE;IGNORE;IGNORE;<Dr> +<DR> IGNORE;IGNORE;IGNORE;<DR> +<dL> IGNORE;IGNORE;IGNORE;<dL> +<Dl> IGNORE;IGNORE;IGNORE;<Dl> +<LD> IGNORE;IGNORE;IGNORE;<LD> +<uR> IGNORE;IGNORE;IGNORE;<uR> +<Ur> IGNORE;IGNORE;IGNORE;<Ur> +<UR> IGNORE;IGNORE;IGNORE;<UR> +<uL> IGNORE;IGNORE;IGNORE;<uL> +<Ul> IGNORE;IGNORE;IGNORE;<Ul> +<UL> IGNORE;IGNORE;IGNORE;<UL> +<vR> IGNORE;IGNORE;IGNORE;<vR> +<Vr> IGNORE;IGNORE;IGNORE;<Vr> +<VR> IGNORE;IGNORE;IGNORE;<VR> +<vL> IGNORE;IGNORE;IGNORE;<vL> +<Vl> IGNORE;IGNORE;IGNORE;<Vl> +<VL> IGNORE;IGNORE;IGNORE;<VL> +<dH> IGNORE;IGNORE;IGNORE;<dH> +<Dh> IGNORE;IGNORE;IGNORE;<Dh> +<DH> IGNORE;IGNORE;IGNORE;<DH> +<uH> IGNORE;IGNORE;IGNORE;<uH> +<Uh> IGNORE;IGNORE;IGNORE;<Uh> +<UH> IGNORE;IGNORE;IGNORE;<UH> +<vH> IGNORE;IGNORE;IGNORE;<vH> +<Vh> IGNORE;IGNORE;IGNORE;<Vh> +<VH> IGNORE;IGNORE;IGNORE;<VH> +<FD> IGNORE;IGNORE;IGNORE;<FD> +<BD> IGNORE;IGNORE;IGNORE;<BD> +<TB> IGNORE;IGNORE;IGNORE;<TB> +<LB> IGNORE;IGNORE;IGNORE;<LB> +<FB> IGNORE;IGNORE;IGNORE;<FB> +<lB> IGNORE;IGNORE;IGNORE;<lB> +<RB> IGNORE;IGNORE;IGNORE;<RB> +<.S> IGNORE;IGNORE;IGNORE;<.S> +<:S> IGNORE;IGNORE;IGNORE;<:S> +<?S> IGNORE;IGNORE;IGNORE;<?S> +<fS> IGNORE;IGNORE;IGNORE;<fS> +<OS> IGNORE;IGNORE;IGNORE;<OS> +<RO> IGNORE;IGNORE;IGNORE;<RO> +<Rr> IGNORE;IGNORE;IGNORE;<Rr> +<RF> IGNORE;IGNORE;IGNORE;<RF> +<RY> IGNORE;IGNORE;IGNORE;<RY> +<RH> IGNORE;IGNORE;IGNORE;<RH> +<RZ> IGNORE;IGNORE;IGNORE;<RZ> +<RK> IGNORE;IGNORE;IGNORE;<RK> +<RX> IGNORE;IGNORE;IGNORE;<RX> +<sB> IGNORE;IGNORE;IGNORE;<sB> +<SR> IGNORE;IGNORE;IGNORE;<SR> +<Or> IGNORE;IGNORE;IGNORE;<Or> +<UT> IGNORE;IGNORE;IGNORE;<UT> +<uT> IGNORE;IGNORE;IGNORE;<uT> +<Tr> IGNORE;IGNORE;IGNORE;<Tr> +<PR> IGNORE;IGNORE;IGNORE;<PR> +<Dt> IGNORE;IGNORE;IGNORE;<Dt> +<dT> IGNORE;IGNORE;IGNORE;<dT> +<Tl> IGNORE;IGNORE;IGNORE;<Tl> +<PL> IGNORE;IGNORE;IGNORE;<PL> +<Db> IGNORE;IGNORE;IGNORE;<Db> +<Dw> IGNORE;IGNORE;IGNORE;<Dw> +<LZ> IGNORE;IGNORE;IGNORE;<LZ> +<0m> IGNORE;IGNORE;IGNORE;<0m> +<0o> IGNORE;IGNORE;IGNORE;<0o> +<0M> IGNORE;IGNORE;IGNORE;<0M> +<0L> IGNORE;IGNORE;IGNORE;<0L> +<0R> IGNORE;IGNORE;IGNORE;<0R> +<Sn> IGNORE;IGNORE;IGNORE;<Sn> +<Ic> IGNORE;IGNORE;IGNORE;<Ic> +<Fd> IGNORE;IGNORE;IGNORE;<Fd> +<Bd> IGNORE;IGNORE;IGNORE;<Bd> +<Ci> IGNORE;IGNORE;IGNORE;<Ci> +<*2> IGNORE;IGNORE;IGNORE;<*2> +<*1> IGNORE;IGNORE;IGNORE;<*1> +<TEL> IGNORE;IGNORE;IGNORE;<TEL> +<tel> IGNORE;IGNORE;IGNORE;<tel> +<<H> IGNORE;IGNORE;IGNORE;<<H> +</>H> IGNORE;IGNORE;IGNORE;</>H> +<0u> IGNORE;IGNORE;IGNORE;<0u> +<0U> IGNORE;IGNORE;IGNORE;<0U> +<SU> IGNORE;IGNORE;IGNORE;<SU> +<Fm> IGNORE;IGNORE;IGNORE;<Fm> +<Ml> IGNORE;IGNORE;IGNORE;<Ml> +<cS> IGNORE;IGNORE;IGNORE;<cS> +<cH> IGNORE;IGNORE;IGNORE;<cH> +<cD> IGNORE;IGNORE;IGNORE;<cD> +<cC> IGNORE;IGNORE;IGNORE;<cC> +<cS-> IGNORE;IGNORE;IGNORE;<cS-> +<cH-> IGNORE;IGNORE;IGNORE;<cH-> +<cD-> IGNORE;IGNORE;IGNORE;<cD-> +<cC-> IGNORE;IGNORE;IGNORE;<cC-> +<Md> IGNORE;IGNORE;IGNORE;<Md> +<M8> IGNORE;IGNORE;IGNORE;<M8> +<M2> IGNORE;IGNORE;IGNORE;<M2> +<M16> IGNORE;IGNORE;IGNORE;<M16> +<Mb> IGNORE;IGNORE;IGNORE;<Mb> +<Mx> IGNORE;IGNORE;IGNORE;<Mx> +<MX> IGNORE;IGNORE;IGNORE;<MX> +<OK> IGNORE;IGNORE;IGNORE;<OK> +<XX> IGNORE;IGNORE;IGNORE;<XX> +<-X> IGNORE;IGNORE;IGNORE;<-X> +<IS> IGNORE;IGNORE;IGNORE;<IS> +<,_> IGNORE;IGNORE;IGNORE;<,_> +<._> IGNORE;IGNORE;IGNORE;<._> +<+"> IGNORE;IGNORE;IGNORE;<+"> +<JIS> IGNORE;IGNORE;IGNORE;<JIS> +<*_> IGNORE;IGNORE;IGNORE;<*_> +<;_> IGNORE;IGNORE;IGNORE;<;_> +<0_> IGNORE;IGNORE;IGNORE;<0_> +<<+> IGNORE;IGNORE;IGNORE;<<+> +</>+> IGNORE;IGNORE;IGNORE;</>+> +<<'> IGNORE;IGNORE;IGNORE;<<'> +</>'> IGNORE;IGNORE;IGNORE;</>'> +<<"> IGNORE;IGNORE;IGNORE;<<"> +</>"> IGNORE;IGNORE;IGNORE;</>"> +<("> IGNORE;IGNORE;IGNORE;<("> +<)"> IGNORE;IGNORE;IGNORE;<)"> +<=T> IGNORE;IGNORE;IGNORE;<=T> +<=_> IGNORE;IGNORE;IGNORE;<=_> +<('> IGNORE;IGNORE;IGNORE;<('> +<)'> IGNORE;IGNORE;IGNORE;<)'> +<(I> IGNORE;IGNORE;IGNORE;<(I> +<)I> IGNORE;IGNORE;IGNORE;<)I> +<-?> IGNORE;IGNORE;IGNORE;<-?> +<=T:)> IGNORE;IGNORE;IGNORE;<=T:)> +<"5> IGNORE;IGNORE;IGNORE;<"5> +<05> IGNORE;IGNORE;IGNORE;<05> +<*5> IGNORE;IGNORE;IGNORE;<*5> +<+5> IGNORE;IGNORE;IGNORE;<+5> +<.6> IGNORE;IGNORE;IGNORE;<.6> +<-6> IGNORE;IGNORE;IGNORE;<-6> +<*6> IGNORE;IGNORE;IGNORE;<*6> +<+6> IGNORE;IGNORE;IGNORE;<+6> +<(JU)> IGNORE;IGNORE;IGNORE;<(JU)> +<1c> IGNORE;IGNORE;IGNORE;<1c> +<2c> IGNORE;IGNORE;IGNORE;<2c> +<3c> IGNORE;IGNORE;IGNORE;<3c> +<4c> IGNORE;IGNORE;IGNORE;<4c> +<5c> IGNORE;IGNORE;IGNORE;<5c> +<6c> IGNORE;IGNORE;IGNORE;<6c> +<7c> IGNORE;IGNORE;IGNORE;<7c> +<8c> IGNORE;IGNORE;IGNORE;<8c> +<9c> IGNORE;IGNORE;IGNORE;<9c> +<10c> IGNORE;IGNORE;IGNORE;<10c> +<KSC> IGNORE;IGNORE;IGNORE;<KSC> +<am> IGNORE;IGNORE;IGNORE;<am> +<pm> IGNORE;IGNORE;IGNORE;<pm> +<NU> IGNORE;IGNORE;IGNORE;<NU> +<SH> IGNORE;IGNORE;IGNORE;<SH> +<SX> IGNORE;IGNORE;IGNORE;<SX> +<EX> IGNORE;IGNORE;IGNORE;<EX> +<ET> IGNORE;IGNORE;IGNORE;<ET> +<EQ> IGNORE;IGNORE;IGNORE;<EQ> +<AK> IGNORE;IGNORE;IGNORE;<AK> +<BL> IGNORE;IGNORE;IGNORE;<BL> +<BS> IGNORE;IGNORE;IGNORE;<BS> +<SO> IGNORE;IGNORE;IGNORE;<SO> +<SI> IGNORE;IGNORE;IGNORE;<SI> +<DL> IGNORE;IGNORE;IGNORE;<DL> +<D1> IGNORE;IGNORE;IGNORE;<D1> +<D2> IGNORE;IGNORE;IGNORE;<D2> +<D3> IGNORE;IGNORE;IGNORE;<D3> +<D4> IGNORE;IGNORE;IGNORE;<D4> +<NK> IGNORE;IGNORE;IGNORE;<NK> +<SY> IGNORE;IGNORE;IGNORE;<SY> +<EB> IGNORE;IGNORE;IGNORE;<EB> +<CN> IGNORE;IGNORE;IGNORE;<CN> +<EM> IGNORE;IGNORE;IGNORE;<EM> +<SB> IGNORE;IGNORE;IGNORE;<SB> +<EC> IGNORE;IGNORE;IGNORE;<EC> +<FS> IGNORE;IGNORE;IGNORE;<FS> +<GS> IGNORE;IGNORE;IGNORE;<GS> +<RS> IGNORE;IGNORE;IGNORE;<RS> +<US> IGNORE;IGNORE;IGNORE;<US> +<DT> IGNORE;IGNORE;IGNORE;<DT> +<PA> IGNORE;IGNORE;IGNORE;<PA> +<HO> IGNORE;IGNORE;IGNORE;<HO> +<BH> IGNORE;IGNORE;IGNORE;<BH> +<NH> IGNORE;IGNORE;IGNORE;<NH> +<IN> IGNORE;IGNORE;IGNORE;<IN> +<NL> IGNORE;IGNORE;IGNORE;<NL> +<SA> IGNORE;IGNORE;IGNORE;<SA> +<ES> IGNORE;IGNORE;IGNORE;<ES> +<HS> IGNORE;IGNORE;IGNORE;<HS> +<HJ> IGNORE;IGNORE;IGNORE;<HJ> +<VS> IGNORE;IGNORE;IGNORE;<VS> +<PD> IGNORE;IGNORE;IGNORE;<PD> +<PU> IGNORE;IGNORE;IGNORE;<PU> +<RI> IGNORE;IGNORE;IGNORE;<RI> +<S2> IGNORE;IGNORE;IGNORE;<S2> +<S3> IGNORE;IGNORE;IGNORE;<S3> +<DC> IGNORE;IGNORE;IGNORE;<DC> +<P1> IGNORE;IGNORE;IGNORE;<P1> +<P2> IGNORE;IGNORE;IGNORE;<P2> +<TS> IGNORE;IGNORE;IGNORE;<TS> +<CC> IGNORE;IGNORE;IGNORE;<CC> +<MW> IGNORE;IGNORE;IGNORE;<MW> +<SG> IGNORE;IGNORE;IGNORE;<SG> +<EG> IGNORE;IGNORE;IGNORE;<EG> +<SS> IGNORE;IGNORE;IGNORE;<SS> +<GC> IGNORE;IGNORE;IGNORE;<GC> +<SC> IGNORE;IGNORE;IGNORE;<SC> +<CI> IGNORE;IGNORE;IGNORE;<CI> +<ST> IGNORE;IGNORE;IGNORE;<ST> +<OC> IGNORE;IGNORE;IGNORE;<OC> +<PM> IGNORE;IGNORE;IGNORE;<PM> +<AC> IGNORE;IGNORE;IGNORE;<AC> +<"3> IGNORE;IGNORE;IGNORE;<"3> +<"1> IGNORE;IGNORE;IGNORE;<"1> +<"!> IGNORE;IGNORE;IGNORE;<"!> +<"'> IGNORE;IGNORE;IGNORE;<"'> +<"/>> IGNORE;IGNORE;IGNORE;<"/>> +<"?> IGNORE;IGNORE;IGNORE;<"?> +<"-> IGNORE;IGNORE;IGNORE;<"-> +<"(> IGNORE;IGNORE;IGNORE;<"(> +<".> IGNORE;IGNORE;IGNORE;<".> +<":> IGNORE;IGNORE;IGNORE;<":> +<"0> IGNORE;IGNORE;IGNORE;<"0> +<",> IGNORE;IGNORE;IGNORE;<",> +<"_> IGNORE;IGNORE;IGNORE;<"_> +<""> IGNORE;IGNORE;IGNORE;<""> +<";> IGNORE;IGNORE;IGNORE;<";> +<"<> IGNORE;IGNORE;IGNORE;<"<> +<"=> IGNORE;IGNORE;IGNORE;<"=> +<"//> IGNORE;IGNORE;IGNORE;<"//> +<"p> IGNORE;IGNORE;IGNORE;<"p> +<"d> IGNORE;IGNORE;IGNORE;<"d> +<"i> IGNORE;IGNORE;IGNORE;<"i> +<+_> IGNORE;IGNORE;IGNORE;<+_> +<Tel> IGNORE;IGNORE;IGNORE;<Tel> +<UA> IGNORE;IGNORE;IGNORE;<UA> +<UB> IGNORE;IGNORE;IGNORE;<UB> +<Mc> IGNORE;IGNORE;IGNORE;<Mc> +<Fl> IGNORE;IGNORE;IGNORE;<Fl> +UNDEFINED IGNORE;IGNORE;IGNORE + +<0> <0>;<0>;IGNORE;IGNORE +<0S> <0>;<0S>;IGNORE;IGNORE +<18> <0>;<18>;IGNORE;IGNORE +<14> <0>;<14>;IGNORE;IGNORE +<38> <0>;<38>;IGNORE;IGNORE +<12> <0>;<12>;IGNORE;IGNORE +<58> <0>;<58>;IGNORE;IGNORE +<34> <0>;<34>;IGNORE;IGNORE +<78> <0>;<78>;IGNORE;IGNORE +<1> <1>;<1>;IGNORE;IGNORE +<2> <2>;<2>;IGNORE;IGNORE +<3> <3>;<3>;IGNORE;IGNORE +<4> <4>;<4>;IGNORE;IGNORE +<5> <5>;<5>;IGNORE;IGNORE +<6> <6>;<6>;IGNORE;IGNORE +<7> <7>;<7>;IGNORE;IGNORE +<8> <8>;<8>;IGNORE;IGNORE +<9> <9>;<9>;IGNORE;IGNORE +<1S> <1>;<1S>;IGNORE;IGNORE +<2S> <2>;<2S>;IGNORE;IGNORE +<3S> <3>;<3S>;IGNORE;IGNORE +<4S> <4>;<4S>;IGNORE;IGNORE +<5S> <5>;<5S>;IGNORE;IGNORE +<6S> <6>;<6S>;IGNORE;IGNORE +<7S> <7>;<7S>;IGNORE;IGNORE +<8S> <8>;<8S>;IGNORE;IGNORE +<9S> <9>;<9S>;IGNORE;IGNORE +<A> <A>;<NONE>;<CAPITAL>;IGNORE +<a> <A>;<NONE>;<SMALL>;IGNORE +<-a> <A>;<NONE>;<-a>;IGNORE +<A'> <A>;<ACUTE>;<CAPITAL>;IGNORE +<a'> <A>;<ACUTE>;<SMALL>;IGNORE +<A!> <A>;<GRAVE>;<CAPITAL>;IGNORE +<a!> <A>;<GRAVE>;<SMALL>;IGNORE +<A!!> <A>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<a!!> <A>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<A(> <A>;<BREVE>;<CAPITAL>;IGNORE +<a(> <A>;<BREVE>;<SMALL>;IGNORE +<A('> <A>;<BREVE+ACUTE>;<CAPITAL>;IGNORE +<a('> <A>;<BREVE+ACUTE>;<SMALL>;IGNORE +<A(!> <A>;<BREVE+GRAVE>;<CAPITAL>;IGNORE +<a(!> <A>;<BREVE+GRAVE>;<SMALL>;IGNORE +<A(2> <A>;<BREVE+HOOK>;<CAPITAL>;IGNORE +<a(2> <A>;<BREVE+HOOK>;<SMALL>;IGNORE +<A(?> <A>;<BREVE+TILDE>;<CAPITAL>;IGNORE +<a(?> <A>;<BREVE+TILDE>;<SMALL>;IGNORE +<A(-.> <A>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE +<a(-.> <A>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE +<A)> <A>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<a)> <A>;<INVERTED-BREVE>;<SMALL>;IGNORE +<A/>> <A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<a/>> <A>;<CIRCUMFLEX>;<SMALL>;IGNORE +<A/>'> <A>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE +<a/>'> <A>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE +<A/>!> <A>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE +<a/>!> <A>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE +<A/>2> <A>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE +<a/>2> <A>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE +<A/>?> <A>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE +<a/>?> <A>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE +<A/>-.> <A>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE +<a/>-.> <A>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE +<A<> <A>;<CARON>;<CAPITAL>;IGNORE +<a<> <A>;<CARON>;<SMALL>;IGNORE +<AA> <A>;<RING>;<CAPITAL>;IGNORE +<aa> <A>;<RING>;<SMALL>;IGNORE +<AA'> <A>;<RING+ACUTE>;<CAPITAL>;IGNORE +<aa'> <A>;<RING+ACUTE>;<SMALL>;IGNORE +<A-0> <A>;<RING-BELOW>;<CAPITAL>;IGNORE +<a-0> <A>;<RING-BELOW>;<SMALL>;IGNORE +<A:> <A>;<DIAERESIS>;<CAPITAL>;IGNORE +<a:> <A>;<DIAERESIS>;<SMALL>;IGNORE +<A1> <A>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE +<a1> <A>;<DIAERESIS+MACRON>;<SMALL>;IGNORE +<A2> <A>;<HOOK>;<CAPITAL>;IGNORE +<a2> <A>;<HOOK>;<SMALL>;IGNORE +<A?> <A>;<TILDE>;<CAPITAL>;IGNORE +<a?> <A>;<TILDE>;<SMALL>;IGNORE +<A-.> <A>;<DOT-BELOW>;<CAPITAL>;IGNORE +<a-.> <A>;<DOT-BELOW>;<SMALL>;IGNORE +<A;> <A>;<OGONEK>;<CAPITAL>;IGNORE +<a;> <A>;<OGONEK>;<SMALL>;IGNORE +<A-> <A>;<MACRON>;<CAPITAL>;IGNORE +<a-> <A>;<MACRON>;<SMALL>;IGNORE +<A7> <A>;<MACRON+DOT>;<CAPITAL>;IGNORE +<a7> <A>;<MACRON+DOT>;<SMALL>;IGNORE +<a8> +<AE> "<A><E>";"<AE><AE>";"<CAPITAL><CAPITAL>";IGNORE +<ae> "<A><E>";"<AE><AE>";"<SMALL><SMALL>";IGNORE +<AE'> "<A><E>";"<AE'><AE'>";"<CAPITAL><CAPITAL>";IGNORE +<ae'> "<A><E>";"<AE'><AE'>";"<SMALL><SMALL>";IGNORE +<A3> "<A><E>";"<A3><A3>";"<CAPITAL><CAPITAL>";IGNORE +<a3> "<A><E>";"<A3><A3>";"<SMALL><SMALL>";IGNORE +<B> <B>;<NONE>;<CAPITAL>;IGNORE +<b> <B>;<NONE>;<SMALL>;IGNORE +<B.> <B>;<DOT>;<CAPITAL>;IGNORE +<b.> <B>;<DOT>;<SMALL>;IGNORE +<B-.> <B>;<DOT-BELOW>;<CAPITAL>;IGNORE +<b-.> <B>;<DOT-BELOW>;<SMALL>;IGNORE +<B_> <B>;<LINE-BELOW>;<CAPITAL>;IGNORE +<b_> <B>;<LINE-BELOW>;<SMALL>;IGNORE +<b8> +<C> <C>;<NONE>;<CAPITAL>;IGNORE +<c> <C>;<NONE>;<SMALL>;IGNORE +<C'> <C>;<ACUTE>;<CAPITAL>;IGNORE +<c'> <C>;<ACUTE>;<SMALL>;IGNORE +<C/>> <C>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<c/>> <C>;<CIRCUMFLEX>;<SMALL>;IGNORE +<C<> <C>;<CARON>;<CAPITAL>;IGNORE +<c<> <C>;<CARON>;<SMALL>;IGNORE +<C2> <C>;<HOOK>;<CAPITAL>;IGNORE +<c2> <C>;<HOOK>;<SMALL>;IGNORE +<C.> <C>;<DOT>;<CAPITAL>;IGNORE +<c.> <C>;<DOT>;<SMALL>;IGNORE +<C,> <C>;<CEDILLA>;<CAPITAL>;IGNORE +<c,> <C>;<CEDILLA>;<SMALL>;IGNORE +<C,'> <C>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE +<c,'> <C>;<CEDILLA+ACUTE>;<SMALL>;IGNORE +<c8> +<D> <D>;<NONE>;<CAPITAL>;IGNORE +<d> <D>;<NONE>;<SMALL>;IGNORE +<D<> <D>;<CARON>;<CAPITAL>;IGNORE +<d<> <D>;<CARON>;<SMALL>;IGNORE +<D.> <D>;<DOT>;<CAPITAL>;IGNORE +<d.> <D>;<DOT>;<SMALL>;IGNORE +<D-.> <D>;<DOT-BELOW>;<CAPITAL>;IGNORE +<d-.> <D>;<DOT-BELOW>;<SMALL>;IGNORE +<D//> <D>;<STROKE>;<CAPITAL>;IGNORE +<d//> <D>;<STROKE>;<SMALL>;IGNORE +<D,> <D>;<CEDILLA>;<CAPITAL>;IGNORE +<d,> <D>;<CEDILLA>;<SMALL>;IGNORE +<D-/>> <D>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<d-/>> <D>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<D_> <D>;<LINE-BELOW>;<CAPITAL>;IGNORE +<d_> <D>;<LINE-BELOW>;<SMALL>;IGNORE +<d8> +<D-> <D>;<D->;<CAPITAL>;IGNORE +<d-> <D>;<D->;<SMALL>;IGNORE +<E> <E>;<NONE>;<CAPITAL>;IGNORE +<e> <E>;<NONE>;<SMALL>;IGNORE +<E'> <E>;<ACUTE>;<CAPITAL>;IGNORE +<e'> <E>;<ACUTE>;<SMALL>;IGNORE +<E!> <E>;<GRAVE>;<CAPITAL>;IGNORE +<e!> <E>;<GRAVE>;<SMALL>;IGNORE +<E!!> <E>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<e!!> <E>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<E(> <E>;<BREVE>;<CAPITAL>;IGNORE +<e(> <E>;<BREVE>;<SMALL>;IGNORE +<E)> <E>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<e)> <E>;<INVERTED-BREVE>;<SMALL>;IGNORE +<E/>> <E>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<e/>> <E>;<CIRCUMFLEX>;<SMALL>;IGNORE +<E/>'> <E>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE +<e/>'> <E>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE +<E/>!> <E>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE +<e/>!> <E>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE +<E/>2> <E>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE +<e/>2> <E>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE +<E/>?> <E>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE +<e/>?> <E>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE +<E/>-.> <E>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE +<e/>-.> <E>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE +<E<> <E>;<CARON>;<CAPITAL>;IGNORE +<e<> <E>;<CARON>;<SMALL>;IGNORE +<E:> <E>;<DIAERESIS>;<CAPITAL>;IGNORE +<e:> <E>;<DIAERESIS>;<SMALL>;IGNORE +<E2> <E>;<HOOK>;<CAPITAL>;IGNORE +<e2> <E>;<HOOK>;<SMALL>;IGNORE +<E?> <E>;<TILDE>;<CAPITAL>;IGNORE +<e?> <E>;<TILDE>;<SMALL>;IGNORE +<E-?> <E>;<TILDE-BELOW>;<CAPITAL>;IGNORE +<e-?> <E>;<TILDE-BELOW>;<SMALL>;IGNORE +<E.> <E>;<DOT>;<CAPITAL>;IGNORE +<e.> <E>;<DOT>;<SMALL>;IGNORE +<E-.> <E>;<DOT-BELOW>;<CAPITAL>;IGNORE +<e-.> <E>;<DOT-BELOW>;<SMALL>;IGNORE +<E,(> <E>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE +<e,(> <E>;<CEDILLA+BREVE>;<SMALL>;IGNORE +<E;> <E>;<OGONEK>;<CAPITAL>;IGNORE +<e;> <E>;<OGONEK>;<SMALL>;IGNORE +<E-> <E>;<MACRON>;<CAPITAL>;IGNORE +<e-> <E>;<MACRON>;<SMALL>;IGNORE +<E-'> <E>;<MACRON+ACUTE>;<CAPITAL>;IGNORE +<e-'> <E>;<MACRON+ACUTE>;<SMALL>;IGNORE +<E-!> <E>;<MACRON+GRAVE>;<CAPITAL>;IGNORE +<e-!> <E>;<MACRON+GRAVE>;<SMALL>;IGNORE +<E-/>> <E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<e-/>> <E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<e8> +<F> <F>;<NONE>;<CAPITAL>;IGNORE +<f> <F>;<NONE>;<SMALL>;IGNORE +<F2> <F>;<HOOK>;<CAPITAL>;IGNORE +<f2> <F>;<HOOK>;<SMALL>;IGNORE +<F.> <F>;<DOT>;<CAPITAL>;IGNORE +<f.> <F>;<DOT>;<SMALL>;IGNORE +<f8> +<ff> "<F><F>";"<NONE><NONE>";"<ff><ff>";IGNORE +<fi> "<F><I>";"<NONE><NONE>";"<fi><fi>";IGNORE +<fl> "<F><L>";"<NONE><NONE>";"<fl><fl>";IGNORE +<ffi> "<F><F><I>";"<NONE><NONE><NONE>";"<ffi><ffi><ffi>";IGNORE +<ffl> "<F><F><L>";"<NONE><NONE><NONE>";"<ffl><ffl><ffl>";IGNORE +<ft> "<F><T>";"<NONE><NONE>";"<ft><ft>";IGNORE +<G> <G>;<NONE>;<CAPITAL>;IGNORE +<g> <G>;<NONE>;<SMALL>;IGNORE +<G'> <G>;<ACUTE>;<CAPITAL>;IGNORE +<g'> <G>;<ACUTE>;<SMALL>;IGNORE +<G(> <G>;<BREVE>;<CAPITAL>;IGNORE +<g(> <G>;<BREVE>;<SMALL>;IGNORE +<OI> <G>;<BREVE+ACUTE>;<CAPITAL>;IGNORE +<oi> <G>;<BREVE+ACUTE>;<SMALL>;IGNORE +<G/>> <G>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<g/>> <G>;<CIRCUMFLEX>;<SMALL>;IGNORE +<G<> <G>;<CARON>;<CAPITAL>;IGNORE +<g<> <G>;<CARON>;<SMALL>;IGNORE +<G.> <G>;<DOT>;<CAPITAL>;IGNORE +<g.> <G>;<DOT>;<SMALL>;IGNORE +<G//> <G>;<STROKE>;<CAPITAL>;IGNORE +<g//> <G>;<STROKE>;<SMALL>;IGNORE +<G,> <G>;<CEDILLA>;<CAPITAL>;IGNORE +<g,> <G>;<CEDILLA>;<SMALL>;IGNORE +<G-> <G>;<MACRON>;<CAPITAL>;IGNORE +<g-> <G>;<MACRON>;<SMALL>;IGNORE +<g8> +<H> <H>;<NONE>;<CAPITAL>;IGNORE +<h> <H>;<NONE>;<SMALL>;IGNORE +<H-(> <H>;<BREVE-BELOW>;<CAPITAL>;IGNORE +<h-(> <H>;<BREVE-BELOW>;<SMALL>;IGNORE +<H/>> <H>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<h/>> <H>;<CIRCUMFLEX>;<SMALL>;IGNORE +<H:> <H>;<DIAERESIS>;<CAPITAL>;IGNORE +<h:> <H>;<DIAERESIS>;<SMALL>;IGNORE +<H.> <H>;<DOT>;<CAPITAL>;IGNORE +<h.> <H>;<DOT>;<SMALL>;IGNORE +<H-.> <H>;<DOT-BELOW>;<CAPITAL>;IGNORE +<h-.> <H>;<DOT-BELOW>;<SMALL>;IGNORE +<H//> <H>;<STROKE>;<CAPITAL>;IGNORE +<h//> <H>;<STROKE>;<SMALL>;IGNORE +<H,> <H>;<CEDILLA>;<CAPITAL>;IGNORE +<h,> <H>;<CEDILLA>;<SMALL>;IGNORE +<h8> +<I> <I>;<NONE>;<CAPITAL>;IGNORE +<i> <I>;<NONE>;<SMALL>;IGNORE +<I'> <I>;<ACUTE>;<CAPITAL>;IGNORE +<i'> <I>;<ACUTE>;<SMALL>;IGNORE +<I!> <I>;<GRAVE>;<CAPITAL>;IGNORE +<i!> <I>;<GRAVE>;<SMALL>;IGNORE +<I!!> <I>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<i!!> <I>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<I(> <I>;<BREVE>;<CAPITAL>;IGNORE +<i(> <I>;<BREVE>;<SMALL>;IGNORE +<I)> <I>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<i)> <I>;<INVERTED-BREVE>;<SMALL>;IGNORE +<I/>> <I>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<i/>> <I>;<CIRCUMFLEX>;<SMALL>;IGNORE +<I<> <I>;<CARON>;<CAPITAL>;IGNORE +<i<> <I>;<CARON>;<SMALL>;IGNORE +<I:> <I>;<DIAERESIS>;<CAPITAL>;IGNORE +<i:> <I>;<DIAERESIS>;<SMALL>;IGNORE +<I:'> <I>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE +<i:'> <I>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE +<I2> <I>;<HOOK>;<CAPITAL>;IGNORE +<i2> <I>;<HOOK>;<SMALL>;IGNORE +<I?> <I>;<TILDE>;<CAPITAL>;IGNORE +<i?> <I>;<TILDE>;<SMALL>;IGNORE +<I-?> <I>;<TILDE-BELOW>;<CAPITAL>;IGNORE +<i-?> <I>;<TILDE-BELOW>;<SMALL>;IGNORE +<I.> <I>;<DOT>;<CAPITAL>;IGNORE +<i.> <I>;<DOT>;<SMALL>;IGNORE +<I-.> <I>;<DOT-BELOW>;<CAPITAL>;IGNORE +<i-.> <I>;<DOT-BELOW>;<SMALL>;IGNORE +<I;> <I>;<OGONEK>;<CAPITAL>;IGNORE +<i;> <I>;<OGONEK>;<SMALL>;IGNORE +<I-> <I>;<MACRON>;<CAPITAL>;IGNORE +<i-> <I>;<MACRON>;<SMALL>;IGNORE +<i8> +<IJ> "<I><J>";"<IJ><IJ>";"<CAPITAL><CAPITAL>";IGNORE +<ij> "<I><J>";"<IJ><IJ>";"<SMALL><SMALL>";IGNORE +<J> <J>;<NONE>;<CAPITAL>;IGNORE +<j> <J>;<NONE>;<SMALL>;IGNORE +<J/>> <J>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<j/>> <J>;<CIRCUMFLEX>;<SMALL>;IGNORE +<j8> +<K> <K>;<NONE>;<CAPITAL>;IGNORE +<k> <K>;<NONE>;<SMALL>;IGNORE +<K'> <K>;<ACUTE>;<CAPITAL>;IGNORE +<k'> <K>;<ACUTE>;<SMALL>;IGNORE +<K<> <K>;<CARON>;<CAPITAL>;IGNORE +<k<> <K>;<CARON>;<SMALL>;IGNORE +<K2> <K>;<HOOK>;<CAPITAL>;IGNORE +<k2> <K>;<HOOK>;<SMALL>;IGNORE +<K-.> <K>;<DOT-BELOW>;<CAPITAL>;IGNORE +<k-.> <K>;<DOT-BELOW>;<SMALL>;IGNORE +<K,> <K>;<CEDILLA>;<CAPITAL>;IGNORE +<k,> <K>;<CEDILLA>;<SMALL>;IGNORE +<K_> <K>;<LINE-BELOW>;<CAPITAL>;IGNORE +<k_> <K>;<LINE-BELOW>;<SMALL>;IGNORE +<k8> +<kk> <K>;<kk>;<SMALL>;IGNORE +<L> <L>;<NONE>;<CAPITAL>;IGNORE +<l> <L>;<NONE>;<SMALL>;IGNORE +<L'> <L>;<ACUTE>;<CAPITAL>;IGNORE +<l'> <L>;<ACUTE>;<SMALL>;IGNORE +<L<> <L>;<CARON>;<CAPITAL>;IGNORE +<l<> <L>;<CARON>;<SMALL>;IGNORE +<L.> <L>;<DOT>;<CAPITAL>;IGNORE +<l.> <L>;<DOT>;<SMALL>;IGNORE +<L-.> <L>;<DOT-BELOW>;<CAPITAL>;IGNORE +<l-.> <L>;<DOT-BELOW>;<SMALL>;IGNORE +<L//> <L>;<STROKE>;<CAPITAL>;IGNORE +<l//> <L>;<STROKE>;<SMALL>;IGNORE +<L,> <L>;<CEDILLA>;<CAPITAL>;IGNORE +<l,> <L>;<CEDILLA>;<SMALL>;IGNORE +<L--.> <L>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE +<l--.> <L>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE +<L-/>> <L>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<l-/>> <L>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<L_> <L>;<LINE-BELOW>;<CAPITAL>;IGNORE +<l_> <L>;<LINE-BELOW>;<SMALL>;IGNORE +<l8> +<St> <LONG>;<SPECIAL>;<SMALL>;IGNORE +<M> <M>;<NONE>;<CAPITAL>;IGNORE +<m> <M>;<NONE>;<SMALL>;IGNORE +<M'> <M>;<ACUTE>;<CAPITAL>;IGNORE +<m'> <M>;<ACUTE>;<SMALL>;IGNORE +<M.> <M>;<DOT>;<CAPITAL>;IGNORE +<m.> <M>;<DOT>;<SMALL>;IGNORE +<M-.> <M>;<DOT-BELOW>;<CAPITAL>;IGNORE +<m-.> <M>;<DOT-BELOW>;<SMALL>;IGNORE +<m8> +<N> <N>;<NONE>;<CAPITAL>;IGNORE +<n> <N>;<NONE>;<SMALL>;IGNORE +<N'> <N>;<ACUTE>;<CAPITAL>;IGNORE +<n'> <N>;<ACUTE>;<SMALL>;IGNORE +<N<> <N>;<CARON>;<CAPITAL>;IGNORE +<n<> <N>;<CARON>;<SMALL>;IGNORE +<N?> <N>;<TILDE>;<CAPITAL>;IGNORE +<n?> <N>;<TILDE>;<SMALL>;IGNORE +<N.> <N>;<DOT>;<CAPITAL>;IGNORE +<n.> <N>;<DOT>;<SMALL>;IGNORE +<N-.> <N>;<DOT-BELOW>;<CAPITAL>;IGNORE +<n-.> <N>;<DOT-BELOW>;<SMALL>;IGNORE +<N,> <N>;<CEDILLA>;<CAPITAL>;IGNORE +<n,> <N>;<CEDILLA>;<SMALL>;IGNORE +<N-/>> <N>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<n-/>> <N>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<N_> <N>;<LINE-BELOW>;<CAPITAL>;IGNORE +<n_> <N>;<LINE-BELOW>;<SMALL>;IGNORE +<'n> <N>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE +<n8> +<NG> <N>;<NG>;<CAPITAL>;IGNORE +<ng> <N>;<NG>;<SMALL>;IGNORE +<O> <O>;<NONE>;<CAPITAL>;IGNORE +<o> <O>;<NONE>;<SMALL>;IGNORE +<-o> <O>;<NONE>;<-o>;IGNORE +<O'> <O>;<ACUTE>;<CAPITAL>;IGNORE +<o'> <O>;<ACUTE>;<SMALL>;IGNORE +<O!> <O>;<GRAVE>;<CAPITAL>;IGNORE +<o!> <O>;<GRAVE>;<SMALL>;IGNORE +<O!!> <O>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<o!!> <O>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<O(> <O>;<BREVE>;<CAPITAL>;IGNORE +<o(> <O>;<BREVE>;<SMALL>;IGNORE +<O)> <O>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<o)> <O>;<INVERTED-BREVE>;<SMALL>;IGNORE +<O/>> <O>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<o/>> <O>;<CIRCUMFLEX>;<SMALL>;IGNORE +<O/>'> <O>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE +<o/>'> <O>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE +<O/>!> <O>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE +<o/>!> <O>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE +<O/>2> <O>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE +<o/>2> <O>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE +<O/>?> <O>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE +<o/>?> <O>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE +<O/>-.> <O>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE +<o/>-.> <O>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE +<O<> <O>;<CARON>;<CAPITAL>;IGNORE +<o<> <O>;<CARON>;<SMALL>;IGNORE +<O:> <O>;<DIAERESIS>;<CAPITAL>;IGNORE +<o:> <O>;<DIAERESIS>;<SMALL>;IGNORE +<O"> <O>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE +<o"> <O>;<DOUBLE-ACUTE>;<SMALL>;IGNORE +<O2> <O>;<HOOK>;<CAPITAL>;IGNORE +<o2> <O>;<HOOK>;<SMALL>;IGNORE +<O?> <O>;<TILDE>;<CAPITAL>;IGNORE +<o?> <O>;<TILDE>;<SMALL>;IGNORE +<O?'> <O>;<TILDE+ACUTE>;<CAPITAL>;IGNORE +<o?'> <O>;<TILDE+ACUTE>;<SMALL>;IGNORE +<O?:> <O>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE +<o?:> <O>;<TILDE+DIAERESIS>;<SMALL>;IGNORE +<O-.> <O>;<DOT-BELOW>;<CAPITAL>;IGNORE +<o-.> <O>;<DOT-BELOW>;<SMALL>;IGNORE +<O//> <O>;<STROKE>;<CAPITAL>;IGNORE +<o//> <O>;<STROKE>;<SMALL>;IGNORE +<O//'> <O>;<STROKE+ACUTE>;<CAPITAL>;IGNORE +<o//'> <O>;<STROKE+ACUTE>;<SMALL>;IGNORE +<O;> <O>;<OGONEK>;<CAPITAL>;IGNORE +<o;> <O>;<OGONEK>;<SMALL>;IGNORE +<O1> <O>;<OGONEK+MACRON>;<CAPITAL>;IGNORE +<o1> <O>;<OGONEK+MACRON>;<SMALL>;IGNORE +<O-> <O>;<MACRON>;<CAPITAL>;IGNORE +<o-> <O>;<MACRON>;<SMALL>;IGNORE +<O-'> <O>;<MACRON+ACUTE>;<CAPITAL>;IGNORE +<o-'> <O>;<MACRON+ACUTE>;<SMALL>;IGNORE +<O-!> <O>;<MACRON+GRAVE>;<CAPITAL>;IGNORE +<o-!> <O>;<MACRON+GRAVE>;<SMALL>;IGNORE +<O9> <O>;<HORN>;<CAPITAL>;IGNORE +<o9> <O>;<HORN>;<SMALL>;IGNORE +<O9'> <O>;<HORN+ACUTE>;<CAPITAL>;IGNORE +<o9'> <O>;<HORN+ACUTE>;<SMALL>;IGNORE +<O9!> <O>;<HORN+GRAVE>;<CAPITAL>;IGNORE +<o9!> <O>;<HORN+GRAVE>;<SMALL>;IGNORE +<O92> <O>;<HORN+HOOK>;<CAPITAL>;IGNORE +<o92> <O>;<HORN+HOOK>;<SMALL>;IGNORE +<O9?> <O>;<HORN+TILDE>;<CAPITAL>;IGNORE +<o9?> <O>;<HORN+TILDE>;<SMALL>;IGNORE +<O9-.> <O>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE +<o9-.> <O>;<HORN+DOT-BELOW>;<SMALL>;IGNORE +<o8> +<OE> "<O><E>";"<OE><OE>";"<CAPITAL><CAPITAL>";IGNORE +<oe> "<O><E>";"<OE><OE>";"<SMALL><SMALL>";IGNORE +<P> <P>;<NONE>;<CAPITAL>;IGNORE +<p> <P>;<NONE>;<SMALL>;IGNORE +<P'> <P>;<ACUTE>;<CAPITAL>;IGNORE +<p'> <P>;<ACUTE>;<SMALL>;IGNORE +<P.> <P>;<DOT>;<CAPITAL>;IGNORE +<p.> <P>;<DOT>;<SMALL>;IGNORE +<p8> +<Q> <Q>;<NONE>;<CAPITAL>;IGNORE +<q> <Q>;<NONE>;<SMALL>;IGNORE +<q8> +<R> <R>;<NONE>;<CAPITAL>;IGNORE +<r> <R>;<NONE>;<SMALL>;IGNORE +<R'> <R>;<ACUTE>;<CAPITAL>;IGNORE +<r'> <R>;<ACUTE>;<SMALL>;IGNORE +<R!!> <R>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<r!!> <R>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<R)> <R>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<r)> <R>;<INVERTED-BREVE>;<SMALL>;IGNORE +<R<> <R>;<CARON>;<CAPITAL>;IGNORE +<r<> <R>;<CARON>;<SMALL>;IGNORE +<R.> <R>;<DOT>;<CAPITAL>;IGNORE +<r.> <R>;<DOT>;<SMALL>;IGNORE +<R-.> <R>;<DOT-BELOW>;<CAPITAL>;IGNORE +<r-.> <R>;<DOT-BELOW>;<SMALL>;IGNORE +<R,> <R>;<CEDILLA>;<CAPITAL>;IGNORE +<r,> <R>;<CEDILLA>;<SMALL>;IGNORE +<R--.> <R>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE +<r--.> <R>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE +<R_> <R>;<LINE-BELOW>;<CAPITAL>;IGNORE +<r_> <R>;<LINE-BELOW>;<SMALL>;IGNORE +<r8> +<S> <S>;<NONE>;<CAPITAL>;IGNORE +<s> <S>;<NONE>;<SMALL>;IGNORE +<st> "<S><T>";"<NONE><NONE>";"<st><st>";IGNORE +<S'> <S>;<ACUTE>;<CAPITAL>;IGNORE +<s'> <S>;<ACUTE>;<SMALL>;IGNORE +<S'.> <S>;<ACUTE+DOT>;<CAPITAL>;IGNORE +<s'.> <S>;<ACUTE+DOT>;<SMALL>;IGNORE +<S/>> <S>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<s/>> <S>;<CIRCUMFLEX>;<SMALL>;IGNORE +<S<> <S>;<CARON>;<CAPITAL>;IGNORE +<s<> <S>;<CARON>;<SMALL>;IGNORE +<S<.> <S>;<CARON+DOT>;<CAPITAL>;IGNORE +<s<.> <S>;<CARON+DOT>;<SMALL>;IGNORE +<S.> <S>;<DOT>;<CAPITAL>;IGNORE +<s.> <S>;<DOT>;<SMALL>;IGNORE +<S-.> <S>;<DOT-BELOW>;<CAPITAL>;IGNORE +<s-.> <S>;<DOT-BELOW>;<SMALL>;IGNORE +<S.-.> <S>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE +<s.-.> <S>;<DOT+DOT-BELOW>;<SMALL>;IGNORE +<S,> <S>;<CEDILLA>;<CAPITAL>;IGNORE +<s,> <S>;<CEDILLA>;<SMALL>;IGNORE +<s8> +<s1> <S>;<s1>;<SMALL>;IGNORE +<ss> "<S><S>";"<NONE><NONE>";"<SMALL><ss>";IGNORE +<T> <T>;<NONE>;<CAPITAL>;IGNORE +<t> <T>;<NONE>;<SMALL>;IGNORE +<T<> <T>;<CARON>;<CAPITAL>;IGNORE +<t<> <T>;<CARON>;<SMALL>;IGNORE +<T.> <T>;<DOT>;<CAPITAL>;IGNORE +<t.> <T>;<DOT>;<SMALL>;IGNORE +<T-.> <T>;<DOT-BELOW>;<CAPITAL>;IGNORE +<t-.> <T>;<DOT-BELOW>;<SMALL>;IGNORE +<T//> <T>;<STROKE>;<CAPITAL>;IGNORE +<t//> <T>;<STROKE>;<SMALL>;IGNORE +<T,> <T>;<CEDILLA>;<CAPITAL>;IGNORE +<t,> <T>;<CEDILLA>;<SMALL>;IGNORE +<T-/>> <T>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<t-/>> <T>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<T_> <T>;<LINE-BELOW>;<CAPITAL>;IGNORE +<t_> <T>;<LINE-BELOW>;<SMALL>;IGNORE +<t8> +<TH> "<T><H>";"<TH><TH>";"<CAPITAL><CAPITAL>";IGNORE +<th> "<T><H>";"<TH><TH>";"<SMALL><SMALL>";IGNORE +<U> <U>;<NONE>;<CAPITAL>;IGNORE +<u> <U>;<NONE>;<SMALL>;IGNORE +<U'> <U>;<ACUTE>;<CAPITAL>;IGNORE +<u'> <U>;<ACUTE>;<SMALL>;IGNORE +<U!> <U>;<GRAVE>;<CAPITAL>;IGNORE +<u!> <U>;<GRAVE>;<SMALL>;IGNORE +<U!!> <U>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<u!!> <U>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<U(> <U>;<BREVE>;<CAPITAL>;IGNORE +<u(> <U>;<BREVE>;<SMALL>;IGNORE +<U)> <U>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<u)> <U>;<INVERTED-BREVE>;<SMALL>;IGNORE +<U/>> <U>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<u/>> <U>;<CIRCUMFLEX>;<SMALL>;IGNORE +<U<> <U>;<CARON>;<CAPITAL>;IGNORE +<u<> <U>;<CARON>;<SMALL>;IGNORE +<U0> <U>;<RING>;<CAPITAL>;IGNORE +<u0> <U>;<RING>;<SMALL>;IGNORE +<U:> <U>;<DIAERESIS>;<CAPITAL>;IGNORE +<u:> <U>;<DIAERESIS>;<SMALL>;IGNORE +<U:-> <U>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE +<u:-> <U>;<DIAERESIS+MACRON>;<SMALL>;IGNORE +<U:'> <U>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE +<u:'> <U>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE +<U:!> <U>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE +<u:!> <U>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE +<U:<> <U>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE +<u:<> <U>;<DIAERESIS+CARON>;<SMALL>;IGNORE +<U"> <U>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE +<u"> <U>;<DOUBLE-ACUTE>;<SMALL>;IGNORE +<U2> <U>;<HOOK>;<CAPITAL>;IGNORE +<u2> <U>;<HOOK>;<SMALL>;IGNORE +<U?> <U>;<TILDE>;<CAPITAL>;IGNORE +<u?> <U>;<TILDE>;<SMALL>;IGNORE +<U?'> <U>;<TILDE+ACUTE>;<CAPITAL>;IGNORE +<u?'> <U>;<TILDE+ACUTE>;<SMALL>;IGNORE +<U-?> <U>;<TILDE-BELOW>;<CAPITAL>;IGNORE +<u-?> <U>;<TILDE-BELOW>;<SMALL>;IGNORE +<U-.> <U>;<DOT-BELOW>;<CAPITAL>;IGNORE +<u-.> <U>;<DOT-BELOW>;<SMALL>;IGNORE +<U;> <U>;<OGONEK>;<CAPITAL>;IGNORE +<u;> <U>;<OGONEK>;<SMALL>;IGNORE +<U-> <U>;<MACRON>;<CAPITAL>;IGNORE +<u-> <U>;<MACRON>;<SMALL>;IGNORE +<U-:> <U>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE +<u-:> <U>;<MACRON+DIAERESIS>;<SMALL>;IGNORE +<U--:> <U>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE +<u--:> <U>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE +<U-/>> <U>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<u-/>> <U>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<U9> <U>;<HORN>;<CAPITAL>;IGNORE +<u9> <U>;<HORN>;<SMALL>;IGNORE +<U9'> <U>;<HORN+ACUTE>;<CAPITAL>;IGNORE +<u9'> <U>;<HORN+ACUTE>;<SMALL>;IGNORE +<U9!> <U>;<HORN+GRAVE>;<CAPITAL>;IGNORE +<u9!> <U>;<HORN+GRAVE>;<SMALL>;IGNORE +<U92> <U>;<HORN+HOOK>;<CAPITAL>;IGNORE +<u92> <U>;<HORN+HOOK>;<SMALL>;IGNORE +<U9?> <U>;<HORN+TILDE>;<CAPITAL>;IGNORE +<u9?> <U>;<HORN+TILDE>;<SMALL>;IGNORE +<U9-.> <U>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE +<u9-.> <U>;<HORN+DOT-BELOW>;<SMALL>;IGNORE +<u8> +<V> <V>;<NONE>;<CAPITAL>;IGNORE +<v> <V>;<NONE>;<SMALL>;IGNORE +<V?> <V>;<TILDE>;<CAPITAL>;IGNORE +<v?> <V>;<TILDE>;<SMALL>;IGNORE +<V-.> <V>;<DOT-BELOW>;<CAPITAL>;IGNORE +<v-.> <V>;<DOT-BELOW>;<SMALL>;IGNORE +<v8> +<W> <W>;<NONE>;<CAPITAL>;IGNORE +<w> <W>;<NONE>;<SMALL>;IGNORE +<W'> <W>;<ACUTE>;<CAPITAL>;IGNORE +<w'> <W>;<ACUTE>;<SMALL>;IGNORE +<W!> <W>;<GRAVE>;<CAPITAL>;IGNORE +<w!> <W>;<GRAVE>;<SMALL>;IGNORE +<W/>> <W>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<w/>> <W>;<CIRCUMFLEX>;<SMALL>;IGNORE +<W:> <W>;<DIAERESIS>;<CAPITAL>;IGNORE +<w:> <W>;<DIAERESIS>;<SMALL>;IGNORE +<W.> <W>;<DOT>;<CAPITAL>;IGNORE +<w.> <W>;<DOT>;<SMALL>;IGNORE +<W-.> <W>;<DOT-BELOW>;<CAPITAL>;IGNORE +<w-.> <W>;<DOT-BELOW>;<SMALL>;IGNORE +<w8> +<X> <X>;<NONE>;<CAPITAL>;IGNORE +<x> <X>;<NONE>;<SMALL>;IGNORE +<X:> <X>;<DIAERESIS>;<CAPITAL>;IGNORE +<x:> <X>;<DIAERESIS>;<SMALL>;IGNORE +<X.> <X>;<DOT>;<CAPITAL>;IGNORE +<x.> <X>;<DOT>;<SMALL>;IGNORE +<x8> +<Y> <Y>;<NONE>;<CAPITAL>;IGNORE +<y> <Y>;<NONE>;<SMALL>;IGNORE +<Y'> <Y>;<ACUTE>;<CAPITAL>;IGNORE +<y'> <Y>;<ACUTE>;<SMALL>;IGNORE +<Y!> <Y>;<GRAVE>;<CAPITAL>;IGNORE +<y!> <Y>;<GRAVE>;<SMALL>;IGNORE +<Y/>> <Y>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<y/>> <Y>;<CIRCUMFLEX>;<SMALL>;IGNORE +<Y:> <Y>;<DIAERESIS>;<CAPITAL>;IGNORE +<y:> <Y>;<DIAERESIS>;<SMALL>;IGNORE +<Y2> <Y>;<HOOK>;<CAPITAL>;IGNORE +<y2> <Y>;<HOOK>;<SMALL>;IGNORE +<Y?> <Y>;<TILDE>;<CAPITAL>;IGNORE +<y?> <Y>;<TILDE>;<SMALL>;IGNORE +<Y.> <Y>;<DOT>;<CAPITAL>;IGNORE +<y.> <Y>;<DOT>;<SMALL>;IGNORE +<Y-.> <Y>;<DOT-BELOW>;<CAPITAL>;IGNORE +<y-.> <Y>;<DOT-BELOW>;<SMALL>;IGNORE +<y8> +<Z> <Z>;<NONE>;<CAPITAL>;IGNORE +<z> <Z>;<NONE>;<SMALL>;IGNORE +<Z'> <Z>;<ACUTE>;<CAPITAL>;IGNORE +<z'> <Z>;<ACUTE>;<SMALL>;IGNORE +<Z/>> <Z>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<z/>> <Z>;<CIRCUMFLEX>;<SMALL>;IGNORE +<Z<> <Z>;<CARON>;<CAPITAL>;IGNORE +<z<> <Z>;<CARON>;<SMALL>;IGNORE +<Z.> <Z>;<DOT>;<CAPITAL>;IGNORE +<z.> <Z>;<DOT>;<SMALL>;IGNORE +<Z-.> <Z>;<DOT-BELOW>;<CAPITAL>;IGNORE +<z-.> <Z>;<DOT-BELOW>;<SMALL>;IGNORE +<Z//> <Z>;<STROKE>;<CAPITAL>;IGNORE +<z//> <Z>;<STROKE>;<SMALL>;IGNORE +<Z_> <Z>;<LINE-BELOW>;<CAPITAL>;IGNORE +<z_> <Z>;<LINE-BELOW>;<SMALL>;IGNORE +<z8> +<A*> <A*>;<CAPITAL>;<GREEK>;IGNORE +<A%> <A*>;<CAPITAL>;<TONOS>;IGNORE +<a*> <A*>;<SMALL>;<GREEK>;IGNORE +<a%> <A*>;<SMALL>;<TONOS>;IGNORE +<B*> <B*>;<CAPITAL>;<GREEK>;IGNORE +<b*> <B*>;<SMALL>;<GREEK>;IGNORE +<G*> <G*>;<CAPITAL>;<GREEK>;IGNORE +<g*> <G*>;<SMALL>;<GREEK>;IGNORE +<D*> <D*>;<CAPITAL>;<GREEK>;IGNORE +<d*> <D*>;<SMALL>;<GREEK>;IGNORE +<E*> <E*>;<CAPITAL>;<GREEK>;IGNORE +<E%> <E*>;<CAPITAL>;<TONOS>;IGNORE +<e*> <E*>;<SMALL>;<GREEK>;IGNORE +<e%> <E*>;<SMALL>;<TONOS>;IGNORE +<Z*> <Z*>;<CAPITAL>;<GREEK>;IGNORE +<z*> <Z*>;<SMALL>;<GREEK>;IGNORE +<Y*> <Y*>;<CAPITAL>;<GREEK>;IGNORE +<Y%> <Y*>;<CAPITAL>;<TONOS>;IGNORE +<y*> <Y*>;<SMALL>;<GREEK>;IGNORE +<y%> <Y*>;<SMALL>;<TONOS>;IGNORE +<H*> <H*>;<CAPITAL>;<GREEK>;IGNORE +<h*> <H*>;<SMALL>;<GREEK>;IGNORE +<I*> <I*>;<CAPITAL>;<GREEK>;IGNORE +<I%> <I*>;<CAPITAL>;<TONOS>;IGNORE +<J*> <I*>;<CAPITAL>;<DIALYTICA>;IGNORE +<i*> <I*>;<SMALL>;<GREEK>;IGNORE +<i%> <I*>;<SMALL>;<TONOS>;IGNORE +<j*> <I*>;<SMALL>;<DIALYTICA>;IGNORE +<i3> <I*>;<SMALL>;<DIALYTICA+TONOS>;IGNORE +<K*> <K*>;<CAPITAL>;<GREEK>;IGNORE +<k*> <K*>;<SMALL>;<GREEK>;IGNORE +<L*> <L*>;<CAPITAL>;<GREEK>;IGNORE +<l*> <L*>;<SMALL>;<GREEK>;IGNORE +<M*> <M*>;<CAPITAL>;<GREEK>;IGNORE +<m*> <M*>;<SMALL>;<GREEK>;IGNORE +<N*> <N*>;<CAPITAL>;<GREEK>;IGNORE +<n*> <N*>;<SMALL>;<GREEK>;IGNORE +<C*> <C*>;<CAPITAL>;<GREEK>;IGNORE +<c*> <C*>;<SMALL>;<GREEK>;IGNORE +<O*> <O*>;<CAPITAL>;<GREEK>;IGNORE +<O%> <O*>;<CAPITAL>;<TONOS>;IGNORE +<o*> <O*>;<SMALL>;<GREEK>;IGNORE +<o%> <O*>;<SMALL>;<TONOS>;IGNORE +<P*> <P*>;<CAPITAL>;<GREEK>;IGNORE +<p*> <P*>;<SMALL>;<GREEK>;IGNORE +<R*> <R*>;<CAPITAL>;<GREEK>;IGNORE +<r*> <R*>;<SMALL>;<GREEK>;IGNORE +<S*> <S*>;<CAPITAL>;<GREEK>;IGNORE +<s*> <S*>;<SMALL>;<GREEK>;IGNORE +<*s> <S*>;<SMALL>;<*s>;IGNORE +<T*> <T*>;<CAPITAL>;<GREEK>;IGNORE +<t*> <T*>;<SMALL>;<GREEK>;IGNORE +<U*> <U*>;<CAPITAL>;<GREEK>;IGNORE +<U%> <U*>;<CAPITAL>;<TONOS>;IGNORE +<V*> <U*>;<CAPITAL>;<DIALYTICA>;IGNORE +<u*> <U*>;<SMALL>;<GREEK>;IGNORE +<u%> <U*>;<SMALL>;<TONOS>;IGNORE +<v*> <U*>;<SMALL>;<DIALYTICA>;IGNORE +<u3> <U*>;<SMALL>;<DIALYTICA+TONOS>;IGNORE +<F*> <F*>;<CAPITAL>;<GREEK>;IGNORE +<f*> <F*>;<SMALL>;<GREEK>;IGNORE +<X*> <X*>;<CAPITAL>;<GREEK>;IGNORE +<x*> <X*>;<SMALL>;<GREEK>;IGNORE +<Q*> <Q*>;<CAPITAL>;<GREEK>;IGNORE +<q*> <Q*>;<SMALL>;<GREEK>;IGNORE +<W*> <W*>;<CAPITAL>;<GREEK>;IGNORE +<W%> <W*>;<CAPITAL>;<TONOS>;IGNORE +<w*> <W*>;<SMALL>;<GREEK>;IGNORE +<w%> <W*>;<SMALL>;<TONOS>;IGNORE +<A=> <A=>;<CYRILLIC>;<CAPITAL>;IGNORE +<a=> <A=>;<CYRILLIC>;<SMALL>;IGNORE +<B=> <B=>;<CYRILLIC>;<CAPITAL>;IGNORE +<b=> <B=>;<CYRILLIC>;<SMALL>;IGNORE +<V=> <V=>;<CYRILLIC>;<CAPITAL>;IGNORE +<v=> <V=>;<CYRILLIC>;<SMALL>;IGNORE +<G=> <G=>;<CYRILLIC>;<CAPITAL>;IGNORE +<g=> <G=>;<CYRILLIC>;<SMALL>;IGNORE +<G%> <G%>;<CYRILLIC>;<CAPITAL>;IGNORE +<g%> <G%>;<CYRILLIC>;<SMALL>;IGNORE +<G3> <G3>;<CYRILLIC>;<CAPITAL>;IGNORE +<g3> <G3>;<CYRILLIC>;<SMALL>;IGNORE +<D=> <D=>;<CYRILLIC>;<CAPITAL>;IGNORE +<d=> <D=>;<CYRILLIC>;<SMALL>;IGNORE +<D%> <D%>;<CYRILLIC>;<CAPITAL>;IGNORE +<d%> <D%>;<CYRILLIC>;<SMALL>;IGNORE +<E=> <E=>;<CYRILLIC>;<CAPITAL>;IGNORE +<e=> <E=>;<CYRILLIC>;<SMALL>;IGNORE +<IO> <IO>;<CYRILLIC>;<CAPITAL>;IGNORE +<io> <IO>;<CYRILLIC>;<SMALL>;IGNORE +<IE> <IE>;<CYRILLIC>;<CAPITAL>;IGNORE +<ie> <IE>;<CYRILLIC>;<SMALL>;IGNORE +<Z%> <Z%>;<CYRILLIC>;<CAPITAL>;IGNORE +<z%> <Z%>;<CYRILLIC>;<SMALL>;IGNORE +<Z=> <Z=>;<CYRILLIC>;<CAPITAL>;IGNORE +<z=> <Z=>;<CYRILLIC>;<SMALL>;IGNORE +<I=> <I=>;<CYRILLIC>;<CAPITAL>;IGNORE +<i=> <I=>;<CYRILLIC>;<SMALL>;IGNORE +<II> <II>;<CYRILLIC>;<CAPITAL>;IGNORE +<ii> <II>;<CYRILLIC>;<SMALL>;IGNORE +<YI> <YI>;<CYRILLIC>;<CAPITAL>;IGNORE +<yi> <YI>;<CYRILLIC>;<SMALL>;IGNORE +<J%> <J%>;<CYRILLIC>;<CAPITAL>;IGNORE +<j%> <J%>;<CYRILLIC>;<SMALL>;IGNORE +<J=> <J=>;<CYRILLIC>;<CAPITAL>;IGNORE +<j=> <J=>;<CYRILLIC>;<SMALL>;IGNORE +<K=> <K=>;<CYRILLIC>;<CAPITAL>;IGNORE +<k=> <K=>;<CYRILLIC>;<SMALL>;IGNORE +<KJ> <KJ>;<CYRILLIC>;<CAPITAL>;IGNORE +<kj> <KJ>;<CYRILLIC>;<SMALL>;IGNORE +<L=> <L=>;<CYRILLIC>;<CAPITAL>;IGNORE +<l=> <L=>;<CYRILLIC>;<SMALL>;IGNORE +<LJ> <LJ>;<CYRILLIC>;<CAPITAL>;IGNORE +<lj> <LJ>;<CYRILLIC>;<SMALL>;IGNORE +<M=> <M=>;<CYRILLIC>;<CAPITAL>;IGNORE +<m=> <M=>;<CYRILLIC>;<SMALL>;IGNORE +<N=> <N=>;<CYRILLIC>;<CAPITAL>;IGNORE +<n=> <N=>;<CYRILLIC>;<SMALL>;IGNORE +<NJ> <NJ>;<CYRILLIC>;<CAPITAL>;IGNORE +<nj> <NJ>;<CYRILLIC>;<SMALL>;IGNORE +<O=> <O=>;<CYRILLIC>;<CAPITAL>;IGNORE +<o=> <O=>;<CYRILLIC>;<SMALL>;IGNORE +<P=> <P=>;<CYRILLIC>;<CAPITAL>;IGNORE +<p=> <P=>;<CYRILLIC>;<SMALL>;IGNORE +<R=> <R=>;<CYRILLIC>;<CAPITAL>;IGNORE +<r=> <R=>;<CYRILLIC>;<SMALL>;IGNORE +<S=> <S=>;<CYRILLIC>;<CAPITAL>;IGNORE +<s=> <S=>;<CYRILLIC>;<SMALL>;IGNORE +<T=> <T=>;<CYRILLIC>;<CAPITAL>;IGNORE +<t=> <T=>;<CYRILLIC>;<SMALL>;IGNORE +<Ts> <Ts>;<CYRILLIC>;<CAPITAL>;IGNORE +<ts> <Ts>;<CYRILLIC>;<SMALL>;IGNORE +<U=> <U=>;<CYRILLIC>;<CAPITAL>;IGNORE +<u=> <U=>;<CYRILLIC>;<SMALL>;IGNORE +<V%> <V%>;<CYRILLIC>;<CAPITAL>;IGNORE +<v%> <V%>;<CYRILLIC>;<SMALL>;IGNORE +<F=> <F=>;<CYRILLIC>;<CAPITAL>;IGNORE +<f=> <F=>;<CYRILLIC>;<SMALL>;IGNORE +<H=> <H=>;<CYRILLIC>;<CAPITAL>;IGNORE +<h=> <H=>;<CYRILLIC>;<SMALL>;IGNORE +<C=> <C=>;<CYRILLIC>;<CAPITAL>;IGNORE +<c=> <C=>;<CYRILLIC>;<SMALL>;IGNORE +<DS> <DS>;<CYRILLIC>;<CAPITAL>;IGNORE +<ds> <DS>;<CYRILLIC>;<SMALL>;IGNORE +<C%> <C%>;<CYRILLIC>;<CAPITAL>;IGNORE +<c%> <C%>;<CYRILLIC>;<SMALL>;IGNORE +<DZ> <DZ>;<CYRILLIC>;<CAPITAL>;IGNORE +<dz> <DZ>;<CYRILLIC>;<SMALL>;IGNORE +<S%> <S%>;<CYRILLIC>;<CAPITAL>;IGNORE +<s%> <S%>;<CYRILLIC>;<SMALL>;IGNORE +<Sc> <Sc>;<CYRILLIC>;<CAPITAL>;IGNORE +<sc> <Sc>;<CYRILLIC>;<SMALL>;IGNORE +<='> <='>;<CYRILLIC>;<SMALL>;IGNORE +<="> <='>;<CYRILLIC>;<CAPITAL>;IGNORE +<Y=> <Y=>;<CYRILLIC>;<CAPITAL>;IGNORE +<y=> <Y=>;<CYRILLIC>;<SMALL>;IGNORE +<%'> <%'>;<CYRILLIC>;<SMALL>;IGNORE +<%"> <%'>;<CYRILLIC>;<CAPITAL>;IGNORE +<JE> <JE>;<CYRILLIC>;<CAPITAL>;IGNORE +<je> <JE>;<CYRILLIC>;<SMALL>;IGNORE +<JU> <JU>;<CYRILLIC>;<CAPITAL>;IGNORE +<ju> <JU>;<CYRILLIC>;<SMALL>;IGNORE +<JA> <JA>;<CYRILLIC>;<CAPITAL>;IGNORE +<ja> <JA>;<CYRILLIC>;<SMALL>;IGNORE +<Y3> <Y3>;<CYRILLIC>;<CAPITAL>;IGNORE +<y3> <Y3>;<CYRILLIC>;<SMALL>;IGNORE +<O3> <O3>;<CYRILLIC>;<CAPITAL>;IGNORE +<o3> <O3>;<CYRILLIC>;<SMALL>;IGNORE +<F3> <F3>;<CYRILLIC>;<CAPITAL>;IGNORE +<f3> <F3>;<CYRILLIC>;<SMALL>;IGNORE +<V3> <V3>;<CYRILLIC>;<CAPITAL>;IGNORE +<v3> <V3>;<CYRILLIC>;<SMALL>;IGNORE +<C3> <C3>;<CYRILLIC>;<CAPITAL>;IGNORE +<c3> <C3>;<CYRILLIC>;<SMALL>;IGNORE +<A+> <A+>;IGNORE;IGNORE;IGNORE +<B+> <B+>;IGNORE;IGNORE;IGNORE +<G+> <G+>;IGNORE;IGNORE;IGNORE +<D+> <D+>;IGNORE;IGNORE;IGNORE +<H+> <H+>;IGNORE;IGNORE;IGNORE +<W+> <W+>;IGNORE;IGNORE;IGNORE +<Z+> <Z+>;IGNORE;IGNORE;IGNORE +<X+> <X+>;IGNORE;IGNORE;IGNORE +<Tj> <Tj>;IGNORE;IGNORE;IGNORE +<J+> <J+>;IGNORE;IGNORE;IGNORE +<K%> <K%>;IGNORE;IGNORE;IGNORE +<K+> <K+>;IGNORE;IGNORE;IGNORE +<L+> <L+>;IGNORE;IGNORE;IGNORE +<M%> <M%>;IGNORE;IGNORE;IGNORE +<M+> <M+>;IGNORE;IGNORE;IGNORE +<N%> <N%>;IGNORE;IGNORE;IGNORE +<N+> <N+>;IGNORE;IGNORE;IGNORE +<S+> <S+>;IGNORE;IGNORE;IGNORE +<E+> <E+>;IGNORE;IGNORE;IGNORE +<P%> <P%>;IGNORE;IGNORE;IGNORE +<P+> <P+>;IGNORE;IGNORE;IGNORE +<Zj> <Zj>;IGNORE;IGNORE;IGNORE +<ZJ> <ZJ>;IGNORE;IGNORE;IGNORE +<Q+> <Q+>;IGNORE;IGNORE;IGNORE +<R+> <R+>;IGNORE;IGNORE;IGNORE +<Sh> <Sh>;IGNORE;IGNORE;IGNORE +<T+> <T+>;IGNORE;IGNORE;IGNORE + +% Arabic collating + +<,+> IGNORE;IGNORE;IGNORE;<,+> +<;+> IGNORE;IGNORE;IGNORE;<;+> +<?+> IGNORE;IGNORE;IGNORE;<?+> +<++> IGNORE;IGNORE;IGNORE;<++> + +<H'> <H'>;<H'>;IGNORE;IGNORE +<aM> <aM>;<aM>;IGNORE;IGNORE +<aM.> <aM>;<aM.>;IGNORE;IGNORE +<aH> <H'>;<aH>;IGNORE;IGNORE +<aH.> <H'>;<aH.>;IGNORE;IGNORE +<wH> <H'>;<wH>;IGNORE;IGNORE +<ah> <H'>;<ah>;IGNORE;IGNORE +<ah.> <H'>;<ah.>;IGNORE;IGNORE +<yH> <H'>;<yH>;IGNORE;IGNORE +<aS> <aS>;<aS>;IGNORE;IGNORE +<a+> <a+>;<a+>;IGNORE;IGNORE +<a+-> <a+>;<a+->;IGNORE;IGNORE +<a+.> <a+>;<a+.>;IGNORE;IGNORE +<a+:> <a+>;<a+:>;IGNORE;IGNORE +<b+> <b+>;<b+>;IGNORE;IGNORE +<b+-> <b+>;<b+->;IGNORE;IGNORE +<b+.> <b+>;<b+.>;IGNORE;IGNORE +<b+,> <b+>;<b+,>;IGNORE;IGNORE +<b+;> <b+>;<b+;>;IGNORE;IGNORE +<p+> <p+>;<p+>;IGNORE;IGNORE +<v+> <v+>;<v+>;IGNORE;IGNORE +<tm> <tm>;<tm>;IGNORE;IGNORE +<tm-> <tm>;<tm->;IGNORE;IGNORE +<tm.> <tm>;<tm.>;IGNORE;IGNORE +<t+> <tm>;<t+>;IGNORE;IGNORE +<t+-> <tm>;<t+->;IGNORE;IGNORE +<t+.> <tm>;<t+.>;IGNORE;IGNORE +<t+,> <tm>;<t+,>;IGNORE;IGNORE +<t+;> <tm>;<t+;>;IGNORE;IGNORE +<tk> <tk>;<tk>;IGNORE;IGNORE +<tk-> <tk>;<tk->;IGNORE;IGNORE +<tk.> <tk>;<tk.>;IGNORE;IGNORE +<tk,> <tk>;<tk,>;IGNORE;IGNORE +<tk;> <tk>;<tk;>;IGNORE;IGNORE +<g+> <g+>;<g+>;IGNORE;IGNORE +<g+-> <g+>;<g+->;IGNORE;IGNORE +<g+.> <g+>;<g+.>;IGNORE;IGNORE +<g+,> <g+>;<g+,>;IGNORE;IGNORE +<g+;> <g+>;<g+;>;IGNORE;IGNORE +<hk> <hk>;<hk>;IGNORE;IGNORE +<hk-> <hk>;<hk->;IGNORE;IGNORE +<hk.> <hk>;<hk.>;IGNORE;IGNORE +<hk,> <hk>;<hk,>;IGNORE;IGNORE +<hk;> <hk>;<hk;>;IGNORE;IGNORE +<x+> <x+>;<x+>;IGNORE;IGNORE +<x+-> <x+>;<x+->;IGNORE;IGNORE +<x+.> <x+>;<x+.>;IGNORE;IGNORE +<x+,> <x+>;<x+,>;IGNORE;IGNORE +<x+;> <x+>;<x+;>;IGNORE;IGNORE +<d+> <d+>;<d+>;IGNORE;IGNORE +<d+-> <d+>;<d+->;IGNORE;IGNORE +<d+.> <d+>;<d+.>;IGNORE;IGNORE +<dk> <dk>;<dk>;IGNORE;IGNORE +<dk-> <dk>;<dk->;IGNORE;IGNORE +<dk.> <dk>;<dk.>;IGNORE;IGNORE +<r+> <r+>;<r+>;IGNORE;IGNORE +<r+-> <r+>;<r+->;IGNORE;IGNORE +<r+.> <r+>;<r+.>;IGNORE;IGNORE +<z+> <z+>;<z+>;IGNORE;IGNORE +<z+-> <z+>;<z+->;IGNORE;IGNORE +<z+.> <z+>;<z+.>;IGNORE;IGNORE +<s+> <s+>;<s+>;IGNORE;IGNORE +<s+-> <s+>;<s+->;IGNORE;IGNORE +<s+.> <s+>;<s+.>;IGNORE;IGNORE +<s+,> <s+>;<s+,>;IGNORE;IGNORE +<s+;> <s+>;<s+;>;IGNORE;IGNORE +<sn> <sn>;<sn>;IGNORE;IGNORE +<sn-> <sn>;<sn->;IGNORE;IGNORE +<sn.> <sn>;<sn.>;IGNORE;IGNORE +<sn,> <sn>;<sn,>;IGNORE;IGNORE +<sn;> <sn>;<sn;>;IGNORE;IGNORE +<c+> <c+>;<c+>;IGNORE;IGNORE +<c+-> <c+>;<c+->;IGNORE;IGNORE +<c+.> <c+>;<c+.>;IGNORE;IGNORE +<c+,> <c+>;<c+,>;IGNORE;IGNORE +<c+;> <c+>;<c+;>;IGNORE;IGNORE +<dd> <dd>;<dd>;IGNORE;IGNORE +<dd-> <dd>;<dd->;IGNORE;IGNORE +<dd.> <dd>;<dd.>;IGNORE;IGNORE +<dd,> <dd>;<dd,>;IGNORE;IGNORE +<dd;> <dd>;<dd;>;IGNORE;IGNORE +<tj> <tj>;<tj>;IGNORE;IGNORE +<tj-> <tj>;<tj->;IGNORE;IGNORE +<tj.> <tj>;<tj.>;IGNORE;IGNORE +<tj,> <tj>;<tj,>;IGNORE;IGNORE +<tj;> <tj>;<tj;>;IGNORE;IGNORE +<zH> <zH>;<zH>;IGNORE;IGNORE +<zH-> <zH>;<zH->;IGNORE;IGNORE +<zH.> <zH>;<zH.>;IGNORE;IGNORE +<zH,> <zH>;<zH,>;IGNORE;IGNORE +<zH;> <zH>;<zH;>;IGNORE;IGNORE +<e+> <e+>;<e+>;IGNORE;IGNORE +<e+-> <e+>;<e+->;IGNORE;IGNORE +<e+.> <e+>;<e+.>;IGNORE;IGNORE +<e+,> <e+>;<e+,>;IGNORE;IGNORE +<e+;> <e+>;<e+;>;IGNORE;IGNORE +<i+> <i+>;<i+>;IGNORE;IGNORE +<i+-> <i+>;<i+->;IGNORE;IGNORE +<i+.> <i+>;<i+.>;IGNORE;IGNORE +<i+,> <i+>;<i+,>;IGNORE;IGNORE +<i+;> <i+>;<i+;>;IGNORE;IGNORE +<f+> <f+>;<f+>;IGNORE;IGNORE +<f+-> <f+>;<f+->;IGNORE;IGNORE +<f+.> <f+>;<f+.>;IGNORE;IGNORE +<f+,> <f+>;<f+,>;IGNORE;IGNORE +<f+;> <f+>;<f+;>;IGNORE;IGNORE +<q+> <q+>;<q+>;IGNORE;IGNORE +<q+-> <q+>;<q+->;IGNORE;IGNORE +<q+.> <q+>;<q+.>;IGNORE;IGNORE +<q+,> <q+>;<q+,>;IGNORE;IGNORE +<q+;> <q+>;<q+;>;IGNORE;IGNORE +<k+> <k+>;<k+>;IGNORE;IGNORE +<k+-> <k+>;<k+->;IGNORE;IGNORE +<k+.> <k+>;<k+.>;IGNORE;IGNORE +<k+,> <k+>;<k+,>;IGNORE;IGNORE +<k+;> <k+>;<k+;>;IGNORE;IGNORE +<l+> <l+>;<l+>;IGNORE;IGNORE +<l+-> <l+>;<l+->;IGNORE;IGNORE +<l+.> <l+>;<l+.>;IGNORE;IGNORE +<l+,> <l+>;<l+,>;IGNORE;IGNORE +<l+;> <l+>;<l+;>;IGNORE;IGNORE +<m+> <m+>;<m+>;IGNORE;IGNORE +<m+-> <m+>;<m+->;IGNORE;IGNORE +<m+.> <m+>;<m+.>;IGNORE;IGNORE +<m+,> <m+>;<m+,>;IGNORE;IGNORE +<m+;> <m+>;<m+;>;IGNORE;IGNORE +<n+> <n+>;<n+>;IGNORE;IGNORE +<n+-> <n+>;<n+->;IGNORE;IGNORE +<n+.> <n+>;<n+.>;IGNORE;IGNORE +<n+,> <n+>;<n+,>;IGNORE;IGNORE +<n+;> <n+>;<n+;>;IGNORE;IGNORE +<h+> <h+>;<h+>;IGNORE;IGNORE +<h+-> <h+>;<h+->;IGNORE;IGNORE +<h+.> <h+>;<h+.>;IGNORE;IGNORE +<h+,> <h+>;<h+,>;IGNORE;IGNORE +<h+;> <h+>;<h+;>;IGNORE;IGNORE +<w+> <w+>;<w+>;IGNORE;IGNORE +<w+-> <w+>;<w+->;IGNORE;IGNORE +<w+.> <w+>;<w+.>;IGNORE;IGNORE +<j+> <j+>;<j+>;IGNORE;IGNORE +<j+-> <j+>;<j+->;IGNORE;IGNORE +<j+.> <j+>;<j+.>;IGNORE;IGNORE +<y+> <y+>;<y+>;IGNORE;IGNORE +<y+-> <y+>;<y+->;IGNORE;IGNORE +<y+.> <y+>;<y+.>;IGNORE;IGNORE +<y+,> <y+>;<y+,>;IGNORE;IGNORE +<y+;> <y+>;<y+;>;IGNORE;IGNORE + +<:+> IGNORE;IGNORE;<:+>;IGNORE +<"+> IGNORE;IGNORE;<"+>;IGNORE +<=+> IGNORE;IGNORE;<=+>;IGNORE +<//+> IGNORE;IGNORE;<//+>;IGNORE +<'+> IGNORE;IGNORE;<'+>;IGNORE +<1+> IGNORE;IGNORE;<1+>;IGNORE +<3+> IGNORE;IGNORE;<3+>;IGNORE +<3+;> IGNORE;IGNORE;<3+;>;IGNORE +<0+> IGNORE;IGNORE;<0+>;IGNORE + +<0a> <0>;<0a>;IGNORE;IGNORE +<1a> <1>;<1a>;IGNORE;IGNORE +<2a> <2>;<2a>;IGNORE;IGNORE +<3a> <3>;<3a>;IGNORE;IGNORE +<4a> <4>;<4a>;IGNORE;IGNORE +<5a> <5>;<5a>;IGNORE;IGNORE +<6a> <6>;<6a>;IGNORE;IGNORE +<7a> <7>;<7a>;IGNORE;IGNORE +<8a> <8>;<8a>;IGNORE;IGNORE +<9a> <9>;<9a>;IGNORE;IGNORE + +<lM-> "<l+><aM>";"<l+><aM>";"<lM-><lM->";IGNORE +<lM.> "<l+><aM>";"<l+><aM.>";"<lM.><lM.>";IGNORE +<lH-> "<l+><aH>";"<l+><aH>";"<lH-><lH->";IGNORE +<lH.> "<l+><aH>";"<l+><aH.>";"<lH.><lH.>";IGNORE +<lh-> "<l+><ah>";"<l+><ah>";"<lh-><lh->";IGNORE +<lh.> "<l+><ah>";"<l+><ah.>";"<lh.><lh.>";IGNORE +<la-> "<l+><a+>";"<l+><a+->";"<la-><la->";IGNORE +<la.> "<l+><a+>";"<l+><a+.>";"<la.><la.>";IGNORE + +% katakana/hiragana sorting +% base is katakana, as this is present in most charsets +% normal before voiced before semi-voiced +% small vocals before normal vocals +% katakana before hiragana + +<a6> <a6>;<a6>;IGNORE;IGNORE +<A5> <a6>;<A5>;IGNORE;IGNORE +<A6> <a6>;<A6>;IGNORE;IGNORE +<a5> <a6>;<a5>;IGNORE;IGNORE +<i6> <i6>;<i6>;IGNORE;IGNORE +<I5> <i6>;<I5>;IGNORE;IGNORE +<I6> <i6>;<I6>;IGNORE;IGNORE +<i5> <i6>;<i5>;IGNORE;IGNORE +<u6> <u6>;<u6>;IGNORE;IGNORE +<U5> <u6>;<U5>;IGNORE;IGNORE +<U6> <u6>;<U6>;IGNORE;IGNORE +<u5> <u6>;<u5>;IGNORE;IGNORE +<Vu> <u6>;<Vu>;IGNORE;IGNORE +<e6> <e6>;<e6>;IGNORE;IGNORE +<E5> <e6>;<E5>;IGNORE;IGNORE +<E6> <e6>;<E6>;IGNORE;IGNORE +<e5> <e6>;<e5>;IGNORE;IGNORE +<o6> <o6>;<o6>;IGNORE;IGNORE +<O5> <o6>;<O5>;IGNORE;IGNORE +<O6> <o6>;<O6>;IGNORE;IGNORE +<o5> <o6>;<o5>;IGNORE;IGNORE +<KA> <KA>;<KA>;IGNORE;IGNORE +<Ka> <KA>;<Ka>;IGNORE;IGNORE +<ka> <KA>;<ka>;IGNORE;IGNORE +<Ga> <KA>;<Ga>;IGNORE;IGNORE +<ga> <KA>;<ga>;IGNORE;IGNORE +<Ki> <Ki>;<Ki>;IGNORE;IGNORE +<ki> <Ki>;<ki>;IGNORE;IGNORE +<Gi> <Ki>;<Gi>;IGNORE;IGNORE +<gi> <Ki>;<gi>;IGNORE;IGNORE +<Ku> <Ku>;<Ku>;IGNORE;IGNORE +<ku> <Ku>;<ku>;IGNORE;IGNORE +<Gu> <Ku>;<Gu>;IGNORE;IGNORE +<gu> <Ku>;<gu>;IGNORE;IGNORE +<KE> <KE>;<KE>;IGNORE;IGNORE +<Ke> <KE>;<Ke>;IGNORE;IGNORE +<ke> <KE>;<ke>;IGNORE;IGNORE +<Ge> <KE>;<Ge>;IGNORE;IGNORE +<ge> <KE>;<ge>;IGNORE;IGNORE +<Ko> <Ko>;<Ko>;IGNORE;IGNORE +<ko> <Ko>;<ko>;IGNORE;IGNORE +<Go> <Ko>;<Go>;IGNORE;IGNORE +<go> <Ko>;<go>;IGNORE;IGNORE +<Sa> <Sa>;<Sa>;IGNORE;IGNORE +<sa> <Sa>;<sa>;IGNORE;IGNORE +<Za> <Sa>;<Za>;IGNORE;IGNORE +<za> <Sa>;<za>;IGNORE;IGNORE +<Si> <Si>;<Si>;IGNORE;IGNORE +<si> <Si>;<si>;IGNORE;IGNORE +<Zi> <Si>;<Zi>;IGNORE;IGNORE +<zi> <Si>;<zi>;IGNORE;IGNORE +<Su> <Su>;<Su>;IGNORE;IGNORE +<su> <Su>;<su>;IGNORE;IGNORE +<Zu> <Su>;<Zu>;IGNORE;IGNORE +<zu> <Su>;<zu>;IGNORE;IGNORE +<Se> <Se>;<Se>;IGNORE;IGNORE +<se> <Se>;<se>;IGNORE;IGNORE +<Ze> <Se>;<Ze>;IGNORE;IGNORE +<ze> <Se>;<ze>;IGNORE;IGNORE +<So> <So>;<So>;IGNORE;IGNORE +<so> <So>;<so>;IGNORE;IGNORE +<Zo> <So>;<Zo>;IGNORE;IGNORE +<zo> <So>;<zo>;IGNORE;IGNORE +<Ta> <Ta>;<Ta>;IGNORE;IGNORE +<ta> <Ta>;<ta>;IGNORE;IGNORE +<Da> <Ta>;<Da>;IGNORE;IGNORE +<da> <Ta>;<da>;IGNORE;IGNORE +<Ti> <Ti>;<Ti>;IGNORE;IGNORE +<ti> <Ti>;<ti>;IGNORE;IGNORE +<Di> <Ti>;<Di>;IGNORE;IGNORE +<di> <Ti>;<di>;IGNORE;IGNORE +<TU> <TU>;<TU>;IGNORE;IGNORE +<tU> <TU>;<tU>;IGNORE;IGNORE +<Tu> <TU>;<Tu>;IGNORE;IGNORE +<tu> <TU>;<tu>;IGNORE;IGNORE +<Du> <TU>;<Du>;IGNORE;IGNORE +<du> <TU>;<du>;IGNORE;IGNORE +<Te> <Te>;<Te>;IGNORE;IGNORE +<te> <Te>;<te>;IGNORE;IGNORE +<De> <Te>;<De>;IGNORE;IGNORE +<de> <Te>;<de>;IGNORE;IGNORE +<To> <To>;<To>;IGNORE;IGNORE +<to> <To>;<to>;IGNORE;IGNORE +<Do> <To>;<Do>;IGNORE;IGNORE +<do> <To>;<do>;IGNORE;IGNORE +<Na> <Na>;<Na>;IGNORE;IGNORE +<na> <Na>;<na>;IGNORE;IGNORE +<Ni> <Ni>;<Ni>;IGNORE;IGNORE +<ni> <Ni>;<ni>;IGNORE;IGNORE +<Nu> <Nu>;<Nu>;IGNORE;IGNORE +<nu> <Nu>;<nu>;IGNORE;IGNORE +<Ne> <Ne>;<Ne>;IGNORE;IGNORE +<ne> <Ne>;<ne>;IGNORE;IGNORE +<No> <No>;<No>;IGNORE;IGNORE +<no> <No>;<no>;IGNORE;IGNORE +<Ha> <Ha>;<Ha>;IGNORE;IGNORE +<ha> <Ha>;<ha>;IGNORE;IGNORE +<Ba> <Ha>;<Ba>;IGNORE;IGNORE +<ba> <Ha>;<ba>;IGNORE;IGNORE +<Pa> <Ha>;<Pa>;IGNORE;IGNORE +<pa> <Ha>;<pa>;IGNORE;IGNORE +<Hi> <Hi>;<Hi>;IGNORE;IGNORE +<hi> <Hi>;<hi>;IGNORE;IGNORE +<Bi> <Hi>;<Bi>;IGNORE;IGNORE +<bi> <Hi>;<bi>;IGNORE;IGNORE +<Pi> <Hi>;<Pi>;IGNORE;IGNORE +<pi> <Hi>;<pi>;IGNORE;IGNORE +<Hu> <Hu>;<Hu>;IGNORE;IGNORE +<hu> <Hu>;<hu>;IGNORE;IGNORE +<Bu> <Hu>;<Bu>;IGNORE;IGNORE +<bu> <Hu>;<bu>;IGNORE;IGNORE +<Pu> <Hu>;<Pu>;IGNORE;IGNORE +<pu> <Hu>;<pu>;IGNORE;IGNORE +<He> <He>;<He>;IGNORE;IGNORE +<he> <He>;<he>;IGNORE;IGNORE +<Be> <He>;<Be>;IGNORE;IGNORE +<be> <He>;<be>;IGNORE;IGNORE +<Pe> <He>;<Pe>;IGNORE;IGNORE +<pe> <He>;<pe>;IGNORE;IGNORE +<Ho> <Ho>;<Ho>;IGNORE;IGNORE +<ho> <Ho>;<ho>;IGNORE;IGNORE +<Bo> <Ho>;<Bo>;IGNORE;IGNORE +<bo> <Ho>;<bo>;IGNORE;IGNORE +<Po> <Ho>;<Po>;IGNORE;IGNORE +<po> <Ho>;<po>;IGNORE;IGNORE +<Ma> <Ma>;<Ma>;IGNORE;IGNORE +<ma> <Ma>;<ma>;IGNORE;IGNORE +<Mi> <Mi>;<Mi>;IGNORE;IGNORE +<mi> <Mi>;<mi>;IGNORE;IGNORE +<Mu> <Mu>;<Mu>;IGNORE;IGNORE +<mu> <Mu>;<mu>;IGNORE;IGNORE +<Me> <Me>;<Me>;IGNORE;IGNORE +<me> <Me>;<me>;IGNORE;IGNORE +<Mo> <Mo>;<Mo>;IGNORE;IGNORE +<mo> <Mo>;<mo>;IGNORE;IGNORE +<YA> <YA>;<YA>;IGNORE;IGNORE +<yA> <YA>;<yA>;IGNORE;IGNORE +<Ya> <YA>;<Ya>;IGNORE;IGNORE +<ya> <YA>;<ya>;IGNORE;IGNORE +<YU> <YU>;<YU>;IGNORE;IGNORE +<yU> <YU>;<yU>;IGNORE;IGNORE +<Yu> <YU>;<Yu>;IGNORE;IGNORE +<yu> <YU>;<yu>;IGNORE;IGNORE +<YO> <YO>;<YO>;IGNORE;IGNORE +<yO> <YO>;<yO>;IGNORE;IGNORE +<Yo> <YO>;<Yo>;IGNORE;IGNORE +<yo> <YO>;<yo>;IGNORE;IGNORE +<Ra> <Ra>;<Ra>;IGNORE;IGNORE +<ra> <Ra>;<ra>;IGNORE;IGNORE +<Ri> <Ri>;<Ri>;IGNORE;IGNORE +<ri> <Ri>;<ri>;IGNORE;IGNORE +<Ru> <Ru>;<Ru>;IGNORE;IGNORE +<ru> <Ru>;<ru>;IGNORE;IGNORE +<Re> <Re>;<Re>;IGNORE;IGNORE +<re> <Re>;<re>;IGNORE;IGNORE +<Ro> <Ro>;<Ro>;IGNORE;IGNORE +<ro> <Ro>;<ro>;IGNORE;IGNORE +<WA> <WA>;<WA>;IGNORE;IGNORE +<wA> <WA>;<wA>;IGNORE;IGNORE +<Wa> <WA>;<Wa>;IGNORE;IGNORE +<wa> <WA>;<wa>;IGNORE;IGNORE +<Wi> <Wi>;<Wi>;IGNORE;IGNORE +<wi> <Wi>;<wi>;IGNORE;IGNORE +<We> <We>;<We>;IGNORE;IGNORE +<we> <We>;<we>;IGNORE;IGNORE +<Wo> <Wo>;<Wo>;IGNORE;IGNORE +<wo> <Wo>;<wo>;IGNORE;IGNORE +<N6> <N6>;<N6>;IGNORE;IGNORE +<n5> <N6>;<n5>;IGNORE;IGNORE + +% modifier letters + +<;S> IGNORE;IGNORE;<;S>;IGNORE +<1/>> IGNORE;IGNORE;<CIRCUMFLEX>;IGNORE +<1-> IGNORE;IGNORE;<MACRON>;IGNORE +<1!> IGNORE;IGNORE;<GRAVE>;IGNORE + +order_end + +END LC_COLLATE + + +LC_MONETARY +int_curr_symbol "<Z><A><R><SP>" +currency_symbol "<R>" +mon_decimal_point "<,>" +mon_thousands_sep "<.>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<->" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 0 +n_cs_precedes 1 +n_sep_by_space 0 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +decimal_point "<,>" +thousands_sep "<.>" +grouping 3;3 +END LC_NUMERIC + +LC_TIME +abday "<S><o>";"<M><a>";/ + "<D><i>";"<W><o>";/ + "<D><o>";"<V><r>";/ + "<S><a>" +day "<S><o><n><d><a><g>";/ + "<M><a><a><n><d><a><g>";/ + "<D><i><n><s><d><a><g>";/ + "<W><o><e><n><s><d><a><g>";/ + "<D><o><n><d><e><r><d><a><g>";/ + "<V><r><y><d><a><g>";/ + "<S><a><t><e><r><d><a><g>" +abmon "<J><a><n>";"<F><e><b>";/ + "<M><a><r>";"<A><p><r>";/ + "<M><e><i>";"<J><u><n>";/ + "<J><u><l>";"<A><u><g>";/ + "<S><e><p>";"<O><k><t>";/ + "<N><o><v>";"<D><e><s>" +mon "<J><a><n><u><a><r><i><e>";/ + "<F><e><b><r><u><a><r><i><e>";/ + "<M><a><a><r><t>";/ + "<A><p><r><i><l>";/ + "<M><e><i>";/ + "<J><u><n><i><e>";/ + "<J><u><l><i><e>";/ + "<A><u><g><u><s><t><u><s>";/ + "<S><e><p><t><e><m><b><e><r>";/ + "<O><k><t><o><b><e><r>";/ + "<N><o><v><e><m><b><e><r>";/ + "<D><e><s><e><m><b><e><r>" +d_t_fmt "<%><a><SP><%><d><SP><%><b><SP><%><Y><SP><%><T><SP><%><Z>" +d_fmt "<%><d><//><%><m><//><%><y>" +t_fmt "<%><T>" +am_pm "<V><M>";"<N><M>" +t_fmt_ampm "" +END LC_TIME + +LC_MESSAGES +yesexpr "<<(><j><J><)/>><.><*>" +noexpr "<<(><n><N><)/>><.><*>" +END LC_MESSAGES diff -durpN glibc-2.1.2/localedata/locales/ar_SA glibc-2.1.3/localedata/locales/ar_SA --- glibc-2.1.2/localedata/locales/ar_SA Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/locales/ar_SA Sat Feb 12 14:25:31 2000 @@ -0,0 +1,524 @@ +comment_char % +escape_char / +repertoiremap mnemonic.ds + +% Arabic Locale +% Charset: ISO-8859-6 +% repertoiremap mnemonic.ds +% By: Salvador Sabanal, LinuxLab, SAP AG <salvador.sabanal@sap.com> +% Date: Oct. 18, 1999 +% Adjusted to glibc mnemonics --drepper 2000-02-12 + +LC_CTYPE + +upper <A>; <B>; <C>; <D>; / + <E>; <F>; <G>; <H>; / + <I>; <J>; <K>; <L>; / + <M>; <N>; <O>; <P>; / + <Q>; <R>; <S>; <T>; / + <U>; <V>; <W>; <X>; / + <Y>; <Z> + +lower <a>; <b>; <c>; <d>; / + <e>; <f>; <g>; <h>; / + <i>; <j>; <k>; <l>; / + <m>; <n>; <o>; <p>; / + <q>; <r>; <s>; <t>; / + <u>; <v>; <w>; <x>; / + <y>; <z> + +alpha <A>; <B>; <C>; <D>; / + <E>; <F>; <G>; <H>; / + <I>; <J>; <K>; <L>; / + <M>; <N>; <O>; <P>; / + <Q>; <R>; <S>; <T>; / + <U>; <V>; <W>; <X>; / + <Y>; <Z>; <a>; <b>; / + <c>; <d>; <e>; <f>; / + <g>; <h>; <i>; <j>; / + <k>; <l>; <m>; <n>; / + <o>; <p>; <q>; <r>; / + <s>; <t>; <u>; <v>; / + <w>; <x>; <y>; <z>; / + <H'>; <aM>; <aH>; <wH>; / + <ah>; <yH>; <a+>; <b+>; / + <tm>; <t+>; <tk>; <g+>; / + <hk>; <x+>; <d+>; <dk>; / + <r+>; <z+>; <s+>; <sn>; / + <c+>; <dd>; <tj>; <zH>; / + <e+>; <i+>; <++>; <f+>; / + <q+>; <k+>; <l+>; <m+>; / + <n+>; <h+>; <w+>; <j+>; / + <y+>; <:+>; <"+>; <=+>; / + <//+>; <'+>; <1+>; <3+>; / + <0+> + +graph <exclamation-mark>; <quotation-mark>; <number-sign>; <dollar-sign>; / + <percent-sign>; <ampersand>; <apostrophe>; <left-parenthesis>; / + <right-parenthesis>; <asterisk>; <plus-sign>; <comma>; / + <hyphen>; <period>; <slash>; <zero>; / + <one>; <two>; <three>; <four>; / + <five>; <six>; <seven>; <eight>; / + <nine>; <colon>; <semicolon>; <less-than-sign>; / + <equals-sign>; <greater-than-sign>; <question-mark>; <commercial-at>; / + <A>; <B>; <C>; <D>; / + <E>; <F>; <G>; <H>; / + <I>; <J>; <K>; <L>; / + <M>; <N>; <O>; <P>; / + <Q>; <R>; <S>; <T>; / + <U>; <V>; <W>; <X>; / + <Y>; <Z>; <left-square-bracket>; <backslash>; / + <right-square-bracket>; <circumflex-accent>; <underscore>; <grave-accent>; / + <a>; <b>; <c>; <d>; / + <e>; <f>; <g>; <h>; / + <i>; <j>; <k>; <l>; / + <m>; <n>; <o>; <p>; / + <q>; <r>; <s>; <t>; / + <u>; <v>; <w>; <x>; / + <y>; <z>; <left-brace>; <vertical-line>; / + <right-brace>; <tilde>; <currency-symbol>; / + <,+>; <soft-hyphen>; <;+>; <?+>; / + <H'>; <aM>; <aH>; <wH>; / + <ah>; <yH>; <a+>; <b+>; / + <tm>; <t+>; <tk>; <g+>; / + <hk>; <x+>; <d+>; <dk>; / + <r+>; <z+>; <s+>; <sn>; / + <c+>; <dd>; <tj>; <zH>; / + <e+>; <i+>; <++>; <f+>; / + <q+>; <k+>; <l+>; <m+>; / + <n+>; <h+>; <w+>; <j+>; / + <y+>; <:+>; <"+>; <=+>; / + <//+>; <'+>; <1+>; <3+>; / + <0+> + +print <space>; <exclamation-mark>; <quotation-mark>; <number-sign>; / + <dollar-sign>; <percent-sign>; <ampersand>; <apostrophe>; / + <left-parenthesis>; <right-parenthesis>; <asterisk>; <plus-sign>; / + <comma>; <hyphen>; <period>; <slash>; / + <zero>; <one>; <two>; <three>; / + <four>; <five>; <six>; <seven>; / + <eight>; <nine>; <colon>; <semicolon>; / + <less-than-sign>; <equals-sign>; <greater-than-sign>; <question-mark>; / + <commercial-at>; <A>; <B>; <C>; / + <D>; <E>; <F>; <G>; / + <H>; <I>; <J>; <K>; / + <L>; <M>; <N>; <O>; / + <P>; <Q>; <R>; <S>; / + <T>; <U>; <V>; <W>; / + <X>; <Y>; <Z>; <left-square-bracket>; / + <backslash>; <right-square-bracket>; <circumflex-accent>; <underscore>; / + <grave-accent>; <a>; <b>; <c>; / + <d>; <e>; <f>; <g>; / + <h>; <i>; <j>; <k>; / + <l>; <m>; <n>; <o>; / + <p>; <q>; <r>; <s>; / + <t>; <u>; <v>; <w>; / + <x>; <y>; <z>; <left-brace>; / + <vertical-line>; <right-brace>; <tilde>; <non-break-space>; / + <currency-symbol>; <,+>; <soft-hyphen>; <;+>; / + <?+>; <H'>; <aM>; <aH>; / + <wH>; <ah>; <yH>; <a+>; / + <b+>; <tm>; <t+>; <tk>; / + <g+>; <hk>; <x+>; <d+>; / + <dk>; <r+>; <z+>; <s+>; / + <sn>; <c+>; <dd>; <tj>; / + <zH>; <e+>; <i+>; <++>; / + <f+>; <q+>; <k+>; <l+>; / + <m+>; <n+>; <h+>; <w+>; / + <j+>; <y+>; <:+>; <"+>; / + <=+>; <//+>; <'+>; <1+>; / + <3+>; <0+> + +digit <zero>; <one>; <two>; <three>; / + <four>; <five>; <six>; <seven>; / + <eight>; <nine> + +space <tab>; <newline>; <vertical-tab>; <form-feed>; / + <carriage-return>; <space>; <NS> + +punct <exclamation-mark>; <quotation-mark>; <number-sign>; <dollar-sign>; / + <percent-sign>; <ampersand>; <apostrophe>; <left-parenthesis>; / + <right-parenthesis>; <asterisk>; <plus-sign>; <comma>; / + <hyphen>; <period>; <slash>; <colon>; / + <semicolon>; <less-than-sign>; <equals-sign>; <greater-than-sign>; / + <question-mark>; <commercial-at>; <left-square-bracket>; <backslash>; / + <right-square-bracket>; <circumflex-accent>; <underscore>; <grave-accent>; / + <left-brace>; <vertical-line>; <right-brace>; <tilde>; / + <currency-symbol>; <,+>; <soft-hyphen>; <;+>; / + <?+> + +cntrl <NUL>; <SOH>; <STX>; <ETX>; / + <EOT>; <ENQ>; <ACK>; <BEL>; / + <backspace>; <tab>; <newline>; <vertical-tab>; / + <form-feed>; <carriage-return>; <SO>; <SI>; / + <DLE>; <DC1>; <DC2>; <DC3>; / + <DC4>; <NAK>; <SYN>; <ETB>; / + <CAN>; <EM>; <SUB>; <ESC>; / + <IS4>; <IS3>; <IS2>; <IS1>; / + <DEL>; <PAD>; <HOP>; <BPH>; / + <NBH>; <IND>; <NEL>; <SSA>; / + <ESA>; <HTS>; <HTJ>; <VTS>; / + <PLD>; <PLU>; <RI>; <SS2>; / + <SS3>; <DCS>; <PU1>; <PU2>; / + <STS>; <CCH>; <MW>; <SPS>; / + <EPA>; <SOS>; <SGCI>; <SCI>; / + <CSI>; <ST>; <OSC>; <PM>; / + <APC> + +blank <tab>; <space> + +xdigit <zero>; <one>; <two>; <three>; / + <four>; <five>; <six>; <seven>; / + <eight>; <nine>; <A>; <B>; / + <C>; <D>; <E>; <F>; / + <a>; <b>; <c>; <d>; / + <e>; <f> + +toupper (<a>,<A>); (<b>,<B>); / + (<c>,<C>); (<d>,<D>); / + (<e>,<E>); (<f>,<F>); / + (<g>,<G>); (<h>,<H>); / + (<i>,<I>); (<j>,<J>); / + (<k>,<K>); (<l>,<L>); / + (<m>,<M>); (<n>,<N>); / + (<o>,<O>); (<p>,<P>); / + (<q>,<Q>); (<r>,<R>); / + (<s>,<S>); (<t>,<T>); / + (<u>,<U>); (<v>,<V>); / + (<w>,<W>); (<x>,<X>); / + (<y>,<Y>); (<z>,<Z>) + +tolower (<A>,<a>); (<B>,<b>); / + (<C>,<c>); (<D>,<d>); / + (<E>,<e>); (<F>,<f>); / + (<G>,<g>); (<H>,<h>); / + (<I>,<i>); (<J>,<j>); / + (<K>,<k>); (<L>,<l>); / + (<M>,<m>); (<N>,<n>); / + (<O>,<o>); (<P>,<p>); / + (<Q>,<q>); (<R>,<r>); / + (<S>,<s>); (<T>,<t>); / + (<U>,<u>); (<V>,<v>); / + (<W>,<w>); (<X>,<x>); / + (<Y>,<y>); (<Z>,<z>) + +END LC_CTYPE + + +% Set up the LC_COLLATE category + +LC_COLLATE + + +order_start forward; forward +<space> <space> +<zero> <zero> +<one> <one> +<two> <two> +<three> <three> +<four> <four> +<five> <five> +<six> <six> +<seven> <seven> +<eight> <eight> +<nine> <nine> +<A> <A>;<A> +<a> <A>;<a> +<B> <B>;<B> +<b> <B>;<b> +<C> <C>;<C> +<c> <C>;<c> +<D> <D>;<D> +<d> <D>;<d> +<E> <E>;<E> +<e> <E>;<e> +<F> <F>;<F> +<f> <F>;<f> +<G> <G>;<G> +<g> <G>;<g> +<H> <H>;<H> +<h> <H>;<h> +<I> <I>;<I> +<i> <I>;<i> +<J> <J>;<J> +<j> <J>;<j> +<K> <K>;<K> +<k> <K>;<k> +<L> <L>;<L> +<l> <L>;<l> +<M> <M>;<M> +<m> <M>;<m> +<N> <N>;<N> +<n> <N>;<n> +<O> <O>;<O> +<o> <O>;<o> +<P> <P>;<P> +<p> <P>;<p> +<Q> <Q>;<Q> +<q> <Q>;<q> +<R> <R>;<R> +<r> <R>;<r> +<S> <S>;<S> +<s> <S>;<s> +<T> <T>;<T> +<t> <T>;<t> +<U> <U>;<U> +<u> <U>;<u> +<V> <V>;<V> +<v> <V>;<v> +<W> <W>;<W> +<w> <W>;<w> +<X> <X>;<X> +<x> <X>;<x> +<Y> <Y>;<Y> +<y> <Y>;<y> +<Z> <Z>;<Z> +<z> <Z>;<z> +<exclamation-mark> <exclamation-mark> +<quotation-mark> <quotation-mark> +<number-sign> <number-sign> +<dollar-sign> <dollar-sign> +<percent-sign> <percent-sign> +<ampersand> <ampersand> +<apostrophe> <apostrophe> +<left-parenthesis> <left-parenthesis> +<right-parenthesis> <right-parenthesis> +<asterisk> <asterisk> +<plus-sign> <plus-sign> +<comma> <comma> +<hyphen> <hyphen> +<period> <period> +<slash> <slash> +<colon> <colon> +<semicolon> <semicolon> +<less-than-sign> <less-than-sign> +<equals-sign> <equals-sign> +<greater-than-sign> <greater-than-sign> +<question-mark> <question-mark> +<commercial-at> <commercial-at> +<left-square-bracket> <left-square-bracket> +<backslash> <backslash> +<right-square-bracket> <right-square-bracket> +<circumflex-accent> <circumflex-accent> +<underscore> <underscore> +<grave-accent> <grave-accent> +<left-brace> <left-brace> +<vertical-line> <vertical-line> +<right-brace> <right-brace> +<tilde> <tilde> +<non-break-space> <non-break-space> +<H'> <H'> +<aM> <aM> +<aH> <aH> +<wH> <wH> +<ah> <ah> +<yH> <yH> +<a+> <a+> +<b+> <b+> +<tm> <tm> +<t+> <t+> +<tk> <tk> +<g+> <g+> +<hk> <hk> +<x+> <x+> +<d+> <d+> +<dk> <dk> +<r+> <r+> +<z+> <z+> +<s+> <s+> +<sn> <sn> +<c+> <c+> +<dd> <dd> +<tj> <tj> +<zH> <zH> +<e+> <e+> +<i+> <i+> +<f+> <f+> +<q+> <q+> +<k+> <k+> +<l+> <l+> +<m+> <m+> +<n+> <n+> +<h+> <h+> +<w+> <w+> +<j+> <j+> +<y+> <y+> +<currency-symbol> <currency-symbol> +<arabic-comma> <arabic-comma> +<soft-hyphen> <soft-hyphen> +<;+> <;+> +<?+> <?+> +<NUL> <NUL> +<SOH> <SOH> +<STX> <STX> +<ETX> <ETX> +<EOT> <EOT> +<ENQ> <ENQ> +<ACK> <ACK> +<BEL> <BEL> +<backspace> <backspace> +<tab> <tab> +<newline> <newline> +<vertical-tab> <vertical-tab> +<form-feed> <form-feed> +<carriage-return> <carriage-return> +<SO> <SO> +<SI> <SI> +<DLE> <DLE> +<DC1> <DC1> +<DC2> <DC2> +<DC3> <DC3> +<DC4> <DC4> +<NAK> <NAK> +<SYN> <SYN> +<ETB> <ETB> +<CAN> <CAN> +<EM> <EM> +<SUB> <SUB> +<ESC> <ESC> +<IS4> <IS4> +<IS3> <IS3> +<IS2> <IS2> +<IS1> <IS1> +<PAD> <PAD> +<HOP> <HOP> +<BPH> <BPH> +<NBH> <NBH> +<IND> <IND> +<NEL> <NEL> +<SSA> <SSA> +<ESA> <ESA> +<HTS> <HTS> +<HTJ> <HTJ> +<VTS> <VTS> +<PLD> <PLD> +<PLU> <PLU> +<RI> <RI> +<SS2> <SS2> +<SS3> <SS3> +<DCS> <DCS> +<PU1> <PU1> +<PU2> <PU2> +<STS> <STS> +<CCH> <CCH> +<MW> <MW> +<SPS> <SPS> +<EPA> <EPA> +<SOS> <SOS> +<SGCI> <SGCI> +<SCI> <SCI> +<CSI> <CSI> +<ST> <ST> +<OSC> <OSC> +<PM> <PM> +<APC> <APC> +<DEL> <DEL> +<++> IGNORE +<:+> IGNORE +<"+> IGNORE +<=+> IGNORE +<//+> IGNORE +<'+> IGNORE +<1+> IGNORE +<3+> IGNORE +<0+> IGNORE +order_end + + +END LC_COLLATE + + +% Set up the LC_MONETARY category + +LC_MONETARY +int_curr_symbol "<S><A><R><space>" +currency_symbol "<r+><y+><a+><l+>" +mon_decimal_point "<period>" +mon_thousands_sep "" +mon_grouping -1 +positive_sign "" +negative_sign "<hyphen>" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 0 +p_sep_by_space 1 +n_cs_precedes 0 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + + +% Set up the LC_NUMERIC category + +LC_NUMERIC +decimal_point "<period>" +thousands_sep "" +grouping -1 +END LC_NUMERIC + + +% Set up the LC_TIME category +% d_t_fmt "%A %.1d %B %Y %.1H:%M:%S" +% d_fmt "%A %.1d %B %Y" +% t_fmt "%.1H:%M:%S" +% t_fmt_ampm "%.1H:%M:%S" + +LC_TIME +d_t_fmt "<percent-sign><A><space><percent-sign><period><one><d><space><percent-sign><B><space><percent-sign><Y><space><space><percent-sign><period><one><H><colon><percent-sign><M><colon><percent-sign><S>" +d_fmt "<percent-sign><A><space><percent-sign><period><one><d><space><percent-sign><B><space><percent-sign><Y>" +t_fmt "<percent-sign><period><one><H><colon><percent-sign><M><colon><percent-sign><S>" +t_fmt_ampm "<percent-sign><period><one><H><colon><percent-sign><M><colon><percent-sign><S>" +day "<a+><l+><aH><hk><d+>"; / + "<a+><l+><ah><tk><n+><y+><n+>"; / + "<a+><l+><tk><l+><a+><tk><a+><H'>"; / + "<a+><l+><aH><r+><b+><e+><a+><H'>"; / + "<a+><l+><x+><m+><y+><s+>"; / + "<a+><l+><g+><m+><e+><++><tm>"; / + "<a+><l+><s+><b+><t+>" +abday "<S><u><n>"; / + "<M><o><n>"; / + "<T><u><e>"; / + "<W><e><d>"; / + "<T><h><u>"; / + "<F><r><i>"; / + "<S><a><t>" +mon "<k+><a+><n+><w+><n+><space><a+><l+><tk><a+><n+><y+>"; / + "<sn><b+><a+><tj>"; / + "<aM><dk><a+><r+>"; / + "<n+><y+><s+><++><a+><n+>"; / + "<aH><y+><a+><r+>"; / + "<hk><z+><y+><r+><a+><n+>"; / + "<t+><++><m+><++><w+><z+>"; / + "<aM><b+>"; / + "<aH><y+><l+><w+><l+>"; / + "<t+><sn><r+><y+><n+><space><a+><l+><aH><w+><l+>"; / + "<t+><sn><r+><y+><n+><space><a+><l+><tk><a+><n+><y+>"; / + "<k+><a+><n+><w+><n+><space><a+><l+><aH><w+><l+>" +abmon "<J><a><n>"; / + "<F><e><b>"; / + "<M><a><r>"; / + "<A><p><r>"; / + "<M><a><y>"; / + "<J><u><n>"; / + "<J><u><l>"; / + "<A><u><g>"; / + "<S><e><p>"; / + "<O><c><t>"; / + "<N><o><v>"; / + "<D><e><c>" +am_pm "";"" +era_d_fmt "" +END LC_TIME + + +% Set up the LC_MESSAGES category +% yesexpr = "^(\346|\346\331\345)" +% noexpr = "^(\344|\344\307)" + +LC_MESSAGES +yesstr "<n+><e+><m+>" +nostr "<l+><a+>" +yesexpr "<circumflex-accent><left-parenthesis><n+><vertical-line><n+><e+><m+><right-parenthesis>" +noexpr "<circumflex-accent><left-parenthesis><l+><vertical-line><l+><a+><right-parenthesis>" +END LC_MESSAGES diff -durpN glibc-2.1.2/localedata/locales/el_GR glibc-2.1.3/localedata/locales/el_GR --- glibc-2.1.2/localedata/locales/el_GR Sun Aug 15 15:56:09 1999 +++ glibc-2.1.3/localedata/locales/el_GR Tue Feb 15 10:59:23 2000 @@ -2846,9 +2846,9 @@ tolower (<A>,<a>);(<A!>,<a!>);/ (<Sc>,<sc>);(<T=>,<t=>);/ (<Ts>,<ts>);(<U=>,<u=>);/ (<V3>,<v3>);(<V=>,<v=>);/ - (<Y3>,<y3>);(<Y=>,<y=>);/ - (<YI>,<yi>);(<Z%>,<z%>);/ - (<Z=>,<z=>) + (<V%>,<v%>);(<Y3>,<y3>);/ + (<Y=>,<y=>);(<YI>,<yi>);/ + (<Z%>,<z%>);(<Z=>,<z=>) toupper (<a>,<A>);(<a!>,<A!>);/ (<a!!>,<A!!>);(<a'>,<A'>);/ @@ -3048,10 +3048,9 @@ toupper (<a>,<A>);(<a!>,<A!>);/ (<sc>,<Sc>);(<t=>,<T=>);/ (<ts>,<Ts>);(<u=>,<U=>);/ (<v3>,<V3>);(<v=>,<V=>);/ - (<y3>,<Y3>);(<y=>,<Y=>);/ - (<yi>,<YI>);(<z%>,<Z%>);/ - (<z=>,<Z=>);/ - (<*s>,<S*>) + (<v%>,<V%>);(<y3>,<Y3>);/ + (<y=>,<Y=>);(<yi>,<YI>);/ + (<z%>,<Z%>);(<z=>,<Z=>) END LC_CTYPE diff -durpN glibc-2.1.2/localedata/locales/en_BW glibc-2.1.3/localedata/locales/en_BW --- glibc-2.1.2/localedata/locales/en_BW Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/locales/en_BW Tue Feb 15 10:59:23 2000 @@ -0,0 +1,55 @@ +escape_char / +comment_char % + +% English language locale for Botswana +% Source: RAP +% Email: Schalk W. Cronje <schalkc@ntaba.co.za> +% Tel: +27 83 2797047 +% Fax: +27 838 2797047 +% Language: en +% Territory: BW +% Revision: 1.0 +% Date: 1999-12-23 +% Users: general +% Repertoiremap: mnemonic,ds +% Charset: ISO-8859-1 +% Distribution and use is free, also +% for commercial purposes. + +LC_CTYPE +copy "en_DK" +END LC_CTYPE + +LC_COLLATE +copy "en_DK" +END LC_COLLATE + +LC_MONETARY +int_curr_symbol "<B><W><P><SP>" +currency_symbol "<P><u>" +mon_decimal_point "<.>" +mon_thousands_sep "<,>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<->" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 0 +n_cs_precedes 1 +n_sep_by_space 0 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +copy "en_ZA" +END LC_NUMERIC + +LC_TIME +copy "en_ZA" +END LC_TIME + +LC_MESSAGES +copy "en_ZA" +END LC_MESSAGES diff -durpN glibc-2.1.2/localedata/locales/en_DK glibc-2.1.3/localedata/locales/en_DK --- glibc-2.1.2/localedata/locales/en_DK Mon Sep 6 12:32:20 1999 +++ glibc-2.1.3/localedata/locales/en_DK Tue Feb 15 10:59:23 2000 @@ -2852,9 +2852,9 @@ tolower (<A>,<a>);(<A!>,<a!>);/ (<Sc>,<sc>);(<T=>,<t=>);/ (<Ts>,<ts>);(<U=>,<u=>);/ (<V3>,<v3>);(<V=>,<v=>);/ - (<Y3>,<y3>);(<Y=>,<y=>);/ - (<YI>,<yi>);(<Z%>,<z%>);/ - (<Z=>,<z=>) + (<V%>,<v%>);(<Y3>,<y3>);/ + (<Y=>,<y=>);(<YI>,<yi>);/ + (<Z%>,<z%>);(<Z=>,<z=>) toupper (<a>,<A>);(<a!>,<A!>);/ (<a!!>,<A!!>);(<a'>,<A'>);/ @@ -3054,10 +3054,9 @@ toupper (<a>,<A>);(<a!>,<A!>);/ (<sc>,<Sc>);(<t=>,<T=>);/ (<ts>,<Ts>);(<u=>,<U=>);/ (<v3>,<V3>);(<v=>,<V=>);/ - (<y3>,<Y3>);(<y=>,<Y=>);/ - (<yi>,<YI>);(<z%>,<Z%>);/ - (<z=>,<Z=>);/ - (<*s>,<S*>) + (<v%>,<V%>);(<y3>,<Y3>);/ + (<y=>,<Y=>);(<yi>,<YI>);/ + (<z%>,<Z%>);(<z=>,<Z=>) END LC_CTYPE diff -durpN glibc-2.1.2/localedata/locales/en_DK.com glibc-2.1.3/localedata/locales/en_DK.com --- glibc-2.1.2/localedata/locales/en_DK.com Sun Aug 15 15:56:09 1999 +++ glibc-2.1.3/localedata/locales/en_DK.com Tue Feb 15 10:59:24 2000 @@ -2799,9 +2799,10 @@ tolower (<A>,<a>);(<A!>,<a!>);/ (<S=>,<s=>);(<Sc>,<sc>);/ (<T=>,<t=>);(<Ts>,<ts>);/ (<U=>,<u=>);(<V3>,<v3>);/ - (<V=>,<v=>);(<Y3>,<y3>);/ - (<Y=>,<y=>);(<YI>,<yi>);/ - (<Z%>,<z%>);(<Z=>,<z=>) + (<V=>,<v=>);(<V%>,<v%>);/ + (<Y3>,<y3>);(<Y=>,<y=>);/ + (<YI>,<yi>);(<Z%>,<z%>);/ + (<Z=>,<z=>) toupper (<a>,<A>);(<a!>,<A!>);/ (<a!!>,<A!!>);(<a'>,<A'>);/ @@ -2999,10 +3000,10 @@ toupper (<a>,<A>);(<a!>,<A!>);/ (<s=>,<S=>);(<sc>,<Sc>);/ (<t=>,<T=>);(<ts>,<Ts>);/ (<u=>,<U=>);(<v3>,<V3>);/ - (<v=>,<V=>);(<y3>,<Y3>);/ - (<y=>,<Y=>);(<yi>,<YI>);/ - (<z%>,<Z%>);(<z=>,<Z=>);/ - (<*s>,<S*>) + (<v=>,<V=>);(<v%>,<V%>);/ + (<y3>,<Y3>);(<y=>,<Y=>);/ + (<yi>,<YI>);(<z%>,<Z%>);/ + (<z=>,<Z=>) END LC_CTYPE diff -durpN glibc-2.1.2/localedata/locales/en_ZW glibc-2.1.3/localedata/locales/en_ZW --- glibc-2.1.2/localedata/locales/en_ZW Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/locales/en_ZW Tue Feb 15 10:59:24 2000 @@ -0,0 +1,55 @@ +escape_char / +comment_char % + +% English language locale for Zimbabwe +% Source: RAP +% Email: Schalk W. Cronje <schalkc@ntaba.co.za> +% Tel: +27 83 2797047 +% Fax: +27 838 2797047 +% Language: en +% Territory: ZW +% Revision: 1.0 +% Date: 1999-12-23 +% Users: general +% Repertoiremap: mnemonic,ds +% Charset: ISO-8859-1 +% Distribution and use is free, also +% for commercial purposes. + +LC_CTYPE +copy "en_DK" +END LC_CTYPE + +LC_COLLATE +copy "en_DK" +END LC_COLLATE + +LC_MONETARY +int_curr_symbol "<Z><W><D><SP>" +currency_symbol "<Z><DO>" +mon_decimal_point "<.>" +mon_thousands_sep "<,>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<->" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 1 +p_sep_by_space 0 +n_cs_precedes 1 +n_sep_by_space 0 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +copy "en_ZA" +END LC_NUMERIC + +LC_TIME +copy "en_ZA" +END LC_TIME + +LC_MESSAGES +copy "en_ZA" +END LC_MESSAGES diff -durpN glibc-2.1.2/localedata/locales/fa_IR glibc-2.1.3/localedata/locales/fa_IR --- glibc-2.1.2/localedata/locales/fa_IR Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/locales/fa_IR Sat Dec 18 16:30:31 1999 @@ -0,0 +1,510 @@ +comment_char % +escape_char / +% +% Persian Language Locale for Iran with ISIRI-3342 character set +% Source: The Persian Internet Project +% Address: Computing Center, Sharif University of Technology, +% Azadi Ave, Tehran, Iran +% Contact: Roozbeh Pournader +% Email: roozbeh@sina.sharif.ac.ir +% Tel: +98 21 6022378 +% Fax: +% Language: fa +% Territory: IR +% Revision: 0.0 +% Date: 1999-12-11 +% Users: general +% Repertoiremap: +% Charset: ISIRI-3342 +% Distribution and use is free, also +% for commercial purposes. + +% Note that the following can not be used for character sets +% other than ISIRI-3342. It is dependent to the ISIRI-3342 +% BIDI behaviour which is not the same as Unicode BIDI behaviour. +% So, another versions will be needed for UTF-8 and IRAN-SYSTEM. + +LC_CTYPE +% +upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;/ + <N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z> +% +lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/ + <n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z> +% +alpha <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>;<I>;<J>;<K>;<L>;<M>;/ + <N>;<O>;<P>;<Q>;<R>;<S>;<T>;<U>;<V>;<W>;<X>;<Y>;<Z>;/ + <a>;<b>;<c>;<d>;<e>;<f>;<g>;<h>;<i>;<j>;<k>;<l>;<m>;/ + <n>;<o>;<p>;<q>;<r>;<s>;<t>;<u>;<v>;<w>;<x>;<y>;<z>;/ + <aM>;<a+>;<H'>;<b+>;<p+>;<t+>;<tk>;<g+>;<tc>;<hk>;/ + <x+>;<d+>;<dk>;<r+>;<z+>;<zj>;<s+>;<sn>;<c+>;<dd>;/ + <tj>;<zH>;<e+>;<i+>;<f+>;<q+>;<kf>;<gf>;<l+>;<m+>;/ + <n+>;<w+>;<h+>;<yf>;<aH>;<wH>;<ah>;<yh>;<tm>;<k+>;<y+> +% +% I'm not sure how can I make Persian digits get accepted +% as digits. +% +digit <0>;...;<9>;/ + <0f>;...;<9f> +% +xdigit <0>;<1>;<2>;<3>;<4>;/ + <5>;<6>;<7>;<8>;<9>;/ + <A>;<B>;<C>;<D>;<E>;<F>;/ + <a>;<b>;<c>;<d>;<e>;<f> +% +blank <SP>;<HT>;<SP+>;<HT+> +% +space <SP>;<LF>;<VT>;<FF>;<CR>;<HT>;/ + <SP+>;<LF+>;<VT+>;<FF+>;<CR+>;<HT+> +% +cntrl <NU>;<SH>;<SX>;<EX>;<ET>;<EQ>;/ + <AK>;<BL>;<BS>;<HT>;<LF>;<VT>;/ + <FF>;<CR>;<SO>;<SI>;<DL>;<D1>;/ + <D2>;<D3>;<D4>;<NK>;<SY>;<EB>;/ + <CN>;<EM>;<SB>;<EC>;<FS>;<GS>;/ + <RS>;<US>;/ + <NU+>;<SH+>;<SX+>;<EX+>;<ET+>;<EQ+>;/ + <AK+>;<BL+>;<BS+>;<HT+>;<LF+>;<VT+>;/ + <FF+>;<CR+>;<SO+>;<SI+>;<DL+>;<D1+>;/ + <D2+>;<D3+>;<D4+>;<NK+>;<SY+>;<EB+>;/ + <CN+>;<EM+>;<SB+>;<EC+>;<FS+>;<GS+>;/ + <RS+>;<US+>;/ + <zwnj>;<zwj> +% +punct <!>;<">;<Nb>;<DO>;<%>;<&>;<'>;/ + <(>;<)>;<*>;<+>;<,>;<->;<.>;/ + <//>;<:>;<;>;<<>;<=>;</>>;<?>;/ + <At>;<<(>;<////>;<)/>>;<'/>>;/ + <_>;<'!>;<(!>;<!!>;<!)>;<'?>;/ + <!+>;<Rl>;<%+>;<.+>;<,f>;<(+>;/ + <)+>;<*X+>;<+f>;<,+>;<-f>;<.f>;/ + <//f>;<:f>;<;+>;</>f>;<=f>;/ + <<f>;<?+>;<<(+>;<)/>+>;<(!+>;/ + <!)+>;<<<>;</>/>>;<*+>;<++>;/ + <!!+>;<////>;<//+>;<1+>;<'+>;/ + <:+>;<=+>;<"+>;<3+>;<0+> +% +tolower (<A>,<a>);(<B>,<b>);(<C>,<c>);(<D>,<d>);(<E>,<e>);/ + (<F>,<f>);(<G>,<g>);(<H>,<h>);(<I>,<i>);(<J>,<j>);/ + (<K>,<k>);(<L>,<l>);(<M>,<m>);(<N>,<n>);(<O>,<o>);/ + (<P>,<p>);(<Q>,<q>);(<R>,<r>);(<S>,<s>);(<T>,<t>);/ + (<U>,<u>);(<V>,<v>);(<W>,<w>);(<X>,<x>);(<Y>,<y>);(<Z>,<z>) +% +toupper (<a>,<A>);(<b>,<B>);(<c>,<C>);(<d>,<D>);(<e>,<E>);/ + (<f>,<F>);(<g>,<G>);(<h>,<H>);(<i>,<I>);(<j>,<J>);/ + (<k>,<K>);(<l>,<L>);(<m>,<M>);(<n>,<N>);(<o>,<O>);/ + (<p>,<P>);(<q>,<Q>);(<r>,<R>);(<s>,<S>);(<t>,<T>);/ + (<u>,<U>);(<v>,<V>);(<w>,<W>);(<x>,<X>);(<y>,<Y>);(<z>,<Z>) +END LC_CTYPE + +LC_COLLATE + +% Based on en_DK collation specifications. +% Many lines are deleted because ISIRI-3342 does +% not support any Latin character not in ASCII. +% The four part sorting is preserved to maintain +% compatiblity with original en_DK.P + +% Ordering algorithm: +% 1. Spaces and hyphen (but not soft +% hyphen) before punctuation +% characters, punctuation characters +% before numbers, +% umbers before letters. +% 2. A distinction is made with regards +% to case as noted below. +% 3. Special characters are ignored +% when comparing letters, but then +% they are considered +% 4. Latin script is sorted before Arabic +% to attract notice in index, etc. +% +% collating symbols + +collating-symbol <CAPITAL> +collating-symbol <SMALL> + +collating-symbol <NONE> +collating-symbol <SPECIAL> + +% Latin collation order: +% letter;accent;case;specials +% which becomes +% letter;variant;harekat;specials +% for Persian. + +order_start forward;forward;forward;position + +% <CAPITAL> or <SMALL> letters first: + +<CAPITAL> +<SMALL> + +% Accents: + +<NONE> +<SPECIAL> + +<SP> IGNORE;IGNORE;IGNORE;<SP> +<SP+> IGNORE;IGNORE;IGNORE;<SP+> +<HT> IGNORE;IGNORE;IGNORE;<HT> +<HT+> IGNORE;IGNORE;IGNORE;<HT+> +<VT> IGNORE;IGNORE;IGNORE;<VT> +<VT+> IGNORE;IGNORE;IGNORE;<VT+> +<CR> IGNORE;IGNORE;IGNORE;<CR> +<CR+> IGNORE;IGNORE;IGNORE;<CR+> +<LF> IGNORE;IGNORE;IGNORE;<LF> +<LF+> IGNORE;IGNORE;IGNORE;<LF+> +<FF> IGNORE;IGNORE;IGNORE;<FF> +<FF+> IGNORE;IGNORE;IGNORE;<FF+> +<_> IGNORE;IGNORE;IGNORE;<_> +<-> IGNORE;IGNORE;IGNORE;<-> +<-f> IGNORE;IGNORE;IGNORE;<-f> +<++> IGNORE;IGNORE;IGNORE;<++> +<,> IGNORE;IGNORE;IGNORE;<,> +<;> IGNORE;IGNORE;IGNORE;<;> +<:> IGNORE;IGNORE;IGNORE;<:> +<:f> IGNORE;IGNORE;IGNORE;<:f> +<!> IGNORE;IGNORE;IGNORE;<!> +<!+> IGNORE;IGNORE;IGNORE;<!+> +<?> IGNORE;IGNORE;IGNORE;<?> +<//> IGNORE;IGNORE;IGNORE;<//> +<//f> IGNORE;IGNORE;IGNORE;<//f> +<.> IGNORE;IGNORE;IGNORE;<.> +<.+> IGNORE;IGNORE;IGNORE;<.+> +<'!> IGNORE;IGNORE;IGNORE;<'!> +<'/>> IGNORE;IGNORE;IGNORE;<'/>> +<'?> IGNORE;IGNORE;IGNORE;<'?> +<'> IGNORE;IGNORE;IGNORE;<'> +<"> IGNORE;IGNORE;IGNORE;<"> +<<<> IGNORE;IGNORE;IGNORE;<<<> +</>/>> IGNORE;IGNORE;IGNORE;</>/>> +<(> IGNORE;IGNORE;IGNORE;<(> +<)+> IGNORE;IGNORE;IGNORE;<)+> +<)> IGNORE;IGNORE;IGNORE;<)> +<(+> IGNORE;IGNORE;IGNORE;<(+> +<<(> IGNORE;IGNORE;IGNORE;<<(> +<)/>+> IGNORE;IGNORE;IGNORE;<)/>+> +<)/>> IGNORE;IGNORE;IGNORE;<)/>> +<<(+> IGNORE;IGNORE;IGNORE;<<(+> +<(!> IGNORE;IGNORE;IGNORE;<(!> +<!)+> IGNORE;IGNORE;IGNORE;<!)+> +<!)> IGNORE;IGNORE;IGNORE;<!)> +<(!+> IGNORE;IGNORE;IGNORE;<(!+> +<At> IGNORE;IGNORE;IGNORE;<At> +<DO> IGNORE;IGNORE;IGNORE;<DO> +<*> IGNORE;IGNORE;IGNORE;<*> +<*+> IGNORE;IGNORE;IGNORE;<*+> +<////> IGNORE;IGNORE;IGNORE;<////> +<////+> IGNORE;IGNORE;IGNORE;<////+> +<&> IGNORE;IGNORE;IGNORE;<&> +<Nb> IGNORE;IGNORE;IGNORE;<Nb> +<%> IGNORE;IGNORE;IGNORE;<%> +<+> IGNORE;IGNORE;IGNORE;<+> +<+f> IGNORE;IGNORE;IGNORE;<+f> +<*X+> IGNORE;IGNORE;IGNORE;<*X+> +<<> IGNORE;IGNORE;IGNORE;<<> +<<f> IGNORE;IGNORE;IGNORE;<<f> +<=> IGNORE;IGNORE;IGNORE;<=> +<=f> IGNORE;IGNORE;IGNORE;<=f> +</>> IGNORE;IGNORE;IGNORE;</>> +</>f> IGNORE;IGNORE;IGNORE;</>f> +<!!> IGNORE;IGNORE;IGNORE;<!!> +<!!+> IGNORE;IGNORE;IGNORE;<!!+> +<NU> IGNORE;IGNORE;IGNORE;<NU> +<SH> IGNORE;IGNORE;IGNORE;<SH> +<SX> IGNORE;IGNORE;IGNORE;<SX> +<EX> IGNORE;IGNORE;IGNORE;<EX> +<ET> IGNORE;IGNORE;IGNORE;<ET> +<EQ> IGNORE;IGNORE;IGNORE;<EQ> +<AK> IGNORE;IGNORE;IGNORE;<AK> +<BL> IGNORE;IGNORE;IGNORE;<BL> +<BS> IGNORE;IGNORE;IGNORE;<BS> +<SO> IGNORE;IGNORE;IGNORE;<SO> +<SI> IGNORE;IGNORE;IGNORE;<SI> +<DL> IGNORE;IGNORE;IGNORE;<DL> +<D1> IGNORE;IGNORE;IGNORE;<D1> +<D2> IGNORE;IGNORE;IGNORE;<D2> +<D3> IGNORE;IGNORE;IGNORE;<D3> +<D4> IGNORE;IGNORE;IGNORE;<D4> +<NK> IGNORE;IGNORE;IGNORE;<NK> +<SY> IGNORE;IGNORE;IGNORE;<SY> +<EB> IGNORE;IGNORE;IGNORE;<EB> +<CN> IGNORE;IGNORE;IGNORE;<CN> +<EM> IGNORE;IGNORE;IGNORE;<EM> +<SB> IGNORE;IGNORE;IGNORE;<SB> +<EC> IGNORE;IGNORE;IGNORE;<EC> +<FS> IGNORE;IGNORE;IGNORE;<FS> +<GS> IGNORE;IGNORE;IGNORE;<GS> +<RS> IGNORE;IGNORE;IGNORE;<RS> +<US> IGNORE;IGNORE;IGNORE;<US> +<DT> IGNORE;IGNORE;IGNORE;<DT> +<NU+> IGNORE;IGNORE;IGNORE;<NU+> +<SH+> IGNORE;IGNORE;IGNORE;<SH+> +<SX+> IGNORE;IGNORE;IGNORE;<SX+> +<EX+> IGNORE;IGNORE;IGNORE;<EX+> +<ET+> IGNORE;IGNORE;IGNORE;<ET+> +<EQ+> IGNORE;IGNORE;IGNORE;<EQ+> +<AK+> IGNORE;IGNORE;IGNORE;<AK+> +<BL+> IGNORE;IGNORE;IGNORE;<BL+> +<BS+> IGNORE;IGNORE;IGNORE;<BS+> +<SO+> IGNORE;IGNORE;IGNORE;<SO+> +<SI+> IGNORE;IGNORE;IGNORE;<SI+> +<DL+> IGNORE;IGNORE;IGNORE;<DL+> +<D1+> IGNORE;IGNORE;IGNORE;<D1+> +<D2+> IGNORE;IGNORE;IGNORE;<D2+> +<D3+> IGNORE;IGNORE;IGNORE;<D3+> +<D4+> IGNORE;IGNORE;IGNORE;<D4+> +<NK+> IGNORE;IGNORE;IGNORE;<NK+> +<SY+> IGNORE;IGNORE;IGNORE;<SY+> +<EB+> IGNORE;IGNORE;IGNORE;<EB+> +<CN+> IGNORE;IGNORE;IGNORE;<CN+> +<EM+> IGNORE;IGNORE;IGNORE;<EM+> +<SB+> IGNORE;IGNORE;IGNORE;<SB+> +<EC+> IGNORE;IGNORE;IGNORE;<EC+> +<FS+> IGNORE;IGNORE;IGNORE;<FS+> +<GS+> IGNORE;IGNORE;IGNORE;<GS+> +<RS+> IGNORE;IGNORE;IGNORE;<RS+> +<US+> IGNORE;IGNORE;IGNORE;<US+> +<DT+> IGNORE;IGNORE;IGNORE;<DT+> +<zwnj> IGNORE;IGNORE;IGNORE;<zwnj> +<zwj> IGNORE;IGNORE;IGNORE;<zwj> +UNDEFINED IGNORE;IGNORE;IGNORE + +<0> <0>;<0>;IGNORE;IGNORE +<1> <1>;<1>;IGNORE;IGNORE +<2> <2>;<2>;IGNORE;IGNORE +<3> <3>;<3>;IGNORE;IGNORE +<4> <4>;<4>;IGNORE;IGNORE +<5> <5>;<5>;IGNORE;IGNORE +<6> <6>;<6>;IGNORE;IGNORE +<7> <7>;<7>;IGNORE;IGNORE +<8> <8>;<8>;IGNORE;IGNORE +<9> <9>;<9>;IGNORE;IGNORE + +<A> <A>;<NONE>;<CAPITAL>;IGNORE +<a> <A>;<NONE>;<SMALL>;IGNORE +<B> <B>;<NONE>;<CAPITAL>;IGNORE +<b> <B>;<NONE>;<SMALL>;IGNORE +<C> <C>;<NONE>;<CAPITAL>;IGNORE +<c> <C>;<NONE>;<SMALL>;IGNORE +<D> <D>;<NONE>;<CAPITAL>;IGNORE +<d> <D>;<NONE>;<SMALL>;IGNORE +<E> <E>;<NONE>;<CAPITAL>;IGNORE +<e> <E>;<NONE>;<SMALL>;IGNORE +<F> <F>;<NONE>;<CAPITAL>;IGNORE +<f> <F>;<NONE>;<SMALL>;IGNORE +<G> <G>;<NONE>;<CAPITAL>;IGNORE +<g> <G>;<NONE>;<SMALL>;IGNORE +<H> <H>;<NONE>;<CAPITAL>;IGNORE +<h> <H>;<NONE>;<SMALL>;IGNORE +<I> <I>;<NONE>;<CAPITAL>;IGNORE +<i> <I>;<NONE>;<SMALL>;IGNORE +<J> <J>;<NONE>;<CAPITAL>;IGNORE +<j> <J>;<NONE>;<SMALL>;IGNORE +<K> <K>;<NONE>;<CAPITAL>;IGNORE +<k> <K>;<NONE>;<SMALL>;IGNORE +<L> <L>;<NONE>;<CAPITAL>;IGNORE +<l> <L>;<NONE>;<SMALL>;IGNORE +<M> <M>;<NONE>;<CAPITAL>;IGNORE +<m> <M>;<NONE>;<SMALL>;IGNORE +<N> <N>;<NONE>;<CAPITAL>;IGNORE +<n> <N>;<NONE>;<SMALL>;IGNORE +<O> <O>;<NONE>;<CAPITAL>;IGNORE +<o> <O>;<NONE>;<SMALL>;IGNORE +<P> <P>;<NONE>;<CAPITAL>;IGNORE +<p> <P>;<NONE>;<SMALL>;IGNORE +<Q> <Q>;<NONE>;<CAPITAL>;IGNORE +<q> <Q>;<NONE>;<SMALL>;IGNORE +<R> <R>;<NONE>;<CAPITAL>;IGNORE +<r> <R>;<NONE>;<SMALL>;IGNORE +<S> <S>;<NONE>;<CAPITAL>;IGNORE +<s> <S>;<NONE>;<SMALL>;IGNORE +<T> <T>;<NONE>;<CAPITAL>;IGNORE +<t> <T>;<NONE>;<SMALL>;IGNORE +<U> <U>;<NONE>;<CAPITAL>;IGNORE +<u> <U>;<NONE>;<SMALL>;IGNORE +<V> <V>;<NONE>;<CAPITAL>;IGNORE +<v> <V>;<NONE>;<SMALL>;IGNORE +<W> <W>;<NONE>;<CAPITAL>;IGNORE +<w> <W>;<NONE>;<SMALL>;IGNORE +<X> <X>;<NONE>;<CAPITAL>;IGNORE +<x> <X>;<NONE>;<SMALL>;IGNORE +<Y> <Y>;<NONE>;<CAPITAL>;IGNORE +<y> <Y>;<NONE>;<SMALL>;IGNORE +<Z> <Z>;<NONE>;<CAPITAL>;IGNORE +<z> <Z>;<NONE>;<SMALL>;IGNORE + +% Persian digits have equal weight to Latin ones, +% but sorted after them if the strings are equal. + +<0f> <0>;<0f>;IGNORE;IGNORE +<1f> <1>;<1f>;IGNORE;IGNORE +<2f> <2>;<2f>;IGNORE;IGNORE +<3f> <3>;<3f>;IGNORE;IGNORE +<4f> <4>;<4f>;IGNORE;IGNORE +<5f> <5>;<5f>;IGNORE;IGNORE +<6f> <6>;<6f>;IGNORE;IGNORE +<7f> <7>;<7f>;IGNORE;IGNORE +<8f> <8>;<8f>;IGNORE;IGNORE +<9f> <9>;<9f>;IGNORE;IGNORE + +<,+> IGNORE;IGNORE;IGNORE;<,+> +<;+> IGNORE;IGNORE;IGNORE;<;+> +<?+> IGNORE;IGNORE;IGNORE;<?+> +<%+> IGNORE;IGNORE;IGNORE;<%+> + +% I am not sure where should I put the next two characters. +<.f> IGNORE;IGNORE;IGNORE;<.f> +<,f> IGNORE;IGNORE;IGNORE;<,f> + +% Rial sign is considered as a sequence of its composing letters. +% If equal, it comes first. + +<Rl> "<r+><yf><a+><l+>";"<NONE><NONE><NONE><NONE>";IGNORE;IGNORE + +<aM> <aM>;<aM>;IGNORE;IGNORE +<a+> <a+>;<a+>;IGNORE;IGNORE +<H'> <H'>;<H'>;IGNORE;IGNORE +<aH> <H'>;<aH>;IGNORE;IGNORE +<wH> <H'>;<wH>;IGNORE;IGNORE +<ah> <H'>;<ah>;IGNORE;IGNORE +<yH> <H'>;<yH>;IGNORE;IGNORE +<b+> <b+>;<b+>;IGNORE;IGNORE +<p+> <p+>;<p+>;IGNORE;IGNORE +<t+> <t+>;<t+>;IGNORE;IGNORE +<tk> <tk>;<tk>;IGNORE;IGNORE +<g+> <g+>;<g+>;IGNORE;IGNORE +<tc> <tc>;<tc>;IGNORE;IGNORE +<hk> <hk>;<hk>;IGNORE;IGNORE +<x+> <x+>;<x+>;IGNORE;IGNORE +<d+> <d+>;<d+>;IGNORE;IGNORE +<dk> <dk>;<dk>;IGNORE;IGNORE +<r+> <r+>;<r+>;IGNORE;IGNORE +<z+> <z+>;<z+>;IGNORE;IGNORE +<zj> <zj>;<zj>;IGNORE;IGNORE +<s+> <s+>;<s+>;IGNORE;IGNORE +<sn> <sn>;<sn>;IGNORE;IGNORE +<c+> <c+>;<c+>;IGNORE;IGNORE +<dd> <dd>;<dd>;IGNORE;IGNORE +<tj> <tj>;<tj>;IGNORE;IGNORE +<zH> <zH>;<zH>;IGNORE;IGNORE +<e+> <e+>;<e+>;IGNORE;IGNORE +<i+> <i+>;<i+>;IGNORE;IGNORE +<f+> <f+>;<f+>;IGNORE;IGNORE +<q+> <q+>;<q+>;IGNORE;IGNORE +<kf> <kf>;<kf>;IGNORE;IGNORE +<k+> <kf>;<k+>;IGNORE;IGNORE +<gf> <gf>;<gf>;IGNORE;IGNORE +<l+> <l+>;<l+>;IGNORE;IGNORE +<m+> <m+>;<m+>;IGNORE;IGNORE +<n+> <n+>;<n+>;IGNORE;IGNORE +<w+> <w+>;<w+>;IGNORE;IGNORE +<h+> <h+>;<h+>;IGNORE;IGNORE +<tm> <h+>;<tm>;IGNORE;IGNORE +<yf> <yf>;<yf>;IGNORE;IGNORE +<y+> <yf>;<y+>;IGNORE;IGNORE + +<//+> IGNORE;IGNORE;<//+>;IGNORE +<1+> IGNORE;IGNORE;<1+>;IGNORE +<'+> IGNORE;IGNORE;<'+>;IGNORE +<:+> IGNORE;IGNORE;<:+>;IGNORE +<=+> IGNORE;IGNORE;<=+>;IGNORE +<"+> IGNORE;IGNORE;<"+>;IGNORE +<3+> IGNORE;IGNORE;<3+>;IGNORE +<0+> IGNORE;IGNORE;<0+>;IGNORE + +order_end + +END LC_COLLATE + +LC_MONETARY +int_curr_symbol "<I><R><R><SP>" +currency_symbol "<Rl>" +mon_decimal_point "<.f>" +mon_thousands_sep "<,f>" +mon_grouping 3 +positive_sign "" +negative_sign "<-f>" +int_frac_digits 0 +frac_digits 0 +% +% The POSIX standard does not allow different formats for +% displaying currency as local and international. +% When they were different, following order specifies +% the conventions of local currency display. +% +% The following positioning is based on ISIRI-3342 BIDI, and should not be +% used when using Unicode BIDI. +% +p_cs_precedes 0 +p_sep_by_space 2 +n_cs_precedes 0 +n_sep_by_space 2 +p_sign_posn 3 +n_sign_posn 3 +END LC_MONETARY + +LC_NUMERIC +decimal_point "<.f>" +thousands_sep "<,f>" +grouping 3 +END LC_NUMERIC + +LC_TIME +abday "<yf><.+>";"<d+><.+>";"<s+><.+>";/ + "<tc><.+>";"<p+><.+>";"<g+><.+>";/ + "<sn><.+>" +% +day "<yf><kf><zwnj><sn><n+><b+><h+>";/ + "<d+><w+><sn><n+><b+><h+>";/ + "<s+><h+><zwnj><sn><n+><b+><h+>";/ + "<tc><h+><a+><r+><sn><n+><b+><h+>";/ + "<p+><n+><g+><zwnj><sn><n+><b+><h+>";/ + "<g+><m+><e+><h+>";/ + "<sn><n+><b+><h+>" +% +mon "<zj><a+><n+><w+><yf><h+>";/ + "<f+><w+><r+><w+><yf><h+>";/ + "<m+><a+><r+><s+>";/ + "<aM><w+><r+><yf><l+>";/ + "<m+><h+>";/ + "<zj><w+><yH><n+>";/ + "<zj><w+><yH><yf><h+>";/ + "<a+><w+><t+>";/ + "<s+><p+><t+><a+><m+><b+><r+>";/ + "<a+><k+><t+><b+><r+>";/ + "<n+><w+><a+><m+><b+><r+>";/ + "<d+><s+><a+><m+><b+><r+>" +% +abmon "<zj><a+><n+>";"<f+><w+><r+>";/ + "<m+><a+><r+>";"<aM><w+><r+>";/ + "<m+><++><h+>";"<zj><w+><n+>";/ + "<zj><w+><yf>";"<a+><w+><t+>";/ + "<s+><p+><t+>";"<a+><k+><t+>";/ + "<n+><w+><a+>";"<d+><s+><a+>" +% +am_pm "<c+><b+><hk>";"<e+><c+><r+>" +% +% The following date and time formats are based on ISIRI-3342 BIDI, and +% should not be used when using Unicode BIDI. +% +d_t_fmt "<%><S><:f><%><M><:f><%><I><SP+><%><p><SP+>/ +<%><A><SP+><%><e><SP+><%><B><SP+><%><Y>" +% +d_fmt "<%><d><//f><%><m><//f><%><Y>" +% +t_fmt "<%><S><:f><%><M><:f><%><H>" +% +t_fmt_ampm "<%><S><:f><%><M><:f><%><I><SP+><%><p>" +% +END LC_TIME + +% <b+> for <b+><l+><h+>, <aM> for <am><r+><yf>, +% <x+> for <x+><yf><r+>, <n+> for <n+><h+>. +% <f> and <o> are placeholders for <b+> and <x+> +% in Persian standard keyboard (revised ISIRI-2901). +LC_MESSAGES +yesexpr "<<(><y><Y><b+><aM><f><)/>><.><*>" +noexpr "<<(><n><N><x+><n+><o><)/>><.><*>" +END LC_MESSAGES diff -durpN glibc-2.1.2/localedata/locales/gl_ES glibc-2.1.3/localedata/locales/gl_ES --- glibc-2.1.2/localedata/locales/gl_ES Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/locales/gl_ES Tue Feb 15 10:59:24 2000 @@ -0,0 +1,96 @@ +comment_char % +escape_char / +repertoiremap mnemonic.ds +% +% Galician Language Locale for Spain +% Source: GPUL +% Address: Facultade de Inform�tica +% Campus de Elvin~a, s/n +% 15071 A Corun~a, Spain +% Contact: Jacobo Tarrio +% Email: gpul@ceu.fi.udc.es +% Language: gl +% Territory: ES +% Revision: 1.0 +% Date: 1999-07-07 +% Application: general +% Users: general +% Repertoiremap: mnemonic.ds +% Charset: ISO-8859-1 +% Distribution and use is free, also +% for commercial purposes. +% Based in the es_ES Locale + +LC_COLLATE +copy "es_ES" +END LC_COLLATE + +LC_CTYPE +copy "es_ES" +END LC_CTYPE + +LC_MESSAGES +yesexpr "<'/>><<(><s><S><y><Y><)/>><.><*>" +noexpr "<'/>><<(><n><N><)/>><.><*>" +END LC_MESSAGES + +LC_MONETARY +int_curr_symbol "<E><S><P><SP>" +currency_symbol "<P><t><a>" +mon_decimal_point "<,>" +mon_thousands_sep "<.>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<->" +int_frac_digits 0 +frac_digits 0 +p_cs_precedes 1 +p_sep_by_space 1 +n_cs_precedes 1 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +decimal_point "<,>" +thousands_sep "" +grouping 0;0 +END LC_NUMERIC + +LC_TIME +abday "<D><o><m>";"<L><u><n>";/ + "<M><a><r>";"<M><e'><r>";/ + "<X><o><v>";"<V><e><n>";/ + "<S><a'><b>" +day "<D><o><m><i><n><g><o>";/ + "<L><u><n><s>";/ + "<M><a><r><t><e><s>";/ + "<M><e'><r><c><o><r><e><s>";/ + "<X><o><v><e><s>";/ + "<V><e><n><r><e><s>";/ + "<S><a'><b><a><d><o>" +abmon "<X><a><n>";"<F><e><b>";/ + "<M><a><r>";"<A><b><r>";/ + "<M><a><i>";"<X><u><n?>";/ + "<X><u><l>";"<A><g><o>";/ + "<S><e><t>";"<O><u><t>";/ + "<N><o><v>";"<D><e><c>" +mon "<X><a><n><e><i><r><o>";/ + "<F><e><b><r><e><i><r><o>";/ + "<M><a><r><z><o>";/ + "<A><b><r><i><l>";/ + "<M><a><i><o>";/ + "<X><u><n?><o>";/ + "<X><u><l><l><o>";/ + "<A><g><o><s><t><o>";/ + "<S><e><t><e><m><b><r><o>";/ + "<O><u><t><u><b><r><o>";/ + "<N><o><v><e><m><b><r><o>";/ + "<D><e><c><e><m><b><r><o>" +d_t_fmt "<%><a><SP><%><d><SP><%><b><SP><%><Y><SP><%><T><SP><%><Z>" +d_fmt "<%><d><//><%><m><//><%><y>" +t_fmt "<%><T>" +am_pm "";"" +t_fmt_ampm "" +END LC_TIME diff -durpN glibc-2.1.2/localedata/locales/id_ID glibc-2.1.3/localedata/locales/id_ID --- glibc-2.1.2/localedata/locales/id_ID Mon Apr 12 16:40:27 1999 +++ glibc-2.1.3/localedata/locales/id_ID Mon Sep 13 10:29:07 1999 @@ -1,5 +1,6 @@ escape_char / comment_char % +repertoiremap mnemonic.ds % Indonesian language locale for Indonesia % Source: @@ -10,8 +11,8 @@ comment_char % % Fax: % Language: id % Territory: ID -% Revision: 0.3 -% Date: 1999-04-10 +% Revision: 0.5 +% Date: 1999-09-08 % Application: general % Users: general % Repertoiremap: @@ -79,7 +80,7 @@ mon "<J><a><n><u><a><r><i>";/ "<A><g><u><s><t><u><s>";/ "<S><e><p><t><e><m><b><e><r>";/ "<O><k><t><o><b><e><r>";/ - "<N><o><p><e><m><b><e><r>";/ + "<N><o><v><e><m><b><e><r>";/ "<D><e><s><e><m><b><e><r>" d_t_fmt "<%><a><SP><%><d><SP><%><b><SP><%><Y><SP><%><r><SP><%><Z>" d_fmt "<%><d><//><%><m><//><%><y>" diff -durpN glibc-2.1.2/localedata/locales/mk_MK glibc-2.1.3/localedata/locales/mk_MK --- glibc-2.1.2/localedata/locales/mk_MK Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/localedata/locales/mk_MK Thu Feb 24 18:35:53 2000 @@ -0,0 +1,3057 @@ +comment_char % +escape_char / +% Macedonian Language Locale for Macedonia +% Source: +% Address: +% Contact: Damjan Georgievski +% Email: gdamjan@freemail.org.mk +% Tel: +% Fax: none +% Language: mk +% Territory: MK +% Revision: 0.2 +% Date: 1999-12-22 +% Application: general +% Users: general +% Repertoiremap: +% Charset: ISO-8859-5 +% Distribution and use is free, also +% for commercial purposes. +% +% Based on the rusian locale, +% sligtly changed to reflect macedonian language. +% To compile: localedef -i mk_MK -f ISO-8859-5 mk_MK + +LC_COLLATE +% Base collation scheme: 1994-03-22 + +% Ordering algorithm: +% 1. Spaces and hyphen (but not soft +% hyphen) before punctuation +% characters, punctuation characters +% before numbers, +% numbers before letters. +% 2. Letters with diacritical marks are +% members of equivalence classes +% 3. A distinction is made with regards +% to case as noted below. +% 4. Special characters are ignored +% when comparing letters, but then +% they are considered +% 5. The alphabets are sorted in order +% of first appearance in ISO 10646: +% Latin, Greek, Cyrillic, etc. +% +% According to Greek specifications, +% the steps 2. and 3. above are reversed +% for the Greek script + +% collating symbols + +% The collating symbol naming is +% mostly taken from ISO 10646-1, +% for example the case and accent +% names are from this standard. + +collating-symbol <CAPITAL> +collating-symbol <CAPITAL-SMALL> +collating-symbol <SMALL-CAPITAL> +collating-symbol <SMALL> + +% <CAPITAL-SMALL> and <SMALL-CAPITAL> +% are for cases like Danish <A><a> +% and Spanish <C><h> being treated +% as one letter. + +% The <a8> ...... <z8> collating +% symbols have defined weights as +% the last character in a group of +% Latin letters. They are used +% to specify deltas by locales using +% a locale as the default ordering +% and by "replace-after" statements +% specifying the changed placement +% in an ordering of a character. + +collating-symbol <a8> +collating-symbol <b8> +collating-symbol <c8> +collating-symbol <d8> +collating-symbol <e8> +collating-symbol <f8> +collating-symbol <g8> +collating-symbol <h8> +collating-symbol <i8> +collating-symbol <j8> +collating-symbol <k8> +collating-symbol <l8> +collating-symbol <m8> +collating-symbol <n8> +collating-symbol <o8> +collating-symbol <p8> +collating-symbol <q8> +collating-symbol <r8> +collating-symbol <s8> +collating-symbol <t8> +collating-symbol <u8> +collating-symbol <v8> +collating-symbol <w8> +collating-symbol <x8> +collating-symbol <y8> +collating-symbol <z8> + +collating-symbol <NONE> +collating-symbol <ACUTE> +collating-symbol <ACUTE+DOT> +collating-symbol <GRAVE> +collating-symbol <DOUBLE-GRAVE> +collating-symbol <BREVE> +collating-symbol <BREVE+ACUTE> +collating-symbol <BREVE+GRAVE> +collating-symbol <BREVE+MACRON> +collating-symbol <BREVE+HOOK> +collating-symbol <BREVE+TILDE> +collating-symbol <BREVE+DOT-BELOW> +collating-symbol <BREVE-BELOW> +collating-symbol <INVERTED-BREVE> +collating-symbol <CIRCUMFLEX> +collating-symbol <CIRCUMFLEX+ACUTE> +collating-symbol <CIRCUMFLEX+GRAVE> +collating-symbol <CIRCUMFLEX+HOOK> +collating-symbol <CIRCUMFLEX+TILDE> +collating-symbol <CIRCUMFLEX+DOT-BELOW> +collating-symbol <CARON> +collating-symbol <CARON+DIAERESIS> +collating-symbol <CARON+DOT> +collating-symbol <RING> +collating-symbol <RING+ACUTE> +collating-symbol <RING-BELOW> +collating-symbol <DIAERESIS> +collating-symbol <DIAERESIS+MACRON> +collating-symbol <DIAERESIS+ACUTE> +collating-symbol <DIAERESIS+GRAVE> +collating-symbol <DIAERESIS+CARON> +collating-symbol <DOUBLE-ACUTE> +collating-symbol <HOOK> +collating-symbol <TILDE> +collating-symbol <TILDE+ACUTE> +collating-symbol <TILDE+DIAERESIS> +collating-symbol <TILDE-BELOW> +collating-symbol <DOT> +collating-symbol <DOT-BELOW> +collating-symbol <DOT+DOT-BELOW> +collating-symbol <STROKE> +collating-symbol <STROKE+ACUTE> +collating-symbol <CEDILLA> +collating-symbol <CEDILLA+ACUTE> +collating-symbol <CEDILLA+GRAVE> +collating-symbol <CEDILLA+BREVE> +collating-symbol <OGONEK> +collating-symbol <OGONEK+MACRON> +collating-symbol <MACRON> +collating-symbol <MACRON+ACUTE> +collating-symbol <MACRON+GRAVE> +collating-symbol <MACRON+DIAERESIS> +collating-symbol <MACRON+DIAERESIS-BELOW> +collating-symbol <MACRON+DOT> +collating-symbol <MACRON+DOT-BELOW> +collating-symbol <MACRON+CIRCUMFLEX> +collating-symbol <LINE-BELOW> +collating-symbol <HORN> +collating-symbol <HORN+ACUTE> +collating-symbol <HORN+GRAVE> +collating-symbol <HORN+HOOK> +collating-symbol <HORN+TILDE> +collating-symbol <HORN+DOT-BELOW> +collating-symbol <PRECEDED-BY-APOSTROPHE> +collating-symbol <GREEK> +collating-symbol <TONOS> +collating-symbol <DIALYTICA> +collating-symbol <DIALYTICA+TONOS> +collating-symbol <CYRILLIC> +collating-symbol <HIRAGANA> +collating-symbol <KATAKANA> +collating-symbol <SPECIAL> + +% letter;accent;case;specials + +order_start forward;backward/ + ;forward;position + +% <CAPITAL> or <SMALL> letters first: + +% <CAPITAL> before <SMALL> letter. +<CAPITAL> +<CAPITAL-SMALL> +<SMALL-CAPITAL> +<SMALL> + +% Accents: + +<NONE> +<ACUTE> +<ACUTE+DOT> +<GRAVE> +<DOUBLE-GRAVE> +<BREVE> +<BREVE+ACUTE> +<BREVE+GRAVE> +<BREVE+MACRON> +<BREVE+HOOK> +<BREVE+TILDE> +<BREVE+DOT-BELOW> +<BREVE-BELOW> +<INVERTED-BREVE> +<CIRCUMFLEX> +<CIRCUMFLEX+ACUTE> +<CIRCUMFLEX+GRAVE> +<CIRCUMFLEX+HOOK> +<CIRCUMFLEX+TILDE> +<CIRCUMFLEX+DOT-BELOW> +<CARON> +<CARON+DIAERESIS> +<CARON+DOT> +<RING> +<RING+ACUTE> +<RING-BELOW> +<DIAERESIS> +<DIAERESIS+MACRON> +<DIAERESIS+ACUTE> +<DIAERESIS+GRAVE> +<DIAERESIS+CARON> +<DOUBLE-ACUTE> +<HOOK> +<TILDE> +<TILDE+ACUTE> +<TILDE+DIAERESIS> +<TILDE-BELOW> +<DOT> +<DOT-BELOW> +<DOT+DOT-BELOW> +<STROKE> +<STROKE+ACUTE> +<CEDILLA> +<CEDILLA+ACUTE> +<CEDILLA+GRAVE> +<CEDILLA+BREVE> +<OGONEK> +<OGONEK+MACRON> +<MACRON> +<MACRON+ACUTE> +<MACRON+GRAVE> +<MACRON+DIAERESIS> +<MACRON+DIAERESIS-BELOW> +<MACRON+DOT> +<MACRON+DOT-BELOW> +<MACRON+CIRCUMFLEX> +<LINE-BELOW> +<HORN> +<HORN+ACUTE> +<HORN+GRAVE> +<HORN+HOOK> +<HORN+TILDE> +<HORN+DOT-BELOW> +<PRECEDED-BY-APOSTROPHE> +<GREEK> +<TONOS> +<DIALYTICA> +<DIALYTICA+TONOS> +<CYRILLIC> +<HIRAGANA> +<KATAKANA> +<SPECIAL> + +<NS> <NS>;<NS>;<NS>;IGNORE +<SP> IGNORE;IGNORE;IGNORE;<SP> +<HT> IGNORE;IGNORE;IGNORE;<HT> +<VT> IGNORE;IGNORE;IGNORE;<VT> +<CR> IGNORE;IGNORE;IGNORE;<CR> +<LF> IGNORE;IGNORE;IGNORE;<LF> +<FF> IGNORE;IGNORE;IGNORE;<FF> +<_> IGNORE;IGNORE;IGNORE;<_> +<'m> IGNORE;IGNORE;IGNORE;<'m> +<--> IGNORE;IGNORE;IGNORE;<--> +<-> IGNORE;IGNORE;IGNORE;<-> +<,> IGNORE;IGNORE;IGNORE;<,> +<;> IGNORE;IGNORE;IGNORE;<;> +<:> IGNORE;IGNORE;IGNORE;<:> +<!> IGNORE;IGNORE;IGNORE;<!> +<!I> IGNORE;IGNORE;IGNORE;<!I> +<?> IGNORE;IGNORE;IGNORE;<?> +<?I> IGNORE;IGNORE;IGNORE;<?I> +<//> IGNORE;IGNORE;IGNORE;<//> +<.> IGNORE;IGNORE;IGNORE;<.> +<''> IGNORE;IGNORE;IGNORE;<''> +<'!> IGNORE;IGNORE;IGNORE;<'!> +<'/>> IGNORE;IGNORE;IGNORE;<'/>> +<':> IGNORE;IGNORE;IGNORE;<':> +<'?> IGNORE;IGNORE;IGNORE;<'?> +<.M> IGNORE;IGNORE;IGNORE;<.M> +<',> IGNORE;IGNORE;IGNORE;<',> +<'> IGNORE;IGNORE;IGNORE;<'> +<'6> IGNORE;IGNORE;IGNORE;<'6> +<'9> IGNORE;IGNORE;IGNORE;<'9> +<"> IGNORE;IGNORE;IGNORE;<"> +<"6> IGNORE;IGNORE;IGNORE;<"6> +<"9> IGNORE;IGNORE;IGNORE;<"9> +<<<> IGNORE;IGNORE;IGNORE;<<<> +</>/>> IGNORE;IGNORE;IGNORE;</>/>> +<(> IGNORE;IGNORE;IGNORE;<(> +<(S> IGNORE;IGNORE;IGNORE;<(S> +<)> IGNORE;IGNORE;IGNORE;<)> +<)S> IGNORE;IGNORE;IGNORE;<)S> +<<(> IGNORE;IGNORE;IGNORE;<<(> +<)/>> IGNORE;IGNORE;IGNORE;<)/>> +<(!> IGNORE;IGNORE;IGNORE;<(!> +<!)> IGNORE;IGNORE;IGNORE;<!)> +<SE> IGNORE;IGNORE;IGNORE;<SE> +<PI> IGNORE;IGNORE;IGNORE;<PI> +<Co> IGNORE;IGNORE;IGNORE;<Co> +<Rg> IGNORE;IGNORE;IGNORE;<Rg> +<At> IGNORE;IGNORE;IGNORE;<At> +<Cu> IGNORE;IGNORE;IGNORE;<Cu> +<Ct> IGNORE;IGNORE;IGNORE;<Ct> +<DO> IGNORE;IGNORE;IGNORE;<DO> +<Pd> IGNORE;IGNORE;IGNORE;<Pd> +<Ye> IGNORE;IGNORE;IGNORE;<Ye> +<*> IGNORE;IGNORE;IGNORE;<*> +<////> IGNORE;IGNORE;IGNORE;<////> +<&> IGNORE;IGNORE;IGNORE;<&> +<Nb> IGNORE;IGNORE;IGNORE;<Nb> +<%> IGNORE;IGNORE;IGNORE;<%> +<-S> IGNORE;IGNORE;IGNORE;<-S> +<+> IGNORE;IGNORE;IGNORE;<+> +<+S> IGNORE;IGNORE;IGNORE;<+S> +<+-> IGNORE;IGNORE;IGNORE;<+-> +<-:> IGNORE;IGNORE;IGNORE;<-:> +<*X> IGNORE;IGNORE;IGNORE;<*X> +<!=> IGNORE;IGNORE;IGNORE;<!=> +<<> IGNORE;IGNORE;IGNORE;<<> +<=<> IGNORE;IGNORE;IGNORE;<=<> +<=> IGNORE;IGNORE;IGNORE;<=> +</>=> IGNORE;IGNORE;IGNORE;</>=> +</>> IGNORE;IGNORE;IGNORE;</>> +<NO> IGNORE;IGNORE;IGNORE;<NO> +<!!> IGNORE;IGNORE;IGNORE;<!!> +<BB> IGNORE;IGNORE;IGNORE;<BB> +<DG> IGNORE;IGNORE;IGNORE;<DG> +<My> IGNORE;IGNORE;IGNORE;<My> +<'<> IGNORE;IGNORE;IGNORE;<'<> +<'(> IGNORE;IGNORE;IGNORE;<'(> +<'.> IGNORE;IGNORE;IGNORE;<'.> +<'0> IGNORE;IGNORE;IGNORE;<'0> +<';> IGNORE;IGNORE;IGNORE;<';> +<1?> IGNORE;IGNORE;IGNORE;<1?> +<'"> IGNORE;IGNORE;IGNORE;<'"> +<'G> IGNORE;IGNORE;IGNORE;<'G> +<,G> IGNORE;IGNORE;IGNORE;<,G> +<j3> IGNORE;IGNORE;IGNORE;<j3> +<?%> IGNORE;IGNORE;IGNORE;<?%> +<'*> IGNORE;IGNORE;IGNORE;<'*> +<'%> IGNORE;IGNORE;IGNORE;<'%> +<.*> IGNORE;IGNORE;IGNORE;<.*> +<b3> IGNORE;IGNORE;IGNORE;<b3> +<,,> IGNORE;IGNORE;IGNORE;<,,> +<?*> IGNORE;IGNORE;IGNORE;<?*> +<?:> IGNORE;IGNORE;IGNORE;<?:> +<,!> IGNORE;IGNORE;IGNORE;<,!> +<,'> IGNORE;IGNORE;IGNORE;<,'> +<?,> IGNORE;IGNORE;IGNORE;<?,> +<;!> IGNORE;IGNORE;IGNORE;<;!> +<;'> IGNORE;IGNORE;IGNORE;<;'> +<?;> IGNORE;IGNORE;IGNORE;<?;> +<!:> IGNORE;IGNORE;IGNORE;<!:> +<!*> IGNORE;IGNORE;IGNORE;<!*> +<;;> IGNORE;IGNORE;IGNORE;<;;> +<1N> IGNORE;IGNORE;IGNORE;<1N> +<1M> IGNORE;IGNORE;IGNORE;<1M> +<3M> IGNORE;IGNORE;IGNORE;<3M> +<4M> IGNORE;IGNORE;IGNORE;<4M> +<6M> IGNORE;IGNORE;IGNORE;<6M> +<LR> IGNORE;IGNORE;IGNORE;<LR> +<RL> IGNORE;IGNORE;IGNORE;<RL> +<1T> IGNORE;IGNORE;IGNORE;<1T> +<1H> IGNORE;IGNORE;IGNORE;<1H> +<-1> IGNORE;IGNORE;IGNORE;<-1> +<-N> IGNORE;IGNORE;IGNORE;<-N> +<-M> IGNORE;IGNORE;IGNORE;<-M> +<-3> IGNORE;IGNORE;IGNORE;<-3> +<!2> IGNORE;IGNORE;IGNORE;<!2> +<=2> IGNORE;IGNORE;IGNORE;<=2> +<.9> IGNORE;IGNORE;IGNORE;<.9> +<9'> IGNORE;IGNORE;IGNORE;<9'> +<:9> IGNORE;IGNORE;IGNORE;<:9> +<9"> IGNORE;IGNORE;IGNORE;<9"> +<//-> IGNORE;IGNORE;IGNORE;<//-> +<//=> IGNORE;IGNORE;IGNORE;<//=> +<Sb> IGNORE;IGNORE;IGNORE;<Sb> +<..> IGNORE;IGNORE;IGNORE;<..> +<.3> IGNORE;IGNORE;IGNORE;<.3> +<%0> IGNORE;IGNORE;IGNORE;<%0> +<1'> IGNORE;IGNORE;IGNORE;<1'> +<2'> IGNORE;IGNORE;IGNORE;<2'> +<3'> IGNORE;IGNORE;IGNORE;<3'> +<1"> IGNORE;IGNORE;IGNORE;<1"> +<2"> IGNORE;IGNORE;IGNORE;<2"> +<3"> IGNORE;IGNORE;IGNORE;<3"> +<Ca> IGNORE;IGNORE;IGNORE;<Ca> +<<1> IGNORE;IGNORE;IGNORE;<<1> +</>1> IGNORE;IGNORE;IGNORE;</>1> +<:X> IGNORE;IGNORE;IGNORE;<:X> +<!*2> IGNORE;IGNORE;IGNORE;<!*2> +<'-> IGNORE;IGNORE;IGNORE;<'-> +<=S> IGNORE;IGNORE;IGNORE;<=S> +<0s> IGNORE;IGNORE;IGNORE;<0s> +<1s> IGNORE;IGNORE;IGNORE;<1s> +<2s> IGNORE;IGNORE;IGNORE;<2s> +<3s> IGNORE;IGNORE;IGNORE;<3s> +<4s> IGNORE;IGNORE;IGNORE;<4s> +<5s> IGNORE;IGNORE;IGNORE;<5s> +<6s> IGNORE;IGNORE;IGNORE;<6s> +<7s> IGNORE;IGNORE;IGNORE;<7s> +<8s> IGNORE;IGNORE;IGNORE;<8s> +<9s> IGNORE;IGNORE;IGNORE;<9s> +<+s> IGNORE;IGNORE;IGNORE;<+s> +<-s> IGNORE;IGNORE;IGNORE;<-s> +<=s> IGNORE;IGNORE;IGNORE;<=s> +<(s> IGNORE;IGNORE;IGNORE;<(s> +<)s> IGNORE;IGNORE;IGNORE;<)s> +<Ff> IGNORE;IGNORE;IGNORE;<Ff> +<Li> IGNORE;IGNORE;IGNORE;<Li> +<Pt> IGNORE;IGNORE;IGNORE;<Pt> +<W=> IGNORE;IGNORE;IGNORE;<W=> +<oC> IGNORE;IGNORE;IGNORE;<oC> +<co> IGNORE;IGNORE;IGNORE;<co> +<oF> IGNORE;IGNORE;IGNORE;<oF> +<N0> IGNORE;IGNORE;IGNORE;<N0> +<PO> IGNORE;IGNORE;IGNORE;<PO> +<Rx> IGNORE;IGNORE;IGNORE;<Rx> +<SM> IGNORE;IGNORE;IGNORE;<SM> +<TM> IGNORE;IGNORE;IGNORE;<TM> +<Om> IGNORE;IGNORE;IGNORE;<Om> +<AO> IGNORE;IGNORE;IGNORE;<AO> +<13> IGNORE;IGNORE;IGNORE;<13> +<23> IGNORE;IGNORE;IGNORE;<23> +<15> IGNORE;IGNORE;IGNORE;<15> +<25> IGNORE;IGNORE;IGNORE;<25> +<35> IGNORE;IGNORE;IGNORE;<35> +<45> IGNORE;IGNORE;IGNORE;<45> +<16> IGNORE;IGNORE;IGNORE;<16> +<56> IGNORE;IGNORE;IGNORE;<56> +<1R> IGNORE;IGNORE;IGNORE;<1R> +<2R> IGNORE;IGNORE;IGNORE;<2R> +<3R> IGNORE;IGNORE;IGNORE;<3R> +<4R> IGNORE;IGNORE;IGNORE;<4R> +<5R> IGNORE;IGNORE;IGNORE;<5R> +<6R> IGNORE;IGNORE;IGNORE;<6R> +<7R> IGNORE;IGNORE;IGNORE;<7R> +<8R> IGNORE;IGNORE;IGNORE;<8R> +<9R> IGNORE;IGNORE;IGNORE;<9R> +<aR> IGNORE;IGNORE;IGNORE;<aR> +<bR> IGNORE;IGNORE;IGNORE;<bR> +<cR> IGNORE;IGNORE;IGNORE;<cR> +<50R> IGNORE;IGNORE;IGNORE;<50R> +<100R> IGNORE;IGNORE;IGNORE;<100R> +<500R> IGNORE;IGNORE;IGNORE;<500R> +<1000R> IGNORE;IGNORE;IGNORE;<1000R> +<1r> IGNORE;IGNORE;IGNORE;<1r> +<2r> IGNORE;IGNORE;IGNORE;<2r> +<3r> IGNORE;IGNORE;IGNORE;<3r> +<4r> IGNORE;IGNORE;IGNORE;<4r> +<5r> IGNORE;IGNORE;IGNORE;<5r> +<6r> IGNORE;IGNORE;IGNORE;<6r> +<7r> IGNORE;IGNORE;IGNORE;<7r> +<8r> IGNORE;IGNORE;IGNORE;<8r> +<9r> IGNORE;IGNORE;IGNORE;<9r> +<ar> IGNORE;IGNORE;IGNORE;<ar> +<br> IGNORE;IGNORE;IGNORE;<br> +<cr> IGNORE;IGNORE;IGNORE;<cr> +<50r> IGNORE;IGNORE;IGNORE;<50r> +<100r> IGNORE;IGNORE;IGNORE;<100r> +<500r> IGNORE;IGNORE;IGNORE;<500r> +<1000r> IGNORE;IGNORE;IGNORE;<1000r> +<1000RCD> IGNORE;IGNORE;IGNORE;<1000RCD> +<5000R> IGNORE;IGNORE;IGNORE;<5000R> +<10000R> IGNORE;IGNORE;IGNORE;<10000R> +<-!> IGNORE;IGNORE;IGNORE;<-!> +<-v> IGNORE;IGNORE;IGNORE;<-v> +<</>> IGNORE;IGNORE;IGNORE;<</>> +<UD> IGNORE;IGNORE;IGNORE;<UD> +<<!!> IGNORE;IGNORE;IGNORE;<<!!> +</////>> IGNORE;IGNORE;IGNORE;</////>> +<!!/>> IGNORE;IGNORE;IGNORE;<!!/>> +<<////> IGNORE;IGNORE;IGNORE;<<////> +<UD-> IGNORE;IGNORE;IGNORE;<UD-> +</>V> IGNORE;IGNORE;IGNORE;</>V> +<<=> IGNORE;IGNORE;IGNORE;<<=> +<=/>> IGNORE;IGNORE;IGNORE;<=/>> +<==> IGNORE;IGNORE;IGNORE;<==> +<FA> IGNORE;IGNORE;IGNORE;<FA> +<dP> IGNORE;IGNORE;IGNORE;<dP> +<TE> IGNORE;IGNORE;IGNORE;<TE> +<//0> IGNORE;IGNORE;IGNORE;<//0> +<DE> IGNORE;IGNORE;IGNORE;<DE> +<NB> IGNORE;IGNORE;IGNORE;<NB> +<(-> IGNORE;IGNORE;IGNORE;<(-> +<-)> IGNORE;IGNORE;IGNORE;<-)> +<*P> IGNORE;IGNORE;IGNORE;<*P> +<+Z> IGNORE;IGNORE;IGNORE;<+Z> +<-2> IGNORE;IGNORE;IGNORE;<-2> +<-+> IGNORE;IGNORE;IGNORE;<-+> +<.+> IGNORE;IGNORE;IGNORE;<.+> +<//f> IGNORE;IGNORE;IGNORE;<//f> +<*-> IGNORE;IGNORE;IGNORE;<*-> +<Ob> IGNORE;IGNORE;IGNORE;<Ob> +<sb> IGNORE;IGNORE;IGNORE;<sb> +<RT> IGNORE;IGNORE;IGNORE;<RT> +<0(> IGNORE;IGNORE;IGNORE;<0(> +<00> IGNORE;IGNORE;IGNORE;<00> +<-L> IGNORE;IGNORE;IGNORE;<-L> +<-V> IGNORE;IGNORE;IGNORE;<-V> +<PP> IGNORE;IGNORE;IGNORE;<PP> +<AN> IGNORE;IGNORE;IGNORE;<AN> +<OR> IGNORE;IGNORE;IGNORE;<OR> +<(U> IGNORE;IGNORE;IGNORE;<(U> +<)U> IGNORE;IGNORE;IGNORE;<)U> +<In> IGNORE;IGNORE;IGNORE;<In> +<DI> IGNORE;IGNORE;IGNORE;<DI> +<Io> IGNORE;IGNORE;IGNORE;<Io> +<.:> IGNORE;IGNORE;IGNORE;<.:> +<:.> IGNORE;IGNORE;IGNORE;<:.> +<:R> IGNORE;IGNORE;IGNORE;<:R> +<::> IGNORE;IGNORE;IGNORE;<::> +<?1> IGNORE;IGNORE;IGNORE;<?1> +<CG> IGNORE;IGNORE;IGNORE;<CG> +<?-> IGNORE;IGNORE;IGNORE;<?-> +<?=> IGNORE;IGNORE;IGNORE;<?=> +<?2> IGNORE;IGNORE;IGNORE;<?2> +<=?> IGNORE;IGNORE;IGNORE;<=?> +<HI> IGNORE;IGNORE;IGNORE;<HI> +<=3> IGNORE;IGNORE;IGNORE;<=3> +<<*> IGNORE;IGNORE;IGNORE;<<*> +<*/>> IGNORE;IGNORE;IGNORE;<*/>> +<!<> IGNORE;IGNORE;IGNORE;<!<> +<!/>> IGNORE;IGNORE;IGNORE;<!/>> +<(C> IGNORE;IGNORE;IGNORE;<(C> +<)C> IGNORE;IGNORE;IGNORE;<)C> +<(_> IGNORE;IGNORE;IGNORE;<(_> +<)_> IGNORE;IGNORE;IGNORE;<)_> +<0.> IGNORE;IGNORE;IGNORE;<0.> +<02> IGNORE;IGNORE;IGNORE;<02> +<-T> IGNORE;IGNORE;IGNORE;<-T> +<.P> IGNORE;IGNORE;IGNORE;<.P> +<:3> IGNORE;IGNORE;IGNORE;<:3> +<Eh> IGNORE;IGNORE;IGNORE;<Eh> +<<7> IGNORE;IGNORE;IGNORE;<<7> +</>7> IGNORE;IGNORE;IGNORE;</>7> +<7<> IGNORE;IGNORE;IGNORE;<7<> +<7/>> IGNORE;IGNORE;IGNORE;<7/>> +<NI> IGNORE;IGNORE;IGNORE;<NI> +<(A> IGNORE;IGNORE;IGNORE;<(A> +<TR> IGNORE;IGNORE;IGNORE;<TR> +<Iu> IGNORE;IGNORE;IGNORE;<Iu> +<Il> IGNORE;IGNORE;IGNORE;<Il> +<Vs> IGNORE;IGNORE;IGNORE;<Vs> +<1h> IGNORE;IGNORE;IGNORE;<1h> +<3h> IGNORE;IGNORE;IGNORE;<3h> +<2h> IGNORE;IGNORE;IGNORE;<2h> +<4h> IGNORE;IGNORE;IGNORE;<4h> +<1j> IGNORE;IGNORE;IGNORE;<1j> +<2j> IGNORE;IGNORE;IGNORE;<2j> +<3j> IGNORE;IGNORE;IGNORE;<3j> +<4j> IGNORE;IGNORE;IGNORE;<4j> +<1-o> IGNORE;IGNORE;IGNORE;<1-o> +<2-o> IGNORE;IGNORE;IGNORE;<2-o> +<3-o> IGNORE;IGNORE;IGNORE;<3-o> +<4-o> IGNORE;IGNORE;IGNORE;<4-o> +<5-o> IGNORE;IGNORE;IGNORE;<5-o> +<6-o> IGNORE;IGNORE;IGNORE;<6-o> +<7-o> IGNORE;IGNORE;IGNORE;<7-o> +<8-o> IGNORE;IGNORE;IGNORE;<8-o> +<9-o> IGNORE;IGNORE;IGNORE;<9-o> +<10-o> IGNORE;IGNORE;IGNORE;<10-o> +<11-o> IGNORE;IGNORE;IGNORE;<11-o> +<12-o> IGNORE;IGNORE;IGNORE;<12-o> +<13-o> IGNORE;IGNORE;IGNORE;<13-o> +<14-o> IGNORE;IGNORE;IGNORE;<14-o> +<15-o> IGNORE;IGNORE;IGNORE;<15-o> +<16-o> IGNORE;IGNORE;IGNORE;<16-o> +<17-o> IGNORE;IGNORE;IGNORE;<17-o> +<18-o> IGNORE;IGNORE;IGNORE;<18-o> +<19-o> IGNORE;IGNORE;IGNORE;<19-o> +<20-o> IGNORE;IGNORE;IGNORE;<20-o> +<(1)> IGNORE;IGNORE;IGNORE;<(1)> +<(2)> IGNORE;IGNORE;IGNORE;<(2)> +<(3)> IGNORE;IGNORE;IGNORE;<(3)> +<(4)> IGNORE;IGNORE;IGNORE;<(4)> +<(5)> IGNORE;IGNORE;IGNORE;<(5)> +<(6)> IGNORE;IGNORE;IGNORE;<(6)> +<(7)> IGNORE;IGNORE;IGNORE;<(7)> +<(8)> IGNORE;IGNORE;IGNORE;<(8)> +<(9)> IGNORE;IGNORE;IGNORE;<(9)> +<(10)> IGNORE;IGNORE;IGNORE;<(10)> +<(11)> IGNORE;IGNORE;IGNORE;<(11)> +<(12)> IGNORE;IGNORE;IGNORE;<(12)> +<(13)> IGNORE;IGNORE;IGNORE;<(13)> +<(14)> IGNORE;IGNORE;IGNORE;<(14)> +<(15)> IGNORE;IGNORE;IGNORE;<(15)> +<(16)> IGNORE;IGNORE;IGNORE;<(16)> +<(17)> IGNORE;IGNORE;IGNORE;<(17)> +<(18)> IGNORE;IGNORE;IGNORE;<(18)> +<(19)> IGNORE;IGNORE;IGNORE;<(19)> +<(20)> IGNORE;IGNORE;IGNORE;<(20)> +<1.> IGNORE;IGNORE;IGNORE;<1.> +<2.> IGNORE;IGNORE;IGNORE;<2.> +<3.> IGNORE;IGNORE;IGNORE;<3.> +<4.> IGNORE;IGNORE;IGNORE;<4.> +<5.> IGNORE;IGNORE;IGNORE;<5.> +<6.> IGNORE;IGNORE;IGNORE;<6.> +<7.> IGNORE;IGNORE;IGNORE;<7.> +<8.> IGNORE;IGNORE;IGNORE;<8.> +<9.> IGNORE;IGNORE;IGNORE;<9.> +<10.> IGNORE;IGNORE;IGNORE;<10.> +<11.> IGNORE;IGNORE;IGNORE;<11.> +<12.> IGNORE;IGNORE;IGNORE;<12.> +<13.> IGNORE;IGNORE;IGNORE;<13.> +<14.> IGNORE;IGNORE;IGNORE;<14.> +<15.> IGNORE;IGNORE;IGNORE;<15.> +<16.> IGNORE;IGNORE;IGNORE;<16.> +<17.> IGNORE;IGNORE;IGNORE;<17.> +<18.> IGNORE;IGNORE;IGNORE;<18.> +<19.> IGNORE;IGNORE;IGNORE;<19.> +<20.> IGNORE;IGNORE;IGNORE;<20.> +<0-o> IGNORE;IGNORE;IGNORE;<0-o> +<hh> IGNORE;IGNORE;IGNORE;<hh> +<HH> IGNORE;IGNORE;IGNORE;<HH> +<vv> IGNORE;IGNORE;IGNORE;<vv> +<VV> IGNORE;IGNORE;IGNORE;<VV> +<3-> IGNORE;IGNORE;IGNORE;<3-> +<3_> IGNORE;IGNORE;IGNORE;<3_> +<3!> IGNORE;IGNORE;IGNORE;<3!> +<3//> IGNORE;IGNORE;IGNORE;<3//> +<4-> IGNORE;IGNORE;IGNORE;<4-> +<4_> IGNORE;IGNORE;IGNORE;<4_> +<4!> IGNORE;IGNORE;IGNORE;<4!> +<4//> IGNORE;IGNORE;IGNORE;<4//> +<dr> IGNORE;IGNORE;IGNORE;<dr> +<dR> IGNORE;IGNORE;IGNORE;<dR> +<Dr> IGNORE;IGNORE;IGNORE;<Dr> +<DR> IGNORE;IGNORE;IGNORE;<DR> +<dl> IGNORE;IGNORE;IGNORE;<dl> +<dL> IGNORE;IGNORE;IGNORE;<dL> +<Dl> IGNORE;IGNORE;IGNORE;<Dl> +<LD> IGNORE;IGNORE;IGNORE;<LD> +<ur> IGNORE;IGNORE;IGNORE;<ur> +<uR> IGNORE;IGNORE;IGNORE;<uR> +<Ur> IGNORE;IGNORE;IGNORE;<Ur> +<UR> IGNORE;IGNORE;IGNORE;<UR> +<ul> IGNORE;IGNORE;IGNORE;<ul> +<uL> IGNORE;IGNORE;IGNORE;<uL> +<Ul> IGNORE;IGNORE;IGNORE;<Ul> +<UL> IGNORE;IGNORE;IGNORE;<UL> +<vr> IGNORE;IGNORE;IGNORE;<vr> +<vR> IGNORE;IGNORE;IGNORE;<vR> +<Udr> IGNORE;IGNORE;IGNORE;<Udr> +<uDr> IGNORE;IGNORE;IGNORE;<uDr> +<Vr> IGNORE;IGNORE;IGNORE;<Vr> +<UdR> IGNORE;IGNORE;IGNORE;<UdR> +<uDR> IGNORE;IGNORE;IGNORE;<uDR> +<VR> IGNORE;IGNORE;IGNORE;<VR> +<vl> IGNORE;IGNORE;IGNORE;<vl> +<vL> IGNORE;IGNORE;IGNORE;<vL> +<Udl> IGNORE;IGNORE;IGNORE;<Udl> +<uDl> IGNORE;IGNORE;IGNORE;<uDl> +<Vl> IGNORE;IGNORE;IGNORE;<Vl> +<UdL> IGNORE;IGNORE;IGNORE;<UdL> +<uDL> IGNORE;IGNORE;IGNORE;<uDL> +<VL> IGNORE;IGNORE;IGNORE;<VL> +<dh> IGNORE;IGNORE;IGNORE;<dh> +<dLr> IGNORE;IGNORE;IGNORE;<dLr> +<dlR> IGNORE;IGNORE;IGNORE;<dlR> +<dH> IGNORE;IGNORE;IGNORE;<dH> +<Dh> IGNORE;IGNORE;IGNORE;<Dh> +<DLr> IGNORE;IGNORE;IGNORE;<DLr> +<DlR> IGNORE;IGNORE;IGNORE;<DlR> +<DH> IGNORE;IGNORE;IGNORE;<DH> +<uh> IGNORE;IGNORE;IGNORE;<uh> +<uLr> IGNORE;IGNORE;IGNORE;<uLr> +<ulR> IGNORE;IGNORE;IGNORE;<ulR> +<uH> IGNORE;IGNORE;IGNORE;<uH> +<Uh> IGNORE;IGNORE;IGNORE;<Uh> +<ULr> IGNORE;IGNORE;IGNORE;<ULr> +<UlR> IGNORE;IGNORE;IGNORE;<UlR> +<UH> IGNORE;IGNORE;IGNORE;<UH> +<vh> IGNORE;IGNORE;IGNORE;<vh> +<vLr> IGNORE;IGNORE;IGNORE;<vLr> +<vlR> IGNORE;IGNORE;IGNORE;<vlR> +<vH> IGNORE;IGNORE;IGNORE;<vH> +<Udh> IGNORE;IGNORE;IGNORE;<Udh> +<uDh> IGNORE;IGNORE;IGNORE;<uDh> +<Vh> IGNORE;IGNORE;IGNORE;<Vh> +<UdLr> IGNORE;IGNORE;IGNORE;<UdLr> +<UdlR> IGNORE;IGNORE;IGNORE;<UdlR> +<uDLr> IGNORE;IGNORE;IGNORE;<uDLr> +<uDlR> IGNORE;IGNORE;IGNORE;<uDlR> +<UdH> IGNORE;IGNORE;IGNORE;<UdH> +<uDH> IGNORE;IGNORE;IGNORE;<uDH> +<VLr> IGNORE;IGNORE;IGNORE;<VLr> +<VlR> IGNORE;IGNORE;IGNORE;<VlR> +<VH> IGNORE;IGNORE;IGNORE;<VH> +<FD> IGNORE;IGNORE;IGNORE;<FD> +<BD> IGNORE;IGNORE;IGNORE;<BD> +<TB> IGNORE;IGNORE;IGNORE;<TB> +<LB> IGNORE;IGNORE;IGNORE;<LB> +<FB> IGNORE;IGNORE;IGNORE;<FB> +<lB> IGNORE;IGNORE;IGNORE;<lB> +<RB> IGNORE;IGNORE;IGNORE;<RB> +<.S> IGNORE;IGNORE;IGNORE;<.S> +<:S> IGNORE;IGNORE;IGNORE;<:S> +<?S> IGNORE;IGNORE;IGNORE;<?S> +<fS> IGNORE;IGNORE;IGNORE;<fS> +<OS> IGNORE;IGNORE;IGNORE;<OS> +<RO> IGNORE;IGNORE;IGNORE;<RO> +<Rr> IGNORE;IGNORE;IGNORE;<Rr> +<RF> IGNORE;IGNORE;IGNORE;<RF> +<RY> IGNORE;IGNORE;IGNORE;<RY> +<RH> IGNORE;IGNORE;IGNORE;<RH> +<RZ> IGNORE;IGNORE;IGNORE;<RZ> +<RK> IGNORE;IGNORE;IGNORE;<RK> +<RX> IGNORE;IGNORE;IGNORE;<RX> +<sB> IGNORE;IGNORE;IGNORE;<sB> +<SR> IGNORE;IGNORE;IGNORE;<SR> +<Or> IGNORE;IGNORE;IGNORE;<Or> +<UT> IGNORE;IGNORE;IGNORE;<UT> +<uT> IGNORE;IGNORE;IGNORE;<uT> +<Tr> IGNORE;IGNORE;IGNORE;<Tr> +<PR> IGNORE;IGNORE;IGNORE;<PR> +<Dt> IGNORE;IGNORE;IGNORE;<Dt> +<dT> IGNORE;IGNORE;IGNORE;<dT> +<Tl> IGNORE;IGNORE;IGNORE;<Tl> +<PL> IGNORE;IGNORE;IGNORE;<PL> +<Db> IGNORE;IGNORE;IGNORE;<Db> +<Dw> IGNORE;IGNORE;IGNORE;<Dw> +<LZ> IGNORE;IGNORE;IGNORE;<LZ> +<0m> IGNORE;IGNORE;IGNORE;<0m> +<0o> IGNORE;IGNORE;IGNORE;<0o> +<0M> IGNORE;IGNORE;IGNORE;<0M> +<0L> IGNORE;IGNORE;IGNORE;<0L> +<0R> IGNORE;IGNORE;IGNORE;<0R> +<Sn> IGNORE;IGNORE;IGNORE;<Sn> +<Ic> IGNORE;IGNORE;IGNORE;<Ic> +<Fd> IGNORE;IGNORE;IGNORE;<Fd> +<Bd> IGNORE;IGNORE;IGNORE;<Bd> +<Ci> IGNORE;IGNORE;IGNORE;<Ci> +<*2> IGNORE;IGNORE;IGNORE;<*2> +<*1> IGNORE;IGNORE;IGNORE;<*1> +<TEL> IGNORE;IGNORE;IGNORE;<TEL> +<tel> IGNORE;IGNORE;IGNORE;<tel> +<<H> IGNORE;IGNORE;IGNORE;<<H> +</>H> IGNORE;IGNORE;IGNORE;</>H> +<0u> IGNORE;IGNORE;IGNORE;<0u> +<0U> IGNORE;IGNORE;IGNORE;<0U> +<SU> IGNORE;IGNORE;IGNORE;<SU> +<Fm> IGNORE;IGNORE;IGNORE;<Fm> +<Ml> IGNORE;IGNORE;IGNORE;<Ml> +<cS> IGNORE;IGNORE;IGNORE;<cS> +<cH> IGNORE;IGNORE;IGNORE;<cH> +<cD> IGNORE;IGNORE;IGNORE;<cD> +<cC> IGNORE;IGNORE;IGNORE;<cC> +<cS-> IGNORE;IGNORE;IGNORE;<cS-> +<cH-> IGNORE;IGNORE;IGNORE;<cH-> +<cD-> IGNORE;IGNORE;IGNORE;<cD-> +<cC-> IGNORE;IGNORE;IGNORE;<cC-> +<Md> IGNORE;IGNORE;IGNORE;<Md> +<M8> IGNORE;IGNORE;IGNORE;<M8> +<M2> IGNORE;IGNORE;IGNORE;<M2> +<M16> IGNORE;IGNORE;IGNORE;<M16> +<Mb> IGNORE;IGNORE;IGNORE;<Mb> +<Mx> IGNORE;IGNORE;IGNORE;<Mx> +<MX> IGNORE;IGNORE;IGNORE;<MX> +<OK> IGNORE;IGNORE;IGNORE;<OK> +<XX> IGNORE;IGNORE;IGNORE;<XX> +<-X> IGNORE;IGNORE;IGNORE;<-X> +<IS> IGNORE;IGNORE;IGNORE;<IS> +<,_> IGNORE;IGNORE;IGNORE;<,_> +<._> IGNORE;IGNORE;IGNORE;<._> +<+"> IGNORE;IGNORE;IGNORE;<+"> +<JIS> IGNORE;IGNORE;IGNORE;<JIS> +<*_> IGNORE;IGNORE;IGNORE;<*_> +<;_> IGNORE;IGNORE;IGNORE;<;_> +<0_> IGNORE;IGNORE;IGNORE;<0_> +<<+> IGNORE;IGNORE;IGNORE;<<+> +</>+> IGNORE;IGNORE;IGNORE;</>+> +<<'> IGNORE;IGNORE;IGNORE;<<'> +</>'> IGNORE;IGNORE;IGNORE;</>'> +<<"> IGNORE;IGNORE;IGNORE;<<"> +</>"> IGNORE;IGNORE;IGNORE;</>"> +<("> IGNORE;IGNORE;IGNORE;<("> +<)"> IGNORE;IGNORE;IGNORE;<)"> +<=T> IGNORE;IGNORE;IGNORE;<=T> +<=_> IGNORE;IGNORE;IGNORE;<=_> +<('> IGNORE;IGNORE;IGNORE;<('> +<)'> IGNORE;IGNORE;IGNORE;<)'> +<(I> IGNORE;IGNORE;IGNORE;<(I> +<)I> IGNORE;IGNORE;IGNORE;<)I> +<-?> IGNORE;IGNORE;IGNORE;<-?> +<=T:)> IGNORE;IGNORE;IGNORE;<=T:)> +<"5> IGNORE;IGNORE;IGNORE;<"5> +<05> IGNORE;IGNORE;IGNORE;<05> +<*5> IGNORE;IGNORE;IGNORE;<*5> +<+5> IGNORE;IGNORE;IGNORE;<+5> +<.6> IGNORE;IGNORE;IGNORE;<.6> +<-6> IGNORE;IGNORE;IGNORE;<-6> +<*6> IGNORE;IGNORE;IGNORE;<*6> +<+6> IGNORE;IGNORE;IGNORE;<+6> +<(JU)> IGNORE;IGNORE;IGNORE;<(JU)> +<1c> IGNORE;IGNORE;IGNORE;<1c> +<2c> IGNORE;IGNORE;IGNORE;<2c> +<3c> IGNORE;IGNORE;IGNORE;<3c> +<4c> IGNORE;IGNORE;IGNORE;<4c> +<5c> IGNORE;IGNORE;IGNORE;<5c> +<6c> IGNORE;IGNORE;IGNORE;<6c> +<7c> IGNORE;IGNORE;IGNORE;<7c> +<8c> IGNORE;IGNORE;IGNORE;<8c> +<9c> IGNORE;IGNORE;IGNORE;<9c> +<10c> IGNORE;IGNORE;IGNORE;<10c> +<KSC> IGNORE;IGNORE;IGNORE;<KSC> +<am> IGNORE;IGNORE;IGNORE;<am> +<pm> IGNORE;IGNORE;IGNORE;<pm> +<NU> IGNORE;IGNORE;IGNORE;<NU> +<SH> IGNORE;IGNORE;IGNORE;<SH> +<SX> IGNORE;IGNORE;IGNORE;<SX> +<EX> IGNORE;IGNORE;IGNORE;<EX> +<ET> IGNORE;IGNORE;IGNORE;<ET> +<EQ> IGNORE;IGNORE;IGNORE;<EQ> +<AK> IGNORE;IGNORE;IGNORE;<AK> +<BL> IGNORE;IGNORE;IGNORE;<BL> +<BS> IGNORE;IGNORE;IGNORE;<BS> +<SO> IGNORE;IGNORE;IGNORE;<SO> +<SI> IGNORE;IGNORE;IGNORE;<SI> +<DL> IGNORE;IGNORE;IGNORE;<DL> +<D1> IGNORE;IGNORE;IGNORE;<D1> +<D2> IGNORE;IGNORE;IGNORE;<D2> +<D3> IGNORE;IGNORE;IGNORE;<D3> +<D4> IGNORE;IGNORE;IGNORE;<D4> +<NK> IGNORE;IGNORE;IGNORE;<NK> +<SY> IGNORE;IGNORE;IGNORE;<SY> +<EB> IGNORE;IGNORE;IGNORE;<EB> +<CN> IGNORE;IGNORE;IGNORE;<CN> +<EM> IGNORE;IGNORE;IGNORE;<EM> +<SB> IGNORE;IGNORE;IGNORE;<SB> +<EC> IGNORE;IGNORE;IGNORE;<EC> +<FS> IGNORE;IGNORE;IGNORE;<FS> +<GS> IGNORE;IGNORE;IGNORE;<GS> +<RS> IGNORE;IGNORE;IGNORE;<RS> +<US> IGNORE;IGNORE;IGNORE;<US> +<DT> IGNORE;IGNORE;IGNORE;<DT> +<PA> IGNORE;IGNORE;IGNORE;<PA> +<HO> IGNORE;IGNORE;IGNORE;<HO> +<BH> IGNORE;IGNORE;IGNORE;<BH> +<NH> IGNORE;IGNORE;IGNORE;<NH> +<IN> IGNORE;IGNORE;IGNORE;<IN> +<NL> IGNORE;IGNORE;IGNORE;<NL> +<SA> IGNORE;IGNORE;IGNORE;<SA> +<ES> IGNORE;IGNORE;IGNORE;<ES> +<HS> IGNORE;IGNORE;IGNORE;<HS> +<HJ> IGNORE;IGNORE;IGNORE;<HJ> +<VS> IGNORE;IGNORE;IGNORE;<VS> +<PD> IGNORE;IGNORE;IGNORE;<PD> +<PU> IGNORE;IGNORE;IGNORE;<PU> +<RI> IGNORE;IGNORE;IGNORE;<RI> +<S2> IGNORE;IGNORE;IGNORE;<S2> +<S3> IGNORE;IGNORE;IGNORE;<S3> +<DC> IGNORE;IGNORE;IGNORE;<DC> +<P1> IGNORE;IGNORE;IGNORE;<P1> +<P2> IGNORE;IGNORE;IGNORE;<P2> +<TS> IGNORE;IGNORE;IGNORE;<TS> +<CC> IGNORE;IGNORE;IGNORE;<CC> +<MW> IGNORE;IGNORE;IGNORE;<MW> +<SG> IGNORE;IGNORE;IGNORE;<SG> +<EG> IGNORE;IGNORE;IGNORE;<EG> +<SS> IGNORE;IGNORE;IGNORE;<SS> +<GC> IGNORE;IGNORE;IGNORE;<GC> +<SC> IGNORE;IGNORE;IGNORE;<SC> +<CI> IGNORE;IGNORE;IGNORE;<CI> +<ST> IGNORE;IGNORE;IGNORE;<ST> +<OC> IGNORE;IGNORE;IGNORE;<OC> +<PM> IGNORE;IGNORE;IGNORE;<PM> +<AC> IGNORE;IGNORE;IGNORE;<AC> +<"3> IGNORE;IGNORE;IGNORE;<"3> +<"1> IGNORE;IGNORE;IGNORE;<"1> +<"!> IGNORE;IGNORE;IGNORE;<"!> +<"'> IGNORE;IGNORE;IGNORE;<"'> +<"/>> IGNORE;IGNORE;IGNORE;<"/>> +<"?> IGNORE;IGNORE;IGNORE;<"?> +<"-> IGNORE;IGNORE;IGNORE;<"-> +<"(> IGNORE;IGNORE;IGNORE;<"(> +<".> IGNORE;IGNORE;IGNORE;<".> +<":> IGNORE;IGNORE;IGNORE;<":> +<"0> IGNORE;IGNORE;IGNORE;<"0> +<",> IGNORE;IGNORE;IGNORE;<",> +<"_> IGNORE;IGNORE;IGNORE;<"_> +<""> IGNORE;IGNORE;IGNORE;<""> +<";> IGNORE;IGNORE;IGNORE;<";> +<"<> IGNORE;IGNORE;IGNORE;<"<> +<"=> IGNORE;IGNORE;IGNORE;<"=> +<"//> IGNORE;IGNORE;IGNORE;<"//> +<"p> IGNORE;IGNORE;IGNORE;<"p> +<"d> IGNORE;IGNORE;IGNORE;<"d> +<"i> IGNORE;IGNORE;IGNORE;<"i> +<+_> IGNORE;IGNORE;IGNORE;<+_> +<Tel> IGNORE;IGNORE;IGNORE;<Tel> +<UA> IGNORE;IGNORE;IGNORE;<UA> +<UB> IGNORE;IGNORE;IGNORE;<UB> +UNDEFINED IGNORE;IGNORE;IGNORE + +<0> <0>;<0>;IGNORE;IGNORE +<0S> <0>;<0S>;IGNORE;IGNORE +<18> <0>;<18>;IGNORE;IGNORE +<14> <0>;<14>;IGNORE;IGNORE +<38> <0>;<38>;IGNORE;IGNORE +<12> <0>;<12>;IGNORE;IGNORE +<58> <0>;<58>;IGNORE;IGNORE +<34> <0>;<34>;IGNORE;IGNORE +<78> <0>;<78>;IGNORE;IGNORE +<1> <1>;<1>;IGNORE;IGNORE +<2> <2>;<2>;IGNORE;IGNORE +<3> <3>;<3>;IGNORE;IGNORE +<4> <4>;<4>;IGNORE;IGNORE +<5> <5>;<5>;IGNORE;IGNORE +<6> <6>;<6>;IGNORE;IGNORE +<7> <7>;<7>;IGNORE;IGNORE +<8> <8>;<8>;IGNORE;IGNORE +<9> <9>;<9>;IGNORE;IGNORE +<1S> <1>;<1S>;IGNORE;IGNORE +<2S> <2>;<2S>;IGNORE;IGNORE +<3S> <3>;<3S>;IGNORE;IGNORE +<4S> <4>;<4S>;IGNORE;IGNORE +<5S> <5>;<5S>;IGNORE;IGNORE +<6S> <6>;<6S>;IGNORE;IGNORE +<7S> <7>;<7S>;IGNORE;IGNORE +<8S> <8>;<8S>;IGNORE;IGNORE +<9S> <9>;<9S>;IGNORE;IGNORE +<A> <A>;<NONE>;<CAPITAL>;IGNORE +<a> <A>;<NONE>;<SMALL>;IGNORE +<-a> <A>;<NONE>;<-a>;IGNORE +<A'> <A>;<ACUTE>;<CAPITAL>;IGNORE +<a'> <A>;<ACUTE>;<SMALL>;IGNORE +<A!> <A>;<GRAVE>;<CAPITAL>;IGNORE +<a!> <A>;<GRAVE>;<SMALL>;IGNORE +<A!!> <A>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<a!!> <A>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<A(> <A>;<BREVE>;<CAPITAL>;IGNORE +<a(> <A>;<BREVE>;<SMALL>;IGNORE +<A('> <A>;<BREVE+ACUTE>;<CAPITAL>;IGNORE +<a('> <A>;<BREVE+ACUTE>;<SMALL>;IGNORE +<A(!> <A>;<BREVE+GRAVE>;<CAPITAL>;IGNORE +<a(!> <A>;<BREVE+GRAVE>;<SMALL>;IGNORE +<A(2> <A>;<BREVE+HOOK>;<CAPITAL>;IGNORE +<a(2> <A>;<BREVE+HOOK>;<SMALL>;IGNORE +<A(?> <A>;<BREVE+TILDE>;<CAPITAL>;IGNORE +<a(?> <A>;<BREVE+TILDE>;<SMALL>;IGNORE +<A(-.> <A>;<BREVE+DOT-BELOW>;<CAPITAL>;IGNORE +<a(-.> <A>;<BREVE+DOT-BELOW>;<SMALL>;IGNORE +<A)> <A>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<a)> <A>;<INVERTED-BREVE>;<SMALL>;IGNORE +<A/>> <A>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<a/>> <A>;<CIRCUMFLEX>;<SMALL>;IGNORE +<A/>'> <A>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE +<a/>'> <A>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE +<A/>!> <A>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE +<a/>!> <A>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE +<A/>2> <A>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE +<a/>2> <A>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE +<A/>?> <A>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE +<a/>?> <A>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE +<A/>-.> <A>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE +<a/>-.> <A>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE +<A<> <A>;<CARON>;<CAPITAL>;IGNORE +<a<> <A>;<CARON>;<SMALL>;IGNORE +<AA> <A>;<RING>;<CAPITAL>;IGNORE +<aa> <A>;<RING>;<SMALL>;IGNORE +<AA'> <A>;<RING+ACUTE>;<CAPITAL>;IGNORE +<aa'> <A>;<RING+ACUTE>;<SMALL>;IGNORE +<A-0> <A>;<RING-BELOW>;<CAPITAL>;IGNORE +<a-0> <A>;<RING-BELOW>;<SMALL>;IGNORE +<A:> <A>;<DIAERESIS>;<CAPITAL>;IGNORE +<a:> <A>;<DIAERESIS>;<SMALL>;IGNORE +<A1> <A>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE +<a1> <A>;<DIAERESIS+MACRON>;<SMALL>;IGNORE +<A2> <A>;<HOOK>;<CAPITAL>;IGNORE +<a2> <A>;<HOOK>;<SMALL>;IGNORE +<A?> <A>;<TILDE>;<CAPITAL>;IGNORE +<a?> <A>;<TILDE>;<SMALL>;IGNORE +<A-.> <A>;<DOT-BELOW>;<CAPITAL>;IGNORE +<a-.> <A>;<DOT-BELOW>;<SMALL>;IGNORE +<A;> <A>;<OGONEK>;<CAPITAL>;IGNORE +<a;> <A>;<OGONEK>;<SMALL>;IGNORE +<A-> <A>;<MACRON>;<CAPITAL>;IGNORE +<a-> <A>;<MACRON>;<SMALL>;IGNORE +<A7> <A>;<MACRON+DOT>;<CAPITAL>;IGNORE +<a7> <A>;<MACRON+DOT>;<SMALL>;IGNORE +<a8> +<AE> "<A><E>";"<AE><AE>";"<CAPITAL><CAPITAL>";IGNORE +<ae> "<A><E>";"<AE><AE>";"<SMALL><SMALL>";IGNORE +<AE'> "<A><E>";"<AE'><AE'>";"<CAPITAL><CAPITAL>";IGNORE +<ae'> "<A><E>";"<AE'><AE'>";"<SMALL><SMALL>";IGNORE +<A3> "<A><E>";"<A3><A3>";"<CAPITAL><CAPITAL>";IGNORE +<a3> "<A><E>";"<A3><A3>";"<SMALL><SMALL>";IGNORE +<B> <B>;<NONE>;<CAPITAL>;IGNORE +<b> <B>;<NONE>;<SMALL>;IGNORE +<B.> <B>;<DOT>;<CAPITAL>;IGNORE +<b.> <B>;<DOT>;<SMALL>;IGNORE +<B-.> <B>;<DOT-BELOW>;<CAPITAL>;IGNORE +<b-.> <B>;<DOT-BELOW>;<SMALL>;IGNORE +<B_> <B>;<LINE-BELOW>;<CAPITAL>;IGNORE +<b_> <B>;<LINE-BELOW>;<SMALL>;IGNORE +<b8> +<C> <C>;<NONE>;<CAPITAL>;IGNORE +<c> <C>;<NONE>;<SMALL>;IGNORE +<C'> <C>;<ACUTE>;<CAPITAL>;IGNORE +<c'> <C>;<ACUTE>;<SMALL>;IGNORE +<C/>> <C>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<c/>> <C>;<CIRCUMFLEX>;<SMALL>;IGNORE +<C<> <C>;<CARON>;<CAPITAL>;IGNORE +<c<> <C>;<CARON>;<SMALL>;IGNORE +<C2> <C>;<HOOK>;<CAPITAL>;IGNORE +<c2> <C>;<HOOK>;<SMALL>;IGNORE +<C.> <C>;<DOT>;<CAPITAL>;IGNORE +<c.> <C>;<DOT>;<SMALL>;IGNORE +<C,> <C>;<CEDILLA>;<CAPITAL>;IGNORE +<c,> <C>;<CEDILLA>;<SMALL>;IGNORE +<C,'> <C>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE +<c,'> <C>;<CEDILLA+ACUTE>;<SMALL>;IGNORE +<c8> +<D> <D>;<NONE>;<CAPITAL>;IGNORE +<d> <D>;<NONE>;<SMALL>;IGNORE +<D<> <D>;<CARON>;<CAPITAL>;IGNORE +<d<> <D>;<CARON>;<SMALL>;IGNORE +<D.> <D>;<DOT>;<CAPITAL>;IGNORE +<d.> <D>;<DOT>;<SMALL>;IGNORE +<D-.> <D>;<DOT-BELOW>;<CAPITAL>;IGNORE +<d-.> <D>;<DOT-BELOW>;<SMALL>;IGNORE +<D//> <D>;<STROKE>;<CAPITAL>;IGNORE +<d//> <D>;<STROKE>;<SMALL>;IGNORE +<D,> <D>;<CEDILLA>;<CAPITAL>;IGNORE +<d,> <D>;<CEDILLA>;<SMALL>;IGNORE +<D-/>> <D>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<d-/>> <D>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<D_> <D>;<LINE-BELOW>;<CAPITAL>;IGNORE +<d_> <D>;<LINE-BELOW>;<SMALL>;IGNORE +<d8> +<E> <E>;<NONE>;<CAPITAL>;IGNORE +<e> <E>;<NONE>;<SMALL>;IGNORE +<E'> <E>;<ACUTE>;<CAPITAL>;IGNORE +<e'> <E>;<ACUTE>;<SMALL>;IGNORE +<E!> <E>;<GRAVE>;<CAPITAL>;IGNORE +<e!> <E>;<GRAVE>;<SMALL>;IGNORE +<E!!> <E>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<e!!> <E>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<E(> <E>;<BREVE>;<CAPITAL>;IGNORE +<e(> <E>;<BREVE>;<SMALL>;IGNORE +<E)> <E>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<e)> <E>;<INVERTED-BREVE>;<SMALL>;IGNORE +<E/>> <E>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<e/>> <E>;<CIRCUMFLEX>;<SMALL>;IGNORE +<E/>'> <E>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE +<e/>'> <E>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE +<E/>!> <E>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE +<e/>!> <E>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE +<E/>2> <E>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE +<e/>2> <E>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE +<E/>?> <E>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE +<e/>?> <E>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE +<E/>-.> <E>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE +<e/>-.> <E>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE +<E<> <E>;<CARON>;<CAPITAL>;IGNORE +<e<> <E>;<CARON>;<SMALL>;IGNORE +<E:> <E>;<DIAERESIS>;<CAPITAL>;IGNORE +<e:> <E>;<DIAERESIS>;<SMALL>;IGNORE +<E2> <E>;<HOOK>;<CAPITAL>;IGNORE +<e2> <E>;<HOOK>;<SMALL>;IGNORE +<E?> <E>;<TILDE>;<CAPITAL>;IGNORE +<e?> <E>;<TILDE>;<SMALL>;IGNORE +<E-?> <E>;<TILDE-BELOW>;<CAPITAL>;IGNORE +<e-?> <E>;<TILDE-BELOW>;<SMALL>;IGNORE +<E.> <E>;<DOT>;<CAPITAL>;IGNORE +<e.> <E>;<DOT>;<SMALL>;IGNORE +<E-.> <E>;<DOT-BELOW>;<CAPITAL>;IGNORE +<e-.> <E>;<DOT-BELOW>;<SMALL>;IGNORE +<E,(> <E>;<CEDILLA+BREVE>;<CAPITAL>;IGNORE +<e,(> <E>;<CEDILLA+BREVE>;<SMALL>;IGNORE +<E;> <E>;<OGONEK>;<CAPITAL>;IGNORE +<e;> <E>;<OGONEK>;<SMALL>;IGNORE +<E-> <E>;<MACRON>;<CAPITAL>;IGNORE +<e-> <E>;<MACRON>;<SMALL>;IGNORE +<E-'> <E>;<MACRON+ACUTE>;<CAPITAL>;IGNORE +<e-'> <E>;<MACRON+ACUTE>;<SMALL>;IGNORE +<E-!> <E>;<MACRON+GRAVE>;<CAPITAL>;IGNORE +<e-!> <E>;<MACRON+GRAVE>;<SMALL>;IGNORE +<E-/>> <E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<e-/>> <E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<e8> +<F> <F>;<NONE>;<CAPITAL>;IGNORE +<f> <F>;<NONE>;<SMALL>;IGNORE +<F2> <F>;<HOOK>;<CAPITAL>;IGNORE +<f2> <F>;<HOOK>;<SMALL>;IGNORE +<F.> <F>;<DOT>;<CAPITAL>;IGNORE +<f.> <F>;<DOT>;<SMALL>;IGNORE +<f8> +<ff> "<F><F>";"<NONE><NONE>";"<ff><ff>";IGNORE +<fi> "<F><I>";"<NONE><NONE>";"<fi><fi>";IGNORE +<fl> "<F><L>";"<NONE><NONE>";"<fl><fl>";IGNORE +<ffi> "<F><F><I>";"<NONE><NONE><NONE>";"<ffi><ffi><ffi>";IGNORE +<ffl> "<F><F><L>";"<NONE><NONE><NONE>";"<ffl><ffl><ffl>";IGNORE +<ft> "<F><T>";"<NONE><NONE>";"<ft><ft>";IGNORE +<G> <G>;<NONE>;<CAPITAL>;IGNORE +<g> <G>;<NONE>;<SMALL>;IGNORE +<G'> <G>;<ACUTE>;<CAPITAL>;IGNORE +<g'> <G>;<ACUTE>;<SMALL>;IGNORE +<G(> <G>;<BREVE>;<CAPITAL>;IGNORE +<g(> <G>;<BREVE>;<SMALL>;IGNORE +<G/>> <G>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<g/>> <G>;<CIRCUMFLEX>;<SMALL>;IGNORE +<G<> <G>;<CARON>;<CAPITAL>;IGNORE +<g<> <G>;<CARON>;<SMALL>;IGNORE +<G.> <G>;<DOT>;<CAPITAL>;IGNORE +<g.> <G>;<DOT>;<SMALL>;IGNORE +<G//> <G>;<STROKE>;<CAPITAL>;IGNORE +<g//> <G>;<STROKE>;<SMALL>;IGNORE +<G,> <G>;<CEDILLA>;<CAPITAL>;IGNORE +<g,> <G>;<CEDILLA>;<SMALL>;IGNORE +<G-> <G>;<MACRON>;<CAPITAL>;IGNORE +<g-> <G>;<MACRON>;<SMALL>;IGNORE +<g8> +<H> <H>;<NONE>;<CAPITAL>;IGNORE +<h> <H>;<NONE>;<SMALL>;IGNORE +<H-(> <H>;<BREVE-BELOW>;<CAPITAL>;IGNORE +<h-(> <H>;<BREVE-BELOW>;<SMALL>;IGNORE +<H/>> <H>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<h/>> <H>;<CIRCUMFLEX>;<SMALL>;IGNORE +<H:> <H>;<DIAERESIS>;<CAPITAL>;IGNORE +<h:> <H>;<DIAERESIS>;<SMALL>;IGNORE +<H.> <H>;<DOT>;<CAPITAL>;IGNORE +<h.> <H>;<DOT>;<SMALL>;IGNORE +<H-.> <H>;<DOT-BELOW>;<CAPITAL>;IGNORE +<h-.> <H>;<DOT-BELOW>;<SMALL>;IGNORE +<H//> <H>;<STROKE>;<CAPITAL>;IGNORE +<h//> <H>;<STROKE>;<SMALL>;IGNORE +<H,> <H>;<CEDILLA>;<CAPITAL>;IGNORE +<h,> <H>;<CEDILLA>;<SMALL>;IGNORE +<h8> +<I> <I>;<NONE>;<CAPITAL>;IGNORE +<i> <I>;<NONE>;<SMALL>;IGNORE +<I'> <I>;<ACUTE>;<CAPITAL>;IGNORE +<i'> <I>;<ACUTE>;<SMALL>;IGNORE +<I!> <I>;<GRAVE>;<CAPITAL>;IGNORE +<i!> <I>;<GRAVE>;<SMALL>;IGNORE +<I!!> <I>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<i!!> <I>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<I(> <I>;<BREVE>;<CAPITAL>;IGNORE +<i(> <I>;<BREVE>;<SMALL>;IGNORE +<I)> <I>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<i)> <I>;<INVERTED-BREVE>;<SMALL>;IGNORE +<I/>> <I>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<i/>> <I>;<CIRCUMFLEX>;<SMALL>;IGNORE +<I<> <I>;<CARON>;<CAPITAL>;IGNORE +<i<> <I>;<CARON>;<SMALL>;IGNORE +<I:> <I>;<DIAERESIS>;<CAPITAL>;IGNORE +<i:> <I>;<DIAERESIS>;<SMALL>;IGNORE +<I:'> <I>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE +<i:'> <I>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE +<I2> <I>;<HOOK>;<CAPITAL>;IGNORE +<i2> <I>;<HOOK>;<SMALL>;IGNORE +<I?> <I>;<TILDE>;<CAPITAL>;IGNORE +<i?> <I>;<TILDE>;<SMALL>;IGNORE +<I-?> <I>;<TILDE-BELOW>;<CAPITAL>;IGNORE +<i-?> <I>;<TILDE-BELOW>;<SMALL>;IGNORE +<I.> <I>;<DOT>;<CAPITAL>;IGNORE +<i.> <I>;<DOT>;<SMALL>;IGNORE +<I-.> <I>;<DOT-BELOW>;<CAPITAL>;IGNORE +<i-.> <I>;<DOT-BELOW>;<SMALL>;IGNORE +<I;> <I>;<OGONEK>;<CAPITAL>;IGNORE +<i;> <I>;<OGONEK>;<SMALL>;IGNORE +<I-> <I>;<MACRON>;<CAPITAL>;IGNORE +<i-> <I>;<MACRON>;<SMALL>;IGNORE +<i8> +<IJ> "<I><J>";"<IJ><IJ>";"<CAPITAL><CAPITAL>";IGNORE +<ij> "<I><J>";"<IJ><IJ>";"<SMALL><SMALL>";IGNORE +<J> <J>;<NONE>;<CAPITAL>;IGNORE +<j> <J>;<NONE>;<SMALL>;IGNORE +<J/>> <J>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<j/>> <J>;<CIRCUMFLEX>;<SMALL>;IGNORE +<j8> +<K> <K>;<NONE>;<CAPITAL>;IGNORE +<k> <K>;<NONE>;<SMALL>;IGNORE +<K'> <K>;<ACUTE>;<CAPITAL>;IGNORE +<k'> <K>;<ACUTE>;<SMALL>;IGNORE +<K<> <K>;<CARON>;<CAPITAL>;IGNORE +<k<> <K>;<CARON>;<SMALL>;IGNORE +<K2> <K>;<HOOK>;<CAPITAL>;IGNORE +<k2> <K>;<HOOK>;<SMALL>;IGNORE +<K-.> <K>;<DOT-BELOW>;<CAPITAL>;IGNORE +<k-.> <K>;<DOT-BELOW>;<SMALL>;IGNORE +<K,> <K>;<CEDILLA>;<CAPITAL>;IGNORE +<k,> <K>;<CEDILLA>;<SMALL>;IGNORE +<K_> <K>;<LINE-BELOW>;<CAPITAL>;IGNORE +<k_> <K>;<LINE-BELOW>;<SMALL>;IGNORE +<k8> +<kk> <K>;<kk>;<SMALL>;IGNORE +<L> <L>;<NONE>;<CAPITAL>;IGNORE +<l> <L>;<NONE>;<SMALL>;IGNORE +<L'> <L>;<ACUTE>;<CAPITAL>;IGNORE +<l'> <L>;<ACUTE>;<SMALL>;IGNORE +<L<> <L>;<CARON>;<CAPITAL>;IGNORE +<l<> <L>;<CARON>;<SMALL>;IGNORE +<L.> <L>;<DOT>;<CAPITAL>;IGNORE +<l.> <L>;<DOT>;<SMALL>;IGNORE +<L-.> <L>;<DOT-BELOW>;<CAPITAL>;IGNORE +<l-.> <L>;<DOT-BELOW>;<SMALL>;IGNORE +<L//> <L>;<STROKE>;<CAPITAL>;IGNORE +<l//> <L>;<STROKE>;<SMALL>;IGNORE +<L,> <L>;<CEDILLA>;<CAPITAL>;IGNORE +<l,> <L>;<CEDILLA>;<SMALL>;IGNORE +<L--.> <L>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE +<l--.> <L>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE +<L-/>> <L>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<l-/>> <L>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<L_> <L>;<LINE-BELOW>;<CAPITAL>;IGNORE +<l_> <L>;<LINE-BELOW>;<SMALL>;IGNORE +<l8> +<M> <M>;<NONE>;<CAPITAL>;IGNORE +<m> <M>;<NONE>;<SMALL>;IGNORE +<M'> <M>;<ACUTE>;<CAPITAL>;IGNORE +<m'> <M>;<ACUTE>;<SMALL>;IGNORE +<M.> <M>;<DOT>;<CAPITAL>;IGNORE +<m.> <M>;<DOT>;<SMALL>;IGNORE +<M-.> <M>;<DOT-BELOW>;<CAPITAL>;IGNORE +<m-.> <M>;<DOT-BELOW>;<SMALL>;IGNORE +<m8> +<N> <N>;<NONE>;<CAPITAL>;IGNORE +<n> <N>;<NONE>;<SMALL>;IGNORE +<N'> <N>;<ACUTE>;<CAPITAL>;IGNORE +<n'> <N>;<ACUTE>;<SMALL>;IGNORE +<N<> <N>;<CARON>;<CAPITAL>;IGNORE +<n<> <N>;<CARON>;<SMALL>;IGNORE +<N?> <N>;<TILDE>;<CAPITAL>;IGNORE +<n?> <N>;<TILDE>;<SMALL>;IGNORE +<N.> <N>;<DOT>;<CAPITAL>;IGNORE +<n.> <N>;<DOT>;<SMALL>;IGNORE +<N-.> <N>;<DOT-BELOW>;<CAPITAL>;IGNORE +<n-.> <N>;<DOT-BELOW>;<SMALL>;IGNORE +<N,> <N>;<CEDILLA>;<CAPITAL>;IGNORE +<n,> <N>;<CEDILLA>;<SMALL>;IGNORE +<N-/>> <N>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<n-/>> <N>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<N_> <N>;<LINE-BELOW>;<CAPITAL>;IGNORE +<n_> <N>;<LINE-BELOW>;<SMALL>;IGNORE +<'n> <N>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE +<n8> +<NG> "<N><G>";"<NG><NG>";"<CAPITAL><CAPITAL>";IGNORE +<ng> "<N><G>";"<NG><NG>";"<SMALL><SMALL>";IGNORE +<O> <O>;<NONE>;<CAPITAL>;IGNORE +<o> <O>;<NONE>;<SMALL>;IGNORE +<-o> <O>;<NONE>;<-o>;IGNORE +<O'> <O>;<ACUTE>;<CAPITAL>;IGNORE +<o'> <O>;<ACUTE>;<SMALL>;IGNORE +<O!> <O>;<GRAVE>;<CAPITAL>;IGNORE +<o!> <O>;<GRAVE>;<SMALL>;IGNORE +<O!!> <O>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<o!!> <O>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<O(> <O>;<BREVE>;<CAPITAL>;IGNORE +<o(> <O>;<BREVE>;<SMALL>;IGNORE +<O)> <O>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<o)> <O>;<INVERTED-BREVE>;<SMALL>;IGNORE +<O/>> <O>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<o/>> <O>;<CIRCUMFLEX>;<SMALL>;IGNORE +<O/>'> <O>;<CIRCUMFLEX+ACUTE>;<CAPITAL>;IGNORE +<o/>'> <O>;<CIRCUMFLEX+ACUTE>;<SMALL>;IGNORE +<O/>!> <O>;<CIRCUMFLEX+GRAVE>;<CAPITAL>;IGNORE +<o/>!> <O>;<CIRCUMFLEX+GRAVE>;<SMALL>;IGNORE +<O/>2> <O>;<CIRCUMFLEX+HOOK>;<CAPITAL>;IGNORE +<o/>2> <O>;<CIRCUMFLEX+HOOK>;<SMALL>;IGNORE +<O/>?> <O>;<CIRCUMFLEX+TILDE>;<CAPITAL>;IGNORE +<o/>?> <O>;<CIRCUMFLEX+TILDE>;<SMALL>;IGNORE +<O/>-.> <O>;<CIRCUMFLEX+DOT-BELOW>;<CAPITAL>;IGNORE +<o/>-.> <O>;<CIRCUMFLEX+DOT-BELOW>;<SMALL>;IGNORE +<O<> <O>;<CARON>;<CAPITAL>;IGNORE +<o<> <O>;<CARON>;<SMALL>;IGNORE +<O:> <O>;<DIAERESIS>;<CAPITAL>;IGNORE +<o:> <O>;<DIAERESIS>;<SMALL>;IGNORE +<O"> <O>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE +<o"> <O>;<DOUBLE-ACUTE>;<SMALL>;IGNORE +<O2> <O>;<HOOK>;<CAPITAL>;IGNORE +<o2> <O>;<HOOK>;<SMALL>;IGNORE +<O?> <O>;<TILDE>;<CAPITAL>;IGNORE +<o?> <O>;<TILDE>;<SMALL>;IGNORE +<O?'> <O>;<TILDE+ACUTE>;<CAPITAL>;IGNORE +<o?'> <O>;<TILDE+ACUTE>;<SMALL>;IGNORE +<O?:> <O>;<TILDE+DIAERESIS>;<CAPITAL>;IGNORE +<o?:> <O>;<TILDE+DIAERESIS>;<SMALL>;IGNORE +<O-.> <O>;<DOT-BELOW>;<CAPITAL>;IGNORE +<o-.> <O>;<DOT-BELOW>;<SMALL>;IGNORE +<O//> <O>;<STROKE>;<CAPITAL>;IGNORE +<o//> <O>;<STROKE>;<SMALL>;IGNORE +<O//'> <O>;<STROKE+ACUTE>;<CAPITAL>;IGNORE +<o//'> <O>;<STROKE+ACUTE>;<SMALL>;IGNORE +<O;> <O>;<OGONEK>;<CAPITAL>;IGNORE +<o;> <O>;<OGONEK>;<SMALL>;IGNORE +<O1> <O>;<OGONEK+MACRON>;<CAPITAL>;IGNORE +<o1> <O>;<OGONEK+MACRON>;<SMALL>;IGNORE +<O-> <O>;<MACRON>;<CAPITAL>;IGNORE +<o-> <O>;<MACRON>;<SMALL>;IGNORE +<O-'> <O>;<MACRON+ACUTE>;<CAPITAL>;IGNORE +<o-'> <O>;<MACRON+ACUTE>;<SMALL>;IGNORE +<O-!> <O>;<MACRON+GRAVE>;<CAPITAL>;IGNORE +<o-!> <O>;<MACRON+GRAVE>;<SMALL>;IGNORE +<O9> <O>;<HORN>;<CAPITAL>;IGNORE +<o9> <O>;<HORN>;<SMALL>;IGNORE +<O9'> <O>;<HORN+ACUTE>;<CAPITAL>;IGNORE +<o9'> <O>;<HORN+ACUTE>;<SMALL>;IGNORE +<O9!> <O>;<HORN+GRAVE>;<CAPITAL>;IGNORE +<o9!> <O>;<HORN+GRAVE>;<SMALL>;IGNORE +<O92> <O>;<HORN+HOOK>;<CAPITAL>;IGNORE +<o92> <O>;<HORN+HOOK>;<SMALL>;IGNORE +<O9?> <O>;<HORN+TILDE>;<CAPITAL>;IGNORE +<o9?> <O>;<HORN+TILDE>;<SMALL>;IGNORE +<O9-.> <O>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE +<o9-.> <O>;<HORN+DOT-BELOW>;<SMALL>;IGNORE +<o8> +<OE> "<O><E>";"<OE><OE>";"<CAPITAL><CAPITAL>";IGNORE +<oe> "<O><E>";"<OE><OE>";"<SMALL><SMALL>";IGNORE +<P> <P>;<NONE>;<CAPITAL>;IGNORE +<p> <P>;<NONE>;<SMALL>;IGNORE +<P'> <P>;<ACUTE>;<CAPITAL>;IGNORE +<p'> <P>;<ACUTE>;<SMALL>;IGNORE +<P.> <P>;<DOT>;<CAPITAL>;IGNORE +<p.> <P>;<DOT>;<SMALL>;IGNORE +<p8> +<Q> <Q>;<NONE>;<CAPITAL>;IGNORE +<q> <Q>;<NONE>;<SMALL>;IGNORE +<q8> +<R> <R>;<NONE>;<CAPITAL>;IGNORE +<r> <R>;<NONE>;<SMALL>;IGNORE +<R'> <R>;<ACUTE>;<CAPITAL>;IGNORE +<r'> <R>;<ACUTE>;<SMALL>;IGNORE +<R!!> <R>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<r!!> <R>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<R)> <R>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<r)> <R>;<INVERTED-BREVE>;<SMALL>;IGNORE +<R<> <R>;<CARON>;<CAPITAL>;IGNORE +<r<> <R>;<CARON>;<SMALL>;IGNORE +<R.> <R>;<DOT>;<CAPITAL>;IGNORE +<r.> <R>;<DOT>;<SMALL>;IGNORE +<R-.> <R>;<DOT-BELOW>;<CAPITAL>;IGNORE +<r-.> <R>;<DOT-BELOW>;<SMALL>;IGNORE +<R,> <R>;<CEDILLA>;<CAPITAL>;IGNORE +<r,> <R>;<CEDILLA>;<SMALL>;IGNORE +<R--.> <R>;<MACRON+DOT-BELOW>;<CAPITAL>;IGNORE +<r--.> <R>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE +<R_> <R>;<LINE-BELOW>;<CAPITAL>;IGNORE +<r_> <R>;<LINE-BELOW>;<SMALL>;IGNORE +<r8> +<S> <S>;<NONE>;<CAPITAL>;IGNORE +<s> <S>;<NONE>;<SMALL>;IGNORE +<st> "<S><T>";"<NONE><NONE>";"<st><st>";IGNORE +<S'> <S>;<ACUTE>;<CAPITAL>;IGNORE +<s'> <S>;<ACUTE>;<SMALL>;IGNORE +<S'.> <S>;<ACUTE+DOT>;<CAPITAL>;IGNORE +<s'.> <S>;<ACUTE+DOT>;<SMALL>;IGNORE +<S/>> <S>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<s/>> <S>;<CIRCUMFLEX>;<SMALL>;IGNORE +<S<> <S>;<CARON>;<CAPITAL>;IGNORE +<s<> <S>;<CARON>;<SMALL>;IGNORE +<S<.> <S>;<CARON+DOT>;<CAPITAL>;IGNORE +<s<.> <S>;<CARON+DOT>;<SMALL>;IGNORE +<S.> <S>;<DOT>;<CAPITAL>;IGNORE +<s.> <S>;<DOT>;<SMALL>;IGNORE +<S-.> <S>;<DOT-BELOW>;<CAPITAL>;IGNORE +<s-.> <S>;<DOT-BELOW>;<SMALL>;IGNORE +<S.-.> <S>;<DOT+DOT-BELOW>;<CAPITAL>;IGNORE +<s.-.> <S>;<DOT+DOT-BELOW>;<SMALL>;IGNORE +<S,> <S>;<CEDILLA>;<CAPITAL>;IGNORE +<s,> <S>;<CEDILLA>;<SMALL>;IGNORE +<s8> +<s1> <S>;<s1>;<SMALL>;IGNORE +<ss> "<S><S>";"<NONE><NONE>";"<SMALL><ss>";IGNORE +<T> <T>;<NONE>;<CAPITAL>;IGNORE +<t> <T>;<NONE>;<SMALL>;IGNORE +<T<> <T>;<CARON>;<CAPITAL>;IGNORE +<t<> <T>;<CARON>;<SMALL>;IGNORE +<T.> <T>;<DOT>;<CAPITAL>;IGNORE +<t.> <T>;<DOT>;<SMALL>;IGNORE +<T-.> <T>;<DOT-BELOW>;<CAPITAL>;IGNORE +<t-.> <T>;<DOT-BELOW>;<SMALL>;IGNORE +<T//> <T>;<STROKE>;<CAPITAL>;IGNORE +<t//> <T>;<STROKE>;<SMALL>;IGNORE +<T,> <T>;<CEDILLA>;<CAPITAL>;IGNORE +<t,> <T>;<CEDILLA>;<SMALL>;IGNORE +<T-/>> <T>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<t-/>> <T>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<T_> <T>;<LINE-BELOW>;<CAPITAL>;IGNORE +<t_> <T>;<LINE-BELOW>;<SMALL>;IGNORE +<t8> +<TH> "<T><H>";"<TH><TH>";"<CAPITAL><CAPITAL>";IGNORE +<th> "<T><H>";"<TH><TH>";"<SMALL><SMALL>";IGNORE +<U> <U>;<NONE>;<CAPITAL>;IGNORE +<u> <U>;<NONE>;<SMALL>;IGNORE +<U'> <U>;<ACUTE>;<CAPITAL>;IGNORE +<u'> <U>;<ACUTE>;<SMALL>;IGNORE +<U!> <U>;<GRAVE>;<CAPITAL>;IGNORE +<u!> <U>;<GRAVE>;<SMALL>;IGNORE +<U!!> <U>;<DOUBLE-GRAVE>;<CAPITAL>;IGNORE +<u!!> <U>;<DOUBLE-GRAVE>;<SMALL>;IGNORE +<U(> <U>;<BREVE>;<CAPITAL>;IGNORE +<u(> <U>;<BREVE>;<SMALL>;IGNORE +<U)> <U>;<INVERTED-BREVE>;<CAPITAL>;IGNORE +<u)> <U>;<INVERTED-BREVE>;<SMALL>;IGNORE +<U/>> <U>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<u/>> <U>;<CIRCUMFLEX>;<SMALL>;IGNORE +<U<> <U>;<CARON>;<CAPITAL>;IGNORE +<u<> <U>;<CARON>;<SMALL>;IGNORE +<U0> <U>;<RING>;<CAPITAL>;IGNORE +<u0> <U>;<RING>;<SMALL>;IGNORE +<U:> <U>;<DIAERESIS>;<CAPITAL>;IGNORE +<u:> <U>;<DIAERESIS>;<SMALL>;IGNORE +<U:-> <U>;<DIAERESIS+MACRON>;<CAPITAL>;IGNORE +<u:-> <U>;<DIAERESIS+MACRON>;<SMALL>;IGNORE +<U:'> <U>;<DIAERESIS+ACUTE>;<CAPITAL>;IGNORE +<u:'> <U>;<DIAERESIS+ACUTE>;<SMALL>;IGNORE +<U:!> <U>;<DIAERESIS+GRAVE>;<CAPITAL>;IGNORE +<u:!> <U>;<DIAERESIS+GRAVE>;<SMALL>;IGNORE +<U:<> <U>;<DIAERESIS+CARON>;<CAPITAL>;IGNORE +<u:<> <U>;<DIAERESIS+CARON>;<SMALL>;IGNORE +<U"> <U>;<DOUBLE-ACUTE>;<CAPITAL>;IGNORE +<u"> <U>;<DOUBLE-ACUTE>;<SMALL>;IGNORE +<U2> <U>;<HOOK>;<CAPITAL>;IGNORE +<u2> <U>;<HOOK>;<SMALL>;IGNORE +<U?> <U>;<TILDE>;<CAPITAL>;IGNORE +<u?> <U>;<TILDE>;<SMALL>;IGNORE +<U?'> <U>;<TILDE+ACUTE>;<CAPITAL>;IGNORE +<u?'> <U>;<TILDE+ACUTE>;<SMALL>;IGNORE +<U-?> <U>;<TILDE-BELOW>;<CAPITAL>;IGNORE +<u-?> <U>;<TILDE-BELOW>;<SMALL>;IGNORE +<U-.> <U>;<DOT-BELOW>;<CAPITAL>;IGNORE +<u-.> <U>;<DOT-BELOW>;<SMALL>;IGNORE +<U;> <U>;<OGONEK>;<CAPITAL>;IGNORE +<u;> <U>;<OGONEK>;<SMALL>;IGNORE +<U-> <U>;<MACRON>;<CAPITAL>;IGNORE +<u-> <U>;<MACRON>;<SMALL>;IGNORE +<U-:> <U>;<MACRON+DIAERESIS>;<CAPITAL>;IGNORE +<u-:> <U>;<MACRON+DIAERESIS>;<SMALL>;IGNORE +<U--:> <U>;<MACRON+DIAERESIS-BELOW>;<CAPITAL>;IGNORE +<u--:> <U>;<MACRON+DIAERESIS-BELOW>;<SMALL>;IGNORE +<U-/>> <U>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE +<u-/>> <U>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE +<U9> <U>;<HORN>;<CAPITAL>;IGNORE +<u9> <U>;<HORN>;<SMALL>;IGNORE +<U9'> <U>;<HORN+ACUTE>;<CAPITAL>;IGNORE +<u9'> <U>;<HORN+ACUTE>;<SMALL>;IGNORE +<U9!> <U>;<HORN+GRAVE>;<CAPITAL>;IGNORE +<u9!> <U>;<HORN+GRAVE>;<SMALL>;IGNORE +<U92> <U>;<HORN+HOOK>;<CAPITAL>;IGNORE +<u92> <U>;<HORN+HOOK>;<SMALL>;IGNORE +<U9?> <U>;<HORN+TILDE>;<CAPITAL>;IGNORE +<u9?> <U>;<HORN+TILDE>;<SMALL>;IGNORE +<U9-.> <U>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE +<u9-.> <U>;<HORN+DOT-BELOW>;<SMALL>;IGNORE +<u8> +<V> <V>;<NONE>;<CAPITAL>;IGNORE +<v> <V>;<NONE>;<SMALL>;IGNORE +<V?> <V>;<TILDE>;<CAPITAL>;IGNORE +<v?> <V>;<TILDE>;<SMALL>;IGNORE +<V-.> <V>;<DOT-BELOW>;<CAPITAL>;IGNORE +<v-.> <V>;<DOT-BELOW>;<SMALL>;IGNORE +<v8> +<W> <W>;<NONE>;<CAPITAL>;IGNORE +<w> <W>;<NONE>;<SMALL>;IGNORE +<W'> <W>;<ACUTE>;<CAPITAL>;IGNORE +<w'> <W>;<ACUTE>;<SMALL>;IGNORE +<W!> <W>;<GRAVE>;<CAPITAL>;IGNORE +<w!> <W>;<GRAVE>;<SMALL>;IGNORE +<W/>> <W>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<w/>> <W>;<CIRCUMFLEX>;<SMALL>;IGNORE +<W:> <W>;<DIAERESIS>;<CAPITAL>;IGNORE +<w:> <W>;<DIAERESIS>;<SMALL>;IGNORE +<W.> <W>;<DOT>;<CAPITAL>;IGNORE +<w.> <W>;<DOT>;<SMALL>;IGNORE +<W-.> <W>;<DOT-BELOW>;<CAPITAL>;IGNORE +<w-.> <W>;<DOT-BELOW>;<SMALL>;IGNORE +<w8> +<X> <X>;<NONE>;<CAPITAL>;IGNORE +<x> <X>;<NONE>;<SMALL>;IGNORE +<X:> <X>;<DIAERESIS>;<CAPITAL>;IGNORE +<x:> <X>;<DIAERESIS>;<SMALL>;IGNORE +<X.> <X>;<DOT>;<CAPITAL>;IGNORE +<x.> <X>;<DOT>;<SMALL>;IGNORE +<x8> +<Y> <Y>;<NONE>;<CAPITAL>;IGNORE +<y> <Y>;<NONE>;<SMALL>;IGNORE +<Y'> <Y>;<ACUTE>;<CAPITAL>;IGNORE +<y'> <Y>;<ACUTE>;<SMALL>;IGNORE +<Y!> <Y>;<GRAVE>;<CAPITAL>;IGNORE +<y!> <Y>;<GRAVE>;<SMALL>;IGNORE +<Y/>> <Y>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<y/>> <Y>;<CIRCUMFLEX>;<SMALL>;IGNORE +<Y:> <Y>;<DIAERESIS>;<CAPITAL>;IGNORE +<y:> <Y>;<DIAERESIS>;<SMALL>;IGNORE +<Y2> <Y>;<HOOK>;<CAPITAL>;IGNORE +<y2> <Y>;<HOOK>;<SMALL>;IGNORE +<Y?> <Y>;<TILDE>;<CAPITAL>;IGNORE +<y?> <Y>;<TILDE>;<SMALL>;IGNORE +<Y.> <Y>;<DOT>;<CAPITAL>;IGNORE +<y.> <Y>;<DOT>;<SMALL>;IGNORE +<Y-.> <Y>;<DOT-BELOW>;<CAPITAL>;IGNORE +<y-.> <Y>;<DOT-BELOW>;<SMALL>;IGNORE +<y8> +<Z> <Z>;<NONE>;<CAPITAL>;IGNORE +<z> <Z>;<NONE>;<SMALL>;IGNORE +<Z'> <Z>;<ACUTE>;<CAPITAL>;IGNORE +<z'> <Z>;<ACUTE>;<SMALL>;IGNORE +<Z/>> <Z>;<CIRCUMFLEX>;<CAPITAL>;IGNORE +<z/>> <Z>;<CIRCUMFLEX>;<SMALL>;IGNORE +<Z<> <Z>;<CARON>;<CAPITAL>;IGNORE +<z<> <Z>;<CARON>;<SMALL>;IGNORE +<Z.> <Z>;<DOT>;<CAPITAL>;IGNORE +<z.> <Z>;<DOT>;<SMALL>;IGNORE +<Z-.> <Z>;<DOT-BELOW>;<CAPITAL>;IGNORE +<z-.> <Z>;<DOT-BELOW>;<SMALL>;IGNORE +<Z//> <Z>;<STROKE>;<CAPITAL>;IGNORE +<z//> <Z>;<STROKE>;<SMALL>;IGNORE +<Z_> <Z>;<LINE-BELOW>;<CAPITAL>;IGNORE +<z_> <Z>;<LINE-BELOW>;<SMALL>;IGNORE +<z8> +<A*> <A*>;<CAPITAL>;<GREEK>;IGNORE +<A%> <A*>;<CAPITAL>;<TONOS>;IGNORE +<a*> <A*>;<SMALL>;<GREEK>;IGNORE +<a%> <A*>;<SMALL>;<TONOS>;IGNORE +<B*> <B*>;<CAPITAL>;<GREEK>;IGNORE +<b*> <B*>;<SMALL>;<GREEK>;IGNORE +<G*> <G*>;<CAPITAL>;<GREEK>;IGNORE +<g*> <G*>;<SMALL>;<GREEK>;IGNORE +<D*> <D*>;<CAPITAL>;<GREEK>;IGNORE +<d*> <D*>;<SMALL>;<GREEK>;IGNORE +<E*> <E*>;<CAPITAL>;<GREEK>;IGNORE +<E%> <E*>;<CAPITAL>;<TONOS>;IGNORE +<e*> <E*>;<SMALL>;<GREEK>;IGNORE +<e%> <E*>;<SMALL>;<TONOS>;IGNORE +<Z*> <Z*>;<CAPITAL>;<GREEK>;IGNORE +<z*> <Z*>;<SMALL>;<GREEK>;IGNORE +<Y*> <Y*>;<CAPITAL>;<GREEK>;IGNORE +<Y%> <Y*>;<CAPITAL>;<TONOS>;IGNORE +<y*> <Y*>;<SMALL>;<GREEK>;IGNORE +<y%> <Y*>;<SMALL>;<TONOS>;IGNORE +<H*> <H*>;<CAPITAL>;<GREEK>;IGNORE +<h*> <H*>;<SMALL>;<GREEK>;IGNORE +<I*> <I*>;<CAPITAL>;<GREEK>;IGNORE +<I%> <I*>;<CAPITAL>;<TONOS>;IGNORE +<J*> <I*>;<CAPITAL>;<DIALYTICA>;IGNORE +<i*> <I*>;<SMALL>;<GREEK>;IGNORE +<i%> <I*>;<SMALL>;<TONOS>;IGNORE +<j*> <I*>;<SMALL>;<DIALYTICA>;IGNORE +<i3> <I*>;<SMALL>;<DIALYTICA+TONOS>;IGNORE +<K*> <K*>;<CAPITAL>;<GREEK>;IGNORE +<k*> <K*>;<SMALL>;<GREEK>;IGNORE +<L*> <L*>;<CAPITAL>;<GREEK>;IGNORE +<l*> <L*>;<SMALL>;<GREEK>;IGNORE +<M*> <M*>;<CAPITAL>;<GREEK>;IGNORE +<m*> <M*>;<SMALL>;<GREEK>;IGNORE +<N*> <N*>;<CAPITAL>;<GREEK>;IGNORE +<n*> <N*>;<SMALL>;<GREEK>;IGNORE +<C*> <C*>;<CAPITAL>;<GREEK>;IGNORE +<c*> <C*>;<SMALL>;<GREEK>;IGNORE +<O*> <O*>;<CAPITAL>;<GREEK>;IGNORE +<O%> <O*>;<CAPITAL>;<TONOS>;IGNORE +<o*> <O*>;<SMALL>;<GREEK>;IGNORE +<o%> <O*>;<SMALL>;<TONOS>;IGNORE +<P*> <P*>;<CAPITAL>;<GREEK>;IGNORE +<p*> <P*>;<SMALL>;<GREEK>;IGNORE +<R*> <R*>;<CAPITAL>;<GREEK>;IGNORE +<r*> <R*>;<SMALL>;<GREEK>;IGNORE +<S*> <S*>;<CAPITAL>;<GREEK>;IGNORE +<s*> <S*>;<SMALL>;<GREEK>;IGNORE +<*s> <S*>;<SMALL>;<*s>;IGNORE +<T*> <T*>;<CAPITAL>;<GREEK>;IGNORE +<t*> <T*>;<SMALL>;<GREEK>;IGNORE +<U*> <U*>;<CAPITAL>;<GREEK>;IGNORE +<U%> <U*>;<CAPITAL>;<TONOS>;IGNORE +<V*> <U*>;<CAPITAL>;<DIALYTICA>;IGNORE +<u*> <U*>;<SMALL>;<GREEK>;IGNORE +<u%> <U*>;<SMALL>;<TONOS>;IGNORE +<v*> <U*>;<SMALL>;<DIALYTICA>;IGNORE +<u3> <U*>;<SMALL>;<DIALYTICA+TONOS>;IGNORE +<F*> <F*>;<CAPITAL>;<GREEK>;IGNORE +<f*> <F*>;<SMALL>;<GREEK>;IGNORE +<X*> <X*>;<CAPITAL>;<GREEK>;IGNORE +<x*> <X*>;<SMALL>;<GREEK>;IGNORE +<Q*> <Q*>;<CAPITAL>;<GREEK>;IGNORE +<q*> <Q*>;<SMALL>;<GREEK>;IGNORE +<W*> <W*>;<CAPITAL>;<GREEK>;IGNORE +<W%> <W*>;<CAPITAL>;<TONOS>;IGNORE +<w*> <W*>;<SMALL>;<GREEK>;IGNORE +<w%> <W*>;<SMALL>;<TONOS>;IGNORE +<A=> <A=>;<CYRILLIC>;<CAPITAL>;IGNORE +<a=> <A=>;<CYRILLIC>;<SMALL>;IGNORE +<B=> <B=>;<CYRILLIC>;<CAPITAL>;IGNORE +<b=> <B=>;<CYRILLIC>;<SMALL>;IGNORE +<V=> <V=>;<CYRILLIC>;<CAPITAL>;IGNORE +<v=> <V=>;<CYRILLIC>;<SMALL>;IGNORE +<G=> <G=>;<CYRILLIC>;<CAPITAL>;IGNORE +<g=> <G=>;<CYRILLIC>;<SMALL>;IGNORE +<G3> <G3>;<CYRILLIC>;<CAPITAL>;IGNORE +<g3> <G3>;<CYRILLIC>;<SMALL>;IGNORE +<D=> <D=>;<CYRILLIC>;<CAPITAL>;IGNORE +<d=> <D=>;<CYRILLIC>;<SMALL>;IGNORE +<D%> <D%>;<CYRILLIC>;<CAPITAL>;IGNORE +<d%> <D%>;<CYRILLIC>;<SMALL>;IGNORE +<G%> <G%>;<CYRILLIC>;<CAPITAL>;IGNORE +<g%> <G%>;<CYRILLIC>;<SMALL>;IGNORE +<E=> <E=>;<CYRILLIC>;<CAPITAL>;IGNORE +<e=> <E=>;<CYRILLIC>;<SMALL>;IGNORE +<IO> <IO>;<CYRILLIC>;<CAPITAL>;IGNORE +<io> <IO>;<CYRILLIC>;<SMALL>;IGNORE +<IE> <IE>;<CYRILLIC>;<CAPITAL>;IGNORE +<ie> <IE>;<CYRILLIC>;<SMALL>;IGNORE +<Z%> <Z%>;<CYRILLIC>;<CAPITAL>;IGNORE +<z%> <Z%>;<CYRILLIC>;<SMALL>;IGNORE +<Z=> <Z=>;<CYRILLIC>;<CAPITAL>;IGNORE +<z=> <Z=>;<CYRILLIC>;<SMALL>;IGNORE +<DS> <DS>;<CYRILLIC>;<CAPITAL>;IGNORE +<ds> <DS>;<CYRILLIC>;<SMALL>;IGNORE +<I=> <I=>;<CYRILLIC>;<CAPITAL>;IGNORE +<i=> <I=>;<CYRILLIC>;<SMALL>;IGNORE +<II> <II>;<CYRILLIC>;<CAPITAL>;IGNORE +<ii> <II>;<CYRILLIC>;<SMALL>;IGNORE +<YI> <YI>;<CYRILLIC>;<CAPITAL>;IGNORE +<yi> <YI>;<CYRILLIC>;<SMALL>;IGNORE +<J%> <J%>;<CYRILLIC>;<CAPITAL>;IGNORE +<j%> <J%>;<CYRILLIC>;<SMALL>;IGNORE +<J=> <J=>;<CYRILLIC>;<CAPITAL>;IGNORE +<j=> <J=>;<CYRILLIC>;<SMALL>;IGNORE +<K=> <K=>;<CYRILLIC>;<CAPITAL>;IGNORE +<k=> <K=>;<CYRILLIC>;<SMALL>;IGNORE +<L=> <L=>;<CYRILLIC>;<CAPITAL>;IGNORE +<l=> <L=>;<CYRILLIC>;<SMALL>;IGNORE +<LJ> <LJ>;<CYRILLIC>;<CAPITAL>;IGNORE +<lj> <LJ>;<CYRILLIC>;<SMALL>;IGNORE +<M=> <M=>;<CYRILLIC>;<CAPITAL>;IGNORE +<m=> <M=>;<CYRILLIC>;<SMALL>;IGNORE +<N=> <N=>;<CYRILLIC>;<CAPITAL>;IGNORE +<n=> <N=>;<CYRILLIC>;<SMALL>;IGNORE +<NJ> <NJ>;<CYRILLIC>;<CAPITAL>;IGNORE +<nj> <NJ>;<CYRILLIC>;<SMALL>;IGNORE +<O=> <O=>;<CYRILLIC>;<CAPITAL>;IGNORE +<o=> <O=>;<CYRILLIC>;<SMALL>;IGNORE +<P=> <P=>;<CYRILLIC>;<CAPITAL>;IGNORE +<p=> <P=>;<CYRILLIC>;<SMALL>;IGNORE +<R=> <R=>;<CYRILLIC>;<CAPITAL>;IGNORE +<r=> <R=>;<CYRILLIC>;<SMALL>;IGNORE +<S=> <S=>;<CYRILLIC>;<CAPITAL>;IGNORE +<s=> <S=>;<CYRILLIC>;<SMALL>;IGNORE +<T=> <T=>;<CYRILLIC>;<CAPITAL>;IGNORE +<t=> <T=>;<CYRILLIC>;<SMALL>;IGNORE +<KJ> <KJ>;<CYRILLIC>;<CAPITAL>;IGNORE +<kj> <KJ>;<CYRILLIC>;<SMALL>;IGNORE +<Ts> <Ts>;<CYRILLIC>;<CAPITAL>;IGNORE +<ts> <Ts>;<CYRILLIC>;<SMALL>;IGNORE +<U=> <U=>;<CYRILLIC>;<CAPITAL>;IGNORE +<u=> <U=>;<CYRILLIC>;<SMALL>;IGNORE +<V%> <V%>;<CYRILLIC>;<CAPITAL>;IGNORE +<v%> <V%>;<CYRILLIC>;<SMALL>;IGNORE +<F=> <F=>;<CYRILLIC>;<CAPITAL>;IGNORE +<f=> <F=>;<CYRILLIC>;<SMALL>;IGNORE +<H=> <H=>;<CYRILLIC>;<CAPITAL>;IGNORE +<h=> <H=>;<CYRILLIC>;<SMALL>;IGNORE +<C=> <C=>;<CYRILLIC>;<CAPITAL>;IGNORE +<c=> <C=>;<CYRILLIC>;<SMALL>;IGNORE +<C%> <C%>;<CYRILLIC>;<CAPITAL>;IGNORE +<c%> <C%>;<CYRILLIC>;<SMALL>;IGNORE +<DZ> <DZ>;<CYRILLIC>;<CAPITAL>;IGNORE +<dz> <DZ>;<CYRILLIC>;<SMALL>;IGNORE +<S%> <S%>;<CYRILLIC>;<CAPITAL>;IGNORE +<s%> <S%>;<CYRILLIC>;<SMALL>;IGNORE +<Sc> <Sc>;<CYRILLIC>;<CAPITAL>;IGNORE +<sc> <Sc>;<CYRILLIC>;<SMALL>;IGNORE +<='> <='>;<CYRILLIC>;<SMALL>;IGNORE +<="> <='>;<CYRILLIC>;<CAPITAL>;IGNORE +<Y=> <Y=>;<CYRILLIC>;<CAPITAL>;IGNORE +<y=> <Y=>;<CYRILLIC>;<SMALL>;IGNORE +<%'> <%'>;<CYRILLIC>;<SMALL>;IGNORE +<%"> <%'>;<CYRILLIC>;<CAPITAL>;IGNORE +<JE> <JE>;<CYRILLIC>;<CAPITAL>;IGNORE +<je> <JE>;<CYRILLIC>;<SMALL>;IGNORE +<JU> <JU>;<CYRILLIC>;<CAPITAL>;IGNORE +<ju> <JU>;<CYRILLIC>;<SMALL>;IGNORE +<JA> <JA>;<CYRILLIC>;<CAPITAL>;IGNORE +<ja> <JA>;<CYRILLIC>;<SMALL>;IGNORE +<Y3> <Y3>;<CYRILLIC>;<CAPITAL>;IGNORE +<y3> <Y3>;<CYRILLIC>;<SMALL>;IGNORE +<O3> <O3>;<CYRILLIC>;<CAPITAL>;IGNORE +<o3> <O3>;<CYRILLIC>;<SMALL>;IGNORE +<F3> <F3>;<CYRILLIC>;<CAPITAL>;IGNORE +<f3> <F3>;<CYRILLIC>;<SMALL>;IGNORE +<V3> <V3>;<CYRILLIC>;<CAPITAL>;IGNORE +<v3> <V3>;<CYRILLIC>;<SMALL>;IGNORE +<C3> <C3>;<CYRILLIC>;<CAPITAL>;IGNORE +<c3> <C3>;<CYRILLIC>;<SMALL>;IGNORE +<A+> <A+>;IGNORE;IGNORE;IGNORE +<B+> <B+>;IGNORE;IGNORE;IGNORE +<G+> <G+>;IGNORE;IGNORE;IGNORE +<D+> <D+>;IGNORE;IGNORE;IGNORE +<H+> <H+>;IGNORE;IGNORE;IGNORE +<W+> <W+>;IGNORE;IGNORE;IGNORE +<Z+> <Z+>;IGNORE;IGNORE;IGNORE +<X+> <X+>;IGNORE;IGNORE;IGNORE +<Tj> <Tj>;IGNORE;IGNORE;IGNORE +<J+> <J+>;IGNORE;IGNORE;IGNORE +<K%> <K%>;IGNORE;IGNORE;IGNORE +<K+> <K+>;IGNORE;IGNORE;IGNORE +<L+> <L+>;IGNORE;IGNORE;IGNORE +<M%> <M%>;IGNORE;IGNORE;IGNORE +<M+> <M+>;IGNORE;IGNORE;IGNORE +<N%> <N%>;IGNORE;IGNORE;IGNORE +<N+> <N+>;IGNORE;IGNORE;IGNORE +<S+> <S+>;IGNORE;IGNORE;IGNORE +<E+> <E+>;IGNORE;IGNORE;IGNORE +<P%> <P%>;IGNORE;IGNORE;IGNORE +<P+> <P+>;IGNORE;IGNORE;IGNORE +<Zj> <Zj>;IGNORE;IGNORE;IGNORE +<ZJ> <ZJ>;IGNORE;IGNORE;IGNORE +<Q+> <Q+>;IGNORE;IGNORE;IGNORE +<R+> <R+>;IGNORE;IGNORE;IGNORE +<Sh> <Sh>;IGNORE;IGNORE;IGNORE +<T+> <T+>;IGNORE;IGNORE;IGNORE + +% Arabic collating + +<,+> IGNORE;IGNORE;IGNORE;<,+> +<;+> IGNORE;IGNORE;IGNORE;<;+> +<?+> IGNORE;IGNORE;IGNORE;<?+> +<++> IGNORE;IGNORE;IGNORE;<++> + +<H'> <H'>;<H'>;IGNORE;IGNORE +<aM> <aM>;<aM>;IGNORE;IGNORE +<aM.> <aM>;<aM.>;IGNORE;IGNORE +<aH> <H'>;<aH>;IGNORE;IGNORE +<aH.> <H'>;<aH.>;IGNORE;IGNORE +<wH> <H'>;<wH>;IGNORE;IGNORE +<ah> <H'>;<ah>;IGNORE;IGNORE +<ah.> <H'>;<ah.>;IGNORE;IGNORE +<yH> <H'>;<yH>;IGNORE;IGNORE +<aS> <aS>;<aS>;IGNORE;IGNORE +<a+> <a+>;<a+>;IGNORE;IGNORE +<a+-> <a+>;<a+->;IGNORE;IGNORE +<a+.> <a+>;<a+.>;IGNORE;IGNORE +<a+:> <a+>;<a+:>;IGNORE;IGNORE +<b+> <b+>;<b+>;IGNORE;IGNORE +<b+-> <b+>;<b+->;IGNORE;IGNORE +<b+.> <b+>;<b+.>;IGNORE;IGNORE +<b+,> <b+>;<b+,>;IGNORE;IGNORE +<b+;> <b+>;<b+;>;IGNORE;IGNORE +<p+> <p+>;<p+>;IGNORE;IGNORE +<v+> <v+>;<v+>;IGNORE;IGNORE +<tm> <tm>;<tm>;IGNORE;IGNORE +<tm-> <tm>;<tm->;IGNORE;IGNORE +<tm.> <tm>;<tm.>;IGNORE;IGNORE +<t+> <tm>;<t+>;IGNORE;IGNORE +<t+-> <tm>;<t+->;IGNORE;IGNORE +<t+.> <tm>;<t+.>;IGNORE;IGNORE +<t+,> <tm>;<t+,>;IGNORE;IGNORE +<t+;> <tm>;<t+;>;IGNORE;IGNORE +<tk> <tk>;<tk>;IGNORE;IGNORE +<tk-> <tk>;<tk->;IGNORE;IGNORE +<tk.> <tk>;<tk.>;IGNORE;IGNORE +<tk,> <tk>;<tk,>;IGNORE;IGNORE +<tk;> <tk>;<tk;>;IGNORE;IGNORE +<g+> <g+>;<g+>;IGNORE;IGNORE +<g+-> <g+>;<g+->;IGNORE;IGNORE +<g+.> <g+>;<g+.>;IGNORE;IGNORE +<g+,> <g+>;<g+,>;IGNORE;IGNORE +<g+;> <g+>;<g+;>;IGNORE;IGNORE +<hk> <hk>;<hk>;IGNORE;IGNORE +<hk-> <hk>;<hk->;IGNORE;IGNORE +<hk.> <hk>;<hk.>;IGNORE;IGNORE +<hk,> <hk>;<hk,>;IGNORE;IGNORE +<hk;> <hk>;<hk;>;IGNORE;IGNORE +<x+> <x+>;<x+>;IGNORE;IGNORE +<x+-> <x+>;<x+->;IGNORE;IGNORE +<x+.> <x+>;<x+.>;IGNORE;IGNORE +<x+,> <x+>;<x+,>;IGNORE;IGNORE +<x+;> <x+>;<x+;>;IGNORE;IGNORE +<d+> <d+>;<d+>;IGNORE;IGNORE +<d+-> <d+>;<d+->;IGNORE;IGNORE +<d+.> <d+>;<d+.>;IGNORE;IGNORE +<dk> <dk>;<dk>;IGNORE;IGNORE +<dk-> <dk>;<dk->;IGNORE;IGNORE +<dk.> <dk>;<dk.>;IGNORE;IGNORE +<r+> <r+>;<r+>;IGNORE;IGNORE +<r+-> <r+>;<r+->;IGNORE;IGNORE +<r+.> <r+>;<r+.>;IGNORE;IGNORE +<z+> <z+>;<z+>;IGNORE;IGNORE +<z+-> <z+>;<z+->;IGNORE;IGNORE +<z+.> <z+>;<z+.>;IGNORE;IGNORE +<s+> <s+>;<s+>;IGNORE;IGNORE +<s+-> <s+>;<s+->;IGNORE;IGNORE +<s+.> <s+>;<s+.>;IGNORE;IGNORE +<s+,> <s+>;<s+,>;IGNORE;IGNORE +<s+;> <s+>;<s+;>;IGNORE;IGNORE +<sn> <sn>;<sn>;IGNORE;IGNORE +<sn-> <sn>;<sn->;IGNORE;IGNORE +<sn.> <sn>;<sn.>;IGNORE;IGNORE +<sn,> <sn>;<sn,>;IGNORE;IGNORE +<sn;> <sn>;<sn;>;IGNORE;IGNORE +<c+> <c+>;<c+>;IGNORE;IGNORE +<c+-> <c+>;<c+->;IGNORE;IGNORE +<c+.> <c+>;<c+.>;IGNORE;IGNORE +<c+,> <c+>;<c+,>;IGNORE;IGNORE +<c+;> <c+>;<c+;>;IGNORE;IGNORE +<dd> <dd>;<dd>;IGNORE;IGNORE +<dd-> <dd>;<dd->;IGNORE;IGNORE +<dd.> <dd>;<dd.>;IGNORE;IGNORE +<dd,> <dd>;<dd,>;IGNORE;IGNORE +<dd;> <dd>;<dd;>;IGNORE;IGNORE +<tj> <tj>;<tj>;IGNORE;IGNORE +<tj-> <tj>;<tj->;IGNORE;IGNORE +<tj.> <tj>;<tj.>;IGNORE;IGNORE +<tj,> <tj>;<tj,>;IGNORE;IGNORE +<tj;> <tj>;<tj;>;IGNORE;IGNORE +<zH> <zH>;<zH>;IGNORE;IGNORE +<zH-> <zH>;<zH->;IGNORE;IGNORE +<zH.> <zH>;<zH.>;IGNORE;IGNORE +<zH,> <zH>;<zH,>;IGNORE;IGNORE +<zH;> <zH>;<zH;>;IGNORE;IGNORE +<e+> <e+>;<e+>;IGNORE;IGNORE +<e+-> <e+>;<e+->;IGNORE;IGNORE +<e+.> <e+>;<e+.>;IGNORE;IGNORE +<e+,> <e+>;<e+,>;IGNORE;IGNORE +<e+;> <e+>;<e+;>;IGNORE;IGNORE +<i+> <i+>;<i+>;IGNORE;IGNORE +<i+-> <i+>;<i+->;IGNORE;IGNORE +<i+.> <i+>;<i+.>;IGNORE;IGNORE +<i+,> <i+>;<i+,>;IGNORE;IGNORE +<i+;> <i+>;<i+;>;IGNORE;IGNORE +<f+> <f+>;<f+>;IGNORE;IGNORE +<f+-> <f+>;<f+->;IGNORE;IGNORE +<f+.> <f+>;<f+.>;IGNORE;IGNORE +<f+,> <f+>;<f+,>;IGNORE;IGNORE +<f+;> <f+>;<f+;>;IGNORE;IGNORE +<q+> <q+>;<q+>;IGNORE;IGNORE +<q+-> <q+>;<q+->;IGNORE;IGNORE +<q+.> <q+>;<q+.>;IGNORE;IGNORE +<q+,> <q+>;<q+,>;IGNORE;IGNORE +<q+;> <q+>;<q+;>;IGNORE;IGNORE +<k+> <k+>;<k+>;IGNORE;IGNORE +<k+-> <k+>;<k+->;IGNORE;IGNORE +<k+.> <k+>;<k+.>;IGNORE;IGNORE +<k+,> <k+>;<k+,>;IGNORE;IGNORE +<k+;> <k+>;<k+;>;IGNORE;IGNORE +<l+> <l+>;<l+>;IGNORE;IGNORE +<l+-> <l+>;<l+->;IGNORE;IGNORE +<l+.> <l+>;<l+.>;IGNORE;IGNORE +<l+,> <l+>;<l+,>;IGNORE;IGNORE +<l+;> <l+>;<l+;>;IGNORE;IGNORE +<m+> <m+>;<m+>;IGNORE;IGNORE +<m+-> <m+>;<m+->;IGNORE;IGNORE +<m+.> <m+>;<m+.>;IGNORE;IGNORE +<m+,> <m+>;<m+,>;IGNORE;IGNORE +<m+;> <m+>;<m+;>;IGNORE;IGNORE +<n+> <n+>;<n+>;IGNORE;IGNORE +<n+-> <n+>;<n+->;IGNORE;IGNORE +<n+.> <n+>;<n+.>;IGNORE;IGNORE +<n+,> <n+>;<n+,>;IGNORE;IGNORE +<n+;> <n+>;<n+;>;IGNORE;IGNORE +<h+> <h+>;<h+>;IGNORE;IGNORE +<h+-> <h+>;<h+->;IGNORE;IGNORE +<h+.> <h+>;<h+.>;IGNORE;IGNORE +<h+,> <h+>;<h+,>;IGNORE;IGNORE +<h+;> <h+>;<h+;>;IGNORE;IGNORE +<w+> <w+>;<w+>;IGNORE;IGNORE +<w+-> <w+>;<w+->;IGNORE;IGNORE +<w+.> <w+>;<w+.>;IGNORE;IGNORE +<j+> <j+>;<j+>;IGNORE;IGNORE +<j+-> <j+>;<j+->;IGNORE;IGNORE +<j+.> <j+>;<j+.>;IGNORE;IGNORE +<y+> <y+>;<y+>;IGNORE;IGNORE +<y+-> <y+>;<y+->;IGNORE;IGNORE +<y+.> <y+>;<y+.>;IGNORE;IGNORE +<y+,> <y+>;<y+,>;IGNORE;IGNORE +<y+;> <y+>;<y+;>;IGNORE;IGNORE + +<:+> IGNORE;IGNORE;<:+>;IGNORE +<"+> IGNORE;IGNORE;<"+>;IGNORE +<=+> IGNORE;IGNORE;<=+>;IGNORE +<//+> IGNORE;IGNORE;<//+>;IGNORE +<'+> IGNORE;IGNORE;<'+>;IGNORE +<1+> IGNORE;IGNORE;<1+>;IGNORE +<3+> IGNORE;IGNORE;<3+>;IGNORE +<3+;> IGNORE;IGNORE;<3+;>;IGNORE +<0+> IGNORE;IGNORE;<0+>;IGNORE + +<0a> <0>;<0a>;IGNORE;IGNORE +<1a> <1>;<1a>;IGNORE;IGNORE +<2a> <2>;<2a>;IGNORE;IGNORE +<3a> <3>;<3a>;IGNORE;IGNORE +<4a> <4>;<4a>;IGNORE;IGNORE +<5a> <5>;<5a>;IGNORE;IGNORE +<6a> <6>;<6a>;IGNORE;IGNORE +<7a> <7>;<7a>;IGNORE;IGNORE +<8a> <8>;<8a>;IGNORE;IGNORE +<9a> <9>;<9a>;IGNORE;IGNORE + +<lM-> <l+><aM>;<l+><aM>;<lM-><lM->;IGNORE +<lM.> <l+><aM>;<l+><aM.>;<lM.><lM.>;IGNORE +<lH-> <l+><aH>;<l+><aH>;<lH-><lH->;IGNORE +<lH.> <l+><aH>;<l+><aH.>;<lH.><lH.>;IGNORE +<lh-> <l+><ah>;<l+><ah>;<lh-><lh->;IGNORE +<lh.> <l+><ah>;<l+><ah.>;<lh.><lh.>;IGNORE +<la-> <l+><a+>;<l+><a+->;<la-><la->;IGNORE +<la.> <l+><a+>;<l+><a+.>;<la.><la.>;IGNORE + +% katakana/hiragana sorting +% base is katakana, as this is present in most charsets +% normal before voiced before semi-voiced +% small vocals before normal vocals +% katakana before hiragana + +<a6> <a6>;<a6>;IGNORE;IGNORE +<A5> <a6>;<A5>;IGNORE;IGNORE +<A6> <a6>;<A6>;IGNORE;IGNORE +<a5> <a6>;<a5>;IGNORE;IGNORE +<i6> <i6>;<i6>;IGNORE;IGNORE +<I5> <i6>;<I5>;IGNORE;IGNORE +<I6> <i6>;<I6>;IGNORE;IGNORE +<i5> <i6>;<i5>;IGNORE;IGNORE +<u6> <u6>;<u6>;IGNORE;IGNORE +<U5> <u6>;<U5>;IGNORE;IGNORE +<U6> <u6>;<U6>;IGNORE;IGNORE +<u5> <u6>;<u5>;IGNORE;IGNORE +<Vu> <u6>;<Vu>;IGNORE;IGNORE +<e6> <e6>;<e6>;IGNORE;IGNORE +<E5> <e6>;<E5>;IGNORE;IGNORE +<E6> <e6>;<E6>;IGNORE;IGNORE +<e5> <e6>;<e5>;IGNORE;IGNORE +<o6> <o6>;<o6>;IGNORE;IGNORE +<O5> <o6>;<O5>;IGNORE;IGNORE +<O6> <o6>;<O6>;IGNORE;IGNORE +<o5> <o6>;<o5>;IGNORE;IGNORE +<KA> <KA>;<KA>;IGNORE;IGNORE +<Ka> <KA>;<Ka>;IGNORE;IGNORE +<ka> <KA>;<ka>;IGNORE;IGNORE +<Ga> <KA>;<Ga>;IGNORE;IGNORE +<ga> <KA>;<ga>;IGNORE;IGNORE +<Ki> <Ki>;<Ki>;IGNORE;IGNORE +<ki> <Ki>;<ki>;IGNORE;IGNORE +<Gi> <Ki>;<Gi>;IGNORE;IGNORE +<gi> <Ki>;<gi>;IGNORE;IGNORE +<Ku> <Ku>;<Ku>;IGNORE;IGNORE +<ku> <Ku>;<ku>;IGNORE;IGNORE +<Gu> <Ku>;<Gu>;IGNORE;IGNORE +<gu> <Ku>;<gu>;IGNORE;IGNORE +<KE> <KE>;<KE>;IGNORE;IGNORE +<Ke> <KE>;<Ke>;IGNORE;IGNORE +<ke> <KE>;<ke>;IGNORE;IGNORE +<Ge> <KE>;<Ge>;IGNORE;IGNORE +<ge> <KE>;<ge>;IGNORE;IGNORE +<Ko> <Ko>;<Ko>;IGNORE;IGNORE +<ko> <Ko>;<ko>;IGNORE;IGNORE +<Go> <Ko>;<Go>;IGNORE;IGNORE +<go> <Ko>;<go>;IGNORE;IGNORE +<Sa> <Sa>;<Sa>;IGNORE;IGNORE +<sa> <Sa>;<sa>;IGNORE;IGNORE +<Za> <Sa>;<Za>;IGNORE;IGNORE +<za> <Sa>;<za>;IGNORE;IGNORE +<Si> <Si>;<Si>;IGNORE;IGNORE +<si> <Si>;<si>;IGNORE;IGNORE +<Zi> <Si>;<Zi>;IGNORE;IGNORE +<zi> <Si>;<zi>;IGNORE;IGNORE +<Su> <Su>;<Su>;IGNORE;IGNORE +<su> <Su>;<su>;IGNORE;IGNORE +<Zu> <Su>;<Zu>;IGNORE;IGNORE +<zu> <Su>;<zu>;IGNORE;IGNORE +<Se> <Se>;<Se>;IGNORE;IGNORE +<se> <Se>;<se>;IGNORE;IGNORE +<Ze> <Se>;<Ze>;IGNORE;IGNORE +<ze> <Se>;<ze>;IGNORE;IGNORE +<So> <So>;<So>;IGNORE;IGNORE +<so> <So>;<so>;IGNORE;IGNORE +<Zo> <So>;<Zo>;IGNORE;IGNORE +<zo> <So>;<zo>;IGNORE;IGNORE +<Ta> <Ta>;<Ta>;IGNORE;IGNORE +<ta> <Ta>;<ta>;IGNORE;IGNORE +<Da> <Ta>;<Da>;IGNORE;IGNORE +<da> <Ta>;<da>;IGNORE;IGNORE +<Ti> <Ti>;<Ti>;IGNORE;IGNORE +<ti> <Ti>;<ti>;IGNORE;IGNORE +<Di> <Ti>;<Di>;IGNORE;IGNORE +<di> <Ti>;<di>;IGNORE;IGNORE +<TU> <TU>;<TU>;IGNORE;IGNORE +<tU> <TU>;<tU>;IGNORE;IGNORE +<Tu> <TU>;<Tu>;IGNORE;IGNORE +<tu> <TU>;<tu>;IGNORE;IGNORE +<Du> <TU>;<Du>;IGNORE;IGNORE +<du> <TU>;<du>;IGNORE;IGNORE +<Te> <Te>;<Te>;IGNORE;IGNORE +<te> <Te>;<te>;IGNORE;IGNORE +<De> <Te>;<De>;IGNORE;IGNORE +<de> <Te>;<de>;IGNORE;IGNORE +<To> <To>;<To>;IGNORE;IGNORE +<to> <To>;<to>;IGNORE;IGNORE +<Do> <To>;<Do>;IGNORE;IGNORE +<do> <To>;<do>;IGNORE;IGNORE +<Na> <Na>;<Na>;IGNORE;IGNORE +<na> <Na>;<na>;IGNORE;IGNORE +<Ni> <Ni>;<Ni>;IGNORE;IGNORE +<ni> <Ni>;<ni>;IGNORE;IGNORE +<Nu> <Nu>;<Nu>;IGNORE;IGNORE +<nu> <Nu>;<nu>;IGNORE;IGNORE +<Ne> <Ne>;<Ne>;IGNORE;IGNORE +<ne> <Ne>;<ne>;IGNORE;IGNORE +<No> <No>;<No>;IGNORE;IGNORE +<no> <No>;<no>;IGNORE;IGNORE +<Ha> <Ha>;<Ha>;IGNORE;IGNORE +<ha> <Ha>;<ha>;IGNORE;IGNORE +<Ba> <Ha>;<Ba>;IGNORE;IGNORE +<ba> <Ha>;<ba>;IGNORE;IGNORE +<Pa> <Ha>;<Pa>;IGNORE;IGNORE +<pa> <Ha>;<pa>;IGNORE;IGNORE +<Hi> <Hi>;<Hi>;IGNORE;IGNORE +<hi> <Hi>;<hi>;IGNORE;IGNORE +<Bi> <Hi>;<Bi>;IGNORE;IGNORE +<bi> <Hi>;<bi>;IGNORE;IGNORE +<Pi> <Hi>;<Pi>;IGNORE;IGNORE +<pi> <Hi>;<pi>;IGNORE;IGNORE +<Hu> <Hu>;<Hu>;IGNORE;IGNORE +<hu> <Hu>;<hu>;IGNORE;IGNORE +<Bu> <Hu>;<Bu>;IGNORE;IGNORE +<bu> <Hu>;<bu>;IGNORE;IGNORE +<Pu> <Hu>;<Pu>;IGNORE;IGNORE +<pu> <Hu>;<pu>;IGNORE;IGNORE +<He> <He>;<He>;IGNORE;IGNORE +<he> <He>;<he>;IGNORE;IGNORE +<Be> <He>;<Be>;IGNORE;IGNORE +<be> <He>;<be>;IGNORE;IGNORE +<Pe> <He>;<Pe>;IGNORE;IGNORE +<pe> <He>;<pe>;IGNORE;IGNORE +<Ho> <Ho>;<Ho>;IGNORE;IGNORE +<ho> <Ho>;<ho>;IGNORE;IGNORE +<Bo> <Ho>;<Bo>;IGNORE;IGNORE +<bo> <Ho>;<bo>;IGNORE;IGNORE +<Po> <Ho>;<Po>;IGNORE;IGNORE +<po> <Ho>;<po>;IGNORE;IGNORE +<Ma> <Ma>;<Ma>;IGNORE;IGNORE +<ma> <Ma>;<ma>;IGNORE;IGNORE +<Mi> <Mi>;<Mi>;IGNORE;IGNORE +<mi> <Mi>;<mi>;IGNORE;IGNORE +<Mu> <Mu>;<Mu>;IGNORE;IGNORE +<mu> <Mu>;<mu>;IGNORE;IGNORE +<Me> <Me>;<Me>;IGNORE;IGNORE +<me> <Me>;<me>;IGNORE;IGNORE +<Mo> <Mo>;<Mo>;IGNORE;IGNORE +<mo> <Mo>;<mo>;IGNORE;IGNORE +<YA> <YA>;<YA>;IGNORE;IGNORE +<yA> <YA>;<yA>;IGNORE;IGNORE +<Ya> <YA>;<Ya>;IGNORE;IGNORE +<ya> <YA>;<ya>;IGNORE;IGNORE +<YU> <YU>;<YU>;IGNORE;IGNORE +<yU> <YU>;<yU>;IGNORE;IGNORE +<Yu> <YU>;<Yu>;IGNORE;IGNORE +<yu> <YU>;<yu>;IGNORE;IGNORE +<YO> <YO>;<YO>;IGNORE;IGNORE +<yO> <YO>;<yO>;IGNORE;IGNORE +<Yo> <YO>;<Yo>;IGNORE;IGNORE +<yo> <YO>;<yo>;IGNORE;IGNORE +<Ra> <Ra>;<Ra>;IGNORE;IGNORE +<ra> <Ra>;<ra>;IGNORE;IGNORE +<Ri> <Ri>;<Ri>;IGNORE;IGNORE +<ri> <Ri>;<ri>;IGNORE;IGNORE +<Ru> <Ru>;<Ru>;IGNORE;IGNORE +<ru> <Ru>;<ru>;IGNORE;IGNORE +<Re> <Re>;<Re>;IGNORE;IGNORE +<re> <Re>;<re>;IGNORE;IGNORE +<Ro> <Ro>;<Ro>;IGNORE;IGNORE +<ro> <Ro>;<ro>;IGNORE;IGNORE +<WA> <WA>;<WA>;IGNORE;IGNORE +<wA> <WA>;<wA>;IGNORE;IGNORE +<Wa> <WA>;<Wa>;IGNORE;IGNORE +<wa> <WA>;<wa>;IGNORE;IGNORE +<Wi> <Wi>;<Wi>;IGNORE;IGNORE +<wi> <Wi>;<wi>;IGNORE;IGNORE +<We> <We>;<We>;IGNORE;IGNORE +<we> <We>;<we>;IGNORE;IGNORE +<Wo> <Wo>;<Wo>;IGNORE;IGNORE +<wo> <Wo>;<wo>;IGNORE;IGNORE +<N6> <N6>;<N6>;IGNORE;IGNORE +<n5> <N6>;<n5>;IGNORE;IGNORE + +order_end + +END LC_COLLATE + +LC_CTYPE + +digit <0>;<1>;<2>;<3>;<4>;/ + <5>;<6>;<7>;<8>;<9> + +xdigit <0>;<1>;<2>;<3>;<4>;/ + <5>;<6>;<7>;<8>;<9>;/ + <A>;<B>;<C>;<D>;<E>;<F>;/ + <a>;<b>;<c>;<d>;<e>;<f> + +blank <SP>;<HT>;<NS> + +space <SP>;<LF>;<VT>;<FF>;/ + <CR>;<HT>;<NS> + +upper <A>;<B>;<C>;<D>;<E>;<F>;<G>;/ + <H>;<I>;<J>;<K>;<L>;<M>;<N>;/ + <O>;<P>;<Q>;<R>;<S>;<T>;<U>;/ + <V>;<W>;<X>;<Y>;<Z>;<A!>;<A'>;/ + <A/>>;<A?>;<A:>;<AA>;<AE>;<C,>;/ + <E!>;<E'>;<E/>>;<E:>;<I!>;<I'>;/ + <I/>>;<I:>;<D->;<N?>;<O!>;<O'>;/ + <O/>>;<O?>;<O:>;<O//>;<U!>;/ + <U'>;<U/>>;<U:>;<Y'>;<TH>;<A->;/ + <A(>;<A;>;<C'>;<C/>>;<C.>;<C<>;/ + <D<>;<D//>;<E->;<E(>;<E.>;<E;>;/ + <E<>;<G/>>;<G(>;<G.>;<G,>;/ + <H/>>;<H//>;<I?>;<I->;<I(>;/ + <I;>;<I.>;<IJ>;<J/>>;<K,>;<L'>;/ + <L,>;<L<>;<L.>;<L//>;<N'>;<N,>;/ + <N<>;<NG>;<O->;<O(>;<O">;<OE>;/ + <R'>;<R,>;<R<>;<S'>;<S/>>;<S,>;/ + <S<>;<T,>;<T<>;<T//>;<U?>;<U->;/ + <U(>;<U0>;<U">;<U;>;<W/>>;/ + <Y/>>;<Y:>;<Z'>;<Z.>;<Z<>;<C2>;/ + <F2>;<K2>;<O9>;<OI>;<U9>;<Z//>;/ + <ED>;<A<>;<I<>;<O<>;<U<>;<U:->;/ + <U:'>;<U:<>;<U:!>;<A1>;<A7>;/ + <A3>;<G//>;<G<>;<K<>;<O;>;<O1>;/ + <EZ>;<G'>;<AA'>;<AE'>;<O//'>;/ + <A!!>;<A)>;<E!!>;<E)>;<I!!>;/ + <I)>;<O!!>;<O)>;<R!!>;<R)>;/ + <U!!>;<U)>;<A%>;<E%>;<Y%>;<I%>;/ + <O%>;<U%>;<W%>;<A*>;<B*>;<G*>;/ + <D*>;<E*>;<Z*>;<Y*>;<H*>;<I*>;/ + <K*>;<L*>;<M*>;<N*>;<C*>;<O*>;/ + <P*>;<R*>;<S*>;<T*>;<U*>;<F*>;/ + <X*>;<Q*>;<W*>;<J*>;<V*>;<IO>;/ + <D%>;<G%>;<IE>;<DS>;<II>;<YI>;/ + <J%>;<LJ>;<NJ>;<Ts>;<KJ>;<V%>;/ + <DZ>;<A=>;<B=>;<V=>;<G=>;<D=>;/ + <E=>;<Z%>;<Z=>;<I=>;<J=>;<K=>;/ + <L=>;<M=>;<N=>;<O=>;<P=>;<R=>;/ + <S=>;<T=>;<U=>;<F=>;<H=>;<C=>;/ + <C%>;<S%>;<Sc>;<=">;<Y=>;<%">;/ + <JE>;<JU>;<JA>;<Y3>;<O3>;<F3>;/ + <V3>;<C3>;<G3>;<A-0>;<B.>;/ + <B-.>;<B_>;<C,'>;<D.>;<D-.>;/ + <D_>;<D,>;<D-/>>;<E-!>;<E-'>;/ + <E-/>>;<E-?>;<E,(>;<F.>;<G->;/ + <H.>;<H-.>;<H:>;<H,>;<H-(>;/ + <I-?>;<I:'>;<K'>;<K-.>;<K_>;/ + <L-.>;<L--.>;<L_>;<L-/>>;<M'>;/ + <M.>;<M-.>;<N.>;<N-.>;<N_>;/ + <N-/>>;<O?'>;<O?:>;<O-!>;<O-'>;/ + <P'>;<P.>;<R.>;<R-.>;<R--.>;/ + <R_>;<S.>;<S-.>;<S'.>;<S<.>;/ + <S.-.>;<T.>;<T-.>;<T_>;<T-/>>;/ + <U--:>;<U-?>;<U-/>>;<U?'>;/ + <U-:>;<V?>;<V-.>;<W!>;<W'>;/ + <W:>;<W.>;<W-.>;<X.>;<X:>;<Y.>;/ + <Z/>>;<Z-.>;<Z_>;<A-.>;<A2>;/ + <A/>'>;<A/>!>;<A/>2>;<A/>?>;/ + <A/>-.>;<A('>;<A(!>;<A(2>;/ + <A(?>;<A(-.>;<E-.>;<E2>;<E?>;/ + <E/>'>;<E/>!>;<E/>2>;<E/>?>;/ + <E/>-.>;<I2>;<I-.>;<O-.>;<O2>;/ + <O/>'>;<O/>!>;<O/>2>;<O/>?>;/ + <O/>-.>;<O9'>;<O9!>;<O92>;/ + <O9?>;<O9-.>;<U-.>;<U2>;<U9'>;/ + <U9!>;<U92>;<U9?>;<U9-.>;<Y!>;/ + <Y-.>;<Y2>;<Y?>;<A-o>;<B-o>;/ + <C-o>;<D-o>;<E-o>;<F-o>;<G-o>;/ + <H-o>;<I-o>;<J-o>;<K-o>;<L-o>;/ + <M-o>;<N-o>;<O-o>;<P-o>;<Q-o>;/ + <R-o>;<S-o>;<T-o>;<U-o>;<V-o>;/ + <W-o>;<X-o>;<Y-o>;<Z-o> + +lower <a>;<b>;<c>;<d>;<e>;<f>;<g>;/ + <h>;<i>;<j>;<k>;<l>;<m>;<n>;/ + <o>;<p>;<q>;<r>;<s>;<t>;<u>;/ + <v>;<w>;<x>;<y>;<z>;<ss>;<a!>;/ + <a'>;<a/>>;<a?>;<a:>;<aa>;<ae>;/ + <c,>;<e!>;<e'>;<e/>>;<e:>;<i!>;/ + <i'>;<i/>>;<i:>;<d->;<n?>;<o!>;/ + <o'>;<o/>>;<o?>;<o:>;<o//>;/ + <u!>;<u'>;<u/>>;<u:>;<y'>;<th>;/ + <y:>;<a->;<a(>;<a;>;<c'>;<c/>>;/ + <c.>;<c<>;<d<>;<d//>;<e->;<e(>;/ + <e.>;<e;>;<e<>;<g/>>;<g(>;<g.>;/ + <g,>;<h/>>;<h//>;<i?>;<i->;/ + <i(>;<i;>;<i.>;<ij>;<j/>>;<k,>;/ + <kk>;<l'>;<l,>;<l<>;<l.>;<l//>;/ + <n'>;<n,>;<n<>;<'n>;<ng>;<o->;/ + <o(>;<o">;<oe>;<r'>;<r,>;<r<>;/ + <s'>;<s/>>;<s,>;<s<>;<t,>;<t<>;/ + <t//>;<u?>;<u->;<u(>;<u0>;<u">;/ + <u;>;<w/>>;<y/>>;<z'>;<z.>;/ + <z<>;<s1>;<c2>;<f2>;<k2>;<o9>;/ + <oi>;<u9>;<z//>;<a<>;<i<>;<o<>;/ + <u<>;<u:->;<u:'>;<u:<>;<u:!>;/ + <a1>;<a7>;<a3>;<g//>;<g<>;<k<>;/ + <o;>;<o1>;<ez>;<g'>;<aa'>;/ + <ae'>;<o//'>;<a!!>;<a)>;<e!!>;/ + <e)>;<i!!>;<i)>;<o!!>;<o)>;/ + <r!!>;<r)>;<u!!>;<u)>;<ed>;/ + <i3>;<a%>;<e%>;<y%>;<i%>;<u3>;/ + <a*>;<b*>;<g*>;<d*>;<e*>;<z*>;/ + <y*>;<h*>;<i*>;<k*>;<l*>;<m*>;/ + <n*>;<c*>;<o*>;<p*>;<r*>;<*s>;/ + <s*>;<t*>;<u*>;<f*>;<x*>;<q*>;/ + <w*>;<j*>;<v*>;<o%>;<u%>;<w%>;/ + <a=>;<b=>;<v=>;<g=>;<d=>;<e=>;/ + <z%>;<z=>;<i=>;<j=>;<k=>;<l=>;/ + <m=>;<n=>;<o=>;<p=>;<r=>;<s=>;/ + <t=>;<u=>;<f=>;<h=>;<c=>;<c%>;/ + <s%>;<sc>;<='>;<y=>;<%'>;<je>;/ + <ju>;<ja>;<io>;<d%>;<g%>;<ie>;/ + <ds>;<ii>;<yi>;<j%>;<lj>;<nj>;/ + <ts>;<kj>;<v%>;<dz>;<y3>;<o3>;/ + <f3>;<v3>;<c3>;<g3>;<a-0>;<b.>;/ + <b-.>;<b_>;<c,'>;<d.>;<d-.>;/ + <d_>;<d,>;<d-/>>;<e-!>;<e-'>;/ + <e-/>>;<e-?>;<e,(>;<f.>;<g->;/ + <h.>;<h-.>;<h:>;<h,>;<h-(>;/ + <i-?>;<i:'>;<k'>;<k-.>;<k_>;/ + <l-.>;<l--.>;<l_>;<l-/>>;<m'>;/ + <m.>;<m-.>;<n.>;<n-.>;<n_>;/ + <n-/>>;<o?'>;<o?:>;<o-!>;<o-'>;/ + <p'>;<p.>;<r.>;<r-.>;<r--.>;/ + <r_>;<s.>;<s-.>;<s'.>;<s<.>;/ + <s.-.>;<t.>;<t-.>;<t_>;<t-/>>;/ + <u--:>;<u-?>;<u-/>>;<u?'>;/ + <u-:>;<v?>;<v-.>;<w!>;<w'>;/ + <w:>;<w.>;<w-.>;<x.>;<x:>;<y.>;/ + <z/>>;<z-.>;<z_>;<a-.>;<a2>;/ + <a/>'>;<a/>!>;<a/>2>;<a/>?>;/ + <a/>-.>;<a('>;<a(!>;<a(2>;/ + <a(?>;<a(-.>;<e-.>;<e2>;<e?>;/ + <e/>'>;<e/>!>;<e/>2>;<e/>?>;/ + <e/>-.>;<i2>;<i-.>;<o-.>;<o2>;/ + <o/>'>;<o/>!>;<o/>2>;<o/>?>;/ + <o/>-.>;<o9'>;<o9!>;<o92>;/ + <o9?>;<o9-.>;<u-.>;<u2>;<u9'>;/ + <u9!>;<u92>;<u9?>;<u9-.>;<y!>;/ + <y-.>;<y2>;<y?>;<nS>;<(a)>;/ + <(b)>;<(c)>;<(d)>;<(e)>;<(f)>;/ + <(g)>;<(h)>;<(i)>;<(j)>;<(k)>;/ + <(l)>;<(m)>;<(n)>;<(o)>;<(p)>;/ + <(q)>;<(r)>;<(s)>;<(t)>;<(u)>;/ + <(v)>;<(w)>;<(x)>;<(y)>;<(z)>;/ + <a-o>;<b-o>;<c-o>;<d-o>;<e-o>;/ + <f-o>;<g-o>;<h-o>;<i-o>;<j-o>;/ + <k-o>;<l-o>;<m-o>;<n-o>;<o-o>;/ + <p-o>;<q-o>;<r-o>;<s-o>;<t-o>;/ + <u-o>;<v-o>;<w-o>;<x-o>;<y-o>;/ + <z-o>;<ff>;<fi>;<fl>;<ffi>;/ + <ffl>;<St>;<st> + +alpha <A>;<B>;<C>;<D>;<E>;<F>;<G>;/ + <H>;<I>;<J>;<K>;<L>;<M>;<N>;/ + <O>;<P>;<Q>;<R>;<S>;<T>;<U>;/ + <V>;<W>;<X>;<Y>;<Z>;<a>;<b>;/ + <c>;<d>;<e>;<f>;<g>;<h>;<i>;/ + <j>;<k>;<l>;<m>;<n>;<o>;<p>;/ + <q>;<r>;<s>;<t>;<u>;<v>;<w>;/ + <x>;<y>;<z>;<-->;<A!>;<A'>;/ + <A/>>;<A?>;<A:>;<AA>;<AE>;<C,>;/ + <E!>;<E'>;<E/>>;<E:>;<I!>;<I'>;/ + <I/>>;<I:>;<D->;<N?>;<O!>;<O'>;/ + <O/>>;<O?>;<O:>;<O//>;<U!>;/ + <U'>;<U/>>;<U:>;<Y'>;<TH>;<ss>;/ + <a!>;<a'>;<a/>>;<a?>;<a:>;<aa>;/ + <ae>;<c,>;<e!>;<e'>;<e/>>;<e:>;/ + <i!>;<i'>;<i/>>;<i:>;<d->;<n?>;/ + <o!>;<o'>;<o/>>;<o?>;<o:>;/ + <o//>;<u!>;<u'>;<u/>>;<u:>;/ + <y'>;<th>;<y:>;<A->;<a->;<A(>;/ + <a(>;<A;>;<a;>;<C'>;<c'>;<C/>>;/ + <c/>>;<C.>;<c.>;<C<>;<c<>;<D<>;/ + <d<>;<D//>;<d//>;<E->;<e->;/ + <E(>;<e(>;<E.>;<e.>;<E;>;<e;>;/ + <E<>;<e<>;<G/>>;<g/>>;<G(>;/ + <g(>;<G.>;<g.>;<G,>;<g,>;<H/>>;/ + <h/>>;<H//>;<h//>;<I?>;<i?>;/ + <I->;<i->;<I(>;<i(>;<I;>;<i;>;/ + <I.>;<i.>;<IJ>;<ij>;<J/>>;/ + <j/>>;<K,>;<k,>;<kk>;<L'>;<l'>;/ + <L,>;<l,>;<L<>;<l<>;<L.>;<l.>;/ + <L//>;<l//>;<N'>;<n'>;<N,>;/ + <n,>;<N<>;<n<>;<'n>;<NG>;<ng>;/ + <O->;<o->;<O(>;<o(>;<O">;<o">;/ + <OE>;<oe>;<R'>;<r'>;<R,>;<r,>;/ + <R<>;<r<>;<S'>;<s'>;<S/>>;/ + <s/>>;<S,>;<s,>;<S<>;<s<>;<T,>;/ + <t,>;<T<>;<t<>;<T//>;<t//>;/ + <U?>;<u?>;<U->;<u->;<U(>;<u(>;/ + <U0>;<u0>;<U">;<u">;<U;>;<u;>;/ + <W/>>;<w/>>;<Y/>>;<y/>>;<Y:>;/ + <Z'>;<z'>;<Z.>;<z.>;<Z<>;<z<>;/ + <s1>;<C2>;<c2>;<F2>;<f2>;<K2>;/ + <k2>;<O9>;<o9>;<OI>;<oi>;<yr>;/ + <U9>;<u9>;<Z//>;<z//>;<ED>;/ + <A<>;<a<>;<I<>;<i<>;<O<>;<o<>;/ + <U<>;<u<>;<U:->;<u:->;<U:'>;/ + <u:'>;<U:<>;<u:<>;<U:!>;<u:!>;/ + <A1>;<a1>;<A7>;<a7>;<A3>;<a3>;/ + <G//>;<g//>;<G<>;<g<>;<K<>;/ + <k<>;<O;>;<o;>;<O1>;<o1>;<EZ>;/ + <ez>;<G'>;<g'>;<AA'>;<aa'>;/ + <AE'>;<ae'>;<O//'>;<o//'>;/ + <A!!>;<a!!>;<A)>;<a)>;<E!!>;/ + <e!!>;<E)>;<e)>;<I!!>;<i!!>;/ + <I)>;<i)>;<O!!>;<o!!>;<O)>;/ + <o)>;<R!!>;<r!!>;<R)>;<r)>;/ + <U!!>;<u!!>;<U)>;<u)>;<ed>;/ + <;S>;<1/>>;<1->;<1!>;<A%>;<E%>;/ + <Y%>;<I%>;<O%>;<U%>;<W%>;<i3>;/ + <A*>;<B*>;<G*>;<D*>;<E*>;<Z*>;/ + <Y*>;<H*>;<I*>;<K*>;<L*>;<M*>;/ + <N*>;<C*>;<O*>;<P*>;<R*>;<S*>;/ + <T*>;<U*>;<F*>;<X*>;<Q*>;<W*>;/ + <J*>;<V*>;<a%>;<e%>;<y%>;<i%>;/ + <u3>;<a*>;<b*>;<g*>;<d*>;<e*>;/ + <z*>;<y*>;<h*>;<i*>;<k*>;<l*>;/ + <m*>;<n*>;<c*>;<o*>;<p*>;<r*>;/ + <*s>;<s*>;<t*>;<u*>;<f*>;<x*>;/ + <q*>;<w*>;<j*>;<v*>;<o%>;<u%>;/ + <w%>;<IO>;<D%>;<G%>;<IE>;<DS>;/ + <II>;<YI>;<J%>;<LJ>;<NJ>;<Ts>;/ + <KJ>;<V%>;<DZ>;<A=>;<B=>;<V=>;/ + <G=>;<D=>;<E=>;<Z%>;<Z=>;<I=>;/ + <J=>;<K=>;<L=>;<M=>;<N=>;<O=>;/ + <P=>;<R=>;<S=>;<T=>;<U=>;<F=>;/ + <H=>;<C=>;<C%>;<S%>;<Sc>;<=">;/ + <Y=>;<%">;<JE>;<JU>;<JA>;<a=>;/ + <b=>;<v=>;<g=>;<d=>;<e=>;<z%>;/ + <z=>;<i=>;<j=>;<k=>;<l=>;<m=>;/ + <n=>;<o=>;<p=>;<r=>;<s=>;<t=>;/ + <u=>;<f=>;<h=>;<c=>;<c%>;<s%>;/ + <sc>;<='>;<y=>;<%'>;<je>;<ju>;/ + <ja>;<io>;<d%>;<g%>;<ie>;<ds>;/ + <ii>;<yi>;<j%>;<lj>;<nj>;<ts>;/ + <kj>;<v%>;<dz>;<Y3>;<y3>;<O3>;/ + <o3>;<F3>;<f3>;<V3>;<v3>;<C3>;/ + <c3>;<G3>;<g3>;<A+>;<B+>;<G+>;/ + <D+>;<H+>;<W+>;<Z+>;<X+>;<Tj>;/ + <J+>;<K%>;<K+>;<L+>;<M%>;<M+>;/ + <N%>;<N+>;<S+>;<E+>;<P%>;<P+>;/ + <Zj>;<ZJ>;<Q+>;<R+>;<Sh>;<T+>;/ + <H'>;<aM>;<aH>;<wH>;<ah>;<yH>;/ + <a+>;<b+>;<tm>;<t+>;<tk>;<g+>;/ + <hk>;<x+>;<d+>;<dk>;<r+>;<z+>;/ + <s+>;<sn>;<c+>;<dd>;<tj>;<zH>;/ + <e+>;<i+>;<f+>;<q+>;<k+>;<l+>;/ + <m+>;<n+>;<h+>;<w+>;<j+>;<y+>;/ + <aS>;<p+>;<hH>;<tc>;<zj>;<v+>;/ + <gf>;<A-0>;<a-0>;<B.>;<b.>;/ + <B-.>;<b-.>;<B_>;<b_>;<C,'>;/ + <c,'>;<D.>;<d.>;<D-.>;<d-.>;/ + <D_>;<d_>;<D,>;<d,>;<D-/>>;/ + <d-/>>;<E-!>;<e-!>;<E-'>;<e-'>;/ + <E-/>>;<e-/>>;<E-?>;<e-?>;/ + <E,(>;<e,(>;<F.>;<f.>;<G->;/ + <g->;<H.>;<h.>;<H-.>;<h-.>;/ + <H:>;<h:>;<H,>;<h,>;<H-(>;/ + <h-(>;<I-?>;<i-?>;<I:'>;<i:'>;/ + <K'>;<k'>;<K-.>;<k-.>;<K_>;/ + <k_>;<L-.>;<l-.>;<L--.>;<l--.>;/ + <L_>;<l_>;<L-/>>;<l-/>>;<M'>;/ + <m'>;<M.>;<m.>;<M-.>;<m-.>;/ + <N.>;<n.>;<N-.>;<n-.>;<N_>;/ + <n_>;<N-/>>;<n-/>>;<O?'>;<o?'>;/ + <O?:>;<o?:>;<O-!>;<o-!>;<O-'>;/ + <o-'>;<P'>;<p'>;<P.>;<p.>;<R.>;/ + <r.>;<R-.>;<r-.>;<R--.>;<r--.>;/ + <R_>;<r_>;<S.>;<s.>;<S-.>;/ + <s-.>;<S'.>;<s'.>;<S<.>;<s<.>;/ + <S.-.>;<s.-.>;<T.>;<t.>;<T-.>;/ + <t-.>;<T_>;<t_>;<T-/>>;<t-/>>;/ + <U--:>;<u--:>;<U-?>;<u-?>;/ + <U-/>>;<u-/>>;<U?'>;<u?'>;/ + <U-:>;<u-:>;<V?>;<v?>;<V-.>;/ + <v-.>;<W!>;<w!>;<W'>;<w'>;<W:>;/ + <w:>;<W.>;<w.>;<W-.>;<w-.>;/ + <X.>;<x.>;<X:>;<x:>;<Y.>;<y.>;/ + <Z/>>;<z/>>;<Z-.>;<z-.>;<Z_>;/ + <z_>;<A-.>;<a-.>;<A2>;<a2>;/ + <A/>'>;<a/>'>;<A/>!>;<a/>!>;/ + <A/>2>;<a/>2>;<A/>?>;<a/>?>;/ + <A/>-.>;<a/>-.>;<A('>;<a('>;/ + <A(!>;<a(!>;<A(2>;<a(2>;<A(?>;/ + <a(?>;<A(-.>;<a(-.>;<E-.>;/ + <e-.>;<E2>;<e2>;<E?>;<e?>;/ + <E/>'>;<e/>'>;<E/>!>;<e/>!>;/ + <E/>2>;<e/>2>;<E/>?>;<e/>?>;/ + <E/>-.>;<e/>-.>;<I2>;<i2>;/ + <I-.>;<i-.>;<O-.>;<o-.>;<O2>;/ + <o2>;<O/>'>;<o/>'>;<O/>!>;/ + <o/>!>;<O/>2>;<o/>2>;<O/>?>;/ + <o/>?>;<O/>-.>;<o/>-.>;<O9'>;/ + <o9'>;<O9!>;<o9!>;<O92>;<o92>;/ + <O9?>;<o9?>;<O9-.>;<o9-.>;/ + <U-.>;<u-.>;<U2>;<u2>;<U9'>;/ + <u9'>;<U9!>;<u9!>;<U92>;<u92>;/ + <U9?>;<u9?>;<U9-.>;<u9-.>;<Y!>;/ + <y!>;<Y-.>;<y-.>;<Y2>;<y2>;/ + <Y?>;<y?>;<nS>;<(a)>;<(b)>;/ + <(c)>;<(d)>;<(e)>;<(f)>;<(g)>;/ + <(h)>;<(i)>;<(j)>;<(k)>;<(l)>;/ + <(m)>;<(n)>;<(o)>;<(p)>;<(q)>;/ + <(r)>;<(s)>;<(t)>;<(u)>;<(v)>;/ + <(w)>;<(x)>;<(y)>;<(z)>;<A-o>;/ + <B-o>;<C-o>;<D-o>;<E-o>;<F-o>;/ + <G-o>;<H-o>;<I-o>;<J-o>;<K-o>;/ + <L-o>;<M-o>;<N-o>;<O-o>;<P-o>;/ + <Q-o>;<R-o>;<S-o>;<T-o>;<U-o>;/ + <V-o>;<W-o>;<X-o>;<Y-o>;<Z-o>;/ + <a-o>;<b-o>;<c-o>;<d-o>;<e-o>;/ + <f-o>;<g-o>;<h-o>;<i-o>;<j-o>;/ + <k-o>;<l-o>;<m-o>;<n-o>;<o-o>;/ + <p-o>;<q-o>;<r-o>;<s-o>;<t-o>;/ + <u-o>;<v-o>;<w-o>;<x-o>;<y-o>;/ + <z-o>;<A5>;<a5>;<I5>;<i5>;<U5>;/ + <u5>;<E5>;<e5>;<O5>;<o5>;<ka>;/ + <ga>;<ki>;<gi>;<ku>;<gu>;<ke>;/ + <ge>;<ko>;<go>;<sa>;<za>;<si>;/ + <zi>;<su>;<zu>;<se>;<ze>;<so>;/ + <zo>;<ta>;<da>;<ti>;<di>;<tU>;/ + <tu>;<du>;<te>;<de>;<to>;<do>;/ + <na>;<ni>;<nu>;<ne>;<no>;<ha>;/ + <ba>;<pa>;<hi>;<bi>;<pi>;<hu>;/ + <bu>;<pu>;<he>;<be>;<pe>;<ho>;/ + <bo>;<po>;<ma>;<mi>;<mu>;<me>;/ + <mo>;<yA>;<ya>;<yU>;<yu>;<yO>;/ + <yo>;<ra>;<ri>;<ru>;<re>;<ro>;/ + <wA>;<wa>;<wi>;<we>;<wo>;<n5>;/ + <vu>;<a6>;<A6>;<i6>;<I6>;<u6>;/ + <U6>;<e6>;<E6>;<o6>;<O6>;<Ka>;/ + <Ga>;<Ki>;<Gi>;<Ku>;<Gu>;<Ke>;/ + <Ge>;<Ko>;<Go>;<Sa>;<Za>;<Si>;/ + <Zi>;<Su>;<Zu>;<Se>;<Ze>;<So>;/ + <Zo>;<Ta>;<Da>;<Ti>;<Di>;<TU>;/ + <Tu>;<Du>;<Te>;<De>;<To>;<Do>;/ + <Na>;<Ni>;<Nu>;<Ne>;<No>;<Ha>;/ + <Ba>;<Pa>;<Hi>;<Bi>;<Pi>;<Hu>;/ + <Bu>;<Pu>;<He>;<Be>;<Pe>;<Ho>;/ + <Bo>;<Po>;<Ma>;<Mi>;<Mu>;<Me>;/ + <Mo>;<YA>;<Ya>;<YU>;<Yu>;<YO>;/ + <Yo>;<Ra>;<Ri>;<Ru>;<Re>;<Ro>;/ + <WA>;<Wa>;<Wi>;<We>;<Wo>;<N6>;/ + <Vu>;<KA>;<KE>;<Va>;<Vi>;<Ve>;/ + <Vo>;<ff>;<fi>;<fl>;<ffi>;/ + <ffl>;<St>;<st>;<aM.>;<aH.>;/ + <ah.>;<a+->;<a+.>;<b+->;<b+.>;/ + <b+,>;<b+;>;<tm->;<tm.>;<t+->;/ + <t+.>;<t+,>;<t+;>;<tk->;<tk.>;/ + <tk,>;<tk;>;<g+->;<g+.>;<g+,>;/ + <g+;>;<hk->;<hk.>;<hk,>;<hk;>;/ + <x+->;<x+.>;<x+,>;<x+;>;<d+->;/ + <d+.>;<dk->;<dk.>;<r+->;<r+.>;/ + <z+->;<z+.>;<s+->;<s+.>;<s+,>;/ + <s+;>;<sn->;<sn.>;<sn,>;<sn;>;/ + <c+->;<c+.>;<c+,>;<c+;>;<dd->;/ + <dd.>;<dd,>;<dd;>;<tj->;<tj.>;/ + <tj,>;<tj;>;<zH->;<zH.>;<zH,>;/ + <zH;>;<e+->;<e+.>;<e+,>;<e+;>;/ + <i+->;<i+.>;<i+,>;<i+;>;<f+->;/ + <f+.>;<f+,>;<f+;>;<q+->;<q+.>;/ + <q+,>;<q+;>;<k+->;<k+.>;<k+,>;/ + <k+;>;<l+->;<l+.>;<l+,>;<l+;>;/ + <m+->;<m+.>;<m+,>;<m+;>;<n+->;/ + <n+.>;<n+,>;<n+;>;<h+->;<h+.>;/ + <h+,>;<h+;>;<w+->;<w+.>;<j+->;/ + <j+.>;<y+->;<y+.>;<y+,>;<y+;>;/ + <lM->;<lM.>;<lH->;<lH.>;<lh->;/ + <lh.>;<la->;<la.>;<a+:> + +cntrl <NU>;<SH>;<SX>;<EX>;<ET>;<EQ>;/ + <AK>;<BL>;<BS>;<HT>;<LF>;<VT>;/ + <FF>;<CR>;<SO>;<SI>;<DL>;<D1>;/ + <D2>;<D3>;<D4>;<NK>;<SY>;<EB>;/ + <CN>;<EM>;<SB>;<EC>;<FS>;<GS>;/ + <RS>;<US>;<DT>;<PA>;<HO>;<BH>;/ + <NH>;<IN>;<NL>;<SA>;<ES>;<HS>;/ + <HJ>;<VS>;<PD>;<PU>;<RI>;<S2>;/ + <S3>;<DC>;<P1>;<P2>;<TS>;<CC>;/ + <MW>;<SG>;<EG>;<SS>;<GC>;<SC>;/ + <CI>;<ST>;<OC>;<PM>;<AC> + +punct <!>;<">;<Nb>;<DO>;<%>;<&>;<'>;/ + <(>;<)>;<*>;<+>;<,>;<->;<.>;/ + <//>;<:>;<;>;<<>;<=>;</>>;<?>;/ + <At>;<<(>;<////>;<)/>>;<'/>>;/ + <_>;<'!>;<(!>;<!!>;<!)>;<'?>;/ + <!I>;<Ct>;<Pd>;<Cu>;<Ye>;<BB>;/ + <SE>;<':>;<Co>;<-a>;<<<>;<NO>;/ + <Rg>;<'m>;<DG>;<+->;<2S>;<3S>;/ + <''>;<My>;<PI>;<.M>;<',>;<1S>;/ + <-o>;</>/>>;<14>;<12>;<34>;/ + <?I>;<*X>;<-:>;<'<>;<'(>;<'.>;/ + <'0>;<';>;<1?>;<'">;<'G>;<,G>;/ + <j3>;<?%>;<'*>;<'%>;<.*>;<b3>;/ + <,+>;<;+>;<?+>;<++>;<:+>;<"+>;/ + <=+>;<//+>;<'+>;<1+>;<3+>;<0+>;/ + <0a>;<1a>;<2a>;<3a>;<4a>;<5a>;/ + <6a>;<7a>;<8a>;<9a>;<,,>;<?*>;/ + <?:>;<,!>;<,'>;<?,>;<;!>;<;'>;/ + <?;>;<!:>;<!*>;<;;>;<1N>;<1M>;/ + <3M>;<4M>;<6M>;<LR>;<RL>;<1T>;/ + <1H>;<-1>;<-N>;<-M>;<-3>;<!2>;/ + <=2>;<'6>;<'9>;<.9>;<9'>;<"6>;/ + <"9>;<:9>;<9">;<//->;<//=>;/ + <sb>;<..>;<.3>;<%0>;<1'>;<2'>;/ + <3'>;<1">;<2">;<3">;<Ca>;<<1>;/ + </>1>;<:X>;<!*2>;<'->;<//f>;/ + <0S>;<4S>;<5S>;<6S>;<7S>;<8S>;/ + <9S>;<+S>;<-S>;<=S>;<(S>;<)S>;/ + <0s>;<1s>;<2s>;<3s>;<4s>;<5s>;/ + <6s>;<7s>;<8s>;<9s>;<+s>;<-s>;/ + <=s>;<(s>;<)s>;<Ff>;<Li>;<Pt>;/ + <W=>;<oC>;<co>;<oF>;<N0>;<PO>;/ + <Rx>;<SM>;<TM>;<Om>;<AO>;<13>;/ + <23>;<15>;<25>;<35>;<45>;<16>;/ + <56>;<18>;<38>;<58>;<78>;<1R>;/ + <2R>;<3R>;<4R>;<5R>;<6R>;<7R>;/ + <8R>;<9R>;<aR>;<bR>;<cR>;<50R>;/ + <100R>;<500R>;<1000R>;<1r>;/ + <2r>;<3r>;<4r>;<5r>;<6r>;<7r>;/ + <8r>;<9r>;<ar>;<br>;<cr>;<50r>;/ + <100r>;<500r>;<1000r>;/ + <1000RCD>;<5000R>;<10000R>;/ + <<->;<-!>;<-/>>;<-v>;<</>>;/ + <UD>;<<!!>;</////>>;<!!/>>;/ + <<////>;<UD->;</>V>;<<=>;<=/>>;/ + <==>;<FA>;<dP>;<TE>;<//0>;<DE>;/ + <NB>;<(->;<-)>;<*P>;<+Z>;<-2>;/ + <-+>;<.+>;<*->;<Ob>;<Sb>;<RT>;/ + <0(>;<00>;<-L>;<-V>;<PP>;<AN>;/ + <OR>;<(U>;<)U>;<In>;<DI>;<Io>;/ + <.:>;<:.>;<:R>;<::>;<?1>;<CG>;/ + <?->;<?=>;<?2>;<=?>;<HI>;<!=>;/ + <=3>;<=<>;</>=>;<<*>;<*/>>;/ + <!<>;<!/>>;<(C>;<)C>;<(_>;<)_>;/ + <0.>;<02>;<-T>;<.P>;<:3>;<Eh>;/ + <<7>;</>7>;<7<>;<7/>>;<NI>;/ + <(A>;<TR>;<88>;<Iu>;<Il>;<<//>;/ + <///>>;<Vs>;<1h>;<3h>;<2h>;/ + <4h>;<1j>;<2j>;<3j>;<4j>;<1-o>;/ + <2-o>;<3-o>;<4-o>;<5-o>;<6-o>;/ + <7-o>;<8-o>;<9-o>;<10-o>;/ + <11-o>;<12-o>;<13-o>;<14-o>;/ + <15-o>;<16-o>;<17-o>;<18-o>;/ + <19-o>;<20-o>;<(1)>;<(2)>;/ + <(3)>;<(4)>;<(5)>;<(6)>;<(7)>;/ + <(8)>;<(9)>;<(10)>;<(11)>;/ + <(12)>;<(13)>;<(14)>;<(15)>;/ + <(16)>;<(17)>;<(18)>;<(19)>;/ + <(20)>;<1.>;<2.>;<3.>;<4.>;/ + <5.>;<6.>;<7.>;<8.>;<9.>;<10.>;/ + <11.>;<12.>;<13.>;<14.>;<15.>;/ + <16.>;<17.>;<18.>;<19.>;<20.>;/ + <0-o>;<hh>;<HH->;<vv>;<VV->;/ + <3->;<3_>;<3!>;<3//>;<4->;<4_>;/ + <4!>;<4//>;<dr>;<dR->;<Dr->;/ + <DR->;<dl>;<dL->;<Dl->;<LD->;/ + <ur>;<uR->;<Ur->;<UR->;<ul>;/ + <uL->;<Ul->;<UL->;<vr>;<vR->;/ + <Udr>;<uDr>;<Vr->;<UdR>;<uDR>;/ + <VR->;<vl>;<vL->;<Udl>;<uDl>;/ + <Vl->;<UdL>;<uDL>;<VL->;<dh>;/ + <dLr>;<dlR>;<dH->;<Dh->;<DLr>;/ + <DlR>;<DH->;<uh>;<uLr>;<ulR>;/ + <uH->;<Uh->;<ULr>;<UlR>;<UH->;/ + <vh>;<vLr>;<vlR>;<vH->;<Udh>;/ + <uDh>;<Vh->;<UdLr>;<UdlR>;/ + <uDLr>;<uDlR>;<UdH>;<uDH>;/ + <VLr>;<VlR>;<VH->;<HH>;<VV>;/ + <dR>;<Dr>;<DR>;<dL>;<Dl>;<LD>;/ + <uR>;<Ur>;<UR>;<uL>;<Ul>;<UL>;/ + <vR>;<Vr>;<VR>;<vL>;<Vl>;<VL>;/ + <dH>;<Dh>;<DH>;<uH>;<Uh>;<UH>;/ + <vH>;<Vh>;<VH>;<FD>;<BD>;<TB>;/ + <LB>;<FB>;<lB>;<RB>;<.S>;<:S>;/ + <?S>;<fS>;<OS>;<RO>;<Rr>;<RF>;/ + <RY>;<RH>;<RZ>;<RK>;<RX>;<sB>;/ + <SR>;<Or>;<UT>;<uT>;<Tr>;<PR>;/ + <Dt>;<dT>;<Tl>;<PL>;<Db>;<Dw>;/ + <LZ>;<0m>;<0o>;<0M>;<0L>;<0R>;/ + <Sn>;<Ic>;<Fd>;<Bd>;<Ci>;<*2>;/ + <*1>;<TEL>;<tel>;<<H>;</>H>;/ + <0u>;<0U>;<SU>;<Fm>;<Ml>;<cS>;/ + <cH>;<cD>;<cC>;<cS->;<cH->;/ + <cD->;<cC->;<Md>;<M8>;<M2>;/ + <M16>;<Mb>;<Mx>;<MX>;<OK>;<XX>;/ + <-X>;<IS>;<,_>;<._>;<+">;<JIS>;/ + <*_>;<;_>;<0_>;<<+>;</>+>;<<'>;/ + </>'>;<<">;</>">;<(">;<)">;/ + <=T>;<=_>;<('>;<)'>;<(I>;<)I>;/ + <-?>;<=T:)>;<"5>;<05>;<*5>;/ + <+5>;<.6>;<-6>;<*6>;<+6>;/ + <(JU)>;<1c>;<2c>;<3c>;<4c>;/ + <5c>;<6c>;<7c>;<8c>;<9c>;<10c>;/ + <KSC>;<am>;<pm>;<3+;>;<"3>;/ + <"1>;<"!>;<"'>;<"/>>;<"?>;<"->;/ + <"(>;<".>;<":>;<"0>;<",>;<"_>;/ + <"">;<";>;<"<>;<"=>;<"//>;<"p>;/ + <"d>;<"i>;<+_>;<Tel>;<UA>;<UB>;/ + <Mc>;<Fl> + +tolower (<A>,<a>);(<A!>,<a!>);/ + (<A!!>,<a!!>);(<A'>,<a'>);/ + (<A(>,<a(>);(<A(!>,<a(!>);/ + (<A('>,<a('>);(<A(-.>,<a(-.>);/ + (<A(2>,<a(2>);(<A(?>,<a(?>);/ + (<A)>,<a)>);(<A->,<a->);/ + (<A-.>,<a-.>);(<A-0>,<a-0>);/ + (<A-o>,<a-o>);(<A1>,<a1>);/ + (<A2>,<a2>);(<A3>,<a3>);/ + (<A7>,<a7>);(<A:>,<a:>);/ + (<A;>,<a;>);(<A<>,<a<>);/ + (<A/>>,<a/>>);(<A/>!>,<a/>!>);/ + (<A/>'>,<a/>'>);/ + (<A/>-.>,<a/>-.>);/ + (<A/>2>,<a/>2>);/ + (<A/>?>,<a/>?>);(<A?>,<a?>);/ + (<AA>,<aa>);(<AA'>,<aa'>);/ + (<AE>,<ae>);(<AE'>,<ae'>);/ + (<B>,<b>);(<B-.>,<b-.>);/ + (<B-o>,<b-o>);(<B.>,<b.>);/ + (<B_>,<b_>);(<C>,<c>);/ + (<C'>,<c'>);(<C,>,<c,>);/ + (<C,'>,<c,'>);(<C-o>,<c-o>);/ + (<C.>,<c.>);(<C2>,<c2>);/ + (<C<>,<c<>);(<C/>>,<c/>>);/ + (<D>,<d>);(<D,>,<d,>);/ + (<D->,<d->);(<D-.>,<d-.>);/ + (<D-/>>,<d-/>>);(<D-o>,<d-o>);/ + (<D.>,<d.>);(<D//>,<d//>);/ + (<D<>,<d<>);(<D_>,<d_>);/ + (<E>,<e>);(<E!>,<e!>);/ + (<E!!>,<e!!>);(<E'>,<e'>);/ + (<E(>,<e(>);(<E)>,<e)>);/ + (<E,(>,<e,(>);(<E->,<e->);/ + (<E-!>,<e-!>);(<E-'>,<e-'>);/ + (<E-.>,<e-.>);(<E-/>>,<e-/>>);/ + (<E-?>,<e-?>);(<E-o>,<e-o>);/ + (<E.>,<e.>);(<E2>,<e2>);/ + (<E:>,<e:>);(<E;>,<e;>);/ + (<E<>,<e<>);(<E/>>,<e/>>);/ + (<E/>!>,<e/>!>);/ + (<E/>'>,<e/>'>);/ + (<E/>-.>,<e/>-.>);/ + (<E/>2>,<e/>2>);/ + (<E/>?>,<e/>?>);(<E?>,<e?>);/ + (<ED>,<ed>);(<EZ>,<ez>);/ + (<F>,<f>);(<F-o>,<f-o>);/ + (<F.>,<f.>);(<F2>,<f2>);/ + (<G>,<g>);(<G'>,<g'>);/ + (<G(>,<g(>);(<G,>,<g,>);/ + (<G->,<g->);(<G-o>,<g-o>);/ + (<G.>,<g.>);(<G//>,<g//>);/ + (<G<>,<g<>);(<G/>>,<g/>>);/ + (<H>,<h>);(<H,>,<h,>);/ + (<H-(>,<h-(>);(<H-.>,<h-.>);/ + (<H-o>,<h-o>);(<H.>,<h.>);/ + (<H//>,<h//>);(<H:>,<h:>);/ + (<H/>>,<h/>>);(<I>,<i>);/ + (<I!>,<i!>);(<I!!>,<i!!>);/ + (<I'>,<i'>);(<I(>,<i(>);/ + (<I)>,<i)>);(<I->,<i->);/ + (<I-.>,<i-.>);(<I-?>,<i-?>);/ + (<I-o>,<i-o>);(<I.>,<i.>);/ + (<I2>,<i2>);(<I:>,<i:>);/ + (<I:'>,<i:'>);(<I;>,<i;>);/ + (<I<>,<i<>);(<I/>>,<i/>>);/ + (<I?>,<i?>);(<IJ>,<ij>);/ + (<J>,<j>);(<J-o>,<j-o>);/ + (<J/>>,<j/>>);(<K>,<k>);/ + (<K'>,<k'>);(<K,>,<k,>);/ + (<K-.>,<k-.>);(<K-o>,<k-o>);/ + (<K2>,<k2>);(<K<>,<k<>);/ + (<K_>,<k_>);(<L>,<l>);/ + (<L'>,<l'>);(<L,>,<l,>);/ + (<L--.>,<l--.>);(<L-.>,<l-.>);/ + (<L-/>>,<l-/>>);(<L-o>,<l-o>);/ + (<L.>,<l.>);(<L//>,<l//>);/ + (<L<>,<l<>);(<L_>,<l_>);/ + (<M>,<m>);(<M'>,<m'>);/ + (<M-.>,<m-.>);(<M-o>,<m-o>);/ + (<M.>,<m.>);(<N>,<n>);/ + (<N'>,<n'>);(<N,>,<n,>);/ + (<N-.>,<n-.>);(<N-/>>,<n-/>>);/ + (<N-o>,<n-o>);(<N.>,<n.>);/ + (<N<>,<n<>);(<N?>,<n?>);/ + (<NG>,<ng>);(<N_>,<n_>);/ + (<O>,<o>);(<O!>,<o!>);/ + (<O!!>,<o!!>);(<O">,<o">);/ + (<O'>,<o'>);(<O(>,<o(>);/ + (<O)>,<o)>);(<O->,<o->);/ + (<O-!>,<o-!>);(<O-'>,<o-'>);/ + (<O-.>,<o-.>);(<O-o>,<o-o>);/ + (<O//>,<o//>);(<O//'>,<o//'>);/ + (<O1>,<o1>);(<O2>,<o2>);/ + (<O9>,<o9>);(<O9!>,<o9!>);/ + (<O9'>,<o9'>);(<O9-.>,<o9-.>);/ + (<O92>,<o92>);(<O9?>,<o9?>);/ + (<O:>,<o:>);(<O;>,<o;>);/ + (<O<>,<o<>);(<O/>>,<o/>>);/ + (<O/>!>,<o/>!>);/ + (<O/>'>,<o/>'>);/ + (<O/>-.>,<o/>-.>);/ + (<O/>2>,<o/>2>);/ + (<O/>?>,<o/>?>);(<O?>,<o?>);/ + (<O?'>,<o?'>);(<O?:>,<o?:>);/ + (<OE>,<oe>);(<OI>,<oi>);/ + (<P>,<p>);(<P'>,<p'>);/ + (<P-o>,<p-o>);(<P.>,<p.>);/ + (<Q>,<q>);(<Q-o>,<q-o>);/ + (<R>,<r>);(<R!!>,<r!!>);/ + (<R'>,<r'>);(<R)>,<r)>);/ + (<R,>,<r,>);(<R--.>,<r--.>);/ + (<R-.>,<r-.>);(<R-o>,<r-o>);/ + (<R.>,<r.>);(<R<>,<r<>);/ + (<R_>,<r_>);(<S>,<s>);/ + (<S'>,<s'>);(<S'.>,<s'.>);/ + (<S,>,<s,>);(<S-.>,<s-.>);/ + (<S-o>,<s-o>);(<S.>,<s.>);/ + (<S.-.>,<s.-.>);(<S<>,<s<>);/ + (<S<.>,<s<.>);(<S/>>,<s/>>);/ + (<T>,<t>);(<T,>,<t,>);/ + (<T-.>,<t-.>);(<T-/>>,<t-/>>);/ + (<T-o>,<t-o>);(<T.>,<t.>);/ + (<T//>,<t//>);(<T<>,<t<>);/ + (<TH>,<th>);(<T_>,<t_>);/ + (<U>,<u>);(<U!>,<u!>);/ + (<U!!>,<u!!>);(<U">,<u">);/ + (<U'>,<u'>);(<U(>,<u(>);/ + (<U)>,<u)>);(<U->,<u->);/ + (<U--:>,<u--:>);(<U-.>,<u-.>);/ + (<U-:>,<u-:>);(<U-/>>,<u-/>>);/ + (<U-?>,<u-?>);(<U-o>,<u-o>);/ + (<U0>,<u0>);(<U2>,<u2>);/ + (<U9>,<u9>);(<U9!>,<u9!>);/ + (<U9'>,<u9'>);(<U9-.>,<u9-.>);/ + (<U92>,<u92>);(<U9?>,<u9?>);/ + (<U:>,<u:>);(<U:!>,<u:!>);/ + (<U:'>,<u:'>);(<U:->,<u:->);/ + (<U:<>,<u:<>);(<U;>,<u;>);/ + (<U<>,<u<>);(<U/>>,<u/>>);/ + (<U?>,<u?>);(<U?'>,<u?'>);/ + (<V>,<v>);(<V-.>,<v-.>);/ + (<V-o>,<v-o>);(<V?>,<v?>);/ + (<W>,<w>);(<W!>,<w!>);/ + (<W'>,<w'>);(<W-.>,<w-.>);/ + (<W-o>,<w-o>);(<W.>,<w.>);/ + (<W:>,<w:>);(<W/>>,<w/>>);/ + (<X>,<x>);(<X-o>,<x-o>);/ + (<X.>,<x.>);(<X:>,<x:>);/ + (<Y>,<y>);(<Y!>,<y!>);/ + (<Y'>,<y'>);(<Y-.>,<y-.>);/ + (<Y-o>,<y-o>);(<Y.>,<y.>);/ + (<Y2>,<y2>);(<Y:>,<y:>);/ + (<Y/>>,<y/>>);(<Y?>,<y?>);/ + (<Z>,<z>);(<Z'>,<z'>);/ + (<Z-.>,<z-.>);(<Z-o>,<z-o>);/ + (<Z.>,<z.>);(<Z//>,<z//>);/ + (<Z<>,<z<>);(<Z/>>,<z/>>);/ + (<Z_>,<z_>);(<A%>,<a%>);/ + (<A*>,<a*>);(<B*>,<b*>);/ + (<C*>,<c*>);(<D*>,<d*>);/ + (<E%>,<e%>);(<E*>,<e*>);/ + (<F*>,<f*>);(<G*>,<g*>);/ + (<H*>,<h*>);(<I%>,<i%>);/ + (<I*>,<i*>);(<J*>,<j*>);/ + (<K*>,<k*>);(<L*>,<l*>);/ + (<M*>,<m*>);(<N*>,<n*>);/ + (<O%>,<o%>);(<O*>,<o*>);/ + (<P*>,<p*>);(<Q*>,<q*>);/ + (<R*>,<r*>);(<S*>,<s*>);/ + (<T*>,<t*>);(<U%>,<u%>);/ + (<U*>,<u*>);(<V*>,<v*>);/ + (<W%>,<w%>);(<W*>,<w*>);/ + (<X*>,<x*>);(<Y%>,<y%>);/ + (<Y*>,<y*>);(<Z*>,<z*>);/ + (<%">,<%'>);(<=">,<='>);/ + (<A=>,<a=>);(<B=>,<b=>);/ + (<C%>,<c%>);(<C3>,<c3>);/ + (<C=>,<c=>);(<D%>,<d%>);/ + (<D=>,<d=>);(<DS>,<ds>);/ + (<DZ>,<dz>);(<E=>,<e=>);/ + (<F3>,<f3>);(<F=>,<f=>);/ + (<G%>,<g%>);(<G3>,<g3>);/ + (<G=>,<g=>);(<H=>,<h=>);/ + (<I=>,<i=>);(<IE>,<ie>);/ + (<II>,<ii>);(<IO>,<io>);/ + (<J%>,<j%>);(<J=>,<j=>);/ + (<JA>,<ja>);(<JE>,<je>);/ + (<JU>,<ju>);(<K=>,<k=>);/ + (<KJ>,<kj>);(<L=>,<l=>);/ + (<LJ>,<lj>);(<M=>,<m=>);/ + (<N=>,<n=>);(<NJ>,<nj>);/ + (<O3>,<o3>);(<O=>,<o=>);/ + (<P=>,<p=>);(<R=>,<r=>);/ + (<S%>,<s%>);(<S=>,<s=>);/ + (<Sc>,<sc>);(<T=>,<t=>);/ + (<Ts>,<ts>);(<U=>,<u=>);/ + (<V3>,<v3>);(<V=>,<v=>);/ + (<Y3>,<y3>);(<Y=>,<y=>);/ + (<YI>,<yi>);(<Z%>,<z%>);/ + (<Z=>,<z=>) + +toupper (<a>,<A>);(<a!>,<A!>);/ + (<a!!>,<A!!>);(<a'>,<A'>);/ + (<a(>,<A(>);(<a(!>,<A(!>);/ + (<a('>,<A('>);(<a(-.>,<A(-.>);/ + (<a(2>,<A(2>);(<a(?>,<A(?>);/ + (<a)>,<A)>);(<a->,<A->);/ + (<a-.>,<A-.>);(<a-0>,<A-0>);/ + (<a-o>,<A-o>);(<a1>,<A1>);/ + (<a2>,<A2>);(<a3>,<A3>);/ + (<a7>,<A7>);(<a:>,<A:>);/ + (<a;>,<A;>);(<a<>,<A<>);/ + (<a/>>,<A/>>);(<a/>!>,<A/>!>);/ + (<a/>'>,<A/>'>);/ + (<a/>-.>,<A/>-.>);/ + (<a/>2>,<A/>2>);/ + (<a/>?>,<A/>?>);(<a?>,<A?>);/ + (<aa>,<AA>);(<aa'>,<AA'>);/ + (<ae>,<AE>);(<ae'>,<AE'>);/ + (<b>,<B>);(<b-.>,<B-.>);/ + (<b-o>,<B-o>);(<b.>,<B.>);/ + (<b_>,<B_>);(<c>,<C>);/ + (<c'>,<C'>);(<c,>,<C,>);/ + (<c,'>,<C,'>);(<c-o>,<C-o>);/ + (<c.>,<C.>);(<c2>,<C2>);/ + (<c<>,<C<>);(<c/>>,<C/>>);/ + (<d>,<D>);(<d,>,<D,>);/ + (<d->,<D->);(<d-.>,<D-.>);/ + (<d-/>>,<D-/>>);(<d-o>,<D-o>);/ + (<d.>,<D.>);(<d//>,<D//>);/ + (<d<>,<D<>);(<d_>,<D_>);/ + (<e>,<E>);(<e!>,<E!>);/ + (<e!!>,<E!!>);(<e'>,<E'>);/ + (<e(>,<E(>);(<e)>,<E)>);/ + (<e,(>,<E,(>);(<e->,<E->);/ + (<e-!>,<E-!>);(<e-'>,<E-'>);/ + (<e-.>,<E-.>);(<e-/>>,<E-/>>);/ + (<e-?>,<E-?>);(<e-o>,<E-o>);/ + (<e.>,<E.>);(<e2>,<E2>);/ + (<e:>,<E:>);(<e;>,<E;>);/ + (<e<>,<E<>);(<e/>>,<E/>>);/ + (<e/>!>,<E/>!>);/ + (<e/>'>,<E/>'>);/ + (<e/>-.>,<E/>-.>);/ + (<e/>2>,<E/>2>);/ + (<e/>?>,<E/>?>);(<e?>,<E?>);/ + (<ed>,<ED>);(<ez>,<EZ>);/ + (<f>,<F>);(<f-o>,<F-o>);/ + (<f.>,<F.>);(<f2>,<F2>);/ + (<g>,<G>);(<g'>,<G'>);/ + (<g(>,<G(>);(<g,>,<G,>);/ + (<g->,<G->);(<g-o>,<G-o>);/ + (<g.>,<G.>);(<g//>,<G//>);/ + (<g<>,<G<>);(<g/>>,<G/>>);/ + (<h>,<H>);(<h,>,<H,>);/ + (<h-(>,<H-(>);(<h-.>,<H-.>);/ + (<h-o>,<H-o>);(<h.>,<H.>);/ + (<h//>,<H//>);(<h:>,<H:>);/ + (<h/>>,<H/>>);(<i>,<I>);/ + (<i!>,<I!>);(<i!!>,<I!!>);/ + (<i'>,<I'>);(<i(>,<I(>);/ + (<i)>,<I)>);(<i->,<I->);/ + (<i-.>,<I-.>);(<i-?>,<I-?>);/ + (<i-o>,<I-o>);(<i.>,<I.>);/ + (<i2>,<I2>);(<i:>,<I:>);/ + (<i:'>,<I:'>);(<i;>,<I;>);/ + (<i<>,<I<>);(<i/>>,<I/>>);/ + (<i?>,<I?>);(<ij>,<IJ>);/ + (<j>,<J>);(<j-o>,<J-o>);/ + (<j/>>,<J/>>);(<k>,<K>);/ + (<k'>,<K'>);(<k,>,<K,>);/ + (<k-.>,<K-.>);(<k-o>,<K-o>);/ + (<k2>,<K2>);(<k<>,<K<>);/ + (<k_>,<K_>);(<l>,<L>);/ + (<l'>,<L'>);(<l,>,<L,>);/ + (<l--.>,<L--.>);(<l-.>,<L-.>);/ + (<l-/>>,<L-/>>);(<l-o>,<L-o>);/ + (<l.>,<L.>);(<l//>,<L//>);/ + (<l<>,<L<>);(<l_>,<L_>);/ + (<m>,<M>);(<m'>,<M'>);/ + (<m-.>,<M-.>);(<m-o>,<M-o>);/ + (<m.>,<M.>);(<n>,<N>);/ + (<n'>,<N'>);(<n,>,<N,>);/ + (<n-.>,<N-.>);(<n-/>>,<N-/>>);/ + (<n-o>,<N-o>);(<n.>,<N.>);/ + (<n<>,<N<>);(<n?>,<N?>);/ + (<ng>,<NG>);(<n_>,<N_>);/ + (<o>,<O>);(<o!>,<O!>);/ + (<o!!>,<O!!>);(<o">,<O">);/ + (<o'>,<O'>);(<o(>,<O(>);/ + (<o)>,<O)>);(<o->,<O->);/ + (<o-!>,<O-!>);(<o-'>,<O-'>);/ + (<o-.>,<O-.>);(<o-o>,<O-o>);/ + (<o//>,<O//>);(<o//'>,<O//'>);/ + (<o1>,<O1>);(<o2>,<O2>);/ + (<o9>,<O9>);(<o9!>,<O9!>);/ + (<o9'>,<O9'>);(<o9-.>,<O9-.>);/ + (<o92>,<O92>);(<o9?>,<O9?>);/ + (<o:>,<O:>);(<o;>,<O;>);/ + (<o<>,<O<>);(<o/>>,<O/>>);/ + (<o/>!>,<O/>!>);/ + (<o/>'>,<O/>'>);/ + (<o/>-.>,<O/>-.>);/ + (<o/>2>,<O/>2>);/ + (<o/>?>,<O/>?>);(<o?>,<O?>);/ + (<o?'>,<O?'>);(<o?:>,<O?:>);/ + (<oe>,<OE>);(<oi>,<OI>);/ + (<p>,<P>);(<p'>,<P'>);/ + (<p-o>,<P-o>);(<p.>,<P.>);/ + (<q>,<Q>);(<q-o>,<Q-o>);/ + (<r>,<R>);(<r!!>,<R!!>);/ + (<r'>,<R'>);(<r)>,<R)>);/ + (<r,>,<R,>);(<r--.>,<R--.>);/ + (<r-.>,<R-.>);(<r-o>,<R-o>);/ + (<r.>,<R.>);(<r<>,<R<>);/ + (<r_>,<R_>);(<s>,<S>);/ + (<s'>,<S'>);(<s'.>,<S'.>);/ + (<s,>,<S,>);(<s-.>,<S-.>);/ + (<s-o>,<S-o>);(<s.>,<S.>);/ + (<s.-.>,<S.-.>);(<s<>,<S<>);/ + (<s<.>,<S<.>);(<s/>>,<S/>>);/ + (<t>,<T>);(<t,>,<T,>);/ + (<t-.>,<T-.>);(<t-/>>,<T-/>>);/ + (<t-o>,<T-o>);(<t.>,<T.>);/ + (<t//>,<T//>);(<t<>,<T<>);/ + (<th>,<TH>);(<t_>,<T_>);/ + (<u>,<U>);(<u!>,<U!>);/ + (<u!!>,<U!!>);(<u">,<U">);/ + (<u'>,<U'>);(<u(>,<U(>);/ + (<u)>,<U)>);(<u->,<U->);/ + (<u--:>,<U--:>);(<u-.>,<U-.>);/ + (<u-:>,<U-:>);(<u-/>>,<U-/>>);/ + (<u-?>,<U-?>);(<u-o>,<U-o>);/ + (<u0>,<U0>);(<u2>,<U2>);/ + (<u9>,<U9>);(<u9!>,<U9!>);/ + (<u9'>,<U9'>);(<u9-.>,<U9-.>);/ + (<u92>,<U92>);(<u9?>,<U9?>);/ + (<u:>,<U:>);(<u:!>,<U:!>);/ + (<u:'>,<U:'>);(<u:->,<U:->);/ + (<u:<>,<U:<>);(<u;>,<U;>);/ + (<u<>,<U<>);(<u/>>,<U/>>);/ + (<u?>,<U?>);(<u?'>,<U?'>);/ + (<v>,<V>);(<v-.>,<V-.>);/ + (<v-o>,<V-o>);(<v?>,<V?>);/ + (<w>,<W>);(<w!>,<W!>);/ + (<w'>,<W'>);(<w-.>,<W-.>);/ + (<w-o>,<W-o>);(<w.>,<W.>);/ + (<w:>,<W:>);(<w/>>,<W/>>);/ + (<x>,<X>);(<x-o>,<X-o>);/ + (<x.>,<X.>);(<x:>,<X:>);/ + (<y>,<Y>);(<y!>,<Y!>);/ + (<y'>,<Y'>);(<y-.>,<Y-.>);/ + (<y-o>,<Y-o>);(<y.>,<Y.>);/ + (<y2>,<Y2>);(<y:>,<Y:>);/ + (<y/>>,<Y/>>);(<y?>,<Y?>);/ + (<z>,<Z>);(<z'>,<Z'>);/ + (<z-.>,<Z-.>);(<z-o>,<Z-o>);/ + (<z.>,<Z.>);(<z//>,<Z//>);/ + (<z<>,<Z<>);(<z/>>,<Z/>>);/ + (<z_>,<Z_>);(<a%>,<A%>);/ + (<a*>,<A*>);(<b*>,<B*>);/ + (<c*>,<C*>);(<d*>,<D*>);/ + (<e%>,<E%>);(<e*>,<E*>);/ + (<f*>,<F*>);(<g*>,<G*>);/ + (<h*>,<H*>);(<i%>,<I%>);/ + (<i*>,<I*>);(<j*>,<J*>);/ + (<k*>,<K*>);(<l*>,<L*>);/ + (<m*>,<M*>);(<n*>,<N*>);/ + (<o%>,<O%>);(<o*>,<O*>);/ + (<p*>,<P*>);(<q*>,<Q*>);/ + (<r*>,<R*>);(<s*>,<S*>);/ + (<t*>,<T*>);(<u%>,<U%>);/ + (<u*>,<U*>);(<v*>,<V*>);/ + (<w%>,<W%>);(<w*>,<W*>);/ + (<x*>,<X*>);(<y%>,<Y%>);/ + (<y*>,<Y*>);(<z*>,<Z*>);/ + (<%'>,<%">);(<='>,<=">);/ + (<a=>,<A=>);(<b=>,<B=>);/ + (<c%>,<C%>);(<c3>,<C3>);/ + (<c=>,<C=>);(<d%>,<D%>);/ + (<d=>,<D=>);(<ds>,<DS>);/ + (<dz>,<DZ>);(<e=>,<E=>);/ + (<f3>,<F3>);(<f=>,<F=>);/ + (<g%>,<G%>);(<g3>,<G3>);/ + (<g=>,<G=>);(<h=>,<H=>);/ + (<i=>,<I=>);(<ie>,<IE>);/ + (<ii>,<II>);(<io>,<IO>);/ + (<j%>,<J%>);(<j=>,<J=>);/ + (<ja>,<JA>);(<je>,<JE>);/ + (<ju>,<JU>);(<k=>,<K=>);/ + (<kj>,<KJ>);(<l=>,<L=>);/ + (<lj>,<LJ>);(<m=>,<M=>);/ + (<n=>,<N=>);(<nj>,<NJ>);/ + (<o3>,<O3>);(<o=>,<O=>);/ + (<p=>,<P=>);(<r=>,<R=>);/ + (<s%>,<S%>);(<s=>,<S=>);/ + (<sc>,<Sc>);(<t=>,<T=>);/ + (<ts>,<Ts>);(<u=>,<U=>);/ + (<v3>,<V3>);(<v=>,<V=>);/ + (<y3>,<Y3>);(<y=>,<Y=>);/ + (<yi>,<YI>);(<z%>,<Z%>);/ + (<z=>,<Z=>);/ + (<*s>,<S*>) + +END LC_CTYPE + +LC_TIME +abday "<N=><e=><d=>";"<P=><o=><n=>";"<V=><t=><o=>";"<S=><r=><e=>";"<C%><e=><t=>";"<P=><e=><t=>";"<S=><a=><b=>" +day "<N=><e=><d=><e=><l=><a=>";"<P=><o=><n=><e=><d=><e=><l=><n=><i=><k=>";"<V=><t=><o=><r=><n=><i=><k=>";"<S=><r=><e=><d=><a=>";"<C%><e=><t=><v=><r=><t=><o=><k=>";"<P=><e=><t=><o=><k=>";"<S=><a=><b=><o=><t=><a=>" +abmon "<J%><a=><n=>";"<F=><e=><b=>";"<M=><a=><r=>";"<A=><p=><r=>";"<M=><a=><j%>";"<J%><u=><n=>";"<J%><u=><l=>";"<A=><v=><g=>";"<S=><e=><p=>";"<O=><k=><t=>";"<N=><o=><v=>";"<D=><e=><k=>" +mon "<J%><a=><n=><u=><a=><r=><i=>";"<F=><e=><b=><r=><u=><a=><r=><i=>";"<M=><a=><r=><t=>";"<A=><p=><r=><i=><l=>";"<M=><a=><j%>";"<J%><u=><n=><i=>";"<J%><u=><l=><i=>";"<A=><v=><g=><u=><s=><t=>";"<S=><e=><p=><t=><e=><m=><v=><r=><i=>";"<O=><k=><t=><o=><m=><v=><r=><i=>";"<N=><o=><e=><m=><v=><r=><i=>";"<D=><e=><k=><e=><m=><v=><r=><i=>" +d_t_fmt "<%><a><comma><SP><%><d><SP><%><b><SP><%><Y><SP><%><T><SP><%><Z>" +d_fmt "<%><d><-><%><m><-><%><Y>" +t_fmt "<%><T>" +am_pm "";"" +t_fmt_ampm "" +END LC_TIME + +LC_MONETARY +int_curr_symbol "<M><K><D><SP>" +currency_symbol "<d=><e=><n=>" +mon_decimal_point "<,>" +mon_thousands_sep "<.>" +mon_grouping 3;3 +positive_sign "" +negative_sign "<->" +int_frac_digits 2 +frac_digits 2 +p_cs_precedes 0 +p_sep_by_space 1 +n_cs_precedes 0 +n_sep_by_space 1 +p_sign_posn 1 +n_sign_posn 1 +END LC_MONETARY + +LC_NUMERIC +decimal_point "<,>" +thousands_sep "<.>" +grouping 3;3 +END LC_NUMERIC + +LC_MESSAGES +yesexpr "<<(><D=><d=><D><d><Y><y><1><)/>><.><*>" +noexpr "<<(><N=><n=><N><n><0><)/>><.><*>" +END LC_MESSAGES + diff -durpN glibc-2.1.2/localedata/locales/ru_RU glibc-2.1.3/localedata/locales/ru_RU --- glibc-2.1.2/localedata/locales/ru_RU Sun Aug 15 15:56:09 1999 +++ glibc-2.1.3/localedata/locales/ru_RU Tue Feb 15 10:59:24 2000 @@ -2805,9 +2805,9 @@ tolower (<A>,<a>);(<A!>,<a!>);/ (<Sc>,<sc>);(<T=>,<t=>);/ (<Ts>,<ts>);(<U=>,<u=>);/ (<V3>,<v3>);(<V=>,<v=>);/ - (<Y3>,<y3>);(<Y=>,<y=>);/ - (<YI>,<yi>);(<Z%>,<z%>);/ - (<Z=>,<z=>) + (<V%>,<v%>);(<Y3>,<y3>);/ + (<Y=>,<y=>);(<YI>,<yi>);/ + (<Z%>,<z%>);(<Z=>,<z=>) toupper (<a>,<A>);(<a!>,<A!>);/ (<a!!>,<A!!>);(<a'>,<A'>);/ @@ -3007,10 +3007,9 @@ toupper (<a>,<A>);(<a!>,<A!>);/ (<sc>,<Sc>);(<t=>,<T=>);/ (<ts>,<Ts>);(<u=>,<U=>);/ (<v3>,<V3>);(<v=>,<V=>);/ - (<y3>,<Y3>);(<y=>,<Y=>);/ - (<yi>,<YI>);(<z%>,<Z%>);/ - (<z=>,<Z=>);/ - (<*s>,<S*>) + (<v%>,<V%>);(<y3>,<Y3>);/ + (<y=>,<Y=>);(<yi>,<YI>);/ + (<z%>,<Z%>);(<z=>,<Z=>) END LC_CTYPE diff -durpN glibc-2.1.2/localedata/locales/ru_UA glibc-2.1.3/localedata/locales/ru_UA --- glibc-2.1.2/localedata/locales/ru_UA Sun Aug 15 15:56:09 1999 +++ glibc-2.1.3/localedata/locales/ru_UA Tue Feb 15 10:59:24 2000 @@ -733,9 +733,9 @@ tolower (<A>,<a>);(<A!>,<a!>);/ (<Sc>,<sc>);(<T=>,<t=>);/ (<Ts>,<ts>);(<U=>,<u=>);/ (<V3>,<v3>);(<V=>,<v=>);/ - (<Y3>,<y3>);(<Y=>,<y=>);/ - (<YI>,<yi>);(<Z%>,<z%>);/ - (<Z=>,<z=>) + (<V%>,<v%>);(<Y3>,<y3>);/ + (<Y=>,<y=>);(<YI>,<yi>);/ + (<Z%>,<z%>);(<Z=>,<z=>) toupper (<a>,<A>);(<a!>,<A!>);/ (<a!!>,<A!!>);(<a'>,<A'>);/ @@ -935,10 +935,9 @@ toupper (<a>,<A>);(<a!>,<A!>);/ (<sc>,<Sc>);(<t=>,<T=>);/ (<ts>,<Ts>);(<u=>,<U=>);/ (<v3>,<V3>);(<v=>,<V=>);/ - (<y3>,<Y3>);(<y=>,<Y=>);/ - (<yi>,<YI>);(<z%>,<Z%>);/ - (<z=>,<Z=>);/ - (<*s>,<S*>) + (<v%>,<V%>);(<y3>,<Y3>);/ + (<y=>,<Y=>);(<yi>,<YI>);/ + (<z%>,<Z%>);(<z=>,<Z=>) END LC_CTYPE @@ -956,7 +955,7 @@ LC_COLLATE % members of equivalence classes % 3. A distinction is made with regards % to case as noted below. -% 4. Special characters are ignored +% 4. Special characters are ignored % when comparing letters, but then % they are considered % 5. The alphabets are sorted in order @@ -984,10 +983,10 @@ collating-symbol <SMALL> % and Spanish <C><h> being treated % as one letter. -% The <a8> ...... <z8> collating +% The <a8> ...... <z8> collating % symbols have defined weights as % the last character in a group of -% Latin letters. They are used +% Latin letters. They are used % to specify deltas by locales using % a locale as the default ordering % and by "replace-after" statements @@ -1910,7 +1909,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <a-> <A>;<MACRON>;<SMALL>;IGNORE <A7> <A>;<MACRON+DOT>;<CAPITAL>;IGNORE <a7> <A>;<MACRON+DOT>;<SMALL>;IGNORE -<a8> +<a8> <AE> "<A><E>";"<AE><AE>";"<CAPITAL><CAPITAL>";IGNORE <ae> "<A><E>";"<AE><AE>";"<SMALL><SMALL>";IGNORE <AE'> "<A><E>";"<AE'><AE'>";"<CAPITAL><CAPITAL>";IGNORE @@ -1925,7 +1924,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <b-.> <B>;<DOT-BELOW>;<SMALL>;IGNORE <B_> <B>;<LINE-BELOW>;<CAPITAL>;IGNORE <b_> <B>;<LINE-BELOW>;<SMALL>;IGNORE -<b8> +<b8> <C> <C>;<NONE>;<CAPITAL>;IGNORE <c> <C>;<NONE>;<SMALL>;IGNORE <C'> <C>;<ACUTE>;<CAPITAL>;IGNORE @@ -1942,7 +1941,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <c,> <C>;<CEDILLA>;<SMALL>;IGNORE <C,'> <C>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE <c,'> <C>;<CEDILLA+ACUTE>;<SMALL>;IGNORE -<c8> +<c8> <D> <D>;<NONE>;<CAPITAL>;IGNORE <d> <D>;<NONE>;<SMALL>;IGNORE <D<> <D>;<CARON>;<CAPITAL>;IGNORE @@ -1959,7 +1958,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <d-/>> <D>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE <D_> <D>;<LINE-BELOW>;<CAPITAL>;IGNORE <d_> <D>;<LINE-BELOW>;<SMALL>;IGNORE -<d8> +<d8> <E> <E>;<NONE>;<CAPITAL>;IGNORE <e> <E>;<NONE>;<SMALL>;IGNORE <E'> <E>;<ACUTE>;<CAPITAL>;IGNORE @@ -2010,14 +2009,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <e-!> <E>;<MACRON+GRAVE>;<SMALL>;IGNORE <E-/>> <E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE <e-/>> <E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<e8> +<e8> <F> <F>;<NONE>;<CAPITAL>;IGNORE <f> <F>;<NONE>;<SMALL>;IGNORE <F2> <F>;<HOOK>;<CAPITAL>;IGNORE <f2> <F>;<HOOK>;<SMALL>;IGNORE <F.> <F>;<DOT>;<CAPITAL>;IGNORE <f.> <F>;<DOT>;<SMALL>;IGNORE -<f8> +<f8> <ff> "<F><F>";"<NONE><NONE>";"<ff><ff>";IGNORE <fi> "<F><I>";"<NONE><NONE>";"<fi><fi>";IGNORE <fl> "<F><L>";"<NONE><NONE>";"<fl><fl>";IGNORE @@ -2041,7 +2040,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <g,> <G>;<CEDILLA>;<SMALL>;IGNORE <G-> <G>;<MACRON>;<CAPITAL>;IGNORE <g-> <G>;<MACRON>;<SMALL>;IGNORE -<g8> +<g8> <H> <H>;<NONE>;<CAPITAL>;IGNORE <h> <H>;<NONE>;<SMALL>;IGNORE <H-(> <H>;<BREVE-BELOW>;<CAPITAL>;IGNORE @@ -2058,7 +2057,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <h//> <H>;<STROKE>;<SMALL>;IGNORE <H,> <H>;<CEDILLA>;<CAPITAL>;IGNORE <h,> <H>;<CEDILLA>;<SMALL>;IGNORE -<h8> +<h8> <I> <I>;<NONE>;<CAPITAL>;IGNORE <i> <I>;<NONE>;<SMALL>;IGNORE <I'> <I>;<ACUTE>;<CAPITAL>;IGNORE @@ -2093,14 +2092,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <i;> <I>;<OGONEK>;<SMALL>;IGNORE <I-> <I>;<MACRON>;<CAPITAL>;IGNORE <i-> <I>;<MACRON>;<SMALL>;IGNORE -<i8> +<i8> <IJ> "<I><J>";"<IJ><IJ>";"<CAPITAL><CAPITAL>";IGNORE <ij> "<I><J>";"<IJ><IJ>";"<SMALL><SMALL>";IGNORE <J> <J>;<NONE>;<CAPITAL>;IGNORE <j> <J>;<NONE>;<SMALL>;IGNORE <J/>> <J>;<CIRCUMFLEX>;<CAPITAL>;IGNORE <j/>> <J>;<CIRCUMFLEX>;<SMALL>;IGNORE -<j8> +<j8> <K> <K>;<NONE>;<CAPITAL>;IGNORE <k> <K>;<NONE>;<SMALL>;IGNORE <K'> <K>;<ACUTE>;<CAPITAL>;IGNORE @@ -2115,7 +2114,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <k,> <K>;<CEDILLA>;<SMALL>;IGNORE <K_> <K>;<LINE-BELOW>;<CAPITAL>;IGNORE <k_> <K>;<LINE-BELOW>;<SMALL>;IGNORE -<k8> +<k8> <kk> <K>;<kk>;<SMALL>;IGNORE <L> <L>;<NONE>;<CAPITAL>;IGNORE <l> <L>;<NONE>;<SMALL>;IGNORE @@ -2137,7 +2136,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <l-/>> <L>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE <L_> <L>;<LINE-BELOW>;<CAPITAL>;IGNORE <l_> <L>;<LINE-BELOW>;<SMALL>;IGNORE -<l8> +<l8> <M> <M>;<NONE>;<CAPITAL>;IGNORE <m> <M>;<NONE>;<SMALL>;IGNORE <M'> <M>;<ACUTE>;<CAPITAL>;IGNORE @@ -2146,7 +2145,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <m.> <M>;<DOT>;<SMALL>;IGNORE <M-.> <M>;<DOT-BELOW>;<CAPITAL>;IGNORE <m-.> <M>;<DOT-BELOW>;<SMALL>;IGNORE -<m8> +<m8> <N> <N>;<NONE>;<CAPITAL>;IGNORE <n> <N>;<NONE>;<SMALL>;IGNORE <N'> <N>;<ACUTE>;<CAPITAL>;IGNORE @@ -2166,7 +2165,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <N_> <N>;<LINE-BELOW>;<CAPITAL>;IGNORE <n_> <N>;<LINE-BELOW>;<SMALL>;IGNORE <'n> <N>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE -<n8> +<n8> <NG> "<N><G>";"<NG><NG>";"<CAPITAL><CAPITAL>";IGNORE <ng> "<N><G>";"<NG><NG>";"<SMALL><SMALL>";IGNORE <O> <O>;<NONE>;<CAPITAL>;IGNORE @@ -2236,7 +2235,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <o9?> <O>;<HORN+TILDE>;<SMALL>;IGNORE <O9-.> <O>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE <o9-.> <O>;<HORN+DOT-BELOW>;<SMALL>;IGNORE -<o8> +<o8> <OE> "<O><E>";"<OE><OE>";"<CAPITAL><CAPITAL>";IGNORE <oe> "<O><E>";"<OE><OE>";"<SMALL><SMALL>";IGNORE <P> <P>;<NONE>;<CAPITAL>;IGNORE @@ -2245,10 +2244,10 @@ UNDEFINED IGNORE;IGNORE;IGNORE <p'> <P>;<ACUTE>;<SMALL>;IGNORE <P.> <P>;<DOT>;<CAPITAL>;IGNORE <p.> <P>;<DOT>;<SMALL>;IGNORE -<p8> +<p8> <Q> <Q>;<NONE>;<CAPITAL>;IGNORE <q> <Q>;<NONE>;<SMALL>;IGNORE -<q8> +<q8> <R> <R>;<NONE>;<CAPITAL>;IGNORE <r> <R>;<NONE>;<SMALL>;IGNORE <R'> <R>;<ACUTE>;<CAPITAL>;IGNORE @@ -2269,7 +2268,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <r--.> <R>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE <R_> <R>;<LINE-BELOW>;<CAPITAL>;IGNORE <r_> <R>;<LINE-BELOW>;<SMALL>;IGNORE -<r8> +<r8> <S> <S>;<NONE>;<CAPITAL>;IGNORE <s> <S>;<NONE>;<SMALL>;IGNORE <st> "<S><T>";"<NONE><NONE>";"<st><st>";IGNORE @@ -2291,7 +2290,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <s.-.> <S>;<DOT+DOT-BELOW>;<SMALL>;IGNORE <S,> <S>;<CEDILLA>;<CAPITAL>;IGNORE <s,> <S>;<CEDILLA>;<SMALL>;IGNORE -<s8> +<s8> <s1> <S>;<s1>;<SMALL>;IGNORE <ss> "<S><S>";"<NONE><NONE>";"<SMALL><ss>";IGNORE <St> "<S><T>";"<NONE><NONE>";"<St><St>";IGNORE @@ -2311,7 +2310,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <t-/>> <T>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE <T_> <T>;<LINE-BELOW>;<CAPITAL>;IGNORE <t_> <T>;<LINE-BELOW>;<SMALL>;IGNORE -<t8> +<t8> <TH> "<T><H>";"<TH><TH>";"<CAPITAL><CAPITAL>";IGNORE <th> "<T><H>";"<TH><TH>";"<SMALL><SMALL>";IGNORE <U> <U>;<NONE>;<CAPITAL>;IGNORE @@ -2376,14 +2375,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <u9?> <U>;<HORN+TILDE>;<SMALL>;IGNORE <U9-.> <U>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE <u9-.> <U>;<HORN+DOT-BELOW>;<SMALL>;IGNORE -<u8> +<u8> <V> <V>;<NONE>;<CAPITAL>;IGNORE <v> <V>;<NONE>;<SMALL>;IGNORE <V?> <V>;<TILDE>;<CAPITAL>;IGNORE <v?> <V>;<TILDE>;<SMALL>;IGNORE <V-.> <V>;<DOT-BELOW>;<CAPITAL>;IGNORE <v-.> <V>;<DOT-BELOW>;<SMALL>;IGNORE -<v8> +<v8> <W> <W>;<NONE>;<CAPITAL>;IGNORE <w> <W>;<NONE>;<SMALL>;IGNORE <W'> <W>;<ACUTE>;<CAPITAL>;IGNORE @@ -2398,14 +2397,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <w.> <W>;<DOT>;<SMALL>;IGNORE <W-.> <W>;<DOT-BELOW>;<CAPITAL>;IGNORE <w-.> <W>;<DOT-BELOW>;<SMALL>;IGNORE -<w8> +<w8> <X> <X>;<NONE>;<CAPITAL>;IGNORE <x> <X>;<NONE>;<SMALL>;IGNORE <X:> <X>;<DIAERESIS>;<CAPITAL>;IGNORE <x:> <X>;<DIAERESIS>;<SMALL>;IGNORE <X.> <X>;<DOT>;<CAPITAL>;IGNORE <x.> <X>;<DOT>;<SMALL>;IGNORE -<x8> +<x8> <Y> <Y>;<NONE>;<CAPITAL>;IGNORE <y> <Y>;<NONE>;<SMALL>;IGNORE <Y'> <Y>;<ACUTE>;<CAPITAL>;IGNORE @@ -2424,7 +2423,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <y.> <Y>;<DOT>;<SMALL>;IGNORE <Y-.> <Y>;<DOT-BELOW>;<CAPITAL>;IGNORE <y-.> <Y>;<DOT-BELOW>;<SMALL>;IGNORE -<y8> +<y8> <Z> <Z>;<NONE>;<CAPITAL>;IGNORE <z> <Z>;<NONE>;<SMALL>;IGNORE <Z'> <Z>;<ACUTE>;<CAPITAL>;IGNORE @@ -2441,7 +2440,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <z//> <Z>;<STROKE>;<SMALL>;IGNORE <Z_> <Z>;<LINE-BELOW>;<CAPITAL>;IGNORE <z_> <Z>;<LINE-BELOW>;<SMALL>;IGNORE -<z8> +<z8> <A*> <A*>;<CAPITAL>;<GREEK>;IGNORE <A%> <A*>;<CAPITAL>;<TONOS>;IGNORE <a*> <A*>;<SMALL>;<GREEK>;IGNORE diff -durpN glibc-2.1.2/localedata/locales/th_TH glibc-2.1.3/localedata/locales/th_TH --- glibc-2.1.2/localedata/locales/th_TH Fri Apr 16 08:49:53 1999 +++ glibc-2.1.3/localedata/locales/th_TH Tue Feb 15 10:59:24 2000 @@ -54,8 +54,11 @@ alpha <A>;<B>;<C>;<D>;<E>;<F>;<G>;<H>; % digit = Arabic digits + Thai digits % digit <zero>;<one>;<two>;<three>;<four>;/ - <five>;<six>;<seven>;<eight>;<nine>;/ - <th240>;...;<th249> + <five>;<six>;<seven>;<eight>;<nine> +% The Thai digits +% <th240>;...;<th249> +% cannot be listed here. In glibc 2.2 they'll be in indigits and +% possibly outdigits. xdigit <zero>;<one>;<two>;<three>;<four>;/ <five>;<six>;<seven>;<eight>;<nine>;/ @@ -68,7 +71,7 @@ cntrl <alert>;<backspace>;<tab>;<newli <form-feed>;<carriage-return>;/ <NUL>;<SOH>;<STX>;<ETX>;<EOT>;<ENQ>;<ACK>;<SO>;<SI>;/ <DLE>;<DC1>;<DC2>;<DC3>;<DC4>;<NAK>;<SYN>;<ETB>;<CAN>;/ - <EM>;<SUB>;<ESC>;<IS4>;<IS3>;<IS2>;<IS1>;<DEL>; + <EM>;<SUB>;<ESC>;<IS4>;<IS3>;<IS2>;<IS1>;<DEL> % % punct = ASCII punct @@ -992,4 +995,3 @@ yesstr "<th227><th170><th232>" nostr "<th228><th193><th232><th227><th170><th232>" END LC_MESSAGES - diff -durpN glibc-2.1.2/localedata/locales/tr_TR glibc-2.1.3/localedata/locales/tr_TR --- glibc-2.1.2/localedata/locales/tr_TR Sun Aug 15 15:56:09 1999 +++ glibc-2.1.3/localedata/locales/tr_TR Tue Feb 15 10:59:24 2000 @@ -2800,9 +2800,10 @@ tolower (<A>,<a>);(<A!>,<a!>);/ (<S=>,<s=>);(<Sc>,<sc>);/ (<T=>,<t=>);(<Ts>,<ts>);/ (<U=>,<u=>);(<V3>,<v3>);/ - (<V=>,<v=>);(<Y3>,<y3>);/ - (<Y=>,<y=>);(<YI>,<yi>);/ - (<Z%>,<z%>);(<Z=>,<z=>) + (<V=>,<v=>);(<V%>,<v%>);/ + (<Y3>,<y3>);(<Y=>,<y=>);/ + (<YI>,<yi>);(<Z%>,<z%>);/ + (<Z=>,<z=>) toupper (<a>,<A>);(<a!>,<A!>);/ (<a!!>,<A!!>);(<a'>,<A'>);/ @@ -3000,10 +3001,10 @@ toupper (<a>,<A>);(<a!>,<A!>);/ (<s=>,<S=>);(<sc>,<Sc>);/ (<t=>,<T=>);(<ts>,<Ts>);/ (<u=>,<U=>);(<v3>,<V3>);/ - (<v=>,<V=>);(<y3>,<Y3>);/ - (<y=>,<Y=>);(<yi>,<YI>);/ - (<z%>,<Z%>);(<z=>,<Z=>);/ - (<*s>,<S*>) + (<v=>,<V=>);(<v%>,<V%>);/ + (<y3>,<Y3>);(<y=>,<Y=>);/ + (<yi>,<YI>);(<z%>,<Z%>);/ + (<z=>,<Z=>) END LC_CTYPE diff -durpN glibc-2.1.2/localedata/locales/uk_UA glibc-2.1.3/localedata/locales/uk_UA --- glibc-2.1.2/localedata/locales/uk_UA Sun Aug 15 15:56:09 1999 +++ glibc-2.1.3/localedata/locales/uk_UA Tue Feb 15 10:59:25 2000 @@ -733,9 +733,9 @@ tolower (<A>,<a>);(<A!>,<a!>);/ (<Sc>,<sc>);(<T=>,<t=>);/ (<Ts>,<ts>);(<U=>,<u=>);/ (<V3>,<v3>);(<V=>,<v=>);/ - (<Y3>,<y3>);(<Y=>,<y=>);/ - (<YI>,<yi>);(<Z%>,<z%>);/ - (<Z=>,<z=>) + (<V%>,<v%>);(<Y3>,<y3>);/ + (<Y=>,<y=>);(<YI>,<yi>);/ + (<Z%>,<z%>);(<Z=>,<z=>) toupper (<a>,<A>);(<a!>,<A!>);/ (<a!!>,<A!!>);(<a'>,<A'>);/ @@ -935,10 +935,9 @@ toupper (<a>,<A>);(<a!>,<A!>);/ (<sc>,<Sc>);(<t=>,<T=>);/ (<ts>,<Ts>);(<u=>,<U=>);/ (<v3>,<V3>);(<v=>,<V=>);/ - (<y3>,<Y3>);(<y=>,<Y=>);/ - (<yi>,<YI>);(<z%>,<Z%>);/ - (<z=>,<Z=>);/ - (<*s>,<S*>) + (<v%>,<V%>);(<y3>,<Y3>);/ + (<y=>,<Y=>);(<yi>,<YI>);/ + (<z%>,<Z%>);(<z=>,<Z=>) END LC_CTYPE @@ -956,7 +955,7 @@ LC_COLLATE % members of equivalence classes % 3. A distinction is made with regards % to case as noted below. -% 4. Special characters are ignored +% 4. Special characters are ignored % when comparing letters, but then % they are considered % 5. The alphabets are sorted in order @@ -984,10 +983,10 @@ collating-symbol <SMALL> % and Spanish <C><h> being treated % as one letter. -% The <a8> ...... <z8> collating +% The <a8> ...... <z8> collating % symbols have defined weights as % the last character in a group of -% Latin letters. They are used +% Latin letters. They are used % to specify deltas by locales using % a locale as the default ordering % and by "replace-after" statements @@ -1910,7 +1909,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <a-> <A>;<MACRON>;<SMALL>;IGNORE <A7> <A>;<MACRON+DOT>;<CAPITAL>;IGNORE <a7> <A>;<MACRON+DOT>;<SMALL>;IGNORE -<a8> +<a8> <AE> "<A><E>";"<AE><AE>";"<CAPITAL><CAPITAL>";IGNORE <ae> "<A><E>";"<AE><AE>";"<SMALL><SMALL>";IGNORE <AE'> "<A><E>";"<AE'><AE'>";"<CAPITAL><CAPITAL>";IGNORE @@ -1925,7 +1924,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <b-.> <B>;<DOT-BELOW>;<SMALL>;IGNORE <B_> <B>;<LINE-BELOW>;<CAPITAL>;IGNORE <b_> <B>;<LINE-BELOW>;<SMALL>;IGNORE -<b8> +<b8> <C> <C>;<NONE>;<CAPITAL>;IGNORE <c> <C>;<NONE>;<SMALL>;IGNORE <C'> <C>;<ACUTE>;<CAPITAL>;IGNORE @@ -1942,7 +1941,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <c,> <C>;<CEDILLA>;<SMALL>;IGNORE <C,'> <C>;<CEDILLA+ACUTE>;<CAPITAL>;IGNORE <c,'> <C>;<CEDILLA+ACUTE>;<SMALL>;IGNORE -<c8> +<c8> <D> <D>;<NONE>;<CAPITAL>;IGNORE <d> <D>;<NONE>;<SMALL>;IGNORE <D<> <D>;<CARON>;<CAPITAL>;IGNORE @@ -1959,7 +1958,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <d-/>> <D>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE <D_> <D>;<LINE-BELOW>;<CAPITAL>;IGNORE <d_> <D>;<LINE-BELOW>;<SMALL>;IGNORE -<d8> +<d8> <E> <E>;<NONE>;<CAPITAL>;IGNORE <e> <E>;<NONE>;<SMALL>;IGNORE <E'> <E>;<ACUTE>;<CAPITAL>;IGNORE @@ -2010,14 +2009,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <e-!> <E>;<MACRON+GRAVE>;<SMALL>;IGNORE <E-/>> <E>;<MACRON+CIRCUMFLEX>;<CAPITAL>;IGNORE <e-/>> <E>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE -<e8> +<e8> <F> <F>;<NONE>;<CAPITAL>;IGNORE <f> <F>;<NONE>;<SMALL>;IGNORE <F2> <F>;<HOOK>;<CAPITAL>;IGNORE <f2> <F>;<HOOK>;<SMALL>;IGNORE <F.> <F>;<DOT>;<CAPITAL>;IGNORE <f.> <F>;<DOT>;<SMALL>;IGNORE -<f8> +<f8> <ff> "<F><F>";"<NONE><NONE>";"<ff><ff>";IGNORE <fi> "<F><I>";"<NONE><NONE>";"<fi><fi>";IGNORE <fl> "<F><L>";"<NONE><NONE>";"<fl><fl>";IGNORE @@ -2041,7 +2040,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <g,> <G>;<CEDILLA>;<SMALL>;IGNORE <G-> <G>;<MACRON>;<CAPITAL>;IGNORE <g-> <G>;<MACRON>;<SMALL>;IGNORE -<g8> +<g8> <H> <H>;<NONE>;<CAPITAL>;IGNORE <h> <H>;<NONE>;<SMALL>;IGNORE <H-(> <H>;<BREVE-BELOW>;<CAPITAL>;IGNORE @@ -2058,7 +2057,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <h//> <H>;<STROKE>;<SMALL>;IGNORE <H,> <H>;<CEDILLA>;<CAPITAL>;IGNORE <h,> <H>;<CEDILLA>;<SMALL>;IGNORE -<h8> +<h8> <I> <I>;<NONE>;<CAPITAL>;IGNORE <i> <I>;<NONE>;<SMALL>;IGNORE <I'> <I>;<ACUTE>;<CAPITAL>;IGNORE @@ -2093,14 +2092,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <i;> <I>;<OGONEK>;<SMALL>;IGNORE <I-> <I>;<MACRON>;<CAPITAL>;IGNORE <i-> <I>;<MACRON>;<SMALL>;IGNORE -<i8> +<i8> <IJ> "<I><J>";"<IJ><IJ>";"<CAPITAL><CAPITAL>";IGNORE <ij> "<I><J>";"<IJ><IJ>";"<SMALL><SMALL>";IGNORE <J> <J>;<NONE>;<CAPITAL>;IGNORE <j> <J>;<NONE>;<SMALL>;IGNORE <J/>> <J>;<CIRCUMFLEX>;<CAPITAL>;IGNORE <j/>> <J>;<CIRCUMFLEX>;<SMALL>;IGNORE -<j8> +<j8> <K> <K>;<NONE>;<CAPITAL>;IGNORE <k> <K>;<NONE>;<SMALL>;IGNORE <K'> <K>;<ACUTE>;<CAPITAL>;IGNORE @@ -2115,7 +2114,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <k,> <K>;<CEDILLA>;<SMALL>;IGNORE <K_> <K>;<LINE-BELOW>;<CAPITAL>;IGNORE <k_> <K>;<LINE-BELOW>;<SMALL>;IGNORE -<k8> +<k8> <kk> <K>;<kk>;<SMALL>;IGNORE <L> <L>;<NONE>;<CAPITAL>;IGNORE <l> <L>;<NONE>;<SMALL>;IGNORE @@ -2137,7 +2136,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <l-/>> <L>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE <L_> <L>;<LINE-BELOW>;<CAPITAL>;IGNORE <l_> <L>;<LINE-BELOW>;<SMALL>;IGNORE -<l8> +<l8> <M> <M>;<NONE>;<CAPITAL>;IGNORE <m> <M>;<NONE>;<SMALL>;IGNORE <M'> <M>;<ACUTE>;<CAPITAL>;IGNORE @@ -2146,7 +2145,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <m.> <M>;<DOT>;<SMALL>;IGNORE <M-.> <M>;<DOT-BELOW>;<CAPITAL>;IGNORE <m-.> <M>;<DOT-BELOW>;<SMALL>;IGNORE -<m8> +<m8> <N> <N>;<NONE>;<CAPITAL>;IGNORE <n> <N>;<NONE>;<SMALL>;IGNORE <N'> <N>;<ACUTE>;<CAPITAL>;IGNORE @@ -2166,7 +2165,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <N_> <N>;<LINE-BELOW>;<CAPITAL>;IGNORE <n_> <N>;<LINE-BELOW>;<SMALL>;IGNORE <'n> <N>;<PRECEDED-BY-APOSTROPHE>;<SMALL>;IGNORE -<n8> +<n8> <NG> "<N><G>";"<NG><NG>";"<CAPITAL><CAPITAL>";IGNORE <ng> "<N><G>";"<NG><NG>";"<SMALL><SMALL>";IGNORE <O> <O>;<NONE>;<CAPITAL>;IGNORE @@ -2236,7 +2235,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <o9?> <O>;<HORN+TILDE>;<SMALL>;IGNORE <O9-.> <O>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE <o9-.> <O>;<HORN+DOT-BELOW>;<SMALL>;IGNORE -<o8> +<o8> <OE> "<O><E>";"<OE><OE>";"<CAPITAL><CAPITAL>";IGNORE <oe> "<O><E>";"<OE><OE>";"<SMALL><SMALL>";IGNORE <P> <P>;<NONE>;<CAPITAL>;IGNORE @@ -2245,10 +2244,10 @@ UNDEFINED IGNORE;IGNORE;IGNORE <p'> <P>;<ACUTE>;<SMALL>;IGNORE <P.> <P>;<DOT>;<CAPITAL>;IGNORE <p.> <P>;<DOT>;<SMALL>;IGNORE -<p8> +<p8> <Q> <Q>;<NONE>;<CAPITAL>;IGNORE <q> <Q>;<NONE>;<SMALL>;IGNORE -<q8> +<q8> <R> <R>;<NONE>;<CAPITAL>;IGNORE <r> <R>;<NONE>;<SMALL>;IGNORE <R'> <R>;<ACUTE>;<CAPITAL>;IGNORE @@ -2269,7 +2268,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <r--.> <R>;<MACRON+DOT-BELOW>;<SMALL>;IGNORE <R_> <R>;<LINE-BELOW>;<CAPITAL>;IGNORE <r_> <R>;<LINE-BELOW>;<SMALL>;IGNORE -<r8> +<r8> <S> <S>;<NONE>;<CAPITAL>;IGNORE <s> <S>;<NONE>;<SMALL>;IGNORE <st> "<S><T>";"<NONE><NONE>";"<st><st>";IGNORE @@ -2291,7 +2290,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <s.-.> <S>;<DOT+DOT-BELOW>;<SMALL>;IGNORE <S,> <S>;<CEDILLA>;<CAPITAL>;IGNORE <s,> <S>;<CEDILLA>;<SMALL>;IGNORE -<s8> +<s8> <s1> <S>;<s1>;<SMALL>;IGNORE <ss> "<S><S>";"<NONE><NONE>";"<SMALL><ss>";IGNORE <St> "<S><T>";"<NONE><NONE>";"<St><St>";IGNORE @@ -2311,7 +2310,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <t-/>> <T>;<MACRON+CIRCUMFLEX>;<SMALL>;IGNORE <T_> <T>;<LINE-BELOW>;<CAPITAL>;IGNORE <t_> <T>;<LINE-BELOW>;<SMALL>;IGNORE -<t8> +<t8> <TH> "<T><H>";"<TH><TH>";"<CAPITAL><CAPITAL>";IGNORE <th> "<T><H>";"<TH><TH>";"<SMALL><SMALL>";IGNORE <U> <U>;<NONE>;<CAPITAL>;IGNORE @@ -2376,14 +2375,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <u9?> <U>;<HORN+TILDE>;<SMALL>;IGNORE <U9-.> <U>;<HORN+DOT-BELOW>;<CAPITAL>;IGNORE <u9-.> <U>;<HORN+DOT-BELOW>;<SMALL>;IGNORE -<u8> +<u8> <V> <V>;<NONE>;<CAPITAL>;IGNORE <v> <V>;<NONE>;<SMALL>;IGNORE <V?> <V>;<TILDE>;<CAPITAL>;IGNORE <v?> <V>;<TILDE>;<SMALL>;IGNORE <V-.> <V>;<DOT-BELOW>;<CAPITAL>;IGNORE <v-.> <V>;<DOT-BELOW>;<SMALL>;IGNORE -<v8> +<v8> <W> <W>;<NONE>;<CAPITAL>;IGNORE <w> <W>;<NONE>;<SMALL>;IGNORE <W'> <W>;<ACUTE>;<CAPITAL>;IGNORE @@ -2398,14 +2397,14 @@ UNDEFINED IGNORE;IGNORE;IGNORE <w.> <W>;<DOT>;<SMALL>;IGNORE <W-.> <W>;<DOT-BELOW>;<CAPITAL>;IGNORE <w-.> <W>;<DOT-BELOW>;<SMALL>;IGNORE -<w8> +<w8> <X> <X>;<NONE>;<CAPITAL>;IGNORE <x> <X>;<NONE>;<SMALL>;IGNORE <X:> <X>;<DIAERESIS>;<CAPITAL>;IGNORE <x:> <X>;<DIAERESIS>;<SMALL>;IGNORE <X.> <X>;<DOT>;<CAPITAL>;IGNORE <x.> <X>;<DOT>;<SMALL>;IGNORE -<x8> +<x8> <Y> <Y>;<NONE>;<CAPITAL>;IGNORE <y> <Y>;<NONE>;<SMALL>;IGNORE <Y'> <Y>;<ACUTE>;<CAPITAL>;IGNORE @@ -2424,7 +2423,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <y.> <Y>;<DOT>;<SMALL>;IGNORE <Y-.> <Y>;<DOT-BELOW>;<CAPITAL>;IGNORE <y-.> <Y>;<DOT-BELOW>;<SMALL>;IGNORE -<y8> +<y8> <Z> <Z>;<NONE>;<CAPITAL>;IGNORE <z> <Z>;<NONE>;<SMALL>;IGNORE <Z'> <Z>;<ACUTE>;<CAPITAL>;IGNORE @@ -2441,7 +2440,7 @@ UNDEFINED IGNORE;IGNORE;IGNORE <z//> <Z>;<STROKE>;<SMALL>;IGNORE <Z_> <Z>;<LINE-BELOW>;<CAPITAL>;IGNORE <z_> <Z>;<LINE-BELOW>;<SMALL>;IGNORE -<z8> +<z8> <A*> <A*>;<CAPITAL>;<GREEK>;IGNORE <A%> <A*>;<CAPITAL>;<TONOS>;IGNORE <a*> <A*>;<SMALL>;<GREEK>;IGNORE diff -durpN glibc-2.1.2/localedata/repertoiremaps/mnemonic.ds glibc-2.1.3/localedata/repertoiremaps/mnemonic.ds --- glibc-2.1.2/localedata/repertoiremaps/mnemonic.ds Wed Apr 28 02:53:31 1999 +++ glibc-2.1.3/localedata/repertoiremaps/mnemonic.ds Thu Dec 9 10:56:56 1999 @@ -589,6 +589,8 @@ escape_char / <';> <U02DB> OGONEK <1?> <U02DC> SMALL TILDE <'"> <U02DD> DOUBLE ACUTE ACCENT +<"`> <U0300> COMBINING GRAVE ACCENT +<"'> <U0301> COMBINING ACUTE ACCENT <'G> <U0374> GREEK NUMERAL SIGN <,G> <U0375> GREEK LOWER NUMERAL SIGN <j3> <U037A> GREEK YPOGEGRAMMENI @@ -859,6 +861,7 @@ escape_char / <7a> <U0667> ARABIC-INDIC DIGIT SEVEN <8a> <U0668> ARABIC-INDIC DIGIT EIGHT <9a> <U0669> ARABIC-INDIC DIGIT NINE +<%a> <U066A> ARABIC PERCENT SIGN <aS> <U0670> ARABIC LETTER SUPERSCRIPT ALEF <p+> <U067E> ARABIC LETTER PEH <hH> <U0681> ARABIC LETTER HAH WITH HAMZA ABOVE @@ -2173,9 +2176,14 @@ escape_char / <St> <UFB05> LATIN SMALL LIGATURE LONG S T <st> <UFB06> LATIN SMALL LIGATURE ST <3+;> <UFE7D> ARABIC SHADDA MEDIAL FORM +<H'-> <UFE80> ARABIC LETTER HAMZA ISOLATED FORM +<aM-> <UFE81> ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM <aM.> <UFE82> ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM +<aH-> <UFE83> ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM <aH.> <UFE84> ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM +<wH-> <UFE85> ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM <ah.> <UFE88> ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM +<yH,> <UFE8B> ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM <a+-> <UFE8D> ARABIC LETTER ALEF ISOLATED FORM <a+.> <UFE8E> ARABIC LETTER ALEF FINAL FORM <b+-> <UFE8F> ARABIC LETTER BEH ISOLATED FORM diff -durpN glibc-2.1.2/localedata/tst-fmon.data glibc-2.1.3/localedata/tst-fmon.data --- glibc-2.1.2/localedata/tst-fmon.data Sun Jan 25 11:46:23 1998 +++ glibc-2.1.3/localedata/tst-fmon.data Tue Feb 22 23:02:54 2000 @@ -19,7 +19,7 @@ # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # The format of this file is pretty simple: Each line contains a test -# for strfmon. Fields are seperated by TABs. Lines that start with a +# for strfmon. Fields are separated by TABs. Lines that start with a # '#' are comments and are ignored. # # Field Deskription diff -durpN glibc-2.1.2/localedata/tst-rpmatch.sh glibc-2.1.3/localedata/tst-rpmatch.sh --- glibc-2.1.2/localedata/tst-rpmatch.sh Tue Jul 27 20:58:19 1999 +++ glibc-2.1.3/localedata/tst-rpmatch.sh Tue Feb 22 23:02:54 2000 @@ -1,6 +1,6 @@ #! /bin/sh -f # -# Copyright (C) 1998, 1999 Free Software Foundation, Inc. +# Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. # This file is part of the GNU C Library and contains tests for # the rpmatch(3)-implementation. # contributed by Jochen Hein <jochen.hein@delphi.central.de> @@ -31,7 +31,7 @@ while read locale string result dummy; d fi done <<EOF #& These are the tests for rpmatch in glibc. Each line contains one test, -#& comments start with #& in the first column. The fields are seperated +#& comments start with #& in the first column. The fields are separated #& by paragraph signs and contain: the locale, the string, the expected #& return value of rpmatch(3). If the test fails, test-rpmatch prints #& all these informations diff -durpN glibc-2.1.2/login/programs/xtmp.h glibc-2.1.3/login/programs/xtmp.h --- glibc-2.1.2/login/programs/xtmp.h Wed Aug 13 18:24:35 1997 +++ glibc-2.1.3/login/programs/xtmp.h Tue Feb 22 23:02:55 2000 @@ -38,7 +38,7 @@ struct xtmp time_t xt_time; /* Time entry was made. */ char xt_user[XT_NAMESIZE]; /* Username (not NUL terminated). */ char xt_host[XT_HOSTSIZE]; /* Hostname for remote login. */ - long xt_addr; /* Internet adress of remote host. */ + long xt_addr; /* Internet address of remote host. */ }; #define _HAVE_XT_TYPE 1 diff -durpN glibc-2.1.2/malloc/Versions glibc-2.1.3/malloc/Versions --- glibc-2.1.2/malloc/Versions Thu Jul 2 15:32:00 1998 +++ glibc-2.1.3/malloc/Versions Tue Dec 21 15:51:34 1999 @@ -44,4 +44,8 @@ libc { # v* valloc; } + GLIBC_2.1 { + # Special functions. + __libc_freeres; + } } diff -durpN glibc-2.1.2/malloc/malloc.c glibc-2.1.3/malloc/malloc.c --- glibc-2.1.2/malloc/malloc.c Mon Aug 30 12:19:15 1999 +++ glibc-2.1.3/malloc/malloc.c Tue Feb 22 23:02:55 2000 @@ -1,5 +1,5 @@ /* Malloc implementation for multiple threads without lock contention. - Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Wolfram Gloger <wmglo@dent.med.uni-muenchen.de> and Doug Lea <dl@cs.oswego.edu>, 1996. @@ -19,7 +19,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* V2.6.4-pt3 Thu Feb 20 1997 +/* $Id: malloc.c,v 1.40.2.9 2000/02/22 04:48:48 drepper Exp $ This work is mainly derived from malloc-2.6.4 by Doug Lea <dl@cs.oswego.edu>, which is available from: @@ -202,6 +202,8 @@ HAVE_MREMAP (default: defined as 0 unless Linux libc set) Define to non-zero to optionally make realloc() use mremap() to reallocate very large blocks. + USE_ARENAS (default: the same as HAVE_MMAP) + Enable support for multiple arenas, allocated using mmap(). malloc_getpagesize (default: derived from system #includes) Either a constant or routine call returning the system page size. HAVE_USR_INCLUDE_MALLOC_H (default: NOT defined) @@ -226,8 +228,12 @@ MORECORE_FAILURE (default: -1) The value returned upon failure of MORECORE. MORECORE_CLEARS (default 1) - True (1) if the routine mapped to MORECORE zeroes out memory (which - holds for sbrk). + The degree to which the routine mapped to MORECORE zeroes out + memory: never (0), only for newly allocated space (1) or always + (2). The distinction between (1) and (2) is necessary because on + some systems, if the application first decrements and then + increments the break value, the contents of the reallocated space + are unspecified. DEFAULT_TRIM_THRESHOLD DEFAULT_TOP_PAD DEFAULT_MMAP_THRESHOLD @@ -303,6 +309,9 @@ # endif #else # include <sys/types.h> +# if defined _LIBC || defined MALLOC_HOOKS +extern char* getenv(); +# endif #endif #ifndef _LIBC @@ -504,9 +513,10 @@ do { #endif /* - Define HAVE_MMAP to optionally make malloc() use mmap() to - allocate very large blocks. These will be returned to the - operating system immediately after a free(). + Define HAVE_MMAP to optionally make malloc() use mmap() to allocate + very large blocks. These will be returned to the operating system + immediately after a free(). HAVE_MMAP is also a prerequisite to + support multiple `arenas' (see USE_ARENAS below). */ #ifndef HAVE_MMAP @@ -525,6 +535,15 @@ do { #define HAVE_MREMAP defined(__linux__) && !defined(__arm__) #endif +/* Define USE_ARENAS to enable support for multiple `arenas'. These + are allocated using mmap(), are necessary for threads and + occasionally useful to overcome address space limitations affecting + sbrk(). */ + +#ifndef USE_ARENAS +#define USE_ARENAS HAVE_MMAP +#endif + #if HAVE_MMAP #include <unistd.h> @@ -861,11 +880,15 @@ Void_t *(*__morecore)() = __default_more #endif -static size_t __libc_pagesize; - #define MORECORE (*__morecore) #define MORECORE_FAILURE 0 + +#ifndef MORECORE_CLEARS #define MORECORE_CLEARS 1 +#endif + +static size_t __libc_pagesize; + #define mmap __mmap #define munmap __munmap #define mremap __mremap @@ -979,12 +1002,15 @@ int mALLOC_SET_STATe(); #ifdef __cplusplus -}; /* end of extern "C" */ +} /* end of extern "C" */ #endif #if !defined(NO_THREADS) && !HAVE_MMAP "Can't have threads support without mmap" #endif +#if USE_ARENAS && !HAVE_MMAP +"Can't have multiple arenas without mmap" +#endif /* @@ -1185,8 +1211,8 @@ typedef struct _arena { /* A heap is a single contiguous memory region holding (coalesceable) malloc_chunks. It is allocated with mmap() and always starts at an - address aligned to HEAP_MAX_SIZE. Not used unless compiling for - multiple threads. */ + address aligned to HEAP_MAX_SIZE. Not used unless compiling with + USE_ARENAS. */ typedef struct _heap_info { arena *ar_ptr; /* Arena for this heap. */ @@ -1211,7 +1237,7 @@ static mchunkptr chunk_realloc(arena *ar static mchunkptr chunk_align(arena *ar_ptr, INTERNAL_SIZE_T nb, size_t alignment) internal_function; static int main_trim(size_t pad) internal_function; -#ifndef NO_THREADS +#if USE_ARENAS static int heap_trim(heap_info *heap, size_t pad) internal_function; #endif #if defined _LIBC || defined MALLOC_HOOKS @@ -1236,7 +1262,7 @@ static mchunkptr chunk_alloc(); static mchunkptr chunk_realloc(); static mchunkptr chunk_align(); static int main_trim(); -#ifndef NO_THREADS +#if USE_ARENAS static int heap_trim(); #endif #if defined _LIBC || defined MALLOC_HOOKS @@ -1503,10 +1529,8 @@ static arena main_arena = { /* Thread specific data */ -#ifndef NO_THREADS static tsd_key_t arena_key; static mutex_t list_lock = MUTEX_INITIALIZER; -#endif #if THREAD_STATS static int stat_n_heaps = 0; @@ -1544,6 +1568,9 @@ static unsigned int max_n_mmaps = 0; static unsigned long mmapped_mem = 0; static unsigned long max_mmapped_mem = 0; +/* Mapped memory in non-main arenas (reliable only for NO_THREADS). */ +static unsigned long arena_mem = 0; + #ifndef _LIBC @@ -1648,7 +1675,11 @@ ptmalloc_init __MALLOC_P((void)) #endif { #if defined _LIBC || defined MALLOC_HOOKS +# if __STD_C const char* s; +# else + char* s; +# endif #endif if(__malloc_initialized >= 0) return; @@ -1671,12 +1702,12 @@ ptmalloc_init __MALLOC_P((void)) if (__pthread_initialize != NULL) __pthread_initialize(); #endif +#endif /* !defined NO_THREADS */ mutex_init(&main_arena.mutex); mutex_init(&list_lock); tsd_key_create(&arena_key, NULL); tsd_setspecific(arena_key, (Void_t *)&main_arena); thread_atfork(ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_init_all); -#endif /* !defined NO_THREADS */ #if defined _LIBC || defined MALLOC_HOOKS if((s = __secure_getenv("MALLOC_TRIM_THRESHOLD_"))) mALLOPt(M_TRIM_THRESHOLD, atoi(s)); @@ -1828,7 +1859,7 @@ static int dev_zero_fd = -1; /* Cached f #if defined __GNUC__ && __GNUC__ >= 2 /* This function is only called from one place, inline it. */ -inline +__inline__ #endif static mchunkptr internal_function @@ -1868,8 +1899,8 @@ mmap_chunk(size) size_t size; if ((unsigned long)mmapped_mem > (unsigned long)max_mmapped_mem) max_mmapped_mem = mmapped_mem; #ifdef NO_THREADS - if ((unsigned long)(mmapped_mem + sbrked_mem) > (unsigned long)max_total_mem) - max_total_mem = mmapped_mem + sbrked_mem; + if ((unsigned long)(mmapped_mem + arena_mem + sbrked_mem) > max_total_mem) + max_total_mem = mmapped_mem + arena_mem + sbrked_mem; #endif return p; } @@ -1939,8 +1970,8 @@ mremap_chunk(p, new_size) mchunkptr p; s if ((unsigned long)mmapped_mem > (unsigned long)max_mmapped_mem) max_mmapped_mem = mmapped_mem; #ifdef NO_THREADS - if ((unsigned long)(mmapped_mem + sbrked_mem) > (unsigned long)max_total_mem) - max_total_mem = mmapped_mem + sbrked_mem; + if ((unsigned long)(mmapped_mem + arena_mem + sbrked_mem) > max_total_mem) + max_total_mem = mmapped_mem + arena_mem + sbrked_mem; #endif return p; } @@ -1953,7 +1984,7 @@ mremap_chunk(p, new_size) mchunkptr p; s /* Managing heaps and arenas (for concurrent threads) */ -#ifndef NO_THREADS +#if USE_ARENAS /* Create a new heap. size is automatically rounded up to a multiple of the page size. */ @@ -2029,7 +2060,7 @@ grow_heap(h, diff) heap_info *h; long di /* Try to re-map the extra heap space freshly to save memory, and make it inaccessible. */ if((char *)MMAP((char *)h + new_size, -diff, PROT_NONE, - MAP_PRIVATE|MAP_FIXED) == (char *) MAP_FAILED) + MAP_PRIVATE|MAP_FIXED) == (char *) MAP_FAILED) return -2; } h->size = new_size; @@ -2044,7 +2075,9 @@ grow_heap(h, diff) heap_info *h; long di First, try the one last locked successfully by this thread. (This is the common case and handled with a macro for speed.) Then, loop once over the circularly linked list of arenas. If no arena is - readily available, create a new one. */ + readily available, create a new one. In this latter case, `size' + is just a hint as to how much memory will be required immediately + in the new arena. */ #define arena_get(ptr, size) do { \ Void_t *vptr = NULL; \ @@ -2104,13 +2137,24 @@ arena_get2(a_tsd, size) arena *a_tsd; si /* Nothing immediately available, so generate a new arena. */ h = new_heap(size + (sizeof(*h) + sizeof(*a) + MALLOC_ALIGNMENT)); - if(!h) - return 0; + if(!h) { + /* Maybe size is too large to fit in a single heap. So, just try + to create a minimally-sized arena and let chunk_alloc() attempt + to deal with the large request via mmap_chunk(). */ + h = new_heap(sizeof(*h) + sizeof(*a) + MALLOC_ALIGNMENT); + if(!h) + return 0; + } a = h->ar_ptr = (arena *)(h+1); for(i=0; i<NAV; i++) init_bin(a, i); a->next = NULL; a->size = h->size; + arena_mem += h->size; +#ifdef NO_THREADS + if((unsigned long)(mmapped_mem + arena_mem + sbrked_mem) > max_total_mem) + max_total_mem = mmapped_mem + arena_mem + sbrked_mem; +#endif tsd_setspecific(arena_key, (Void_t *)a); mutex_init(&a->mutex); i = mutex_lock(&a->mutex); /* remember result */ @@ -2144,14 +2188,14 @@ arena_get2(a_tsd, size) arena *a_tsd; si (((mchunkptr)(ptr) < top(&main_arena) && (char *)(ptr) >= sbrk_base) ? \ &main_arena : heap_for_ptr(ptr)->ar_ptr) -#else /* defined(NO_THREADS) */ +#else /* !USE_ARENAS */ -/* Without concurrent threads, there is only one arena. */ +/* There is only one arena, main_arena. */ #define arena_get(ptr, sz) (ptr = &main_arena) #define arena_for_ptr(ptr) (&main_arena) -#endif /* !defined(NO_THREADS) */ +#endif /* USE_ARENAS */ @@ -2181,7 +2225,7 @@ static void do_check_chunk(ar_ptr, p) ar /* No checkable chunk is mmapped */ assert(!chunk_is_mmapped(p)); -#ifndef NO_THREADS +#if USE_ARENAS if(ar_ptr != &main_arena) { heap_info *heap = heap_for_ptr(p); assert(heap->ar_ptr == ar_ptr); @@ -2389,7 +2433,7 @@ arena *ar_ptr; mchunkptr p; INTERNAL_SIZ #if defined __GNUC__ && __GNUC__ >= 2 /* This function is called only from one place, inline it. */ -inline +__inline__ #endif static void internal_function @@ -2404,7 +2448,7 @@ malloc_extend_top(ar_ptr, nb) arena *ar_ INTERNAL_SIZE_T old_top_size = chunksize(old_top); INTERNAL_SIZE_T top_size; /* new size of top chunk */ -#ifndef NO_THREADS +#if USE_ARENAS if(ar_ptr == &main_arena) { #endif @@ -2484,12 +2528,11 @@ malloc_extend_top(ar_ptr, nb) arena *ar_ if ((unsigned long)sbrked_mem > (unsigned long)max_sbrked_mem) max_sbrked_mem = sbrked_mem; #ifdef NO_THREADS - if ((unsigned long)(mmapped_mem + sbrked_mem) > - (unsigned long)max_total_mem) - max_total_mem = mmapped_mem + sbrked_mem; + if ((unsigned long)(mmapped_mem + arena_mem + sbrked_mem) > max_total_mem) + max_total_mem = mmapped_mem + arena_mem + sbrked_mem; #endif -#ifndef NO_THREADS +#if USE_ARENAS } else { /* ar_ptr != &main_arena */ heap_info *old_heap, *heap; size_t old_heap_size; @@ -2504,6 +2547,11 @@ malloc_extend_top(ar_ptr, nb) arena *ar_ old_heap_size = old_heap->size; if(grow_heap(old_heap, MINSIZE + nb - old_top_size) == 0) { ar_ptr->size += old_heap->size - old_heap_size; + arena_mem += old_heap->size - old_heap_size; +#ifdef NO_THREADS + if(mmapped_mem + arena_mem + sbrked_mem > max_total_mem) + max_total_mem = mmapped_mem + arena_mem + sbrked_mem; +#endif top_size = ((char *)old_heap + old_heap->size) - (char *)old_top; set_head(old_top, top_size | PREV_INUSE); return; @@ -2516,13 +2564,18 @@ malloc_extend_top(ar_ptr, nb) arena *ar_ heap->ar_ptr = ar_ptr; heap->prev = old_heap; ar_ptr->size += heap->size; + arena_mem += heap->size; +#ifdef NO_THREADS + if((unsigned long)(mmapped_mem + arena_mem + sbrked_mem) > max_total_mem) + max_total_mem = mmapped_mem + arena_mem + sbrked_mem; +#endif /* Set up the new top, so we can safely use chunk_free() below. */ top(ar_ptr) = chunk_at_offset(heap, sizeof(*heap)); top_size = heap->size - sizeof(*heap); set_head(top(ar_ptr), top_size | PREV_INUSE); } -#endif /* !defined(NO_THREADS) */ +#endif /* USE_ARENAS */ /* We always land on a page boundary */ assert(((unsigned long)((char*)top(ar_ptr) + top_size) & (pagesz-1)) == 0); @@ -2641,16 +2694,27 @@ Void_t* mALLOc(bytes) size_t bytes; if(!ar_ptr) return 0; victim = chunk_alloc(ar_ptr, nb); - (void)mutex_unlock(&ar_ptr->mutex); if(!victim) { /* Maybe the failure is due to running out of mmapped areas. */ if(ar_ptr != &main_arena) { + (void)mutex_unlock(&ar_ptr->mutex); (void)mutex_lock(&main_arena.mutex); victim = chunk_alloc(&main_arena, nb); (void)mutex_unlock(&main_arena.mutex); + } else { +#if USE_ARENAS + /* ... or sbrk() has failed and there is still a chance to mmap() */ + ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, nb); + (void)mutex_unlock(&main_arena.mutex); + if(ar_ptr) { + victim = chunk_alloc(ar_ptr, nb); + (void)mutex_unlock(&ar_ptr->mutex); + } +#endif } if(!victim) return 0; - } + } else + (void)mutex_unlock(&ar_ptr->mutex); return chunk2mem(victim); } @@ -2991,7 +3055,7 @@ chunk_free(ar_ptr, p) arena *ar_ptr; mch if (!(hd & PREV_INUSE)) /* consolidate backward */ { prevsz = p->prev_size; - p = chunk_at_offset(p, -prevsz); + p = chunk_at_offset(p, -(long)prevsz); sz += prevsz; unlink(p, bck, fwd); } @@ -2999,12 +3063,12 @@ chunk_free(ar_ptr, p) arena *ar_ptr; mch set_head(p, sz | PREV_INUSE); top(ar_ptr) = p; -#ifndef NO_THREADS +#if USE_ARENAS if(ar_ptr == &main_arena) { #endif if ((unsigned long)(sz) >= (unsigned long)trim_threshold) main_trim(top_pad); -#ifndef NO_THREADS +#if USE_ARENAS } else { heap_info *heap = heap_for_ptr(p); @@ -3024,7 +3088,7 @@ chunk_free(ar_ptr, p) arena *ar_ptr; mch if (!(hd & PREV_INUSE)) /* consolidate backward */ { prevsz = p->prev_size; - p = chunk_at_offset(p, -prevsz); + p = chunk_at_offset(p, -(long)prevsz); sz += prevsz; if (p->fd == last_remainder(ar_ptr)) /* keep as last_remainder */ @@ -3056,7 +3120,7 @@ chunk_free(ar_ptr, p) arena *ar_ptr; mch if (!islr) frontlink(ar_ptr, p, sz, idx, bck, fwd); -#ifndef NO_THREADS +#if USE_ARENAS /* Check whether the heap containing top can go away now. */ if(next->size < MINSIZE && (unsigned long)sz > trim_threshold && @@ -3317,6 +3381,15 @@ arena* ar_ptr; mchunkptr oldp; INTERNAL_ (void)mutex_lock(&main_arena.mutex); newp = chunk_alloc(&main_arena, nb); (void)mutex_unlock(&main_arena.mutex); + } else { +#if USE_ARENAS + /* ... or sbrk() has failed and there is still a chance to mmap() */ + arena* ar_ptr2 = arena_get2(ar_ptr->next ? ar_ptr : 0, nb); + if(ar_ptr2) { + newp = chunk_alloc(ar_ptr2, nb); + (void)mutex_unlock(&ar_ptr2->mutex); + } +#endif } if (newp == 0) /* propagate failure */ return 0; @@ -3427,6 +3500,15 @@ Void_t* mEMALIGn(alignment, bytes) size_ (void)mutex_lock(&main_arena.mutex); p = chunk_align(&main_arena, nb, alignment); (void)mutex_unlock(&main_arena.mutex); + } else { +#if USE_ARENAS + /* ... or sbrk() has failed and there is still a chance to mmap() */ + ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, nb); + if(ar_ptr) { + p = chunk_align(ar_ptr, nb, alignment); + (void)mutex_unlock(&ar_ptr->mutex); + } +#endif } if(!p) return 0; } @@ -3456,7 +3538,7 @@ arena* ar_ptr; INTERNAL_SIZE_T nb; size_ if (p == 0) return 0; /* propagate failure */ - m = chunk2mem(p); + m = (char*)chunk2mem(p); if ((((unsigned long)(m)) % alignment) == 0) /* aligned */ { @@ -3477,7 +3559,8 @@ arena* ar_ptr; INTERNAL_SIZE_T nb; size_ this is always possible. */ - brk = (char*)mem2chunk(((unsigned long)(m + alignment - 1)) & -alignment); + brk = (char*)mem2chunk(((unsigned long)(m + alignment - 1)) & + -(long)alignment); if ((long)(brk - (char*)(p)) < (long)MINSIZE) brk += alignment; newp = (mchunkptr)brk; @@ -3535,6 +3618,8 @@ Void_t* vALLOc(size_t bytes) Void_t* vALLOc(bytes) size_t bytes; #endif { + if(__malloc_initialized < 0) + ptmalloc_init (); return mEMALIGn (malloc_getpagesize, bytes); } @@ -3550,7 +3635,10 @@ Void_t* pvALLOc(size_t bytes) Void_t* pvALLOc(bytes) size_t bytes; #endif { - size_t pagesize = malloc_getpagesize; + size_t pagesize; + if(__malloc_initialized < 0) + ptmalloc_init (); + pagesize = malloc_getpagesize; return mEMALIGn (pagesize, (bytes + pagesize - 1) & ~(pagesize - 1)); } @@ -3596,10 +3684,17 @@ Void_t* cALLOc(n, elem_size) size_t n; s if(!ar_ptr) return 0; - /* check if expand_top called, in which case don't need to clear */ + /* Check if expand_top called, in which case there may be + no need to clear. */ #if MORECORE_CLEARS oldtop = top(ar_ptr); oldtopsize = chunksize(top(ar_ptr)); +#if MORECORE_CLEARS < 2 + /* Only newly allocated memory is guaranteed to be cleared. */ + if (ar_ptr == &main_arena && + oldtopsize < sbrk_base + max_sbrked_mem - (char *)oldtop) + oldtopsize = (sbrk_base + max_sbrked_mem - (char *)oldtop); +#endif #endif p = chunk_alloc (ar_ptr, sz); @@ -3612,6 +3707,17 @@ Void_t* cALLOc(n, elem_size) size_t n; s (void)mutex_lock(&main_arena.mutex); p = chunk_alloc(&main_arena, sz); (void)mutex_unlock(&main_arena.mutex); + } else { +#if USE_ARENAS + /* ... or sbrk() has failed and there is still a chance to mmap() */ + (void)mutex_lock(&main_arena.mutex); + ar_ptr = arena_get2(ar_ptr->next ? ar_ptr : 0, sz); + (void)mutex_unlock(&main_arena.mutex); + if(ar_ptr) { + p = chunk_alloc(ar_ptr, sz); + (void)mutex_unlock(&ar_ptr->mutex); + } +#endif } if (p == 0) return 0; } @@ -3650,7 +3756,7 @@ void cfree(Void_t *mem) void cfree(mem) Void_t *mem; #endif { - free(mem); + fREe(mem); } #endif @@ -3751,7 +3857,7 @@ main_trim(pad) size_t pad; return 1; } -#ifndef NO_THREADS +#if USE_ARENAS static int internal_function @@ -3781,6 +3887,7 @@ heap_trim(heap, pad) heap_info *heap; si if(new_size + (HEAP_MAX_SIZE - prev_heap->size) < pad + MINSIZE + pagesz) break; ar_ptr->size -= heap->size; + arena_mem -= heap->size; delete_heap(heap); heap = prev_heap; if(!prev_inuse(p)) { /* consolidate backward */ @@ -3801,6 +3908,7 @@ heap_trim(heap, pad) heap_info *heap; si if(grow_heap(heap, -extra) != 0) return 0; ar_ptr->size -= extra; + arena_mem -= extra; /* Success. Adjust top accordingly. */ set_head(top_chunk, (top_size - extra) | PREV_INUSE); @@ -3808,7 +3916,7 @@ heap_trim(heap, pad) heap_info *heap; si return 1; } -#endif +#endif /* USE_ARENAS */ @@ -3899,7 +4007,7 @@ malloc_update_mallinfo(ar_ptr, mi) arena (void)mutex_unlock(&ar_ptr->mutex); } -#if !defined(NO_THREADS) && MALLOC_DEBUG > 1 +#if USE_ARENAS && MALLOC_DEBUG > 1 /* Print the complete contents of a single heap to stderr. */ @@ -3975,7 +4083,7 @@ void mALLOC_STATs() stat_lock_loop += ar_ptr->stat_lock_loop; stat_lock_wait += ar_ptr->stat_lock_wait; #endif -#if !defined(NO_THREADS) && MALLOC_DEBUG > 1 +#if USE_ARENAS && MALLOC_DEBUG > 1 if(ar_ptr != &main_arena) { heap_info *heap; (void)mutex_lock(&ar_ptr->mutex); @@ -4057,7 +4165,7 @@ int mALLOPt(param_number, value) int par case M_TOP_PAD: top_pad = value; return 1; case M_MMAP_THRESHOLD: -#ifndef NO_THREADS +#if USE_ARENAS /* Forbid setting the threshold too high. */ if((unsigned long)value > HEAP_MAX_SIZE/2) return 0; #endif @@ -4114,7 +4222,7 @@ struct malloc_state { unsigned int max_n_mmaps; unsigned long mmapped_mem; unsigned long max_mmapped_mem; - int using_malloc_checking; + int using_malloc_checking; }; Void_t* @@ -4223,7 +4331,7 @@ mALLOC_SET_STATe(msptr) Void_t* msptr; /* Check whether it is safe to enable malloc checking, or whether it is necessary to disable it. */ if (ms->using_malloc_checking && !using_malloc_checking && - !disallow_malloc_check) + !disallow_malloc_check) __malloc_check_init (); else if (!ms->using_malloc_checking && using_malloc_checking) { __malloc_hook = 0; @@ -4442,9 +4550,9 @@ realloc_check(oldmem, bytes, caller) oldp = mem2chunk_check(oldmem); if(!oldp) { (void)mutex_unlock(&main_arena.mutex); - if (check_action & 1) + if(check_action & 1) fprintf(stderr, "realloc(): invalid pointer %p!\n", oldmem); - if (check_action & 2) + if(check_action & 2) abort(); return malloc_check(bytes, NULL); } diff -durpN glibc-2.1.2/malloc/set-freeres.c glibc-2.1.3/malloc/set-freeres.c --- glibc-2.1.2/malloc/set-freeres.c Wed Apr 28 15:06:16 1999 +++ glibc-2.1.3/malloc/set-freeres.c Thu Dec 9 10:56:58 1999 @@ -16,6 +16,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#include <atomicity.h> #include <stdlib.h> #include <set-hooks.h> @@ -26,8 +27,8 @@ __libc_freeres (void) { /* This function might be called from different places. So better protect for multiple executions since these are fatal. */ - static int already_called; + static long int already_called; - if (!already_called) + if (compare_and_swap (&already_called, 0, 1)) RUN_HOOK (__libc_subfreeres, ()); } diff -durpN glibc-2.1.2/malloc/thread-m.h glibc-2.1.3/malloc/thread-m.h --- glibc-2.1.2/malloc/thread-m.h Thu Dec 31 10:08:27 1998 +++ glibc-2.1.3/malloc/thread-m.h Fri Dec 10 10:28:54 1999 @@ -19,7 +19,7 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* $Id: thread-m.h,v 1.10 1998/12/31 18:08:27 drepper Exp $ +/* $Id: thread-m.h,v 1.10.2.1 1999/12/10 05:29:37 drepper Exp $ One out of _LIBC, USE_PTHREADS, USE_THR or USE_SPROC should be defined, otherwise the token NO_THREADS and dummy implementations of the macros will be defined. */ @@ -207,18 +207,24 @@ int tsd_key_next; typedef int thread_id; +/* The mutex functions used to do absolutely nothing, i.e. lock, + trylock and unlock would always just return 0. However, even + without any concurrently active threads, a mutex can be used + legitimately as an `in use' flag. To make the code that is + protected by a mutex async-signal safe, these macros would have to + be based on atomic test-and-set operations, for example. */ typedef int mutex_t; #define MUTEX_INITIALIZER 0 #define mutex_init(m) (*(m) = 0) -#define mutex_lock(m) (0) -#define mutex_trylock(m) (0) -#define mutex_unlock(m) (0) +#define mutex_lock(m) ((*(m) = 1), 0) +#define mutex_trylock(m) (*(m) ? 1 : ((*(m) = 1), 0)) +#define mutex_unlock(m) (*(m) = 0) typedef void *tsd_key_t; #define tsd_key_create(key, destr) do {} while(0) -#define tsd_setspecific(key, data) do {} while(0) -#define tsd_getspecific(key, vptr) (vptr = NULL) +#define tsd_setspecific(key, data) ((key) = (data)) +#define tsd_getspecific(key, vptr) (vptr = (key)) #define thread_atfork(prepare, parent, child) do {} while(0) diff -durpN glibc-2.1.2/manual/arith.texi glibc-2.1.3/manual/arith.texi --- glibc-2.1.2/manual/arith.texi Fri Jul 2 11:11:40 1999 +++ glibc-2.1.3/manual/arith.texi Tue Feb 22 23:02:55 2000 @@ -2170,7 +2170,7 @@ is provided mostly for compatibility wit @code{strtod} is more robust. @end deftypefun -The GNU C library also provides @samp{_l} versions of thse functions, +The GNU C library also provides @samp{_l} versions of these functions, which take an additional argument, the locale to use in conversion. @xref{Parsing of Integers}. diff -durpN glibc-2.1.2/manual/charset.texi glibc-2.1.3/manual/charset.texi --- glibc-2.1.2/manual/charset.texi Thu Jul 8 11:52:58 1999 +++ glibc-2.1.3/manual/charset.texi Tue Feb 22 23:02:56 2000 @@ -524,7 +524,7 @@ The code to emit the escape sequence to interesting. The @code{wcsrtombs} function can be used to determine the necessary output code (@pxref{Converting Strings}). Please note that on GNU systems it is not necessary to perform this extra action for the -conversion from multibyte text ot wide character text since the wide +conversion from multibyte text to wide character text since the wide character encoding is not stateful. But there is nothing mentioned in any standard which prohibits making @code{wchar_t} using a stateful encoding. @@ -703,7 +703,7 @@ bytes in the multibyte input string. Th pessimistic guess about the size of the result and if many wide character strings have to be constructed this way or the strings are long, the extra memory required allocated because the input string -contains multibzte characters might be significant. It would be +contains multibyte characters might be significant. It would be possible to resize the allocated memory block to the correct size before returning it. A better solution might be to allocate just the right amount of space for the result right away. Unfortunately there is no @@ -1633,15 +1633,15 @@ of the conversions from @var{fromset} to The GNU C library implementation of @code{iconv_open} has one significant extension to other implementations. To ease the extension -of the set of available conversions the implementation allows to store -the necessary files with data and code in arbitrary many directories. -How this extensions have to be written will be explained below +of the set of available conversions the implementation allows storing +the necessary files with data and code in arbitrarily many directories. +How this extension has to be written will be explained below (@pxref{glibc iconv Implementation}). Here it is only important to say that all directories mentioned in the @code{GCONV_PATH} environment variable are considered if they contain a file @file{gconv-modules}. These directories need not necessarily be created by the system administrator. In fact, this extension is introduced to help users -writing and using own, new conversions. Of course this does not work +writing and using their own, new conversions. Of course this does not work for security reasons in SUID binaries; in this case only the system directory is considered and this normally is @file{@var{prefix}/lib/gconv}. The @code{GCONV_PATH} environment @@ -1750,10 +1750,10 @@ desirable solution. Therefore future ve but they are not yet finished. If all input from the input buffer is successfully converted and stored -in the output buffer the function returns the number of conversions -performed. In all other cases the return value is @code{(size_t) -1} -and @code{errno} is set appropriately. In this case the value pointed -to by @var{inbytesleft} is nonzero. +in the output buffer the function returns the number of non-reversible +conversions performed. In all other cases the return value is +@code{(size_t) -1} and @code{errno} is set appropriately. In this case +the value pointed to by @var{inbytesleft} is nonzero. @table @code @item EILSEQ @@ -2042,7 +2042,7 @@ the GNU C library has none of the proble follows is a step-by-step analysis of the points raised above. The evaluation is based on the current state of the development (as of January 1999). The development of the @code{iconv} functions is not -complete, but basic funtionality has solidified. +complete, but basic functionality has solidified. The GNU C library's @code{iconv} implementation uses shared loadable modules to implement the conversions. A very small number of @@ -2181,7 +2181,7 @@ set. Explaining why the above @file{gconv-modules} files allows the @code{iconv} implementation to resolve the specific ISO-2022-JP to EUC-JP conversion module instead of the conversion coming with the -library itself is straighforward. Since the later conversion takes two +library itself is straightforward. Since the latter conversion takes two steps (from ISO-2022-JP to @w{ISO 10646} and then from @w{ISO 10646} to EUC-JP) the cost is @math{1+1 = 2}. But the above @file{gconv-modules} file specifies that the new conversion modules can perform this @@ -2224,7 +2224,7 @@ so that one can write new ones. This se it is in use in January 1999. The interface will change in future a bit but hopefully only in an upward compatible way. -The definitions necessary to write new modules are publically available +The definitions necessary to write new modules are publicly available in the non-standard header @file{gconv.h}. The following text will therefore describe the definitions from this header file. But first it is necessary to get an overview. @@ -2404,13 +2404,13 @@ the GNU C library also use the @code{ico increases the number of uses of the same functions even more. For this reason the modules do not get loaded exclusively for one -conversion. Instead a module once loaded can be used by arbitrary many +conversion. Instead a module once loaded can be used by arbitrarily many @code{iconv} or @code{mbsrtowcs} calls at the same time. The splitting of the information between conversion function specific information and conversion data makes this possible. The last section showed the two -data structure used to do this. +data structures used to do this. -This is of course also reflected in the interface and semantic of the +This is of course also reflected in the interface and semantics of the functions the modules must provide. There are three functions which must have the following names: @@ -2667,7 +2667,7 @@ last written byte. This gives the calle text is available in the output buffer. Beside this the variable pointed to by the fifth parameter, which is of type @code{size_t}, must be incremented by the number of characters (@emph{not bytes}) which were -written in the output buffer. Then the function can return. +converted in a non-reversible way. Then the function can return. In case the step is not the last one the later conversion functions have to get a chance to do their work. Therefore the appropriate conversion @@ -2787,10 +2787,6 @@ gconv (struct gconv_step *step, struct g char *outend = data->outbufend; char *outptr; - /* @r{This variable is used to count the number of characters} - @r{we actually converted.} */ - size_t converted = 0; - do @{ /* @r{Remember the start value for this round.} */ @@ -2811,8 +2807,8 @@ gconv (struct gconv_step *step, struct g @r{available.} */ data->outbuf = outbuf; - /* @r{Remember how many characters we converted.} */ - *written += converted; + /* @r{If any non-reversible conversions were performed,} + @r{add the number to @code{*written}.} */ break; @} diff -durpN glibc-2.1.2/manual/creature.texi glibc-2.1.3/manual/creature.texi --- glibc-2.1.2/manual/creature.texi Mon Dec 14 01:13:41 1998 +++ glibc-2.1.3/manual/creature.texi Tue Feb 22 23:02:56 2000 @@ -26,10 +26,10 @@ functions with names that smaller ones r is not mere pedantry --- it has been a problem in practice. For instance, some non-GNU programs define functions named @code{getline} that have nothing to do with this library's @code{getline}. They would not be -compilable if all features were enabled indescriminantly. +compilable if all features were enabled indiscriminately. This should not be used to verify that a program conforms to a limited -standard. It is insufficent for this purpose, as it will not protect you +standard. It is insufficient for this purpose, as it will not protect you from including header files outside the standard, or relying on semantics undefined within the standard. diff -durpN glibc-2.1.2/manual/ctype.texi glibc-2.1.3/manual/ctype.texi --- glibc-2.1.2/manual/ctype.texi Fri Jan 22 01:19:09 1999 +++ glibc-2.1.3/manual/ctype.texi Tue Feb 22 23:02:56 2000 @@ -292,7 +292,7 @@ of this the normal character classificat @comment ISO @deftp {Data type} wctype_t The @code{wctype_t} can hold a value which represents a character class. -The ony defined way to generate such a value is by using the +The only defined way to generate such a value is by using the @code{wctype} function. @pindex wctype.h @@ -724,7 +724,7 @@ This function is declared in @file{wctyp @end deftypefun The @w{ISO C} standard also defines for the generally available mappings -convenient shortcuts so that it is not necesary to call @code{wctrans} +convenient shortcuts so that it is not necessary to call @code{wctrans} for them. @comment wctype.h @@ -765,6 +765,6 @@ This function is declared in @file{wctyp @end deftypefun The same warnings given in the last section for the use of the wide -character classiffication function applies here. It is not possible to +character classification function applies here. It is not possible to simply cast a @code{char} type value to a @code{wint_t} and use it as an argument for @code{towctrans} calls. diff -durpN glibc-2.1.2/manual/examples/argp-ex2.c glibc-2.1.3/manual/examples/argp-ex2.c --- glibc-2.1.2/manual/examples/argp-ex2.c Tue Sep 1 07:27:44 1998 +++ glibc-2.1.3/manual/examples/argp-ex2.c Tue Feb 22 23:02:56 2000 @@ -30,7 +30,7 @@ const char *argp_program_bug_address = static char doc[] = "Argp example #2 -- a pretty minimal program using argp"; -/* Our argpument parser. The @code{options}, @code{parser}, and +/* Our argument parser. The @code{options}, @code{parser}, and @code{args_doc} fields are zero because we have neither options or arguments; @code{doc} and @code{argp_program_bug_address} will be used in the output for @samp{--help}, and the @samp{--version} diff -durpN glibc-2.1.2/manual/examples/argp-ex3.c glibc-2.1.3/manual/examples/argp-ex3.c --- glibc-2.1.2/manual/examples/argp-ex3.c Tue Sep 1 07:27:45 1998 +++ glibc-2.1.3/manual/examples/argp-ex3.c Tue Feb 22 23:02:56 2000 @@ -17,7 +17,7 @@ a special key specifying something else; the only special keys we use here are ARGP_KEY_ARG, meaning a non-option argument, and ARGP_KEY_END, meaning - that all argumens have been parsed + that all arguments have been parsed ARG -- For an option KEY, the string value of its argument, or NULL if it has none STATE-- A pointer to a struct argp_state, containing diff -durpN glibc-2.1.2/manual/examples/argp-ex4.c glibc-2.1.3/manual/examples/argp-ex4.c --- glibc-2.1.2/manual/examples/argp-ex4.c Tue Sep 1 07:27:46 1998 +++ glibc-2.1.3/manual/examples/argp-ex4.c Tue Feb 22 23:02:56 2000 @@ -19,7 +19,7 @@ is longer, describing the behavior in more detail. All documentation strings are automatically filled for output, although newlines may be included to force a line break at a - particular point. All documenation strings are also passed to + particular point. All documentation strings are also passed to the `gettext' function, for possible translation into the current locale. */ diff -durpN glibc-2.1.2/manual/examples/mkfsock.c glibc-2.1.3/manual/examples/mkfsock.c --- glibc-2.1.2/manual/examples/mkfsock.c Thu Apr 9 07:06:22 1998 +++ glibc-2.1.3/manual/examples/mkfsock.c Tue Feb 22 23:02:56 2000 @@ -28,7 +28,7 @@ make_named_socket (const char *filename) the offset of the start of the filename, plus its length, plus one for the terminating null byte. - Alternativly you can just do: + Alternatively you can just do: size = SUN_LEN (&name); */ size = (offsetof (struct sockaddr_un, sun_path) diff -durpN glibc-2.1.2/manual/filesys.texi glibc-2.1.3/manual/filesys.texi --- glibc-2.1.2/manual/filesys.texi Mon Apr 26 05:46:44 1999 +++ glibc-2.1.3/manual/filesys.texi Tue Feb 22 23:02:56 2000 @@ -1615,7 +1615,7 @@ which @var{buf} must point. When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} this function is available under the name @code{stat} and so transparently -replaces the interface for small fiels on 32 bits machines. +replaces the interface for small files on 32 bits machines. @end deftypefun @comment sys/stat.h @@ -1650,7 +1650,7 @@ which is able to represent the larger va When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} this function is available under the name @code{fstat} and so transparently -replaces the interface for small fiels on 32 bits machines. +replaces the interface for small files on 32 bits machines. @end deftypefun @comment sys/stat.h @@ -1676,7 +1676,7 @@ which @var{buf} must point. When the sources are compiled with @code{_FILE_OFFSET_BITS == 64} this function is available under the name @code{lstat} and so transparently -replaces the interface for small fiels on 32 bits machines. +replaces the interface for small files on 32 bits machines. @end deftypefun @node Testing File Type @@ -2511,7 +2511,7 @@ size of @math{0} and is automatically ex past its end. It is also possible to empty a file completely in an @code{open} or @code{fopen} call. -However, sometimes it is neccessary to @emph{reduce} the size of a file. +However, sometimes it is necessary to @emph{reduce} the size of a file. This can be done with the @code{truncate} and @code{ftruncate} functions. They were introduced in BSD Unix. @code{ftruncate} was later added to POSIX.1. @@ -2550,7 +2550,7 @@ The file is a directory or not writable. The operation would extend the file beyond the limits of the operating system. @item EIO -A hardware I/O error occured. +A hardware I/O error occurred. @item EPERM The file is "append-only" or "immutable". @@ -2592,7 +2592,7 @@ The operation would extend the file beyo @c files with extra-large offsets. @item EIO -A hardware I/O error occured. +A hardware I/O error occurred. @item EPERM The file is "append-only" or "immutable". @@ -2767,7 +2767,7 @@ the file in any case should use the @cod @comment GNU @deftypefun {char *} tmpnam_r (char *@var{result}) This function is nearly identical to the @code{tmpnam} function. But it -does not allow @var{result} to be a null pointer. In the later case a +does not allow @var{result} to be a null pointer. In the latter case a null pointer is returned. This function is reentrant because the non-reentrant situation of diff -durpN glibc-2.1.2/manual/getopt.texi glibc-2.1.3/manual/getopt.texi --- glibc-2.1.2/manual/getopt.texi Thu Mar 18 18:17:38 1999 +++ glibc-2.1.3/manual/getopt.texi Tue Jan 25 20:08:55 2000 @@ -73,7 +73,7 @@ required argument. If an option charact If the @var{options} argument string begins with a hyphen (@samp{-}), this is treated specially. It permits arguments that are not options to be -returned as if they were associated with option character @samp{\0}. +returned as if they were associated with option character @samp{\1}. The @code{getopt} function returns the option character for the next command line option. When no more option arguments are available, it diff -durpN glibc-2.1.2/manual/header.texi glibc-2.1.3/manual/header.texi --- glibc-2.1.2/manual/header.texi Mon Jul 13 05:23:50 1998 +++ glibc-2.1.3/manual/header.texi Fri Nov 12 16:41:48 1999 @@ -10,7 +10,7 @@ it. @c This table runs wide. Shrink fonts. @iftex -@indexfonts @rm +@smallfonts @rm @end iftex @table @code @comment summary.texi is generated from the other Texinfo files. diff -durpN glibc-2.1.2/manual/install.texi glibc-2.1.3/manual/install.texi --- glibc-2.1.2/manual/install.texi Mon Aug 30 12:19:17 1999 +++ glibc-2.1.3/manual/install.texi Thu Jan 20 17:40:21 2000 @@ -49,10 +49,12 @@ GNU Make, and possibly others. @xref{To @cindex configuring @cindex compiling -GNU Libc can be compiled in the source directory but we'd advise to -build in a separate build directory. For example, if you have unpacked +GNU libc can be compiled in the source directory, but we strongly advise to +build it in a separate build directory. For example, if you have unpacked the glibc sources in @file{/src/gnu/glibc-2.1.0}, create a directory -@file{/src/gnu/glibc-build} to put the object files in. +@file{/src/gnu/glibc-build} to put the object files in. This allows to +remove the whole build directory in case an error occurs which is the +safest way to get a clean way and should always be done. From your object directory, run the shell script @file{configure} found at the top level of the source tree. In the scenario above, you'd type @@ -62,7 +64,7 @@ $ ../glibc-2.1.0/configure @var{args...} @end smallexample Please note that even if you're building in a separate build directory, -the compiliation needs to modify a few files in the source +the compilation needs to modify a few files in the source directory, especially some files in the manual subdirectory. @noindent @@ -72,14 +74,14 @@ only two: @samp{--prefix} and @samp{--en This defaults to @file{/usr/local}. The @samp{--enable-add-ons} option tells configure to use all the add-on bundles it finds in the source directory. Since important functionality is provided in add-ons, you -should always give this option. +should always specify this option. It may also be useful to set the @var{CC} and @var{CFLAGS} variables in the environment when running @code{configure}. @var{CC} selects the C compiler that will be used, and @var{CFLAGS} sets optimization options for the compiler. -Here are all the useful options known by @code{configure}: +The following list describes all of the available options for @code{configure}: @table @samp @item --prefix=@var{directory} @@ -89,13 +91,13 @@ Install machine-independent data files i @item --exec-prefix=@var{directory} Install the library and other machine-dependent files in subdirectories of @file{@var{directory}}. The default is to the @samp{--prefix} -directory if that option is given, or @file{/usr/local} otherwise. +directory if that option is specified, or @file{/usr/local} otherwise. @item --with-headers=@var{directory} Look for kernel header files in @var{directory}, not @file{/usr/include}. Glibc needs information from the kernel's private header files. It will normally look in @file{/usr/include} for them, -but if you give this option, it will look in @var{DIRECTORY} instead. +but if you specify this option, it will look in @var{DIRECTORY} instead. This option is primarily of use on a system where the headers in @file{/usr/include} come from an older version of glibc. Conflicts can @@ -105,7 +107,7 @@ compile glibc with a newer set of kernel @file{/usr/include}. @item --enable-add-ons[=@var{list}] -Enable add-on packages in your source tree. If this option is given +Enable add-on packages in your source tree. If this option is specified with no list, it enables all the add-on packages it finds. If you do not wish to use some add-on package that you have present in your source tree, give this option a list of the add-ons that you @emph{do} want @@ -115,10 +117,10 @@ used, like this: @samp{--enable-add-ons= Use the binutils (assembler and linker) in @file{@var{directory}}, not the ones the C compiler would default to. You could use this option if the default binutils on your system cannot deal with all the constructs -in the GNU C library. (@code{configure} will detect the problem and -suppress these constructs, so the library will still be usable, but -functionality may be lost---for example, you can not build a shared libc -with old binutils.) +in the GNU C library. In that case, @code{configure} will detect the problem and +suppress these constructs, so that the library will still be usable, but +functionality may be lost---for example, you can't build a shared libc +with old binutils. @item --without-fp Use this option if your computer lacks hardware floating-point support @@ -130,7 +132,7 @@ and your operating system does not emula @c days, but we recommend you build them in case you need them. @item --disable-shared -Don't build shared libraries even if we could. Not all systems support +Don't build shared libraries even if it is possible. Not all systems support shared libraries; you need ELF support and (currently) the GNU linker. @item --disable-profile @@ -146,7 +148,7 @@ you won't be able to trace bugs through @item --disable-versioning Don't compile the shared libraries with symbol version information. -Doing this will make the library that's built incompatible with old +Doing this will make the resulting library incompatible with old binaries, so it's not recommended. @item --enable-static-nss @@ -157,22 +159,22 @@ reconfigured to use a different name dat @item --build=@var{build-system} @itemx --host=@var{host-system} -These options are for cross-compiling. If you give them both and +These options are for cross-compiling. If you specify both options and @var{build-system} is different from @var{host-system}, @code{configure} will prepare to cross-compile glibc from @var{build-system} to be used on @var{host-system}. You'll probably need the @samp{--with-headers} option too, and you may have to override @var{configure}'s selection of the compiler and/or binutils. -If you give just @samp{--host}, configure will prepare for a native -compile but use what you say instead of guessing what your system is. +If you only specify @samp{--host}, configure will prepare for a native +compile but use what you specify instead of guessing what your system is. This is most useful to change the CPU submodel. For example, if configure guesses your machine as @code{i586-pc-linux-gnu} but you want to compile a library for 386es, give @samp{--host=i386-pc-linux-gnu} or just @samp{--host=i386-linux} and add the appropriate compiler flags (@samp{-mcpu=i386} will do the trick) to @var{CFLAGS}. -If you give just @samp{--build}, configure will get confused. +If you specify just @samp{--build}, configure will get confused. @end table To build the library and related programs, type @code{make}. This will @@ -182,10 +184,11 @@ containing @samp{***}. Those indicate t The compilation process takes several hours even on fast hardware. Expect at least two hours for the default configuration on i586 for -Linux. For Hurd times are much longer. Except for EGCS 1.1 (and later -versions of EGCS), all supported versions of GCC have a problem which -causes them to take several minutes to compile certain files in the -iconvdata directory. Do not panic if the compiler appears to hang. +Linux. For Hurd times are much longer. Except for EGCS 1.1 and GCC +2.95 (and later versions of GCC), all supported versions of GCC have a +problem which causes them to take several minutes to compile certain +files in the iconvdata directory. Do not panic if the compiler appears +to hang. If you want to run a parallel make, you can't just give @code{make} the @samp{-j} option, because it won't be passed down to the sub-makes. @@ -198,17 +201,18 @@ Instead, edit the generated @file{Makefi @noindent You can change the @samp{4} to some other number as appropriate for your system. Instead of changing the @file{Makefile}, you could give -this option directly to @code{make} and call it as, e.g. +this option directly to @code{make} and call it as, for example, @code{make PARALLELMFLAGS=-j4}. If you're building in the source -directory, you've got to use the latter approach since in this case no -new @file{Makefile} is generated which you can change. +directory, you must use the latter approach since in this case no +new @file{Makefile} is generated for you to change. -To build and run some test programs which exercise some of the library -facilities, type @code{make check}. This should complete successfully; -if it doesn't, do not use the built library, and report a bug. -@xref{Reporting Bugs}, for how to do that. Note that some of the tests -assume they are not being run by @code{root}. We recommend you compile -and test glibc as an unprivileged user. +To build and run test programs which exercise some of the library +facilities, type @code{make check}. If it does not complete +successfully, do not use the built library, and report a bug after +verifying that the problem is not already known. @xref{Reporting Bugs}, +for instructions on reporting bugs. Note that some of the tests assume +they are not being run by @code{root}. We recommend you compile and +test glibc as an unprivileged user. To format the @cite{GNU C Library Reference Manual} for printing, type @w{@code{make dvi}}. You need a working @TeX{} installation to do this. @@ -216,36 +220,67 @@ The distribution already includes the on manual, as Info files. You can regenerate those with @w{@code{make info}}, but it shouldn't be necessary. +The library has a number of special-purpose configuration parameters +which you can find in @file{Makeconfig}. These can be overwritten with +the file @file{configparms}. To change them, create a +@file{configparms} in your build directory and add values as appropriate +for your system. The file is included and parsed by @code{make} and has +to follow the conventions for makefiles. + +It is easy to configure the GNU C library for cross-compilation by +setting a few variables in @file{configparms}. Set @code{CC} to the +cross-compiler for the target you configured the library for; it is +important to use this same @code{CC} value when running +@code{configure}, like this: @samp{CC=@var{target}-gcc configure +@var{target}}. Set @code{BUILD_CC} to the compiler to use for for +programs run on the build system as part of compiling the library. You +may need to set @code{AR} and @code{RANLIB} to cross-compiling versions +of @code{ar} and @code{ranlib} if the native tools are not configured to +work with object files for the target you configured for. + + @node Running make install @appendixsec Installing the C Library @cindex installing To install the library and its header files, and the Info files of the manual, type @code{make install}. This will build things if necessary, -before installing them. Don't rely on that; compile everything first. -If you are installing glibc as your primary C library, we recommend you +before installing them. However, you should still compile everything first. +If you are installing glibc as your primary C library, we recommend that you shut the system down to single-user mode first, and reboot afterward. This minimizes the risk of breaking things when the library changes out from underneath. +If you're upgrading from Linux libc5 or some other C library, you need to +replace the @file{/usr/include} with a fresh directory before installing it. +The new @file{/usr/include} should contain the Linux headers, but nothing else. + +You must first build the library (@samp{make}), optionally check it +(@samp{make check}), switch the include directories and then install +(@samp{make install}). The steps must be done in this order. Not moving +the directory before install will result in an unusable mixture of header +files from both libraries, but configuring, building, and checking the +library requires the ability to compile and run programs against the old +library. + If you are upgrading from a previous installation of glibc 2.0 or 2.1, -@samp{make install} will do the entire job. If you're upgrading from -Linux libc5 or some other C library, you need to rename the old -@file{/usr/include} directory out of the way before running @samp{make -install}, or you will end up with a mixture of header files from both -libraries, and you won't be able to compile anything. You may also need -to reconfigure GCC to work with the new library. The easiest way to do -that is to figure out the compiler switches to make it work again -(@samp{-Wl,--dynamic-linker=/lib/ld-linux.so.2} should work on Linux -systems) and use them to recompile gcc. You can also edit the specs -file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but -that is a bit of a black art. +@samp{make install} will do the entire job. You do not need to remove +the old includes -- if you want to do so anyway you must then follow the +order given above. + +You may also need to reconfigure GCC to work with the new library. The +easiest way to do that is to figure out the compiler switches to make it +work again (@samp{-Wl,--dynamic-linker=/lib/ld-linux.so.2} should work on +Linux systems) and use them to recompile gcc. You can also edit the specs +file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but that +is a bit of a black art. You can install glibc somewhere other than where you configured it to go by setting the @code{install_root} variable on the command line for @samp{make install}. The value of this variable is prepended to all the paths for installation. This is useful when setting up a chroot -environment or preparing a binary distribution. +environment or preparing a binary distribution. The directory should be +specified with an absolute file name. Glibc 2.1 includes two daemons, @code{nscd} and @code{utmpd}, which you may or may not want to run. @code{nscd} caches name service lookups; it @@ -268,15 +303,15 @@ After installation you might want to con installation of your system. The GNU C library comes with a locale database which gets configured with @code{localedef}. For example, to set up a German locale with name @code{de_DE}, simply issue the command -@samp{localedef -i de_DE -f ISO-8859-1 de_DE}. To configure all locales -that are supported by glibc, you can issue from your build directory the +@samp{localedef -i de_DE -f ISO-8859-1 de_DE}. To configure all locales +that are supported by glibc, you can issue from your build directory the command @samp{make localedata/install-locales}. To configure the locally used timezone, you can either set the @code{TZ} environment variable. The script @code{tzselect} helps you to select the right value. As an example for Germany, tzselect would tell you to use @samp{TZ='Europe/Berlin'}. For a system wide installation (the -given paths are for an installation with @samp{--prefix=/usr}), link the +given paths are for an installation with @samp{--prefix=/usr}), link the timezone file which is in @file{/usr/share/zoneinfo} to the file @file{/etc/localtime}. For Germany, you might execute @samp{ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime}. @@ -294,7 +329,7 @@ build the GNU C library: GNU @code{make} 3.75 You need the latest version of GNU @code{make}. Modifying the GNU C -Library to work with other @code{make} programs would be so hard that we +Library to work with other @code{make} programs would be so difficult that we recommend you port GNU @code{make} instead. @strong{Really.} We recommend version GNU @code{make} version 3.75 or 3.77. All earlier versions have severe bugs or lack features. Version 3.76 is known to @@ -302,12 +337,13 @@ have bugs which only show up in big proj Version 3.76.1 seems OK but some people have reported problems. @item -EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1 +EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1, 2.95 or newer The GNU C library can only be compiled with the GNU C compiler family. As of the 2.1 release, EGCS 1.0.3 or higher is required. GCC 2.8.1 can also be used (but see the FAQ for reasons why you might not want to). -Earlier versions simply are too buggy. +Earlier versions simply are too buggy. As of this writing, GCC 2.95.2 +is the compiler we advise to use. You can use whatever compiler you like to compile programs that use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in their @@ -433,8 +469,8 @@ they definitely don't work anymore. Por If you are interested in doing a port, please contact the glibc maintainers by sending electronic mail to @email{bug-glibc@@gnu.org}. -Each case of @samp{i@var{x}86} can be @samp{i386}, @samp{i486}, -@samp{i586}, or @samp{i686}. All of those configurations produce a +Valid cases of @samp{i@var{x}86} include @samp{i386}, @samp{i486}, +@samp{i586}, and @samp{i686}. All of those configurations produce a library that can run on this processor and newer processors. The GCC compiler by default generates code that's optimized for the machine it's configured for and will use the instructions available on that machine. @@ -451,7 +487,7 @@ switches via @var{CFLAGS}. If you are installing GNU libc on a Linux system, you need to have the header files from a 2.2 kernel around for reference. You do not -need to use the 2.2 kernel, just have its headers where glibc can get +need to use the 2.2 kernel, just have its headers where glibc can access at them. The easiest way to do this is to unpack it in a directory such as @file{/usr/src/linux-2.2.1}. In that directory, run @samp{make config} and accept all the defaults. Then run @samp{make @@ -498,8 +534,8 @@ errors and omissions in this manual. If fixed. If you don't, no one will ever know about them and they will remain unfixed for all eternity, if not longer. -It is a good idea to check first that the problem was not reported -before. Bugs are documented in two places: The file @file{BUGS} +It is a good idea to verify that the problem has not already been +reported. Bugs are documented in two places: The file @file{BUGS} describes a number of well known bugs and the bug tracking system has a WWW interface at @url{http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl}. The WWW @@ -540,5 +576,5 @@ function's behavior disagrees with the m or the manual has a bug, so report the disagreement. If you find any errors or omissions in this manual, please report them to the Internet address @email{bug-glibc-manual@@gnu.org}. If you refer to specific -sections when reporting on the manual, please include the section names -for easier identification. +sections of the manual, please include the section names for easier +identification. diff -durpN glibc-2.1.2/manual/libc.cp glibc-2.1.3/manual/libc.cp --- glibc-2.1.2/manual/libc.cp Wed Aug 18 17:34:42 1999 +++ glibc-2.1.3/manual/libc.cp Wed Jan 5 19:19:29 2000 @@ -927,13 +927,13 @@ \entry{normalized floating point number}{755}{normalized floating point number} \entry{IEEE floating point representation}{758}{IEEE floating point representation} \entry{floating point, IEEE}{758}{floating point, IEEE} -\entry{configuring}{865}{configuring} -\entry{compiling}{865}{compiling} -\entry{installing}{867}{installing} -\entry{installation tools}{868}{installation tools} -\entry{tools, for installing library}{868}{tools, for installing library} -\entry{configurations, all supported}{869}{configurations, all supported} -\entry{upgrading from libc5}{870}{upgrading from libc5} -\entry{kernel header files}{870}{kernel header files} -\entry{reporting bugs}{871}{reporting bugs} -\entry{bugs, reporting}{871}{bugs, reporting} +\entry{configuring}{857}{configuring} +\entry{compiling}{857}{compiling} +\entry{installing}{859}{installing} +\entry{installation tools}{860}{installation tools} +\entry{tools, for installing library}{860}{tools, for installing library} +\entry{configurations, all supported}{861}{configurations, all supported} +\entry{upgrading from libc5}{862}{upgrading from libc5} +\entry{kernel header files}{862}{kernel header files} +\entry{reporting bugs}{863}{reporting bugs} +\entry{bugs, reporting}{863}{bugs, reporting} diff -durpN glibc-2.1.2/manual/libc.cps glibc-2.1.3/manual/libc.cps --- glibc-2.1.2/manual/libc.cps Wed Aug 18 17:34:14 1999 +++ glibc-2.1.3/manual/libc.cps Wed Jan 5 19:19:03 2000 @@ -85,7 +85,7 @@ \entry {BSD Unix}{3} \entry {buffering of streams}{256} \entry {buffering, controlling}{257} -\entry {bugs, reporting}{871} +\entry {bugs, reporting}{863} \entry {bus error}{531} \entry {butterfly}{476} \entry {byte order conversion, for socket}{382} @@ -131,14 +131,14 @@ \entry {communication style (of a socket)}{363} \entry {comparing strings and arrays}{80} \entry {Comparison Function}{177} -\entry {compiling}{865} +\entry {compiling}{857} \entry {complex exponentiation functions}{446} \entry {complex logarithm functions}{446} \entry {complex numbers}{476} \entry {complex trigonometric functions}{441} \entry {concatenating strings}{73} -\entry {configurations, all supported}{869} -\entry {configuring}{865} +\entry {configurations, all supported}{861} +\entry {configuring}{857} \entry {conjugate complex numbers}{477} \entry {connecting a socket}{388} \entry {connection}{388} @@ -382,8 +382,8 @@ \entry {input available signal}{534} \entry {input conversions, for \code {scanf}}{244} \entry {input from multiple files}{289} -\entry {installation tools}{868} -\entry {installing}{867} +\entry {installation tools}{860} +\entry {installing}{859} \entry {integer division functions}{478} \entry {integer type range}{752} \entry {integer type width}{752} @@ -426,7 +426,7 @@ \entry {job control, enabling}{635} \initial {K} \entry {Kermit the frog}{181} -\entry {kernel header files}{870} +\entry {kernel header files}{862} \entry {KILL character}{426} \entry {kill signal}{533} \entry {killing a process}{557} @@ -677,7 +677,7 @@ \entry {removing a file}{333} \entry {removing macros that shadow functions}{5} \entry {renaming a file}{334} -\entry {reporting bugs}{871} +\entry {reporting bugs}{863} \entry {reporting errors}{15} \entry {REPRINT character}{426} \entry {reserved names}{5} @@ -862,7 +862,7 @@ \entry {timing error in signal handling}{567} \entry {TMPDIR environment variable}{355} \entry {tokenizing strings}{88} -\entry {tools, for installing library}{868} +\entry {tools, for installing library}{860} \entry {transmitting datagrams}{401} \entry {tree, directory}{327} \entry {triangulation}{126} @@ -887,7 +887,7 @@ \entry {unlinking a file}{333} \entry {unordered comparison}{474} \entry {unreading characters}{219} -\entry {upgrading from libc5}{870} +\entry {upgrading from libc5}{862} \entry {upper-case character}{61, 67} \entry {urgent data signal}{534} \entry {urgent socket condition}{398} diff -durpN glibc-2.1.2/manual/libc.info glibc-2.1.3/manual/libc.info --- glibc-2.1.2/manual/libc.info Wed Aug 18 17:33:35 1999 +++ glibc-2.1.3/manual/libc.info Wed Jan 5 19:18:25 2000 @@ -79,12 +79,12 @@ libc.info-43: 1989010 libc.info-44: 2037813 libc.info-45: 2050944 libc.info-46: 2234131 -libc.info-47: 2276622 -libc.info-48: 2321097 -libc.info-49: 2378189 -libc.info-50: 2385598 -libc.info-51: 2456239 -libc.info-52: 2507709 +libc.info-47: 2277750 +libc.info-48: 2322225 +libc.info-49: 2379317 +libc.info-50: 2386726 +libc.info-51: 2457367 +libc.info-52: 2508837 Tag Table: (Indirect) @@ -731,22 +731,22 @@ Node: Structure Measurement2050249 Node: Library Summary2050944 Node: Installation2234131 Node: Configuring and compiling2236199 -Node: Running make install2243884 -Node: Tools for Compilation2246541 -Node: Supported Configurations2249950 -Node: Linux2251945 -Node: Reporting Bugs2254088 -Node: Maintenance2256933 -Node: Source Layout2257316 -Node: Porting2261249 -Node: Hierarchy Conventions2269550 -Node: Porting to Unix2274607 -Node: Contributors2276622 -Node: Copying2294200 -Node: Concept Index2321097 -Node: Type Index2378189 -Node: Function Index2385598 -Node: Variable Index2456239 -Node: File Index2507709 +Node: Running make install2243896 +Node: Tools for Compilation2247584 +Node: Supported Configurations2251078 +Node: Linux2253073 +Node: Reporting Bugs2255216 +Node: Maintenance2258061 +Node: Source Layout2258444 +Node: Porting2262377 +Node: Hierarchy Conventions2270678 +Node: Porting to Unix2275735 +Node: Contributors2277750 +Node: Copying2295328 +Node: Concept Index2322225 +Node: Type Index2379317 +Node: Function Index2386726 +Node: Variable Index2457367 +Node: File Index2508837 End Tag Table diff -durpN glibc-2.1.2/manual/libc.info-46 glibc-2.1.3/manual/libc.info-46 --- glibc-2.1.2/manual/libc.info-46 Wed Aug 18 17:33:35 1999 +++ glibc-2.1.3/manual/libc.info-46 Wed Jan 5 19:18:25 2000 @@ -205,10 +205,11 @@ Those indicate that something is really The compilation process takes several hours even on fast hardware. Expect at least two hours for the default configuration on i586 for -Linux. For Hurd times are much longer. Except for EGCS 1.1 (and later -versions of EGCS), all supported versions of GCC have a problem which -causes them to take several minutes to compile certain files in the -iconvdata directory. Do not panic if the compiler appears to hang. +Linux. For Hurd times are much longer. Except for EGCS 1.1 and GCC +2.95 (and later versions of GCC), all supported versions of GCC have a +problem which causes them to take several minutes to compile certain +files in the iconvdata directory. Do not panic if the compiler appears +to hang. If you want to run a parallel make, you can't just give `make' the `-j' option, because it won't be passed down to the sub-makes. @@ -267,7 +268,8 @@ black art. to go by setting the `install_root' variable on the command line for `make install'. The value of this variable is prepended to all the paths for installation. This is useful when setting up a chroot -environment or preparing a binary distribution. +environment or preparing a binary distribution. The directory should be +specified with an absolute file name. Glibc 2.1 includes two daemons, `nscd' and `utmpd', which you may or may not want to run. `nscd' caches name service lookups; it can @@ -286,6 +288,23 @@ privileges.) If you are using a 2.1 or this program; otherwise you do. The source for `pt_chown' is in `login/programs/pt_chown.c'. + After installation you might want to configure the timezone and +locale installation of your system. The GNU C library comes with a +locale database which gets configured with `localedef'. For example, to +set up a German locale with name `de_DE', simply issue the command +`localedef -i de_DE -f ISO-8859-1 de_DE'. To configure all locales +that are supported by glibc, you can issue from your build directory the +command `make localedata/install-locales'. + + To configure the locally used timezone, you can either set the `TZ' +environment variable. The script `tzselect' helps you to select the +right value. As an example for Germany, tzselect would tell you to use +`TZ='Europe/Berlin''. For a system wide installation (the given paths +are for an installation with `--prefix=/usr'), link the timezone file +which is in `/usr/share/zoneinfo' to the file `/etc/localtime'. For +Germany, you might execute `ln -s /usr/share/zoneinfo/Europe/Berlin +/etc/localtime'. + File: libc.info, Node: Tools for Compilation, Next: Supported Configurations, Prev: Running make install, Up: Installation @@ -305,12 +324,13 @@ build the GNU C library: bugs which only show up in big projects like GNU `libc'. Version 3.76.1 seems OK but some people have reported problems. - * EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1 + * EGCS 1.1.1, 1.1 or 1.0.3, or GCC 2.8.1, 2.95, 2.95.1 The GNU C library can only be compiled with the GNU C compiler family. As of the 2.1 release, EGCS 1.0.3 or higher is required. GCC 2.8.1 can also be used (but see the FAQ for reasons why you - might not want to). Earlier versions simply are too buggy. + might not want to). Earlier versions simply are too buggy. As of + this writing, GCC 2.95.1 is the compiler we advise to use. You can use whatever compiler you like to compile programs that use GNU libc, but be aware that both GCC 2.7 and 2.8 have bugs in diff -durpN glibc-2.1.2/manual/llio.texi glibc-2.1.3/manual/llio.texi --- glibc-2.1.2/manual/llio.texi Sun Mar 14 12:53:54 1999 +++ glibc-2.1.3/manual/llio.texi Tue Feb 22 23:02:56 2000 @@ -41,7 +41,7 @@ directly.) or vice-versa. * Stream/Descriptor Precautions:: Precautions needed if you use both descriptors and streams. -* Scatter-Gather:: Fast I/O to discontinous buffers. +* Scatter-Gather:: Fast I/O to discontinuous buffers. * Memory-mapped I/O:: Using files like memory. * Waiting for I/O:: How to check for input or output on multiple file descriptors. @@ -1131,8 +1131,8 @@ Modes}. @cindex scatter-gather Some applications may need to read or write data to multiple buffers, -which are seperated in memory. Although this can be done easily enough -with multiple calls to @code{read} and @code{write}, it is inefficent +which are separated in memory. Although this can be done easily enough +with multiple calls to @code{read} and @code{write}, it is inefficient because there is overhead associated with each kernel call. Instead, many platforms provide special high-speed primitives to perform @@ -1206,7 +1206,7 @@ On modern operating systems, it is possi ``em-map'') a file to a region of memory. When this is done, the file can be accessed just like an array in the program. -This is more efficent than @code{read} or @code{write}, as only regions +This is more efficient than @code{read} or @code{write}, as only regions of the file a program actually accesses are loaded. Accesses to not-yet-loaded parts of the mmapped region are handled in the same way as swapped out pages. @@ -1250,7 +1250,7 @@ Error Signals}). Note that most hardware designs cannot support write permission without read permission, and many do not distinguish read and execute permission. -Thus, you may recieve wider permissions than you ask for, and mappings of +Thus, you may receive wider permissions than you ask for, and mappings of write-only files may be denied even if you do not use @code{PROT_READ}. @var{flags} contains flags that control the nature of the map. @@ -1294,7 +1294,7 @@ Anonymous maps are used as the basic pri systems. They are also useful to share data between multiple tasks without creating a file. -On some systems using private anonymous mmaps is more efficent than using +On some systems using private anonymous mmaps is more efficient than using @code{malloc} for large blocks. This is not an issue with the GNU C library, as the included @code{malloc} automatically uses @code{mmap} where appropriate. @@ -1372,8 +1372,8 @@ aligned. When using shared mappings, the kernel can write the file at any time before the mapping is removed. To be certain data has actually been -written to the file and will be accessable to non-memory-mapped I/O, it -is neccessary to use this function. +written to the file and will be accessible to non-memory-mapped I/O, it +is necessary to use this function. It operates on the region @var{address} to (@var{address} + @var{length}). It may be used on part of a mapping or multiple mappings, however the @@ -1444,7 +1444,7 @@ The region has pages locked, and if exte process's resource limit for locked pages. @xref{Limits on Resources}. @item ENOMEM -The region is private writable, and insufficent virtual memory is +The region is private writable, and insufficient virtual memory is available to extend it. Also, this error will occur if @code{MREMAP_MAYMOVE} is not given and the extension would collide with another mapped region. @@ -1681,7 +1681,7 @@ until the program ends. To avoid this c protected using cancelation handlers. @c ref pthread_cleanup_push / pthread_cleanup_pop -The return value of the function is zero if no error occured. Otherwise +The return value of the function is zero if no error occurred. Otherwise it is @math{-1} and the global variable @var{errno} is set to the following values: @table @code @@ -1714,7 +1714,7 @@ required by @code{fdatasyn}. The prototype for @code{fdatasync} is in @file{unistd.h}. -The return value of the function is zero if no error occured. Otherwise +The return value of the function is zero if no error occurred. Otherwise it is @math{-1} and the global variable @var{errno} is set to the following values: @table @code @@ -1745,7 +1745,7 @@ userlevel. In the latter case it might with the thread library @file{libpthread} in addition to @file{librt}. All AIO operations operate on files which were opened previously. There -might be arbitrary many operations for one file running. The +might be arbitrarily many operations for one file running. The asynchronous I/O operations are controlled using a data structure named @code{struct aiocb} (@dfn{AIO control block}). It is defined in @file{aio.h} as follows. @@ -1873,7 +1873,7 @@ operation terminates. If the @code{sige @code{SIGEV_NONE} no notification is send. If it is @code{SIGEV_SIGNAL} the signal determined by @code{sigev_signo} is send. Otherwise @code{sigev_notify} must be @code{SIGEV_THREAD} in which case a thread -which starts executing the function pointeed to by +which starts executing the function pointed to by @code{sigev_notify_function}. @item int aio_lio_opcode @@ -1938,7 +1938,7 @@ might also be signaled asynchronously. @item EINVAL The @code{aiocbp->aio_offset} or @code{aiocbp->aio_reqpiro} value is invalid. This condition need not be recognized before enqueueing the -request and so this error might also be signaled asynchrously. +request and so this error might also be signaled asynchronously. @end table In the case @code{aio_read} returns zero the current status of the @@ -2422,7 +2422,7 @@ For requests which were successfully can about the termination of the request should take place. I.e., depending on the @code{struct sigevent} object which controls this, nothing happens, a signal is sent or a thread is started. If the request cannot -be canceled it terminates the usual way after performing te operation. +be canceled it terminates the usual way after performing the operation. After a request is successfully canceled a call to @code{aio_error} with a reference to this request as the parameter will return diff -durpN glibc-2.1.2/manual/locale.texi glibc-2.1.3/manual/locale.texi --- glibc-2.1.2/manual/locale.texi Mon Jan 11 11:58:34 1999 +++ glibc-2.1.3/manual/locale.texi Fri Feb 11 15:49:57 2000 @@ -882,8 +882,8 @@ appropriate category @code{nl_langinfo} @code{"C"} locale. It is therefore possible to use this function as shown in the example below. -If the argument @var{item} is not valid the global variable @var{errno} -is set to @code{EINVAL} and a @code{NULL} pointer is returned. +If the argument @var{item} is not valid a pointer to an empty string is +returned. @end deftypefun An example for the use of @code{nl_langinfo} is a function which has to diff -durpN glibc-2.1.2/manual/math.texi glibc-2.1.3/manual/math.texi --- glibc-2.1.2/manual/math.texi Wed Jul 28 12:45:50 1999 +++ glibc-2.1.3/manual/math.texi Tue Feb 22 23:02:56 2000 @@ -49,7 +49,7 @@ Which of the three versions of a functio situation. For most calculations, the @code{float} functions are the fastest. On the other hand, the @code{long double} functions have the highest precision. @code{double} is somewhere in between. It is -usually wise to pick the narrowest type that can accomodate your data. +usually wise to pick the narrowest type that can accommodate your data. Not all machines have a distinct @code{long double} type; it may be the same as @code{double}. @@ -1655,7 +1655,7 @@ Using any of the reentrant functions of automatically initialize the random number generator to the default values for the state and the parameters of the congruential formula. -The other possibility is too use any of the functions which explicitely +The other possibility is too use any of the functions which explicitly initialize the buffer. Though it might be obvious how to initialize the buffer from the data given as parameter from the function it is highly recommended to use these functions since the result might not always be @@ -1712,8 +1712,8 @@ programs. @section Is Fast Code or Small Code preferred? @cindex Optimization -If an application uses many floating point function it is often the case -that the costs for the function calls itselfs are not neglectable. +If an application uses many floating point functions, it is often the case +that the costs of the function calls themselves are not negligible. Modern processor implementation often can execute the operation itself very fast but the call means a disturbance of the control flow. @@ -1721,17 +1721,17 @@ For this reason the GNU C Library provid frequently used math functions. When the GNU CC is used and the user activates the optimizer several new inline functions and macros get defined. These new functions and macros have the same names as the -library function and so get used instead of the later. In case of +library function and so get used instead of the latter. In case of inline functions the compiler will decide whether it is reasonable to use the inline function and this decision is usually correct. For the generated code this means that no calls to the library functions are necessary. This increases the speed significantly. But the drawback is that the code size increases and this increase is not always -neglectable. +negligible. The speed increase has one drawback: the inline functions might not set -@code{errno} and might not have the same precission as the library +@code{errno} and might not have the same precision as the library functions. In cases where the inline functions and macros are not wanted the symbol diff -durpN glibc-2.1.2/manual/memory.texi glibc-2.1.3/manual/memory.texi --- glibc-2.1.2/manual/memory.texi Mon Jan 11 11:59:48 1999 +++ glibc-2.1.3/manual/memory.texi Tue Feb 22 23:02:56 2000 @@ -446,7 +446,7 @@ more time to minimize the wasted space. @end ignore -As apposed to other versions, the @code{malloc} in GNU libc does not +As opposed to other versions, the @code{malloc} in GNU libc does not round up block sizes to powers of two, neither for large nor for small sizes. Neighboring chunks can be coalesced on a @code{free} no matter what their size is. This makes the implementation suitable for all @@ -636,7 +636,7 @@ variable @code{MALLOC_CHECK_}. When @co special (less efficient) implementation is used which is designed to be tolerant against simple errors, such as double calls of @code{free} with the same argument, or overruns of a single byte (off-by-one bugs). Not -all such errors can be proteced against, however, and memory leaks can +all such errors can be protected against, however, and memory leaks can result. If @code{MALLOC_CHECK_} is set to @code{0}, any detected heap corruption is silently ignored; if set to @code{1}, a diagnostic is printed on @code{stderr}; if set to @code{2}, @code{abort} is called @@ -645,7 +645,7 @@ much later, and the true cause for the p track down. So, what's the difference between using @code{MALLOC_CHECK_} and linking -with @samp{-lmcheck}? @code{MALLOC_CHECK_} is orthognal with respect to +with @samp{-lmcheck}? @code{MALLOC_CHECK_} is orthogonal with respect to @samp{-lmcheck}. @samp{-lmcheck} has been added for backward compatibility. Both @code{MALLOC_CHECK_} and @samp{-lmcheck} should uncover the same bugs - but using @code{MALLOC_CHECK_} you don't need to @@ -931,7 +931,7 @@ freed at the end of their lifetime. If runs out of memory, sooner or later. The @code{malloc} implementation in the GNU C library provides some -simple means to detect sich leaks and provide some information to find +simple means to detect such leaks and provide some information to find the location. To do this the application must be started in a special mode which is enabled by an environment variable. There are no speed penalties if the program is compiled in preparation of the debugging if @@ -974,7 +974,7 @@ systems. The prototype can be found in @comment GNU @deftypefun void muntrace (void) The @code{muntrace} function can be called after @code{mtrace} was used -to enable tracing the @code{malloc} calls. If no (succesful) call of +to enable tracing the @code{malloc} calls. If no (successful) call of @code{mtrace} was made @code{muntrace} does nothing. Otherwise it deinstalls the handlers for @code{malloc}, @code{realloc}, @@ -1110,11 +1110,11 @@ No memory leaks. In this case the program @code{tst-mtrace} was run and it produced a trace file @file{log}. The message printed by @code{mtrace} shows there -are no problems with the code, all allocated memory was freed +are no problems with the code: all allocated memory was freed afterwards. -If we call @code{mtrace} on the example trace given above we would get a -different outout: +If we call @code{mtrace} on the example trace given above we would get +different output: @example drepper$ mtrace errlog diff -durpN glibc-2.1.2/manual/message.texi glibc-2.1.3/manual/message.texi --- glibc-2.1.2/manual/message.texi Mon Nov 16 03:55:47 1998 +++ glibc-2.1.3/manual/message.texi Tue Feb 22 23:02:56 2000 @@ -220,13 +220,13 @@ translation actually happened must look @end smallexample @noindent -When an error occured the global variable @var{errno} is set to +When an error occurred the global variable @var{errno} is set to @table @var @item EBADF The catalog does not exist. @item ENOMSG -The set/message ttuple does not name an existing element in the +The set/message tuple does not name an existing element in the message catalog. @end table @@ -276,7 +276,7 @@ all @var{string} arguments should be wri It is somewhat uncomfortable to write a program using the @code{catgets} functions if no supporting functionality is available. Since each -set/message number tuple must be unique the programmer must keep lists +set/message number tuple must be unique, the programmer must keep lists of the messages at the same time the code is written. And the work between several people working on the same project must be coordinated. We will see some how these problems can be relaxed a bit (@pxref{Common @@ -722,7 +722,7 @@ Hallo, Welt! The call of the @code{gencat} program creates the missing header file @file{msgnrs.h} as well as the message catalog binary. The former is -used in the compilation of @file{hello.c} while the later is placed in a +used in the compilation of @file{hello.c} while the latter is placed in a directory in which the @code{catopen} function will try to locate it. Please check the @code{LC_ALL} environment variable and the default path for @code{catopen} presented in the description above. @@ -816,7 +816,7 @@ history of the function and does not ref be used. Please note that above we wrote ``message catalogs'' (plural). This is -a speciality of the GNU implementation of these functions and we will +a specialty of the GNU implementation of these functions and we will say more about this when we talk about the ways message catalogs are selected (@pxref{Locating gettext catalog}). @@ -939,7 +939,7 @@ Locate the set of message catalogs. The different languages and which all belong to the package. Usually they are all stored in the filesystem below a certain directory. -There can be arbitrary many packages installed and they can follow +There can be arbitrarily many packages installed and they can follow different guidelines for the placement of their files. @item @@ -987,7 +987,7 @@ be based on this. As the functions described in the last sections already mention separate sets of messages can be selected by a @dfn{domain name}. This is a simple string which should be unique for each program part with uses a -separate domain. It is possible to use in one program arbitrary many +separate domain. It is possible to use in one program arbitrarily many domains at the same time. E.g., the GNU C Library itself uses a domain named @code{libc} while the program using the C Library could use a domain named @code{foo}. The important point is that at any time @@ -1296,10 +1296,10 @@ translated. S/He will simply wrap the t program has a lot of option which help to customize the output or do help to understand the input better. -Other programs help to manage development cycle when new messages appear +Other programs help to the manage development cycle when new messages appear in the source files or when a new translation of the messages appear. -here it should only be noted that using all the tools in GNU gettext it -is possible to @emph{completely} automize the handling of message -catalog. Beside marking the translatable string in the source code and -generating the translations the developers do not have anything to do -themself. +Here it should only be noted that using all the tools in GNU gettext it +is possible to @emph{completely} automate the handling of message +catalogs. Beside marking the translatable string in the source code and +generating the translations the developers do not have to do anything +themselves. diff -durpN glibc-2.1.2/manual/search.texi glibc-2.1.3/manual/search.texi --- glibc-2.1.2/manual/search.texi Fri Jan 8 00:27:42 1999 +++ glibc-2.1.3/manual/search.texi Tue Feb 22 23:02:56 2000 @@ -267,7 +267,7 @@ hashing table used through the whole pro in local memory out of control of the programmer. As an extension the GNU C library provides an additional set of functions with an reentrant interface which provide a similar interface but which allow to keep -arbitrary many hashing tables. +arbitrarily many hashing tables. It is possible to use more than one hashing table in the program run if the former table is first destroyed by a call to @code{hdestroy}. @@ -390,7 +390,7 @@ entry in the table is not the return val returned by storing it in a pointer variables pointed to by the @var{retval} parameter. The return value of the function is an integer value indicating success if it is non-zero and failure if it is zero. -In the later case the global variable @var{errno} signals the reason for +In the latter case the global variable @var{errno} signals the reason for the failure. @table @code diff -durpN glibc-2.1.2/manual/signal.texi glibc-2.1.3/manual/signal.texi --- glibc-2.1.2/manual/signal.texi Mon Mar 8 06:21:05 1999 +++ glibc-2.1.3/manual/signal.texi Tue Feb 22 23:02:56 2000 @@ -1772,7 +1772,7 @@ that the status cannot change in the mid @code{p->have_status} is set, it means that the child process is stopped or terminated, and in either case, it cannot stop or terminate again until the program has taken notice. @xref{Atomic Usage}, for more -information about coping with interruptions during accessings of a +information about coping with interruptions during accesses of a variable. Here is another way you can test whether the handler has run since the diff -durpN glibc-2.1.2/manual/socket.texi glibc-2.1.3/manual/socket.texi --- glibc-2.1.2/manual/socket.texi Tue Jul 6 15:11:15 1999 +++ glibc-2.1.3/manual/socket.texi Tue Feb 22 23:02:56 2000 @@ -676,9 +676,9 @@ namespace. This section describes the details of the protocols and socket naming conventions used in the Internet namespace. -Originaly the Internet namespace used only IP version 4 (IPv4). With +Originally the Internet namespace used only IP version 4 (IPv4). With the growing number of hosts on the Internet, a new protocol with a -larger address space was neccessary: IP version 6 (IPv6). IPv6 +larger address space was necessary: IP version 6 (IPv6). IPv6 introduces besides 128bit addresses (IPv4 has 32bit addresses) also other features and will eventually replace IPv4. @@ -835,7 +835,7 @@ Historically these are divided into two mid-1990s classless address were introduced which changed the behaviour. Since some functions implicitly expect the old definitions, we first describe the class based network and will then describe -classless addresses. IPv6 uses only classless adresses and therefore +classless addresses. IPv6 uses only classless addresses and therefore the following paragraphs don't apply. The class based IPv4 network number consists of the first one, two or @@ -904,10 +904,10 @@ radix is assumed. IPv4 addresses (and IPv6 addresses also) are now considered as classless. The distinction between classes A, B, and C can be ignored. -Instead a IPv4 host adddress consists of a 32-bit address and a 32-bit +Instead a IPv4 host address consists of a 32-bit address and a 32-bit mask. The mask contains bits of 1 for the network part and bits of 0 -for the host part. The 1-bits are contigous from the leftmost bit, the -0-bits are contigous from the rightmost bit so that the netmask can also +for the host part. The 1-bits are contiguous from the leftmost bit, the +0-bits are contiguous from the rightmost bit so that the netmask can also be written as a prefix length of bits of 1. Classes A, B and C are just special cases of this general rule. For example, class A addresses have a netmask of @samp{255.0.0.0} or a prefix length of 8. diff -durpN glibc-2.1.2/manual/stdio.texi glibc-2.1.3/manual/stdio.texi --- glibc-2.1.2/manual/stdio.texi Sun Jun 13 15:20:40 1999 +++ glibc-2.1.3/manual/stdio.texi Tue Feb 22 23:02:56 2000 @@ -1303,7 +1303,7 @@ numbers are represented is the form @w{[@code{-}]@code{0x}@var{h}@code{.}@var{hhh}@code{p}[@code{+}|@code{-}]@var{dd}}. At the left of the decimal-point character exactly one digit is print. This character is only @code{0} if the number is denormalized. -Otherwise the value is unspecified; it is implemention dependent how many +Otherwise the value is unspecified; it is implementation dependent how many bits are used. The number of hexadecimal digits on the right side of the decimal-point character is equal to the precision. If the precision is zero it is determined to be large enough to provide an exact @@ -4234,7 +4234,7 @@ is incorrect. There are two environment variables which influence the behaviour of @code{fmtmsg}. The first is @code{MSGVERB}. It is used to control the output actually happening on standard error (@emph{not} the console -output). Each of the five fields can explicitely be enabled. To do +output). Each of the five fields can be explicitly enabled. To do this the user has to put the @code{MSGVERB} variable with a format like the following in the environment before calling the @code{fmtmsg} function the first time: @@ -4329,7 +4329,7 @@ The second call to @code{fmtmsg} illustr it usually happens on System V systems which heavily use this function. It might be worth a thought to follow the scheme used in System V systems so we give a short explanation here. The value of the -@var{label} field (@code{UX:cat}) says that the error occured in the +@var{label} field (@code{UX:cat}) says that the error occurred in the Unix program @code{cat}. The explanation of the error follows and the value for the @var{action} parameter is @code{"refer to manual"}. One could me more specific here, if needed. The @var{tag} field contains, diff -durpN glibc-2.1.2/manual/string.texi glibc-2.1.3/manual/string.texi --- glibc-2.1.2/manual/string.texi Mon Jun 28 12:31:14 1999 +++ glibc-2.1.3/manual/string.texi Tue Feb 22 23:02:56 2000 @@ -491,7 +491,7 @@ common example: @cindex __va_copy @cindex va_copy @smallexample -/* @r{This function concats arbitrary many strings. The last} +/* @r{This function concatenates arbitrarily many strings. The last} @r{parameter must be @code{NULL}.} */ char * concat (const char *str, ...) @@ -536,7 +536,7 @@ bytes for the end of the string so that For all strings in total the comparisons necessary to find the end of the intermediate results sums up to 5500! If we combine the copying with the search for the allocation we can write this function more -efficent: +efficient: @smallexample char * @@ -1563,7 +1563,7 @@ the same elements, which is returned in @deftypefun {error_t} argz_create_sep (const char *@var{string}, int @var{sep}, char **@var{argz}, size_t *@var{argz_len}) The @code{argz_create_sep} function converts the null-terminated string @var{string} into an argz vector (returned in @var{argz} and -@var{argz_len}) by splitting it into elements at every occurance of the +@var{argz_len}) by splitting it into elements at every occurrence of the character @var{sep}. @end deftypefun @@ -1613,7 +1613,7 @@ argz vector @code{*@var{argz}}, and upda @comment GNU @deftypefun {error_t} argz_add_sep (char **@var{argz}, size_t *@var{argz_len}, const char *@var{str}, int @var{delim}) The @code{argz_add_sep} function is similar to @code{argz_add}, but -@var{str} is split into separate elements in the result at occurances of +@var{str} is split into separate elements in the result at occurrences of the character @var{delim}. This is useful, for instance, for adding the components of a Unix search path to an argz vector, by using a value of @code{':'} for @var{delim}. @@ -1688,7 +1688,7 @@ invariant is maintained for argz vectors @comment argz.h @comment GNU @deftypefun error_t argz_replace (@w{char **@var{argz}, size_t *@var{argz_len}}, @w{const char *@var{str}, const char *@var{with}}, @w{unsigned *@var{replace_count}}) -Replace any occurances of the string @var{str} in @var{argz} with +Replace any occurrences of the string @var{str} in @var{argz} with @var{with}, reallocating @var{argz} as necessary. If @var{replace_count} is non-zero, @code{*@var{replace_count}} will be incremented by number of replacements performed. diff -durpN glibc-2.1.2/manual/sysinfo.texi glibc-2.1.3/manual/sysinfo.texi --- glibc-2.1.2/manual/sysinfo.texi Mon Jul 13 05:24:17 1998 +++ glibc-2.1.3/manual/sysinfo.texi Tue Feb 22 23:02:56 2000 @@ -420,7 +420,7 @@ to rely on these macros but to be consis @vtable @code @item MNTOPT_DEFAULTS Expands to @code{"defaults"}. This option should be used alone since it -indicates all values for the custumizable values are chosen to be the +indicates all values for the customizable values are chosen to be the default. @item MNTOPT_RO Expands to @code{"ro"}. See the @code{FSTAB_RO} value, it means the diff -durpN glibc-2.1.2/manual/texinfo.tex glibc-2.1.3/manual/texinfo.tex --- glibc-2.1.2/manual/texinfo.tex Tue Jun 1 13:28:51 1999 +++ glibc-2.1.3/manual/texinfo.tex Wed Jan 5 17:45:25 2000 @@ -3,7 +3,7 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{1999-05-25.6}% +\def\texinfoversion{1999-10-01.07} % % Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 % Free Software Foundation, Inc. @@ -29,15 +29,15 @@ % % Please try the latest version of texinfo.tex before submitting bug % reports; you can get the latest version from: -% ftp://ftp.gnu.org/pub/gnu/texinfo.tex +% ftp://ftp.gnu.org/gnu/texinfo.tex % (and all GNU mirrors, see http://www.gnu.org/order/ftp.html) -% ftp://tug.org/tex/texinfo.tex -% ftp://ctan.org/macros/texinfo/texinfo.tex -% (and all CTAN mirrors, finger ctan@ctan.org for a list). +% ftp://texinfo.org/tex/texinfo.tex +% ftp://us.ctan.org/macros/texinfo/texinfo.tex +% (and all CTAN mirrors, finger ctan@us.ctan.org for a list). % /home/gd/gnu/doc/texinfo.tex on the GNU machines. % The texinfo.tex in any given Texinfo distribution could well be out % of date, so if that's what you're using, please check. -% There is a small home page for Texinfo at http://texinfo.org/. +% Texinfo has a small home page at http://texinfo.org/. % % Send bug reports to bug-texinfo@gnu.org. Please include including a % complete document in each bug report with which we can reproduce the @@ -86,14 +86,6 @@ % For @tex, we can use \tabalign. \let\+ = \relax -% Get ready for pdf. -\newif\ifpdf -\ifx\pdfoutput\undefined\else - \input pdfcolor - \pdfoutput=1 - \pdftrue -\fi - \message{Basics,} \chardef\other=12 @@ -251,7 +243,7 @@ \unvbox\footlinebox \fi % - \ifpdf\pdfmkdest{\the\pageno}\fi + \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi % \ifcropmarks \egroup % end of \vbox\bgroup @@ -607,36 +599,42 @@ where each line of input produces a line %}} \def\needx#1{% - % Go into vertical mode, so we don't make a big box in the middle of a + % Ensure vertical mode, so we don't make a big box in the middle of a % paragraph. \par % - % Don't add any leading before our big empty box, but allow a page - % break, since the best break might be right here. - \allowbreak - \nointerlineskip - \vtop to #1\mil{\vfil}% - % - % TeX does not even consider page breaks if a penalty added to the - % main vertical list is 10000 or more. But in order to see if the - % empty box we just added fits on the page, we must make it consider - % page breaks. On the other hand, we don't want to actually break the - % page after the empty box. So we use a penalty of 9999. - % - % There is an extremely small chance that TeX will actually break the - % page at this \penalty, if there are no other feasible breakpoints in - % sight. (If the user is using lots of big @group commands, which - % almost-but-not-quite fill up a page, TeX will have a hard time doing - % good page breaking, for example.) However, I could not construct an - % example where a page broke at this \penalty; if it happens in a real - % document, then we can reconsider our strategy. - \penalty9999 - % - % Back up by the size of the box, whether we did a page break or not. - \kern -#1\mil - % - % Do not allow a page break right after this kern. - \nobreak + % If the @need value is less than one line space, it's useless. + \dimen0 = #1\mil + \dimen2 = \ht\strutbox + \advance\dimen2 by \dp\strutbox + \ifdim\dimen0 > \dimen2 + % + % Do a \strut just to make the height of this box be normal, so the + % normal leading is inserted relative to the preceding line. + % And a page break here is fine. + \vtop to #1\mil{\strut\vfil}% + % + % TeX does not even consider page breaks if a penalty added to the + % main vertical list is 10000 or more. But in order to see if the + % empty box we just added fits on the page, we must make it consider + % page breaks. On the other hand, we don't want to actually break the + % page after the empty box. So we use a penalty of 9999. + % + % There is an extremely small chance that TeX will actually break the + % page at this \penalty, if there are no other feasible breakpoints in + % sight. (If the user is using lots of big @group commands, which + % almost-but-not-quite fill up a page, TeX will have a hard time doing + % good page breaking, for example.) However, I could not construct an + % example where a page broke at this \penalty; if it happens in a real + % document, then we can reconsider our strategy. + \penalty9999 + % + % Back up by the size of the box, whether we did a page break or not. + \kern -#1\mil + % + % Do not allow a page break right after this kern. + \nobreak + \fi } % @br forces paragraph break @@ -852,123 +850,175 @@ where each line of input produces a line \message{pdf,} % adobe `portable' document format - \newcount\tempnum \newcount\lnkcount \newtoks\filename \newcount\filenamelength \newcount\pgn +\newtoks\toksA +\newtoks\toksB +\newtoks\toksC +\newtoks\toksD +\newbox\boxA +\newcount\countA +\newif\ifpdf +\newif\ifpdfmakepagedest -\ifpdf -\def\pdfmkdest#1{\pdfdest name{#1@} xyz} -\def\pdfmkpgn#1{#1@} - -% Adding outlines to PDF; macros for calculating structure of outlines -% come from Petr Olsak -\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% - \else \csname#1\endcsname \fi} -\def\advancenumber#1{\tempnum=\expnumber{#1}\relax - \advance\tempnum by1 - \expandafter\xdef\csname#1\endcsname{\the\tempnum}} -\def\pdfmakeoutlines{{% - \openin 1 \jobname.toc - \ifeof 1\else\bgroup - \closein 1 - \def\code##1{##1} - \def\file##1{##1} - \def\TeX##1{TeX} - \def\tt{} - \def\char{char} - \def\samp##1{##1} - \def\kbd##1{##1} - \def\key##1{##1} - \def\rawbackslashxx{\string\\} - \def\chapentry ##1##2##3{} - \def\unnumbchapentry ##1##2{} - \def\secentry ##1##2##3##4{\advancenumber{chap##2}} - \def\unnumbsecentry ##1##2{} - \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}} - \def\unnumbsubsecentry ##1##2{} - \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}} - \def\unnumbsubsubsecentry ##1##2{} - \input \jobname.toc - \def\chapentry ##1##2##3{% - \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}} - \def\unnumbchapentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} - \def\secentry ##1##2##3##4{% - \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}} - \def\unnumbsecentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} - \def\subsecentry ##1##2##3##4##5{% - \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}} - \def\unnumbsubsecentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} - \def\subsubsecentry ##1##2##3##4##5##6{% - \pdfoutline goto name{\pdfmkpgn{##6}}{##1}} - \def\unnumbsubsubsecentry ##1##2{% - \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} - \input \jobname.toc - \egroup\fi -}} -\pdfmakeoutlines - -\def\makelinks #1,{% - \def\params{#1}\def\E{END}% - \ifx\params\E - \let\nextmakelinks=\relax - \else - \let\nextmakelinks=\makelinks - \ifnum\lnkcount>0,\fi - \picknum{#1}% - \Blue\pdfannotlink attr{/Border [0 0 0]} - goto name{\pdfmkpgn{\the\pgn}}% - #1% - \advance\lnkcount by 1% - \Black\pdfendlink - \fi - \nextmakelinks -} - -\def\picknum#1{\expandafter\pn#1} -\def\pn#1{% - \def\p{#1}% - \ifx\p\lbrace - \let\nextpn=\ppn - \else - \let\nextpn=\ppnn - \def\first{#1} - \fi - \nextpn -} -\def\ppn#1{\pgn=#1\gobble} -\def\ppnn{\pgn=\first} -\def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,} - -\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} -\def\skipspaces#1{\def\PP{#1}\def\D{|}% - \ifx\PP\D\let\nextsp\relax - \else\let\nextsp\skipspaces - \ifx\p\space\else\addtokens{\filename}{\PP}% - \advance\filenamelength by 1 +\ifx\pdfoutput\undefined + \pdffalse + \let\pdfmkdest = \gobble + \let\pdfurl = \gobble + \let\endlink = \relax + \let\linkcolor = \relax + \let\pdfmakeoutlines = \relax +\else + \pdftrue + \pdfoutput = 1 + \input pdfcolor + \def\dopdfimage#1#2#3{% + \def\imagewidth{#2}% + \def\imageheight{#3}% + \ifnum\pdftexversion < 14 + \pdfimage + \else + \pdfximage \fi + \ifx\empty\imagewidth\else width \imagewidth \fi + \ifx\empty\imageheight\else height \imageheight \fi + {#1.pdf}% + \ifnum\pdftexversion < 14 \else + \pdfrefximage \pdflastximage + \fi} + \def\pdfmkdest#1{\pdfdest name{#1@} xyz} + \def\pdfmkpgn#1{#1@} + \let\linkcolor = \Cyan + \def\endlink{\Black\pdfendlink} + % Adding outlines to PDF; macros for calculating structure of outlines + % come from Petr Olsak + \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% + \else \csname#1\endcsname \fi} + \def\advancenumber#1{\tempnum=\expnumber{#1}\relax + \advance\tempnum by1 + \expandafter\xdef\csname#1\endcsname{\the\tempnum}} + \def\pdfmakeoutlines{{% + \openin 1 \jobname.toc + \ifeof 1\else\bgroup + \closein 1 + \indexnofonts + \def\tt{} + % thanh's hack / proper braces in bookmarks + \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace + \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace + % + \def\chapentry ##1##2##3{} + \def\unnumbchapentry ##1##2{} + \def\secentry ##1##2##3##4{\advancenumber{chap##2}} + \def\unnumbsecentry ##1##2{} + \def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}} + \def\unnumbsubsecentry ##1##2{} + \def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}} + \def\unnumbsubsubsecentry ##1##2{} + \input \jobname.toc + \def\chapentry ##1##2##3{% + \pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}} + \def\unnumbchapentry ##1##2{% + \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} + \def\secentry ##1##2##3##4{% + \pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}} + \def\unnumbsecentry ##1##2{% + \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} + \def\subsecentry ##1##2##3##4##5{% + \pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}} + \def\unnumbsubsecentry ##1##2{% + \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} + \def\subsubsecentry ##1##2##3##4##5##6{% + \pdfoutline goto name{\pdfmkpgn{##6}}{##1}} + \def\unnumbsubsubsecentry ##1##2{% + \pdfoutline goto name{\pdfmkpgn{##2}}{##1}} + \input \jobname.toc + \egroup\fi + }} + \def\makelinks #1,{% + \def\params{#1}\def\E{END}% + \ifx\params\E + \let\nextmakelinks=\relax + \else + \let\nextmakelinks=\makelinks + \ifnum\lnkcount>0,\fi + \picknum{#1}% + \startlink attr{/Border [0 0 0]} + goto name{\pdfmkpgn{\the\pgn}}% + \linkcolor #1% + \advance\lnkcount by 1% + \endlink + \fi + \nextmakelinks + } + \def\picknum#1{\expandafter\pn#1} + \def\pn#1{% + \def\p{#1}% + \ifx\p\lbrace + \let\nextpn=\ppn + \else + \let\nextpn=\ppnn + \def\first{#1} + \fi + \nextpn + } + \def\ppn#1{\pgn=#1\gobble} + \def\ppnn{\pgn=\first} + \def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,} + \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + \def\skipspaces#1{\def\PP{#1}\def\D{|}% + \ifx\PP\D\let\nextsp\relax + \else\let\nextsp\skipspaces + \ifx\p\space\else\addtokens{\filename}{\PP}% + \advance\filenamelength by 1 + \fi + \fi + \nextsp} + \def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} + \ifnum\pdftexversion < 14 + \let \startlink \pdfannotlink + \else + \let \startlink \pdfstartlink \fi - \nextsp} -\def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax} - -\def\pdflink#1{% - \leavevmode\Red - \begingroup - \normalturnoffactive\def\@{@}% - \pdfannotlink - attr{/Border [0 0 0]}% - user{/Subtype /Link /A << /S /URI /URI (#1) >>}% - \endgroup -} + \def\pdfurl#1{% + \begingroup + \normalturnoffactive\def\@{@}% + \leavevmode\Red + \startlink attr{/Border [0 0 0]}% + user{/Subtype /Link /A << /S /URI /URI (#1) >>}% + % #1 + \endgroup} + \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}} + \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks} + \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks} + \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}} + \def\maketoks{% + \expandafter\poptoks\the\toksA|ENDTOKS| + \ifx\first0\adn0 + \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3 + \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6 + \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9 + \else + \ifnum0=\countA\else\makelink\fi + \ifx\first.\let\next=\done\else + \let\next=\maketoks + \addtokens{\toksB}{\the\toksD} + \ifx\first,\addtokens{\toksB}{\space}\fi + \fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \next} + \def\makelink{\addtokens{\toksB}% + {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0} + \def\pdflink#1{% + \startlink attr{/Border [0 0 0]} goto name{\mkpgn{#1}} + \linkcolor #1\endlink} + \def\mkpgn#1{#1@} + \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} +\fi % \ifx\pdfoutput -\else -\let\pdflink = \gobble -\fi % end \ifpdf \message{fonts,} % Font-change commands. @@ -1039,23 +1089,17 @@ where each line of input produces a line \setfont\deftt\ttshape{10}{\magstep1} \def\df{\let\tentt=\deftt \let\tenbf = \defbf \bf} -% Fonts for indices and small examples (9pt). -% We actually use the slanted font rather than the italic, -% because texinfo normally uses the slanted fonts for that. -% Do not make many font distinctions in general in the index, since they -% aren't very useful. -\setfont\ninett\ttshape{9}{1000} -\setfont\ninettsl\ttslshape{10}{900} -\setfont\indrm\rmshape{9}{1000} -\setfont\indit\itshape{9}{1000} -\setfont\indsl\slshape{9}{1000} -\let\indtt=\ninett -\let\indttsl=\ninettsl -\let\indsf=\indrm -\let\indbf=\indrm -\setfont\indsc\scshape{10}{900} -\font\indi=cmmi9 -\font\indsy=cmsy9 +% Fonts for indices, footnotes, small examples (9pt). +\setfont\smallrm\rmshape{9}{1000} +\setfont\smalltt\ttshape{9}{1000} +\setfont\smallbf\bfshape{10}{900} +\setfont\smallit\itshape{9}{1000} +\setfont\smallsl\slshape{9}{1000} +\setfont\smallsf\sfshape{9}{1000} +\setfont\smallsc\scshape{10}{900} +\setfont\smallttsl\ttslshape{10}{900} +\font\smalli=cmmi9 +\font\smallsy=cmsy9 % Fonts for title page: \setfont\titlerm\rmbshape{12}{\magstep3} @@ -1169,11 +1213,12 @@ where each line of input produces a line \let\tensf=\ssecsf \let\teni=\sseci \let\tensy=\ssecsy \let\tenttsl=\ssecttsl \resetmathfonts \setleading{15pt}} \let\subsubsecfonts = \subsecfonts % Maybe make sssec fonts scaled magstephalf? -\def\indexfonts{% - \let\tenrm=\indrm \let\tenit=\indit \let\tensl=\indsl - \let\tenbf=\indbf \let\tentt=\indtt \let\smallcaps=\indsc - \let\tensf=\indsf \let\teni=\indi \let\tensy=\indsy \let\tenttsl=\indttsl - \resetmathfonts \setleading{12pt}} +\def\smallfonts{% + \let\tenrm=\smallrm \let\tenit=\smallit \let\tensl=\smallsl + \let\tenbf=\smallbf \let\tentt=\smalltt \let\smallcaps=\smallsc + \let\tensf=\smallsf \let\teni=\smalli \let\tensy=\smallsy + \let\tenttsl=\smallttsl + \resetmathfonts \setleading{11pt}} % Set up the default fonts, so we can use them for creating boxes. % @@ -1222,9 +1267,9 @@ where each line of input produces a line } \let\ttfont=\t \def\samp#1{`\tclose{#1}'\null} -\setfont\smallrm\rmshape{8}{1000} -\font\smallsy=cmsy9 -\def\key#1{{\smallrm\textfont2=\smallsy \leavevmode\hbox{% +\setfont\keyrm\rmshape{8}{1000} +\font\keysy=cmsy9 +\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% \vbox{\hrule\kern-0.4pt \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% @@ -1335,8 +1380,9 @@ where each line of input produces a line % a hypertex \special here. % \def\uref#1{\douref #1,,,\finish} -\def\douref#1,#2,#3,#4\finish{% - \pdflink{#1}% +\def\douref#1,#2,#3,#4\finish{\begingroup + \unsepspaces + \pdfurl{#1}% \setbox0 = \hbox{\ignorespaces #3}% \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that @@ -1352,11 +1398,8 @@ where each line of input produces a line \code{#1}% only url given, so show it \fi \fi - % - \ifpdf - \Black\pdfendlink - \fi -} + \endlink +\endgroup} % rms does not like angle brackets --karl, 17may97. % So now @email is just like @uref, unless we are pdf. @@ -1364,12 +1407,13 @@ where each line of input produces a line %\def\email#1{\angleleft{\tt #1}\angleright} \ifpdf \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{% - \pdflink{mailto:#1}% + \def\doemail#1,#2,#3\finish{\begingroup + \unsepspaces + \pdfurl{mailto:#1}% \setbox0 = \hbox{\ignorespaces #2}% \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \Black\pdfendlink - } + \endlink + \endgroup} \else \let\email=\uref \fi @@ -1491,6 +1535,8 @@ where each line of input produces a line \global\let\shortcontents = \relax \fi % + \ifpdf \pdfmakepagedesttrue \fi + % \HEADINGSon } @@ -2141,15 +2187,18 @@ where each line of input produces a line % If so, do nothing. If not, give it an appropriate dimension based on % current baselineskip. \ifdim\multitablelinespace=0pt +\setbox0=\vbox{X}\global\multitablelinespace=\the\baselineskip +\global\advance\multitablelinespace by-\ht0 %% strut to put in table in case some entry doesn't have descenders, %% to keep lines equally spaced \let\multistrut = \strut -%% Test to see if parskip is larger than space between lines of -%% table. If not, do nothing. -%% If so, set to same dimension as multitablelinespace. \else +%% FIXME: what is \box0 supposed to be? \gdef\multistrut{\vrule height\multitablelinespace depth\dp0 width0pt\relax} \fi +%% Test to see if parskip is larger than space between lines of +%% table. If not, do nothing. +%% If so, set to same dimension as multitablelinespace. \ifdim\multitableparskip>\multitablelinespace \global\multitableparskip=\multitablelinespace \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller @@ -2212,6 +2261,7 @@ width0pt\relax} \fi \let\deftypefn = \relax \let\deftypefun = \relax \let\deftypeivar = \relax + \let\deftypeop = \relax \let\deftypevar = \relax \let\deftypevr = \relax \let\defun = \relax @@ -2355,14 +2405,13 @@ width0pt\relax} \fi % stuff compared to the main input. % \nullfont - \let\tenrm = \nullfont \let\tenit = \nullfont \let\tensl = \nullfont - \let\tenbf = \nullfont \let\tentt = \nullfont \let\smallcaps = \nullfont - \let\tensf = \nullfont - % Similarly for index fonts (mostly for their use in - % smallexample) - \let\indrm = \nullfont \let\indit = \nullfont \let\indsl = \nullfont - \let\indbf = \nullfont \let\indtt = \nullfont \let\indsc = \nullfont - \let\indsf = \nullfont + \let\tenrm=\nullfont \let\tenit=\nullfont \let\tensl=\nullfont + \let\tenbf=\nullfont \let\tentt=\nullfont \let\smallcaps=\nullfont + \let\tensf=\nullfont + % Similarly for index fonts (mostly for their use in smallexample). + \let\smallrm=\nullfont \let\smallit=\nullfont \let\smallsl=\nullfont + \let\smallbf=\nullfont \let\smalltt=\nullfont \let\smallsc=\nullfont + \let\smallsf=\nullfont % % Don't complain when characters are missing from the fonts. \tracinglostchars = 0 @@ -2626,7 +2675,7 @@ width0pt\relax} \fi \def\@{@}% will be @@ when we switch to @ as escape char. % Need these in case \tex is in effect and \{ is a \delimiter again. % But can't use \lbracecmd and \rbracecmd because texindex assumes -% braces and backslashes are used only as delimiters. +% braces and backslashes are used only as delimiters. \let\{ = \mylbrace \let\} = \myrbrace \def\_{{\realbackslash _}}% @@ -2739,6 +2788,7 @@ width0pt\relax} \fi \let\url=\indexdummyfont \let\uref=\indexdummyfont \let\env=\indexdummyfont +\let\acronym=\indexdummyfont \let\command=\indexdummyfont \let\option=\indexdummyfont \let\file=\indexdummyfont @@ -2892,7 +2942,7 @@ width0pt\relax} \fi \def\doprintindex#1{\begingroup \dobreak \chapheadingskip{10000}% % - \indexfonts \rm + \smallfonts \rm \tolerance = 9500 \indexbreaks % @@ -3019,7 +3069,11 @@ width0pt\relax} \fi % The `\ ' here is removed by the implicit \unskip that TeX does as % part of (the primitive) \par. Without it, a spurious underfull % \hbox ensues. - \ #2% The page number ends the paragraph. + \ifpdf + \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. + \else + \ #2% The page number ends the paragraph. + \fi \fi% \par \endgroup} @@ -3186,12 +3240,44 @@ width0pt\relax} \fi \newcount\subsubsecno \subsubsecno=0 % This counter is funny since it counts through charcodes of letters A, B, ... -% The \the is necessary, despite appearances, because \appendixletter is -% expanded while writing the .toc file. \char\appendixno is not -% expandable, thus it is written literally, thus all appendixes come out -% with the same letter (or @) in the toc without it. \newcount\appendixno \appendixno = `\@ -\def\appendixletter{\char\the\appendixno} +% \def\appendixletter{\char\the\appendixno} +% We do the following for the sake of pdftex, which needs the actual +% letter in the expansion, not just typeset. +\def\appendixletter{% + \ifnum\appendixno=`A A% + \else\ifnum\appendixno=`B B% + \else\ifnum\appendixno=`C C% + \else\ifnum\appendixno=`D D% + \else\ifnum\appendixno=`E E% + \else\ifnum\appendixno=`F F% + \else\ifnum\appendixno=`G G% + \else\ifnum\appendixno=`H H% + \else\ifnum\appendixno=`I I% + \else\ifnum\appendixno=`J J% + \else\ifnum\appendixno=`K K% + \else\ifnum\appendixno=`L L% + \else\ifnum\appendixno=`M M% + \else\ifnum\appendixno=`N N% + \else\ifnum\appendixno=`O O% + \else\ifnum\appendixno=`P P% + \else\ifnum\appendixno=`Q Q% + \else\ifnum\appendixno=`R R% + \else\ifnum\appendixno=`S S% + \else\ifnum\appendixno=`T T% + \else\ifnum\appendixno=`U U% + \else\ifnum\appendixno=`V V% + \else\ifnum\appendixno=`W W% + \else\ifnum\appendixno=`X X% + \else\ifnum\appendixno=`Y Y% + \else\ifnum\appendixno=`Z Z% + % The \the is necessary, despite appearances, because \appendixletter is + % expanded while writing the .toc file. \char\appendixno is not + % expandable, thus it is written literally, thus all appendixes come out + % with the same letter (or @) in the toc without it. + \else\char\the\appendixno + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi + \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi} % Each @chapter defines this as the name of the chapter. % page headings and footings can use it. @section does likewise. @@ -3725,6 +3811,7 @@ width0pt\relax} \fi \fi \vfill \eject \contentsalignmacro % in case @setchapternewpage odd is in effect + \pdfmakeoutlines \endgroup \lastnegativepageno = \pageno \pageno = \savepageno @@ -3775,7 +3862,7 @@ width0pt\relax} \fi % See comments in \dochapentry re vbox and related settings \def\shortchapentry#1#2#3{% - \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno{#3}}% + \tocentry{\shortchaplabel{#2}\labelspace #1}{\doshortpageno\bgroup#3\egroup}% } % Typeset the label for a chapter or appendix for the short contents. @@ -3783,10 +3870,14 @@ width0pt\relax} \fi % We could simplify the code here by writing out an \appendixentry % command in the toc file for appendices, instead of using \chapentry % for both, but it doesn't seem worth it. -\setbox0 = \hbox{\shortcontrm \putwordAppendix } -\newdimen\shortappendixwidth \shortappendixwidth = \wd0 - +% +\newdimen\shortappendixwidth +% \def\shortchaplabel#1{% + % Compute width of word "Appendix", may change with language. + \setbox0 = \hbox{\shortcontrm \putwordAppendix}% + \shortappendixwidth = \wd0 + % % We typeset #1 in a box of constant width, regardless of the text of % #1, so the chapter titles will come out aligned. \setbox0 = \hbox{#1}% @@ -3801,7 +3892,7 @@ width0pt\relax} \fi } \def\unnumbchapentry#1#2{\dochapentry{#1}{#2}} -\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno{#2}}} +\def\shortunnumberedentry#1#2{\tocentry{#1}{\doshortpageno\bgroup#2\egroup}} % Sections. \def\secentry#1#2#3#4{\dosecentry{#2.#3\labelspace#1}{#4}} @@ -3828,24 +3919,24 @@ width0pt\relax} \fi \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip \begingroup \chapentryfonts - \tocentry{#1}{\dopageno{#2}}% + \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup \nobreak\vskip .25\baselineskip plus.1\baselineskip } \def\dosecentry#1#2{\begingroup \secentryfonts \leftskip=\tocindent - \tocentry{#1}{\dopageno{#2}}% + \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsecentry#1#2{\begingroup \subsecentryfonts \leftskip=2\tocindent - \tocentry{#1}{\dopageno{#2}}% + \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} \def\dosubsubsecentry#1#2{\begingroup \subsubsecentryfonts \leftskip=3\tocindent - \tocentry{#1}{\dopageno{#2}}% + \tocentry{#1}{\dopageno\bgroup#2\egroup}% \endgroup} % Final typesetting of a toc entry; we use the same \entry macro as for @@ -4123,7 +4214,7 @@ width0pt\relax} \fi \def\smalllispx{\begingroup \def\Esmalllisp{\nonfillfinish\endgroup}% \def\Esmallexample{\nonfillfinish\endgroup}% - \indexfonts + \smallfonts \lisp } @@ -4139,7 +4230,7 @@ width0pt\relax} \fi % \def\smalldisplayx{\begingroup \def\Esmalldisplay{\nonfillfinish\endgroup}% - \indexfonts \rm + \smallfonts \rm \display } @@ -4156,7 +4247,7 @@ width0pt\relax} \fi % \def\smallformatx{\begingroup \def\Esmallformat{\nonfillfinish\endgroup}% - \indexfonts \rm + \smallfonts \rm \format } @@ -4326,23 +4417,39 @@ width0pt\relax} \fi \exdentamount=\defbodyindent \begingroup\obeylines\activeparens\spacesplit{#3{#4}}} -% @deftypemethod has an extra argument that nothing else does. Sigh. +% Used for @deftypemethod and @deftypeivar. % #1 is the \E... control sequence to end the definition (which we define). % #2 is the \...x control sequence for consecutive fns (which we define). % #3 is the control sequence to call to resume processing. -% #4, delimited by the space, is the class name. +% #4, delimited by a space, is the class name. % #5 is the method's return type. % -\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV % -\medbreak % -% Define the end token that this defining construct specifies -% so that it will exit this group. -\def#1{\endgraf\endgroup\medbreak}% -\def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}% -\parindent=0in -\advance\leftskip by \defbodyindent -\exdentamount=\defbodyindent -\begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}} +\def\deftypemethparsebody#1#2#3#4 #5 {\begingroup\inENV + \medbreak + \def#1{\endgraf\endgroup\medbreak}% + \def#2##1 ##2 {\begingroup\obeylines\activeparens\spacesplit{#3{##1}{##2}}}% + \parindent=0in + \advance\leftskip by \defbodyindent + \exdentamount=\defbodyindent + \begingroup\obeylines\activeparens\spacesplit{#3{#4}{#5}}} + +% Used for @deftypeop. The change from \deftypemethparsebody is an +% extra argument at the beginning which is the `category', instead of it +% being the hardwired string `Method' or `Instance Variable'. We have +% to account for this both in the \...x definition and in parsing the +% input at hand. Thus also need a control sequence (passed as #5) for +% the \E... definition to assign the category name to. +% +\def\deftypeopparsebody#1#2#3#4#5 #6 {\begingroup\inENV + \medbreak + \def#1{\endgraf\endgroup\medbreak}% + \def#2##1 ##2 ##3 {% + \def#4{##1}% + \begingroup\obeylines\activeparens\spacesplit{#3{##2}{##3}}}% + \parindent=0in + \advance\leftskip by \defbodyindent + \exdentamount=\defbodyindent + \begingroup\obeylines\activeparens\spacesplit{#3{#5}{#6}}} \def\defopparsebody #1#2#3#4#5 {\begingroup\inENV % \medbreak % @@ -4558,13 +4665,29 @@ width0pt\relax} \fi \def\defop #1 {\def\defoptype{#1}% \defopparsebody\Edefop\defopx\defopheader\defoptype} % -\def\defopheader #1#2#3{% +\def\defopheader#1#2#3{% \dosubind {fn}{\code{#2}}{\putwordon\ #1}% Make entry in function index \begingroup\defname {#2}{\defoptype\ \putwordon\ #1}% \defunargs {#3}\endgroup % } -% @deftypemethod CLASS RETURN-TYPE METHOD ARG... +% @deftypeop CATEGORY CLASS TYPE OPERATION ARG... +% +\def\deftypeop #1 {\def\deftypeopcategory{#1}% + \deftypeopparsebody\Edeftypeop\deftypeopx\deftypeopheader + \deftypeopcategory} +% +% #1 is the class name, #2 the data type, #3 the operation name, #4 the args. +\def\deftypeopheader#1#2#3#4{% + \dosubind{fn}{\code{#3}}{\putwordon\ \code{#1}}% entry in function index + \begingroup + \defname{\defheaderxcond#2\relax$$$#3} + {\deftypeopcategory\ \putwordon\ \code{#1}}% + \deftypefunargs{#4}% + \endgroup +} + +% @deftypemethod CLASS TYPE METHOD ARG... % \def\deftypemethod{% \deftypemethparsebody\Edeftypemethod\deftypemethodx\deftypemethodheader} @@ -4713,6 +4836,7 @@ width0pt\relax} \fi \def\deftypefunx#1 {\errmessage{@deftypefunx in invalid context}} \def\deftypeivarx#1 {\errmessage{@deftypeivarx in invalid context}} \def\deftypemethodx#1 {\errmessage{@deftypemethodx in invalid context}} +\def\deftypeopx#1 {\errmessage{@deftypeopx in invalid context}} \def\deftypevarx#1 {\errmessage{@deftypevarx in invalid context}} \def\deftypevrx#1 {\errmessage{@deftypevrx in invalid context}} \def\defunx#1 {\errmessage{@defunx in invalid context}} @@ -5000,7 +5124,14 @@ width0pt\relax} \fi % @alias. -\def\alias#1=#2{\gdef#1{#2}} +% We need some trickery to remove the optional spaces around the equal +% sign. Just make them active and then expand them all to nothing. +\def\alias{\begingroup\obeyspaces\parsearg\aliasxxx} +\def\aliasxxx #1{\aliasyyy#1\relax} +\def\aliasyyy #1=#2\relax{\ignoreactivespaces +\edef\next{\global\let\expandafter\noexpand\csname#1\endcsname=% + \expandafter\noexpand\csname#2\endcsname}% +\expandafter\endgroup\next} \message{cross references,} @@ -5048,20 +5179,10 @@ width0pt\relax} \fi % @anchor{NAME} -- define xref target at arbitrary point. % -{ \catcode`\@ = 11 -% From latex.ltx, to make @anchor truely invisible. -\newdimen\@savsk -\newcount\@savsf -\gdef\@bsphack{\relax - \ifhmode \@savsk\lastskip \@savsf\spacefactor \fi -} -\gdef\@esphack{\relax - \ifhmode \spacefactor\@savsf - \ifdim\@savsk>\z@ \ignorespaces \fi - \fi -} -\gdef\anchor#1{\@bsphack \setref{#1}{Ynothing}\@esphack} -} +\newcount\savesfregister +\gdef\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi} +\gdef\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi} +\gdef\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces} % \setref{NAME}{SNT} defines a cross-reference point NAME, namely % NAME-title, NAME-pg, and NAME-SNT. Called from \foonoderef. We have @@ -5071,7 +5192,7 @@ width0pt\relax} \fi % \def\setref#1#2{{% \indexdummies - \ifpdf \pdfmkdest{#1}\fi + \pdfmkdest{#1}% \dosetq{#1-title}{Ytitle}% \dosetq{#1-pg}{Ypagenumber}% \dosetq{#1-snt}{#2}% @@ -5086,6 +5207,7 @@ width0pt\relax} \fi \def\xref#1{\putwordSee{} \xrefX[#1,,,,,,,]} \def\ref#1{\xrefX[#1,,,,,,,]} \def\xrefX[#1,#2,#3,#4,#5,#6]{\begingroup + \unsepspaces \def\printedmanual{\ignorespaces #5}% \def\printednodename{\ignorespaces #3}% \setbox1=\hbox{\printedmanual}% @@ -5123,13 +5245,13 @@ width0pt\relax} \fi \leavevmode \getfilename{#4}% \ifnum\filenamelength>0 - \pdfannotlink attr{/Border [0 0 0]}% + \startlink attr{/Border [0 0 0]}% goto file{\the\filename.pdf} name{#1@}% \else - \pdfannotlink attr{/Border [0 0 0]}% + \startlink attr{/Border [0 0 0]}% goto name{#1@}% \fi - \BlueGreen + \linkcolor \fi % \ifdim \wd1 > 0pt @@ -5151,7 +5273,7 @@ width0pt\relax} \fi % page 3 \turnoffactive \putwordpage\tie\refx{#1-pg}{}% \fi - \ifpdf \Black\pdfendlink \fi + \endlink \endgroup} % \dosetq is the interface for calls from other macros @@ -5388,6 +5510,8 @@ width0pt\relax} \fi \xspaceskip\z@skip \parindent\defaultparindent % + \smallfonts \rm + % % Hang the footnote text off the number. \hang \textindent{\thisfootno}% @@ -5402,7 +5526,7 @@ width0pt\relax} \fi \else\let\next\f@t\fi \next} \def\f@@t{\bgroup\aftergroup\@foot\let\next} \def\f@t#1{#1\@foot} -\def\@foot{\strut\egroup} +\def\@foot{\strut\par\egroup} }%end \catcode `\@=11 @@ -5497,7 +5621,9 @@ width0pt\relax} \fi % #2 is (optional) width, #3 is (optional) height. % #4 is just the usual extra ignored arg for parsing this stuff. \def\imagexxx#1,#2,#3,#4\finish{% - \ifx\pdfoutput\undefined + \ifpdf + \centerline{\dopdfimage{#1}{#2}{#3}}% + \else % \epsfbox itself resets \epsf?size at each figure. \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi @@ -5518,8 +5644,6 @@ width0pt\relax} \fi \epsfbox{#1.eps}% \fi \endgroup - \else - \centerline{\pdfimage #1.pdf}% \fi } @@ -5670,7 +5794,7 @@ should work if nowhere else does.} % Use @afourwide to print on European A4 paper in wide format. \def\afourwide{% \afourpaper - \internalpagesizes{9.5in}{6.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}% + \internalpagesizes{6.5in}{9.5in}{\hoffset}{\normaloffset}{\bindingoffset}{7mm}% % \globaldefs = 0 } @@ -5863,6 +5987,6 @@ should work if nowhere else does.} @c eval: (add-hook 'write-file-hooks 'time-stamp) @c page-delimiter: "^\\\\message" @c time-stamp-start: "def\\\\texinfoversion{" -@c time-stamp-format: "%:y-%02m-%02d.%H" +@c time-stamp-format: "%:y-%02m-%02d.%02H" @c time-stamp-end: "}" @c End: diff -durpN glibc-2.1.2/manual/time.texi glibc-2.1.3/manual/time.texi --- glibc-2.1.2/manual/time.texi Sun Aug 1 15:12:00 1999 +++ glibc-2.1.3/manual/time.texi Tue Feb 22 23:02:56 2000 @@ -104,7 +104,7 @@ around 36 minutes. @deftypevr Macro int CLOCKS_PER_SEC The value of this macro is the number of clock ticks per second measured by the @code{clock} function. POSIX requires that this value is one -million independend of the actual resolution. +million independent of the actual resolution. @end deftypevr @comment time.h @@ -552,7 +552,7 @@ Zone Functions}. Using the @code{localtime} function is a big problem in multi-threaded programs. The result is returned in a static buffer and this is used in -all threads. POSIX.1c introduced a varient of this function. +all threads. POSIX.1c introduced a variant of this function. @comment time.h @comment POSIX.1c @@ -1892,7 +1892,7 @@ This is the estimated error, measured in be set using bit @code{MOD_ESTERROR}. @item int status -This valiable reflects the various states of the clock machinery. There +This variable reflects the various states of the clock machinery. There are symbolic constants for the significant bits, starting with @code{STA_}. Some of these flags can be updated using the @code{MOD_STATUS} bit. @@ -1930,7 +1930,7 @@ This value represents the median filtere frequency in scaled PPM. @item long int jitcnt -This counter represents the numer of pulses where the jitter exceeded +This counter represents the number of pulses where the jitter exceeded the allowed maximum @code{MAXTIME}. @item long int calcnt diff -durpN glibc-2.1.2/manual/users.texi glibc-2.1.3/manual/users.texi --- glibc-2.1.2/manual/users.texi Fri Jul 2 11:11:40 1999 +++ glibc-2.1.3/manual/users.texi Tue Feb 22 23:02:56 2000 @@ -1482,7 +1482,7 @@ pointed to by the elements of the result If a user with ID @var{uid} is found, the pointer returned in @var{result} points to the record which contains the wanted data (i.e., @var{result} contains the value @var{result_buf}). If no user is found -or if an error occured, the pointer returned in @var{result} is a null +or if an error occurred, the pointer returned in @var{result} is a null pointer. The function returns zero or an error code. If the buffer @var{buffer} is too small to contain all the needed information, the error code @code{ERANGE} is returned and @var{errno} is set to @@ -1695,7 +1695,7 @@ pointed to by the elements of the result If a group with ID @var{gid} is found, the pointer returned in @var{result} points to the record which contains the wanted data (i.e., @var{result} contains the value @var{result_buf}). If no group is found -or if an error occured, the pointer returned in @var{result} is a null +or if an error occurred, the pointer returned in @var{result} is a null pointer. The function returns zero or an error code. If the buffer @var{buffer} is too small to contain all the needed information, the error code @code{ERANGE} is returned and @var{errno} is set to diff -durpN glibc-2.1.2/math/bits/mathcalls.h glibc-2.1.3/math/bits/mathcalls.h --- glibc-2.1.2/math/bits/mathcalls.h Sat Jan 23 14:13:17 1999 +++ glibc-2.1.3/math/bits/mathcalls.h Mon Oct 4 12:51:10 1999 @@ -175,13 +175,16 @@ __MATHCALL (fmod,, (_Mdouble_ __x, _Mdou is +Infinity, -1 if it is -Infinity. */ __MATHDECL_1 (int,__isinf,, (_Mdouble_ __value)) __attribute__ ((__const__)); +/* Return nonzero if VALUE is finite and not NaN. */ +__MATHDECL_1 (int,__finite,, (_Mdouble_ __value)) __attribute__ ((__const__)); + #ifdef __USE_MISC /* Return 0 if VALUE is finite or NaN, +1 if it is +Infinity, -1 if it is -Infinity. */ __MATHDECL_1 (int,isinf,, (_Mdouble_ __value)) __attribute__ ((__const__)); /* Return nonzero if VALUE is finite and not NaN. */ -__MATHDECLX (int,finite,, (_Mdouble_ __value), (__const__)); +__MATHDECL_1 (int,finite,, (_Mdouble_ __value)) __attribute__ ((__const__)); /* Deal with an infinite or NaN result. If ERROR is ERANGE, result is +Inf; @@ -210,9 +213,12 @@ __MATHCALLX (nan,, (__const char *__tagb #endif +/* Return nonzero if VALUE is not a number. */ +__MATHDECL_1 (int,__isnan,, (_Mdouble_ __value)) __attribute__ ((__const__)); + #if defined __USE_MISC || defined __USE_XOPEN /* Return nonzero if VALUE is not a number. */ -__MATHDECLX (int,isnan,, (_Mdouble_ __value), (__const__)); +__MATHDECL_1 (int,isnan,, (_Mdouble_ __value)) __attribute__ ((__const__)); /* Bessel functions. */ __MATHCALL (j0,, (_Mdouble_)); @@ -259,10 +265,10 @@ __MATHCALLX (nexttoward,, (_Mdouble_ __x /* Return the remainder of integer divison X / Y with infinite precision. */ __MATHCALL (remainder,, (_Mdouble_ __x, _Mdouble_ __y)); -#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED +# if defined __USE_MISC || defined __USE_XOPEN_EXTENDED /* Return X times (2 to the Nth power). */ __MATHCALL (scalb,, (_Mdouble_ __x, _Mdouble_ __n)); -#endif +# endif /* Return X times (2 to the Nth power). */ __MATHCALL (scalbn,, (_Mdouble_ __x, int __n)); diff -durpN glibc-2.1.2/math/libm-test.c glibc-2.1.3/math/libm-test.c --- glibc-2.1.2/math/libm-test.c Mon Sep 6 12:32:35 1999 +++ glibc-2.1.3/math/libm-test.c Tue Feb 22 23:02:57 2000 @@ -95,7 +95,7 @@ between the two kinds of NaNs as result. Inline functions: Inlining functions should give an improvement in - speed - but not in precission. The inlined functions return + speed - but not in precision. The inlined functions return reasonable values for a reasonable range of input values. The result is not necessarily correct for all values and exceptions are not correctly raised in all cases. Problematic input and return @@ -6301,7 +6301,7 @@ main (int argc, char *argv[]) noTests, noExcTests); if (noErrors) { - printf (" %d errors occured.\n", noErrors); + printf (" %d errors occurred.\n", noErrors); exit (1); } printf (" All tests passed successfully.\n"); diff -durpN glibc-2.1.2/math/math.h glibc-2.1.3/math/math.h --- glibc-2.1.2/math/math.h Tue Dec 8 05:11:27 1998 +++ glibc-2.1.3/math/math.h Mon Sep 13 10:30:20 1999 @@ -1,5 +1,5 @@ /* Declarations for math functions. - Copyright (C) 1991, 92, 93, 95, 96, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1991,92,93,95,96,97,98,99 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 @@ -166,68 +166,68 @@ enum }; /* Return number of classification appropriate for X. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define fpclassify(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define fpclassify(x) \ (sizeof (x) == sizeof (float) ? __fpclassifyf (x) : __fpclassify (x)) -#else -# define fpclassify(x) \ +# else +# define fpclassify(x) \ (sizeof (x) == sizeof (float) ? \ __fpclassifyf (x) \ : sizeof (x) == sizeof (double) ? \ __fpclassify (x) : __fpclassifyl (x)) -#endif +# endif /* Return nonzero value if sign of X is negative. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define signbit(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define signbit(x) \ (sizeof (x) == sizeof (float) ? __signbitf (x) : __signbit (x)) -#else -# define signbit(x) \ +# else +# define signbit(x) \ (sizeof (x) == sizeof (float) ? \ __signbitf (x) \ : sizeof (x) == sizeof (double) ? \ __signbit (x) : __signbitl (x)) -#endif +# endif /* Return nonzero value if X is not +-Inf or NaN. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define isfinite(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define isfinite(x) \ (sizeof (x) == sizeof (float) ? __finitef (x) : __finite (x)) -#else -# define isfinite(x) \ +# else +# define isfinite(x) \ (sizeof (x) == sizeof (float) ? \ __finitef (x) \ : sizeof (x) == sizeof (double) ? \ __finite (x) : __finitel (x)) -#endif +# endif /* Return nonzero value if X is neither zero, subnormal, Inf, nor NaN. */ # define isnormal(x) (fpclassify (x) == FP_NORMAL) /* Return nonzero value if X is a NaN. We could use `fpclassify' but we already have this functions `__isnan' and it is faster. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define isnan(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define isnan(x) \ (sizeof (x) == sizeof (float) ? __isnanf (x) : __isnan (x)) -#else -# define isnan(x) \ +# else +# define isnan(x) \ (sizeof (x) == sizeof (float) ? \ __isnanf (x) \ : sizeof (x) == sizeof (double) ? \ __isnan (x) : __isnanl (x)) -#endif +# endif /* Return nonzero value is X is positive or negative infinity. */ -#ifdef __NO_LONG_DOUBLE_MATH -# define isinf(x) \ +# ifdef __NO_LONG_DOUBLE_MATH +# define isinf(x) \ (sizeof (x) == sizeof (float) ? __isinff (x) : __isinf (x)) -#else -# define isinf(x) \ +# else +# define isinf(x) \ (sizeof (x) == sizeof (float) ? \ __isinff (x) \ : sizeof (x) == sizeof (double) ? \ __isinf (x) : __isinfl (x)) -#endif +# endif #endif /* Use ISO C 9X. */ diff -durpN glibc-2.1.2/math/test-fenv.c glibc-2.1.3/math/test-fenv.c --- glibc-2.1.2/math/test-fenv.c Thu Feb 26 00:34:51 1998 +++ glibc-2.1.3/math/test-fenv.c Tue Feb 22 23:02:57 2000 @@ -392,7 +392,7 @@ main (void) if (count_errors) { - printf ("\n%d errors occured.\n", count_errors); + printf ("\n%d errors occurred.\n", count_errors); exit (1); } printf ("\n All tests passed successfully.\n"); diff -durpN glibc-2.1.2/md5-crypt/md5-crypt.c glibc-2.1.3/md5-crypt/md5-crypt.c --- glibc-2.1.2/md5-crypt/md5-crypt.c Thu Jun 12 13:15:02 1997 +++ glibc-2.1.3/md5-crypt/md5-crypt.c Mon Oct 25 13:20:36 1999 @@ -1,5 +1,5 @@ /* One way encryption based on MD5 sum. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -39,11 +39,7 @@ static const char b64t[64] = /* Prototypes for local functions. */ extern char *__md5_crypt_r __P ((const char *key, const char *salt, char *buffer, int buflen)); -extern char *md5_crypt_r __P ((const char *key, const char *salt, - char *buffer, int buflen)); extern char *__md5_crypt __P ((const char *key, const char *salt)); -extern char *md5_crypt __P ((const char *key, const char *salt)); - /* This entry point is equivalent to the `crypt' function in Unix @@ -73,42 +69,42 @@ __md5_crypt_r (key, salt, buffer, buflen key_len = strlen (key); /* Prepare for the real work. */ - md5_init_ctx (&ctx); + __md5_init_ctx (&ctx); /* Add the key string. */ - md5_process_bytes (key, key_len, &ctx); + __md5_process_bytes (key, key_len, &ctx); /* Because the SALT argument need not always have the salt prefix we add it separately. */ - md5_process_bytes (md5_salt_prefix, sizeof (md5_salt_prefix) - 1, &ctx); + __md5_process_bytes (md5_salt_prefix, sizeof (md5_salt_prefix) - 1, &ctx); /* The last part is the salt string. This must be at most 8 characters and it ends at the first `$' character (for compatibility which existing solutions). */ - md5_process_bytes (salt, salt_len, &ctx); + __md5_process_bytes (salt, salt_len, &ctx); /* Compute alternate MD5 sum with input KEY, SALT, and KEY. The final result will be added to the first context. */ - md5_init_ctx (&alt_ctx); + __md5_init_ctx (&alt_ctx); /* Add key. */ - md5_process_bytes (key, key_len, &alt_ctx); + __md5_process_bytes (key, key_len, &alt_ctx); /* Add salt. */ - md5_process_bytes (salt, salt_len, &alt_ctx); + __md5_process_bytes (salt, salt_len, &alt_ctx); /* Add key again. */ - md5_process_bytes (key, key_len, &alt_ctx); + __md5_process_bytes (key, key_len, &alt_ctx); /* Now get result of this (16 bytes) and add it to the other context. */ - md5_finish_ctx (&alt_ctx, alt_result); + __md5_finish_ctx (&alt_ctx, alt_result); /* Add for any character in the key one byte of the alternate sum. */ for (cnt = key_len; cnt > 16; cnt -= 16) - md5_process_bytes (alt_result, 16, &ctx); - md5_process_bytes (alt_result, cnt, &ctx); + __md5_process_bytes (alt_result, 16, &ctx); + __md5_process_bytes (alt_result, cnt, &ctx); /* For the following code we need a NUL byte. */ *alt_result = '\0'; @@ -118,11 +114,11 @@ __md5_crypt_r (key, salt, buffer, buflen bit the first character of the key. This does not seem to be what was intended but we have to follow this to be compatible. */ for (cnt = key_len; cnt > 0; cnt >>= 1) - md5_process_bytes ((cnt & 1) != 0 ? (const char *) alt_result : key, 1, - &ctx); + __md5_process_bytes ((cnt & 1) != 0 ? (const char *) alt_result : key, 1, + &ctx); /* Create intermediate result. */ - md5_finish_ctx (&ctx, alt_result); + __md5_finish_ctx (&ctx, alt_result); /* Now comes another weirdness. In fear of password crackers here comes a quite long loop which just processes the output of the @@ -130,30 +126,30 @@ __md5_crypt_r (key, salt, buffer, buflen for (cnt = 0; cnt < 1000; ++cnt) { /* New context. */ - md5_init_ctx (&ctx); + __md5_init_ctx (&ctx); /* Add key or last result. */ if ((cnt & 1) != 0) - md5_process_bytes (key, key_len, &ctx); + __md5_process_bytes (key, key_len, &ctx); else - md5_process_bytes (alt_result, 16, &ctx); + __md5_process_bytes (alt_result, 16, &ctx); /* Add salt for numbers not divisible by 3. */ if (cnt % 3 != 0) - md5_process_bytes (salt, salt_len, &ctx); + __md5_process_bytes (salt, salt_len, &ctx); /* Add key for numbers not divisible by 7. */ if (cnt % 7 != 0) - md5_process_bytes (key, key_len, &ctx); + __md5_process_bytes (key, key_len, &ctx); /* Add key or last result. */ if ((cnt & 1) != 0) - md5_process_bytes (alt_result, 16, &ctx); + __md5_process_bytes (alt_result, 16, &ctx); else - md5_process_bytes (key, key_len, &ctx); + __md5_process_bytes (key, key_len, &ctx); /* Create intermediate result. */ - md5_finish_ctx (&ctx, alt_result); + __md5_finish_ctx (&ctx, alt_result); } /* Now we can construct the result string. It consists of three @@ -204,13 +200,10 @@ __md5_crypt_r (key, salt, buffer, buflen return buffer; } -weak_alias (__md5_crypt_r, md5_crypt_r) char * -__md5_crypt (key, salt) - const char *key; - const char *salt; +__md5_crypt (const char *key, const char *salt) { /* We don't want to have an arbitrary limit in the size of the password. We can compute the size of the result in advance and @@ -228,4 +221,3 @@ __md5_crypt (key, salt) return __md5_crypt_r (key, salt, buffer, buflen); } -weak_alias (__md5_crypt, md5_crypt) diff -durpN glibc-2.1.2/md5-crypt/md5.c glibc-2.1.3/md5-crypt/md5.c --- glibc-2.1.2/md5-crypt/md5.c Tue Jun 3 14:46:54 1997 +++ glibc-2.1.3/md5-crypt/md5.c Mon Oct 25 13:20:36 1999 @@ -1,6 +1,6 @@ /* md5.c - Functions to compute MD5 message digest of files or memory blocks according to the definition of MD5 in RFC 1321 from April 1992. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1999 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 @@ -43,7 +43,7 @@ # define WORDS_BIGENDIAN 1 # endif /* We need to keep the namespace clean so define the MD5 function - protected using leading __ and use weak aliases. */ + protected using leading __ . */ # define md5_init_ctx __md5_init_ctx # define md5_process_block __md5_process_block # define md5_process_bytes __md5_process_bytes @@ -426,22 +426,3 @@ md5_process_block (buffer, len, ctx) ctx->C = C; ctx->D = D; } - - -#ifdef _LIBC -/* Define weak aliases. */ -# undef md5_init_ctx -weak_alias (__md5_init_ctx, md5_init_ctx) -# undef md5_process_block -weak_alias (__md5_process_block, md5_process_block) -# undef md5_process_bytes -weak_alias (__md5_process_bytes, md5_process_bytes) -# undef md5_finish_ctx -weak_alias (__md5_finish_ctx, md5_finish_ctx) -# undef md5_read_ctx -weak_alias (__md5_read_ctx, md5_read_ctx) -# undef md5_stream -weak_alias (__md5_stream, md5_stream) -# undef md5_buffer -weak_alias (__md5_buffer, md5_buffer) -#endif diff -durpN glibc-2.1.2/md5-crypt/md5.h glibc-2.1.3/md5-crypt/md5.h --- glibc-2.1.2/md5-crypt/md5.h Sat Jun 21 14:41:42 1997 +++ glibc-2.1.3/md5-crypt/md5.h Mon Oct 25 13:20:36 1999 @@ -1,6 +1,6 @@ /* Declaration of functions and data types used for MD5 sum computing library functions. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1999 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 @@ -98,7 +98,6 @@ struct md5_ctx /* Initialize structure containing state of computation. (RFC 1321, 3.3: Step 3) */ extern void __md5_init_ctx __P ((struct md5_ctx *ctx)); -extern void md5_init_ctx __P ((struct md5_ctx *ctx)); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes @@ -106,8 +105,6 @@ extern void md5_init_ctx __P ((struct md It is necessary that LEN is a multiple of 64!!! */ extern void __md5_process_block __P ((const void *buffer, size_t len, struct md5_ctx *ctx)); -extern void md5_process_block __P ((const void *buffer, size_t len, - struct md5_ctx *ctx)); /* Starting with the result of former calls of this function (or the initialization function update the context for the next LEN bytes @@ -115,8 +112,6 @@ extern void md5_process_block __P ((cons It is NOT required that LEN is a multiple of 64. */ extern void __md5_process_bytes __P ((const void *buffer, size_t len, struct md5_ctx *ctx)); -extern void md5_process_bytes __P ((const void *buffer, size_t len, - struct md5_ctx *ctx)); /* Process the remaining bytes in the buffer and put result from CTX in first 16 bytes following RESBUF. The result is always in little @@ -126,7 +121,6 @@ extern void md5_process_bytes __P ((cons IMPORTANT: On some systems it is required that RESBUF is correctly aligned for a 32 bits value. */ extern void *__md5_finish_ctx __P ((struct md5_ctx *ctx, void *resbuf)); -extern void *md5_finish_ctx __P ((struct md5_ctx *ctx, void *resbuf)); /* Put result from CTX in first 16 bytes following RESBUF. The result is @@ -136,7 +130,6 @@ extern void *md5_finish_ctx __P ((struct IMPORTANT: On some systems it is required that RESBUF is correctly aligned for a 32 bits value. */ extern void *__md5_read_ctx __P ((const struct md5_ctx *ctx, void *resbuf)); -extern void *md5_read_ctx __P ((const struct md5_ctx *ctx, void *resbuf)); /* Compute MD5 message digest for bytes read from STREAM. The @@ -150,7 +143,5 @@ extern int __md5_stream __P ((FILE *stre digest. */ extern void *__md5_buffer __P ((const char *buffer, size_t len, void *resblock)); -extern void *md5_buffer __P ((const char *buffer, size_t len, - void *resblock)); #endif /* md5.h */ diff -durpN glibc-2.1.2/md5-crypt/md5test.c glibc-2.1.3/md5-crypt/md5test.c --- glibc-2.1.2/md5-crypt/md5test.c Sat Dec 14 18:14:40 1996 +++ glibc-2.1.3/md5-crypt/md5test.c Mon Oct 25 15:25:13 1999 @@ -35,9 +35,9 @@ main (int argc, char *argv[]) for (cnt = 0; cnt < (int) (sizeof (tests) / sizeof (tests[0])); ++cnt) { - md5_init_ctx (&ctx); - md5_process_bytes (tests[cnt].input, strlen (tests[cnt].input), &ctx); - md5_finish_ctx (&ctx, sum); + __md5_init_ctx (&ctx); + __md5_process_bytes (tests[cnt].input, strlen (tests[cnt].input), &ctx); + __md5_finish_ctx (&ctx, sum); result |= memcmp (tests[cnt].result, sum, 16); } diff -durpN glibc-2.1.2/misc/efgcvt_r.c glibc-2.1.3/misc/efgcvt_r.c --- glibc-2.1.2/misc/efgcvt_r.c Sun Aug 1 15:10:22 1999 +++ glibc-2.1.3/misc/efgcvt_r.c Thu Nov 11 10:09:53 1999 @@ -101,7 +101,8 @@ APPEND (FUNC_PREFIX, fcvt_r) (value, ndi n = __snprintf (buf, len, "%.*" FLOAT_FMT_FLAG "f", MIN (ndigit, NDIGIT_MAX), value); - if (n < 0) + /* Check for a too small buffer. */ + if (n >= len) return -1; i = 0; diff -durpN glibc-2.1.2/misc/libgen.h glibc-2.1.3/misc/libgen.h --- glibc-2.1.2/misc/libgen.h Fri Jun 20 18:00:03 1997 +++ glibc-2.1.3/misc/libgen.h Tue Feb 22 23:02:57 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 2000 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 @@ -33,7 +33,7 @@ extern char *dirname __P ((char *__path) <string.h>) and only if this header is included make the XPG version available under the real name. */ extern char *__xpg_basename __P ((char *__path)); -#define basename(path) __xpg_basename (path) +#define basename __xpg_basename __END_DECLS diff -durpN glibc-2.1.2/misc/search.h glibc-2.1.3/misc/search.h --- glibc-2.1.2/misc/search.h Fri Aug 27 17:30:30 1999 +++ glibc-2.1.3/misc/search.h Tue Feb 22 23:02:57 2000 @@ -1,5 +1,5 @@ /* Declarations for System V style searching functions. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995-1999, 2000 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 @@ -70,7 +70,7 @@ ACTION; typedef struct entry { char *key; - char *data; + void *data; } ENTRY; diff -durpN glibc-2.1.2/misc/sys/mman.h glibc-2.1.3/misc/sys/mman.h --- glibc-2.1.2/misc/sys/mman.h Mon Nov 16 03:56:20 1998 +++ glibc-2.1.3/misc/sys/mman.h Mon Nov 29 11:19:33 1999 @@ -1,5 +1,5 @@ /* Definitions for BSD-style memory management. - Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1994, 95, 96, 97, 98, 99 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 @@ -45,7 +45,7 @@ extern __ptr_t mmap __P ((__ptr_t __addr int __flags, int __fd, __off_t __offset)); #else extern __ptr_t mmap __P ((__ptr_t __addr, size_t __len, int __prot, - int __flags, int __fd, __off_t __offset)) + int __flags, int __fd, __off64_t __offset)) __asm__ ("mmap64"); #endif #ifdef __USE_LARGEFILE64 diff -durpN glibc-2.1.2/misc/syslog.c glibc-2.1.3/misc/syslog.c --- glibc-2.1.2/misc/syslog.c Wed Apr 28 15:07:57 1999 +++ glibc-2.1.3/misc/syslog.c Fri Feb 11 15:49:57 2000 @@ -181,10 +181,14 @@ vsyslog(pri, fmt, ap) v->iov_base = buf + msgoff; v->iov_len = bufsize - msgoff; - ++v; - v->iov_base = (char *) "\n"; - v->iov_len = 1; - (void)__writev(STDERR_FILENO, iov, 2); + /* Append a newline if necessary. */ + if (buf[bufsize - 1] != '\n') + { + ++v; + v->iov_base = (char *) "\n"; + v->iov_len = 1; + } + (void)__writev(STDERR_FILENO, iov, v - iov + 1); } /* Prepare for multiple users. We have to take care: open and @@ -325,7 +329,8 @@ closelog () closelog_internal (); LogTag = NULL; - + LogType = SOCK_DGRAM; /* this is the default */ + /* Free the lock. */ __libc_cleanup_region_end (1); } diff -durpN glibc-2.1.2/misc/tst-efgcvt.c glibc-2.1.3/misc/tst-efgcvt.c --- glibc-2.1.2/misc/tst-efgcvt.c Wed Jun 23 12:40:09 1999 +++ glibc-2.1.3/misc/tst-efgcvt.c Thu Nov 11 10:09:53 1999 @@ -120,9 +120,10 @@ test (testcase tests[], efcvt_func efcvt void special (void) { - int decpt, sign; + int decpt, sign, res; char *p; - + char buf [1024]; + p = ecvt (NAN, 10, &decpt, &sign); if (sign != 0 || strcmp (p, "nan") != 0) output_error ("ecvt", NAN, 10, "nan", 0, 0, p, decpt, sign); @@ -135,6 +136,20 @@ special (void) (void) ecvt (123.456, 10000, &decpt, &sign); (void) fcvt (123.456, 10000, &decpt, &sign); + /* Some tests for for the reentrant functions. */ + /* Use a too small buffer. */ + res = ecvt_r (123.456, 10, &decpt, &sign, buf, 1); + if (res == 0) + { + printf ("ecvt_r with a too small buffer was succesful.\n"); + ++error_count; + } + res = fcvt_r (123.456, 10, &decpt, &sign, buf, 1); + if (res == 0) + { + printf ("fcvt_r with a too small buffer was succesful.\n"); + ++error_count; + } } diff -durpN glibc-2.1.2/nis/nss_compat/compat-grp.c glibc-2.1.3/nis/nss_compat/compat-grp.c --- glibc-2.1.2/nis/nss_compat/compat-grp.c Tue Aug 18 16:24:38 1998 +++ glibc-2.1.3/nis/nss_compat/compat-grp.c Tue Dec 21 15:51:41 1999 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. 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 @@ -438,7 +438,10 @@ getgrnam_plusgroup (const char *name, st int outvallen; if (yp_get_default_domain (&domain) != YPERR_SUCCESS) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (yp_match (domain, "group.byname", name, strlen (name), &outval, &outvallen) != YPERR_SUCCESS) @@ -727,7 +730,10 @@ _nss_compat_getgrnam_r (const char *name enum nss_status status; if (name[0] == '-' || name[0] == '+') - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } __libc_lock_lock (lock); @@ -784,8 +790,8 @@ getgrgid_plusgroup (gid_t gid, struct gr if (yp_get_default_domain (&domain) != YPERR_SUCCESS) { - *errnop = errno; - return NSS_STATUS_TRYAGAIN; + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; } snprintf (buf, sizeof (buf), "%d", gid); @@ -793,8 +799,8 @@ getgrgid_plusgroup (gid_t gid, struct gr if (yp_match (domain, "group.bygid", buf, strlen (buf), &outval, &outvallen) != YPERR_SUCCESS) { - *errnop = errno; - return NSS_STATUS_TRYAGAIN; + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; } if (buflen < ((size_t) outvallen + 1)) @@ -912,7 +918,10 @@ internal_getgrgid_r (gid_t gid, struct g status = getgrgid_plusgroup (gid, result, buffer, buflen, errnop); if (status == NSS_STATUS_RETURN) /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; } diff -durpN glibc-2.1.2/nis/nss_compat/compat-initgroups.c glibc-2.1.3/nis/nss_compat/compat-initgroups.c --- glibc-2.1.2/nis/nss_compat/compat-initgroups.c Sun Aug 1 15:09:55 1999 +++ glibc-2.1.3/nis/nss_compat/compat-initgroups.c Tue Dec 21 15:51:41 1999 @@ -126,7 +126,7 @@ _nss_first_init (void) grptable = malloc (sizeof (key) + len_local_dir); if (grptable == NULL) - return NSS_STATUS_TRYAGAIN; + return NSS_STATUS_TRYAGAIN; grptablelen = ((char *) mempcpy (mempcpy (grptable, key, sizeof (key) - 1), @@ -263,6 +263,7 @@ getgrent_next_nis (struct group *result, if (yp_get_default_domain (&domain) != YPERR_SUCCESS) { ent->nis = 0; + *errnop = ENOENT; return NSS_STATUS_NOTFOUND; } @@ -445,7 +446,10 @@ getgrnam_plusgroup (const char *name, st ++p; parse_res = _nss_files_parse_grent (p, result, data, buflen, errnop); if (parse_res == -1) - return NSS_STATUS_TRYAGAIN; + { + *errnop = ERANGE; + return NSS_STATUS_TRYAGAIN; + } } if (parse_res) diff -durpN glibc-2.1.2/nis/nss_compat/compat-pwd.c glibc-2.1.3/nis/nss_compat/compat-pwd.c --- glibc-2.1.2/nis/nss_compat/compat-pwd.c Thu Dec 10 03:39:12 1998 +++ glibc-2.1.3/nis/nss_compat/compat-pwd.c Fri Dec 10 10:28:54 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. @@ -873,7 +873,10 @@ getpwnam_plususer (const char *name, str int outvallen; if (yp_get_default_domain (&domain) != YPERR_SUCCESS) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (yp_match (domain, "passwd.byname", name, strlen (name), &outval, &outvallen) != YPERR_SUCCESS) @@ -1376,8 +1379,8 @@ getpwuid_plususer (uid_t uid, struct pas if (yp_get_default_domain (&domain) != YPERR_SUCCESS) { - *errnop = errno; - return NSS_STATUS_TRYAGAIN; + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; } sprintf (buf, "%d", uid); @@ -1385,8 +1388,8 @@ getpwuid_plususer (uid_t uid, struct pas &outval, &outvallen) != YPERR_SUCCESS) { - *errnop = errno; - return NSS_STATUS_TRYAGAIN; + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; } if (insert_passwd_adjunct (&outval, &outvallen, domain, errnop) @@ -1448,7 +1451,10 @@ internal_getpwuid_r (uid_t uid, struct p buffer[buflen - 1] = '\xff'; p = fgets (buffer, buflen, ent->stream); if (p == NULL && feof (ent->stream)) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (p == NULL || buffer[buflen - 1] != '\xff') { fsetpos (ent->stream, &pos); @@ -1498,7 +1504,10 @@ internal_getpwuid_r (uid_t uid, struct p status = getpwuid_plususer (uid, result, buffer, buflen, errnop); if (status == NSS_STATUS_SUCCESS && innetgr (buf, NULL, result->pw_name, NULL)) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } continue; } @@ -1523,7 +1532,10 @@ internal_getpwuid_r (uid_t uid, struct p } else if (status == NSS_STATUS_RETURN) /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; @@ -1542,7 +1554,10 @@ internal_getpwuid_r (uid_t uid, struct p status = getpwuid_plususer (uid, result, buffer, buflen, errnop); if (status == NSS_STATUS_SUCCESS && innetgr (buf, NULL, result->pw_name, NULL)) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } continue; } @@ -1567,7 +1582,10 @@ internal_getpwuid_r (uid_t uid, struct p } else if (status == NSS_STATUS_RETURN) /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; @@ -1584,7 +1602,10 @@ internal_getpwuid_r (uid_t uid, struct p break; else if (status == NSS_STATUS_RETURN) /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; } diff -durpN glibc-2.1.2/nis/nss_compat/compat-spwd.c glibc-2.1.3/nis/nss_compat/compat-spwd.c --- glibc-2.1.2/nis/nss_compat/compat-spwd.c Fri Feb 19 00:33:38 1999 +++ glibc-2.1.3/nis/nss_compat/compat-spwd.c Tue Dec 21 15:51:41 1999 @@ -383,6 +383,7 @@ getspent_next_nis_netgr (const char *nam if (parse_res == -1) { ent->netgrdata.cursor = saved_cursor; + *errnop = ERANGE; return NSS_STATUS_TRYAGAIN; } @@ -1112,7 +1113,10 @@ internal_getspnam_r (const char *name, s && result->sp_namp[1] != '@') { if (strcmp (&result->sp_namp[1], name) == 0) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else continue; } @@ -1128,8 +1132,11 @@ internal_getspnam_r (const char *name, s status = getspnam_plususer (name, result, buffer, buflen, errnop); if (status == NSS_STATUS_RETURN) - /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + /* We couldn't parse the entry */ + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; } @@ -1142,7 +1149,10 @@ internal_getspnam_r (const char *name, s status = getspnam_plususer (name, result, buffer, buflen, errnop); if (status == NSS_STATUS_RETURN) /* We couldn't parse the entry */ - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } else return status; } @@ -1159,7 +1169,10 @@ _nss_compat_getspnam_r (const char *name enum nss_status status; if (name[0] == '-' || name[0] == '+') - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } if (ni == NULL) { diff -durpN glibc-2.1.2/nis/nss_nis/nis-alias.c glibc-2.1.3/nis/nss_nis/nis-alias.c --- glibc-2.1.2/nis/nss_nis/nis-alias.c Sat Jan 23 14:13:41 1999 +++ glibc-2.1.3/nis/nss_nis/nis-alias.c Tue Dec 21 15:51:41 1999 @@ -278,7 +278,10 @@ _nss_nis_getaliasbyname_r (const char *n if (parse_res == -1) return NSS_STATUS_TRYAGAIN; else - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } } return NSS_STATUS_SUCCESS; diff -durpN glibc-2.1.2/nis/nss_nis/nis-ethers.c glibc-2.1.3/nis/nss_nis/nis-ethers.c --- glibc-2.1.2/nis/nss_nis/nis-ethers.c Tue Aug 18 16:24:46 1998 +++ glibc-2.1.3/nis/nss_nis/nis-ethers.c Tue Dec 21 15:51:41 1999 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. 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 @@ -241,7 +241,10 @@ _nss_nis_gethostton_r (const char *name, if (parse_res == -1) return NSS_STATUS_TRYAGAIN; else - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } } return NSS_STATUS_SUCCESS; } diff -durpN glibc-2.1.2/nis/nss_nis/nis-grp.c glibc-2.1.3/nis/nss_nis/nis-grp.c --- glibc-2.1.2/nis/nss_nis/nis-grp.c Tue Aug 18 16:24:47 1998 +++ glibc-2.1.3/nis/nss_nis/nis-grp.c Tue Dec 21 15:51:41 1999 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. 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 @@ -207,7 +207,7 @@ _nss_nis_getgrnam_r (const char *name, s return NSS_STATUS_TRYAGAIN; else { - *errnop = EAGAIN; + *errnop = ENOENT; return NSS_STATUS_NOTFOUND; } } diff -durpN glibc-2.1.2/nis/nss_nis/nis-hosts.c glibc-2.1.3/nis/nss_nis/nis-hosts.c --- glibc-2.1.2/nis/nss_nis/nis-hosts.c Tue Aug 18 16:24:48 1998 +++ glibc-2.1.3/nis/nss_nis/nis-hosts.c Tue Dec 21 15:51:41 1999 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. 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 @@ -314,6 +314,7 @@ _nss_nis_gethostbyname2_r (const char *n else { *h_errnop = HOST_NOT_FOUND; + *errnop = ENOENT; return NSS_STATUS_NOTFOUND; } } @@ -375,7 +376,10 @@ _nss_nis_gethostbyaddr_r (char *addr, in *errnop = errno; } if (retval == NSS_STATUS_NOTFOUND) - *h_errnop = HOST_NOT_FOUND; + { + *h_errnop = HOST_NOT_FOUND; + *errnop = ENOENT; + } return retval; } @@ -404,6 +408,7 @@ _nss_nis_gethostbyaddr_r (char *addr, in else { *h_errnop = HOST_NOT_FOUND; + *errnop = ENOENT; return NSS_STATUS_NOTFOUND; } } diff -durpN glibc-2.1.2/nis/nss_nis/nis-netgrp.c glibc-2.1.3/nis/nss_nis/nis-netgrp.c --- glibc-2.1.2/nis/nss_nis/nis-netgrp.c Sun Dec 7 18:39:59 1997 +++ glibc-2.1.3/nis/nss_nis/nis-netgrp.c Tue Dec 21 15:51:41 1999 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. 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 @@ -117,7 +117,10 @@ _nss_nis_getnetgrent_r (struct __netgren enum nss_status status; if (cursor == NULL) - return NSS_STATUS_NOTFOUND; + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } __libc_lock_lock (lock); diff -durpN glibc-2.1.2/nis/nss_nis/nis-publickey.c glibc-2.1.3/nis/nss_nis/nis-publickey.c --- glibc-2.1.2/nis/nss_nis/nis-publickey.c Tue Aug 18 16:24:52 1998 +++ glibc-2.1.3/nis/nss_nis/nis-publickey.c Tue Dec 21 15:51:41 1999 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. 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 @@ -50,8 +50,11 @@ _nss_nis_getpublickey (const char *netna domain = strchr (netname, '@'); if (!domain) - return NSS_STATUS_UNAVAIL; - domain++; + { + *errnop = EINVAL; + return NSS_STATUS_UNAVAIL; + } + ++domain; retval = yperr2nss (yp_match (domain, "publickey.byname", netname, strlen (netname), &result, &len)); @@ -95,8 +98,11 @@ _nss_nis_getsecretkey (const char *netna domain = strchr (netname, '@'); if (!domain) - return NSS_STATUS_UNAVAIL; - domain++; + { + *errnop = EINVAL; + return NSS_STATUS_UNAVAIL; + } + ++domain; retval = yperr2nss (yp_match (domain, "publickey.byname", netname, strlen (netname), &result, &len)); @@ -196,10 +202,13 @@ _nss_nis_netname2user (char netname[MAXN domain = strchr (netname, '@'); if (!domain) - return NSS_STATUS_UNAVAIL; + { + *errnop = EINVAL; + return NSS_STATUS_UNAVAIL; + } /* Point past the '@' character */ - domain++; + ++domain; lookup = NULL; yperr = yp_match (domain, "netid.byname", netname, strlen (netname), &lookup, &len); @@ -209,11 +218,13 @@ _nss_nis_netname2user (char netname[MAXN break; /* the successful case */ case YPERR_DOMAIN: case YPERR_KEY: + *errnop = ENOENT; return NSS_STATUS_NOTFOUND; case YPERR_MAP: default: return NSS_STATUS_UNAVAIL; } + if (lookup) { enum nss_status err; @@ -224,7 +235,9 @@ _nss_nis_netname2user (char netname[MAXN return err; } else - return NSS_STATUS_NOTFOUND; - + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } return NSS_STATUS_SUCCESS; } diff -durpN glibc-2.1.2/nis/nss_nis/nis-service.c glibc-2.1.3/nis/nss_nis/nis-service.c --- glibc-2.1.2/nis/nss_nis/nis-service.c Wed Aug 4 18:04:00 1999 +++ glibc-2.1.3/nis/nss_nis/nis-service.c Tue Dec 21 15:51:41 1999 @@ -172,7 +172,7 @@ internal_nis_getservent_r (struct serven return NSS_STATUS_NOTFOUND; } p = strncpy (buffer, data->next->val, buflen); - while (isspace (*p)) + while (isspace (*p)) ++p; parse_res = _nss_files_parse_servent (p, serv, pdata, buflen, errnop); @@ -215,6 +215,63 @@ _nss_nis_getservbyname_r (const char *na return NSS_STATUS_UNAVAIL; } + /* If the protocol is given, we could try if our NIS server knows + about services.byservicename map. If yes, we only need one query */ + if (protocol != NULL) + { + char key[strlen (name) + strlen (protocol) + 2]; + char *cp, *domain, *result; + size_t keylen, len; + + /* If this fails, the other solution will also fail. */ + if (yp_get_default_domain (&domain)) + return NSS_STATUS_UNAVAIL; + + /* key is: "name/protocol" */ + cp = stpcpy (key, name); + *cp++ = '/'; + stpcpy (cp, protocol); + keylen = strlen (key); + status = yperr2nss (yp_match (domain, "services.byservicename", key, + keylen, &result, &len)); + + /* If we found the key, it's ok and parse the result. If not, + fall through and parse the complete table. */ + if (status == NSS_STATUS_SUCCESS) + { + struct parser_data *pdata = (void *) buffer; + int parse_res; + char *p; + + if ((size_t) (len + 1) > buflen) + { + free (result); + *errnop = ERANGE; + return NSS_STATUS_TRYAGAIN; + } + + p = strncpy (buffer, result, len); + buffer[len] = '\0'; + while (isspace (*p)) + ++p; + free (result); + parse_res = _nss_files_parse_servent (p, serv, pdata, + buflen, errnop); + if (parse_res < 0) + { + if (parse_res == -1) + return NSS_STATUS_TRYAGAIN; + else + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } + } + else + return NSS_STATUS_SUCCESS; + } + } + status = internal_nis_setservent (&data); if (status != NSS_STATUS_SUCCESS) return status; @@ -256,10 +313,57 @@ _nss_nis_getservbyport_r (int port, char enum nss_status status; int found; - if (protocol == NULL) + /* If the protocol is given, we only need one query */ + if (protocol != NULL) { - *errnop = EINVAL; - return NSS_STATUS_UNAVAIL; + char key[100 + strlen (protocol) + 2]; + char *domain, *result; + size_t keylen, len; + + /* If this fails, the other solution will also fail. */ + if (yp_get_default_domain (&domain)) + return NSS_STATUS_UNAVAIL; + + /* key is: "port/protocol" */ + keylen = snprintf (key, sizeof (key), "%d/%s", port, protocol); + status = yperr2nss (yp_match (domain, "services.byname", key, + keylen, &result, &len)); + + /* If we found the key, it's ok and parse the result. If not, + fall through and parse the complete table. */ + if (status == NSS_STATUS_SUCCESS) + { + struct parser_data *pdata = (void *) buffer; + int parse_res; + char *p; + + if ((size_t) (len + 1) > buflen) + { + free (result); + *errnop = ERANGE; + return NSS_STATUS_TRYAGAIN; + } + + p = strncpy (buffer, result, len); + buffer[len] = '\0'; + while (isspace (*p)) + ++p; + free (result); + parse_res = _nss_files_parse_servent (p, serv, pdata, + buflen, errnop); + if (parse_res < 0) + { + if (parse_res == -1) + return NSS_STATUS_TRYAGAIN; + else + { + *errnop = ENOENT; + return NSS_STATUS_NOTFOUND; + } + } + else + return NSS_STATUS_SUCCESS; + } } status = internal_nis_setservent (&data); @@ -270,7 +374,8 @@ _nss_nis_getservbyport_r (int port, char while (!found && ((status = internal_nis_getservent_r (serv, buffer, buflen, errnop, &data)) == NSS_STATUS_SUCCESS)) - if (serv->s_port == port && strcmp (serv->s_proto, protocol) == 0) + if (serv->s_port == port && + (protocol == NULL || strcmp (serv->s_proto, protocol) == 0)) found = 1; internal_nis_endservent (&data); diff -durpN glibc-2.1.2/nis/nss_nisplus/nisplus-parser.c glibc-2.1.3/nis/nss_nisplus/nisplus-parser.c --- glibc-2.1.2/nis/nss_nisplus/nisplus-parser.c Mon Mar 8 03:44:44 1999 +++ glibc-2.1.3/nis/nss_nisplus/nisplus-parser.c Fri Oct 8 10:13:14 1999 @@ -231,9 +231,9 @@ _nss_nisplus_parse_grent (nis_result *re break; if (room_left < sizeof (char *)) - goto no_more_room; + goto no_more_room; room_left -= sizeof (char *); - gr->gr_mem[count] = line; + gr->gr_mem[count++] = line; while (*line != '\0' && *line != ',' && !isspace (*line)) ++line; @@ -248,13 +248,10 @@ _nss_nisplus_parse_grent (nis_result *re ++line; else ++line; - ++count; } - else - gr->gr_mem[count+1] = NULL; } if (room_left < sizeof (char *)) - goto no_more_room; + goto no_more_room; room_left -= sizeof (char *); gr->gr_mem[count] = NULL; @@ -310,7 +307,8 @@ _nss_nisplus_parse_spent (nis_result *re first_unused += (len + 1); sp->sp_lstchg = sp->sp_min = sp->sp_max = sp->sp_warn = sp->sp_inact = - sp->sp_expire = sp->sp_flag = -1; + sp->sp_expire = -1; + sp->sp_flag = ~0ul; if (NISENTRYLEN (0, 7, result) > 0) { @@ -319,49 +317,56 @@ _nss_nisplus_parse_spent (nis_result *re line = NISENTRYVAL (0, 7, result); cp = strchr (line, ':'); if (cp == NULL) - return 0; + return 1; *cp++ = '\0'; - sp->sp_lstchg = atol (line); + if (*line) + sp->sp_lstchg = atol (line); line = cp; cp = strchr (line, ':'); if (cp == NULL) - return 0; + return 1; *cp++ = '\0'; - sp->sp_min = atol (line); + if (*line) + sp->sp_min = atol (line); line = cp; cp = strchr (line, ':'); if (cp == NULL) - return 0; + return 1; *cp++ = '\0'; - sp->sp_max = atol (line); + if (*line) + sp->sp_max = atol (line); line = cp; cp = strchr (line, ':'); if (cp == NULL) - return 0; + return 1; *cp++ = '\0'; - sp->sp_warn = atol (line); + if (*line) + sp->sp_warn = atol (line); line = cp; cp = strchr (line, ':'); if (cp == NULL) - return 0; + return 1; *cp++ = '\0'; - sp->sp_inact = atol (line); + if (*line) + sp->sp_inact = atol (line); line = cp; cp = strchr (line, ':'); if (cp == NULL) - return 0; + return 1; *cp++ = '\0'; - sp->sp_expire = atol (line); + if (*line) + sp->sp_expire = atol (line); line = cp; if (line == NULL) - return 0; - sp->sp_flag = atol (line); + return 1; + if (*line) + sp->sp_flag = atol (line); } return 1; diff -durpN glibc-2.1.2/nis/nss_nisplus/nisplus-publickey.c glibc-2.1.3/nis/nss_nisplus/nisplus-publickey.c --- glibc-2.1.2/nis/nss_nisplus/nisplus-publickey.c Wed Dec 23 05:12:54 1998 +++ glibc-2.1.3/nis/nss_nisplus/nisplus-publickey.c Fri Nov 12 13:24:54 1999 @@ -1,6 +1,6 @@ -/* Copyright (c) 1997 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -58,6 +58,12 @@ _nss_nisplus_getpublickey (const char *n "[auth_name=%s,auth_type=DES],cred.org_dir.%s", netname, domain); + if (slen >= NIS_MAXNAMELEN) + { + *errnop = EINVAL; + return NSS_STATUS_UNAVAIL; + } + if (buf[slen - 1] != '.') { buf[slen++] = '.'; @@ -130,6 +136,12 @@ _nss_nisplus_getsecretkey (const char *n "[auth_name=%s,auth_type=DES],cred.org_dir.%s", netname, domain); + if (slen >= NIS_MAXNAMELEN) + { + *errnop = EINVAL; + return NSS_STATUS_UNAVAIL; + } + if (buf[slen - 1] != '.') { buf[slen++] = '.'; @@ -215,7 +227,7 @@ _nss_nisplus_netname2user (char netname[ { char *domain; nis_result *res; - char sname[NIS_MAXNAMELEN+1]; /* search criteria + table name */ + char sname[NIS_MAXNAMELEN+2]; /* search criteria + table name */ size_t slen; char principal[NIS_MAXNAMELEN+1]; int len; @@ -235,6 +247,12 @@ _nss_nisplus_netname2user (char netname[ slen = snprintf (sname, NIS_MAXNAMELEN, "[auth_name=%s,auth_type=DES],cred.org_dir.%s", netname, domain); + + if (slen >= NIS_MAXNAMELEN) + { + *errnop = EINVAL; + return NSS_STATUS_UNAVAIL; + } if (sname[slen - 1] != '.') { diff -durpN glibc-2.1.2/nis/ypclnt.c glibc-2.1.3/nis/ypclnt.c --- glibc-2.1.2/nis/ypclnt.c Tue Mar 9 01:55:51 1999 +++ glibc-2.1.3/nis/ypclnt.c Tue Dec 21 15:51:41 1999 @@ -1,6 +1,6 @@ /* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1996. 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 @@ -41,7 +41,6 @@ struct dom_binding struct sockaddr_in dom_server_addr; int dom_socket; CLIENT *dom_client; - long int dom_vers; }; typedef struct dom_binding dom_binding; @@ -62,7 +61,6 @@ __yp_bind (const char *domain, dom_bindi int clnt_sock; CLIENT *client; int is_new = 0; - int try; if (domain == NULL || domain[0] == '\0') return YPERR_BADARGS; @@ -82,137 +80,127 @@ __yp_bind (const char *domain, dom_bindi { is_new = 1; ysd = (dom_binding *) calloc (1, sizeof *ysd); - ysd->dom_socket = -1; - ysd->dom_vers = -1; } - try = 0; - - do +#if USE_BINDINGDIR + if (ysd->dom_client == NULL) { - ++try; - if (try > MAXTRIES) - { - if (is_new) - free (ysd); - return YPERR_YPBIND; - } + /* Try binding dir at first if we have no binding */ + char path[sizeof (BINDINGDIR) + strlen (domain) + 10]; + struct iovec vec[2]; + unsigned short port; + int fd; -#if USE_BINDINGDIR - if (ysd->dom_vers < 1 && try == 1) /* Try binding dir only first time */ + sprintf (path, "%s/%s.%d", BINDINGDIR, domain, YPBINDVERS); + fd = open (path, O_RDONLY); + if (fd >= 0) { - char path[sizeof (BINDINGDIR) - 1 + strlen (domain) + 10]; - struct iovec vec[2]; - unsigned short port; - int fd; + /* We have a binding file and could save a RPC call */ + vec[0].iov_base = &port; + vec[0].iov_len = sizeof (port); + vec[1].iov_base = &ypbr; + vec[1].iov_len = sizeof (ypbr); - sprintf (path, "%s/%s.%d", BINDINGDIR, domain, YPBINDVERS); - fd = open (path, O_RDONLY); - if (fd >= 0) + if (readv (fd, vec, 2) == sizeof (port) + sizeof (ypbr)) { - /* We have a binding file and could save a RPC call */ - vec[0].iov_base = &port; - vec[0].iov_len = sizeof (port); - vec[1].iov_base = &ypbr; - vec[1].iov_len = sizeof (ypbr); + ysd->dom_server_addr.sin_family = AF_INET; + memcpy (&ysd->dom_server_addr.sin_port, + ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port, + sizeof (ysd->dom_server_addr.sin_port)); + memcpy (&ysd->dom_server_addr.sin_addr.s_addr, + ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr, + sizeof (ysd->dom_server_addr.sin_addr.s_addr)); + strncpy (ysd->dom_domain, domain, YPMAXDOMAIN); + ysd->dom_domain[YPMAXDOMAIN] = '\0'; - if (readv (fd, vec, 2) == sizeof (port) + sizeof (ypbr)) - { - ysd->dom_server_addr.sin_family = AF_INET; - memcpy (&ysd->dom_server_addr.sin_port, - ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port, - sizeof (ysd->dom_server_addr.sin_port)); - memcpy (&ysd->dom_server_addr.sin_addr.s_addr, - ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr, - sizeof (ysd->dom_server_addr.sin_addr.s_addr)); - ysd->dom_vers = YPVERS; - strncpy (ysd->dom_domain, domain, YPMAXDOMAIN); - ysd->dom_domain[YPMAXDOMAIN] = '\0'; - } - close (fd); + ysd->dom_socket = RPC_ANYSOCK; + ysd->dom_client = clntudp_create (&ysd->dom_server_addr, YPPROG, + YPVERS, UDPTIMEOUT, + &ysd->dom_socket); + + if (ysd->dom_client != NULL) + /* If the program exits, close the socket */ + if (fcntl (ysd->dom_socket, F_SETFD, 1) == -1) + perror ("fcntl: F_SETFD"); } + close (fd); } + } #endif /* USE_BINDINGDIR */ - if (ysd->dom_vers == -1) + if (ysd->dom_client == NULL) + { + memset (&clnt_saddr, '\0', sizeof clnt_saddr); + clnt_saddr.sin_family = AF_INET; + clnt_saddr.sin_addr.s_addr = htonl (INADDR_LOOPBACK); + clnt_sock = RPC_ANYSOCK; + client = clnttcp_create (&clnt_saddr, YPBINDPROG, YPBINDVERS, + &clnt_sock, 0, 0); + if (client == NULL) { - if (ysd->dom_client) - { - clnt_destroy (ysd->dom_client); - ysd->dom_client = NULL; - ysd->dom_socket = -1; - } - memset (&clnt_saddr, '\0', sizeof clnt_saddr); - clnt_saddr.sin_family = AF_INET; - clnt_saddr.sin_addr.s_addr = htonl (INADDR_LOOPBACK); - clnt_sock = RPC_ANYSOCK; - client = clnttcp_create (&clnt_saddr, YPBINDPROG, YPBINDVERS, - &clnt_sock, 0, 0); - if (client == NULL) - { - if (is_new) - free (ysd); - return YPERR_YPBIND; - } - /* - ** Check the port number -- should be < IPPORT_RESERVED. - ** If not, it's possible someone has registered a bogus - ** ypbind with the portmapper and is trying to trick us. - */ - if (ntohs (clnt_saddr.sin_port) >= IPPORT_RESERVED) - { - clnt_destroy (client); - if (is_new) - free (ysd); - return YPERR_YPBIND; - } + if (is_new) + free (ysd); + return YPERR_YPBIND; + } + /* Check the port number -- should be < IPPORT_RESERVED. + If not, it's possible someone has registered a bogus + ypbind with the portmapper and is trying to trick us. */ + if (ntohs (clnt_saddr.sin_port) >= IPPORT_RESERVED) + { + clnt_destroy (client); + if (is_new) + free (ysd); + return YPERR_YPBIND; + } - if (clnt_call (client, YPBINDPROC_DOMAIN, - (xdrproc_t) xdr_domainname, (caddr_t) &domain, - (xdrproc_t) xdr_ypbind_resp, - (caddr_t) &ypbr, RPCTIMEOUT) != RPC_SUCCESS) - { - clnt_destroy (client); - if (is_new) - free (ysd); - return YPERR_YPBIND; - } + if (clnt_call (client, YPBINDPROC_DOMAIN, + (xdrproc_t) xdr_domainname, (caddr_t) &domain, + (xdrproc_t) xdr_ypbind_resp, + (caddr_t) &ypbr, RPCTIMEOUT) != RPC_SUCCESS) + { + clnt_destroy (client); + if (is_new) + free (ysd); + return YPERR_YPBIND; + } - clnt_destroy (client); + clnt_destroy (client); - if (ypbr.ypbind_status != YPBIND_SUCC_VAL) - { - fprintf (stderr, _("YPBINDPROC_DOMAIN: %s\n"), - ypbinderr_string (ypbr.ypbind_resp_u.ypbind_error)); - if (is_new) - free (ysd); - return YPERR_DOMAIN; - } - memset (&ysd->dom_server_addr, '\0', sizeof ysd->dom_server_addr); - ysd->dom_server_addr.sin_family = AF_INET; - memcpy (&ysd->dom_server_addr.sin_port, - ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port, - sizeof (ysd->dom_server_addr.sin_port)); - memcpy (&ysd->dom_server_addr.sin_addr.s_addr, - ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr, - sizeof (ysd->dom_server_addr.sin_addr.s_addr)); - ysd->dom_vers = YPVERS; - strncpy (ysd->dom_domain, domain, YPMAXDOMAIN); - ysd->dom_domain[YPMAXDOMAIN] = '\0'; - } + if (ypbr.ypbind_status != YPBIND_SUCC_VAL) + { + fprintf (stderr, _("YPBINDPROC_DOMAIN: %s\n"), + ypbinderr_string (ypbr.ypbind_resp_u.ypbind_error)); + if (is_new) + free (ysd); + return YPERR_DOMAIN; + } + memset (&ysd->dom_server_addr, '\0', sizeof ysd->dom_server_addr); + ysd->dom_server_addr.sin_family = AF_INET; + memcpy (&ysd->dom_server_addr.sin_port, + ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_port, + sizeof (ysd->dom_server_addr.sin_port)); + memcpy (&ysd->dom_server_addr.sin_addr.s_addr, + ypbr.ypbind_resp_u.ypbind_bindinfo.ypbind_binding_addr, + sizeof (ysd->dom_server_addr.sin_addr.s_addr)); + strncpy (ysd->dom_domain, domain, YPMAXDOMAIN); + ysd->dom_domain[YPMAXDOMAIN] = '\0'; ysd->dom_socket = RPC_ANYSOCK; ysd->dom_client = clntudp_create (&ysd->dom_server_addr, YPPROG, YPVERS, UDPTIMEOUT, &ysd->dom_socket); - if (ysd->dom_client == NULL) - ysd->dom_vers = -1; + if (ysd->dom_client != NULL) + /* If the program exits, close the socket */ + if (fcntl (ysd->dom_socket, F_SETFD, 1) == -1) + perror ("fcntl: F_SETFD"); } - while (ysd->dom_client == NULL); - /* If the program exists, close the socket */ - if (fcntl (ysd->dom_socket, F_SETFD, 1) == -1) - perror ("fcntl: F_SETFD"); + if (ysd->dom_client == NULL) + { + if (is_new) + free (ysd); + return YPERR_YPSERV; + } if (is_new && ypdb != NULL) { @@ -228,7 +216,60 @@ __yp_unbind (dom_binding *ydb) { clnt_destroy (ydb->dom_client); ydb->dom_client = NULL; - ydb->dom_socket = -1; +} + +int +yp_bind (const char *indomain) +{ + int status; + + __libc_lock_lock (ypbindlist_lock); + + status = __yp_bind (indomain, &__ypbindlist); + + __libc_lock_unlock (ypbindlist_lock); + + return status; +} + +static void +yp_unbind_locked (const char *indomain) +{ + dom_binding *ydbptr, *ydbptr2; + + ydbptr2 = NULL; + ydbptr = __ypbindlist; + + while (ydbptr != NULL) + { + if (strcmp (ydbptr->dom_domain, indomain) == 0) + { + dom_binding *work; + + work = ydbptr; + if (ydbptr2 == NULL) + __ypbindlist = __ypbindlist->dom_pnext; + else + ydbptr2 = ydbptr->dom_pnext; + __yp_unbind (work); + free (work); + break; + } + ydbptr2 = ydbptr; + ydbptr = ydbptr->dom_pnext; + } +} + +void +yp_unbind (const char *indomain) +{ + __libc_lock_lock (ypbindlist_lock); + + yp_unbind_locked (indomain); + + __libc_lock_unlock (ypbindlist_lock); + + return; } static int @@ -277,14 +318,26 @@ do_ypcall (const char *domain, u_long pr if (result != RPC_SUCCESS) { - clnt_perror (ydb->dom_client, "do_ypcall: clnt_call"); - ydb->dom_vers = -1; - if (!use_ypbindlist) + /* Don't print the error message on the first try. It + could be that we use cached data which is now invalid. */ + if (try != 0) + clnt_perror (ydb->dom_client, "do_ypcall: clnt_call"); + + if (use_ypbindlist) + { + /* We use ypbindlist, and the old cached data is + invalid. unbind now and create a new binding */ + yp_unbind_locked (domain); + __libc_lock_unlock (ypbindlist_lock); + use_ypbindlist = FALSE; + } + else { __yp_unbind (ydb); free (ydb); - ydb = NULL; } + + ydb = NULL; status = YPERR_RPC; } else @@ -310,52 +363,6 @@ do_ypcall (const char *domain, u_long pr return status; } -int -yp_bind (const char *indomain) -{ - int status; - - __libc_lock_lock (ypbindlist_lock); - - status = __yp_bind (indomain, &__ypbindlist); - - __libc_lock_unlock (ypbindlist_lock); - - return status; -} - -void -yp_unbind (const char *indomain) -{ - dom_binding *ydbptr, *ydbptr2; - - __libc_lock_lock (ypbindlist_lock); - - ydbptr2 = NULL; - ydbptr = __ypbindlist; - while (ydbptr != NULL) - { - if (strcmp (ydbptr->dom_domain, indomain) == 0) - { - dom_binding *work; - - work = ydbptr; - if (ydbptr2 == NULL) - __ypbindlist = __ypbindlist->dom_pnext; - else - ydbptr2 = ydbptr->dom_pnext; - __yp_unbind (work); - free (work); - break; - } - ydbptr2 = ydbptr; - ydbptr = ydbptr->dom_pnext; - } - - __libc_lock_unlock (ypbindlist_lock); - - return; -} __libc_lock_define_initialized (static, domainname_lock) @@ -373,7 +380,7 @@ yp_get_default_domain (char **outdomain) result = YPERR_NODOM; else if (strcmp (__ypdomainname, "(none)") == 0) { - /* If domainname is not set, some Systems will return "(none)" */ + /* If domainname is not set, some systems will return "(none)" */ __ypdomainname[0] = '\0'; result = YPERR_NODOM; } @@ -628,6 +635,10 @@ __xdr_ypresp_all (XDR *xdrs, u_long *obj int keylen = resp.ypresp_all_u.val.key.keydat_len; int vallen = resp.ypresp_all_u.val.val.valdat_len; + /* We are not allowed to modify the key and val data. + But we are allowed to add data behind the buffer, + if we don't modify the length. So add an extra NUL + character to avoid trouble with broken code. */ *objp = YP_TRUE; memcpy (key, resp.ypresp_all_u.val.key.keydat_val, keylen); key[keylen] = '\0'; @@ -639,14 +650,13 @@ __xdr_ypresp_all (XDR *xdrs, u_long *obj return TRUE; } break; - case YP_NOMORE: - *objp = YP_NOMORE; - xdr_free ((xdrproc_t) xdr_ypresp_all, (char *) &resp); - return TRUE; - break; default: *objp = resp.ypresp_all_u.val.stat; xdr_free ((xdrproc_t) xdr_ypresp_all, (char *) &resp); + /* Sun says we don't need to make this call, but must return + immediatly. Since Solaris makes this call, we will call + the callback function, too. */ + (*ypall_foreach) (*objp, NULL, 0, NULL, 0, ypall_data); return TRUE; } } diff -durpN glibc-2.1.2/nscd/Makefile glibc-2.1.3/nscd/Makefile --- glibc-2.1.2/nscd/Makefile Mon Oct 19 08:21:08 1998 +++ glibc-2.1.3/nscd/Makefile Mon Oct 4 12:51:36 1999 @@ -31,10 +31,10 @@ nscd-modules := nscd connections pwdcach ifeq ($(have-thread-library),yes) -others := nscd -install-sbin := nscd +others := nscd nscd_nischeck +install-sbin := nscd nscd_nischeck -extra-objs := $(nscd-modules:=.o) +extra-objs := $(nscd-modules:=.o) nscd_nischeck.o endif @@ -44,15 +44,18 @@ otherlibs += $(nssobjdir)/libnss_files.a endif distribute := nscd.h nscd-client.h dbg_log.h \ - $(nscd-modules:=.c) TODO nscd.conf nscd.init \ + $(nscd-modules:=.c) nscd_nischeck.c TODO nscd.conf nscd.init \ nscd_proto.h include ../Rules $(objpfx)nscd: $(nscd-modules:%=$(objpfx)%.o) +$(objpfx)nscd_nischeck: $(objpfx)nscd_nischeck.o ifeq ($(build-shared),yes) $(objpfx)nscd: $(shared-thread-library) $(common-objpfx)nis/libnsl.so +$(objpfx)nscd_nischeck: $(common-objpfx)nis/libnsl.so else $(objpfx)nscd: $(static-thread-library) $(common-objpfx)nis/libnsl.a +$(objpfx)nscd_nischeck: $(common-objpfx)nis/libnsl.a endif diff -durpN glibc-2.1.2/nscd/cache.c glibc-2.1.3/nscd/cache.c --- glibc-2.1.2/nscd/cache.c Fri Apr 16 02:37:23 1999 +++ glibc-2.1.3/nscd/cache.c Mon Oct 4 12:51:37 1999 @@ -23,6 +23,7 @@ #include <limits.h> #include <stdlib.h> #include <string.h> +#include <libintl.h> #include <arpa/inet.h> #include <rpcsvc/nis.h> #include <sys/param.h> @@ -38,7 +39,8 @@ This function must be called with the read-lock held. */ struct hashentry * -cache_search (int type, void *key, size_t len, struct database *table) +cache_search (int type, void *key, size_t len, struct database *table, + uid_t owner) { unsigned long int hash = __nis_hash (key, len) % table->module; struct hashentry *work; @@ -47,8 +49,8 @@ cache_search (int type, void *key, size_ while (work != NULL) { - if (type == work->type - && len == work->len && memcmp (key, work->key, len) == 0) + if (type == work->type && len == work->len + && memcmp (key, work->key, len) == 0 && work->owner == owner) { /* We found the entry. Increment the appropriate counter. */ if (work->data == (void *) -1) @@ -76,7 +78,7 @@ cache_search (int type, void *key, size_ the readlock reduces the chance of conflicts. */ void cache_add (int type, void *key, size_t len, const void *packet, size_t total, - void *data, int last, time_t t, struct database *table) + void *data, int last, time_t t, struct database *table, uid_t owner) { unsigned long int hash = __nis_hash (key, len) % table->module; struct hashentry *newp; @@ -88,6 +90,7 @@ cache_add (int type, void *key, size_t l newp->type = type; newp->len = len; newp->key = key; + newp->owner = owner; newp->data = data; newp->timeout = t; newp->packet = packet; diff -durpN glibc-2.1.2/nscd/connections.c glibc-2.1.3/nscd/connections.c --- glibc-2.1.2/nscd/connections.c Sat Feb 6 15:53:34 1999 +++ glibc-2.1.3/nscd/connections.c Tue Feb 22 23:02:58 2000 @@ -1,5 +1,5 @@ /* Inner loops of cache daemon. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -24,6 +24,7 @@ #include <pthread.h> #include <stdlib.h> #include <unistd.h> +#include <libintl.h> #include <arpa/inet.h> #include <sys/param.h> #include <sys/poll.h> @@ -60,7 +61,8 @@ const char *serv2str[LASTREQ] = [GETHOSTBYADDR] = "GETHOSTBYADDR", [GETHOSTBYADDRv6] = "GETHOSTBYADDRv6", [SHUTDOWN] = "SHUTDOWN", - [GETSTAT] = "GETSTAT" + [GETSTAT] = "GETSTAT", + [INVALIDATE] = "INVALIDATE" }; /* The control data structures for the services. */ @@ -192,10 +194,26 @@ close_sockets (void) close (sock); } +static void +invalidate_cache (char *key) +{ + dbtype number; + + if (strcmp (key, "passwd") == 0) + number = pwddb; + else if (strcmp (key, "group") == 0) + number = grpdb; + else if (strcmp (key, "hosts") == 0) + number = hstdb; + else return; + + prune_cache (&dbs[number], LONG_MAX); +} + /* Handle new request. */ static void -handle_request (int fd, request_header *req, void *key) +handle_request (int fd, request_header *req, void *key, uid_t uid) { if (debug_level > 0) dbg_log (_("handle_request: request received (Version = %d)"), @@ -251,7 +269,7 @@ cannot handle old request version %d; cu /* See whether we can handle it from the cache. */ cached = (struct hashentry *) cache_search (req->type, key, req->key_len, - db); + db, uid); if (cached != NULL) { /* Hurray it's in the cache. */ @@ -271,55 +289,90 @@ cannot handle old request version %d; cu pthread_rwlock_unlock (&db->lock); } - else - if (debug_level > 0) - dbg_log ("\t%s", serv2str[req->type]); + else if (debug_level > 0) + { + if (req->type == INVALIDATE) + dbg_log ("\t%s (%s)", serv2str[req->type], key); + else + dbg_log ("\t%s", serv2str[req->type]); + } /* Handle the request. */ switch (req->type) { case GETPWBYNAME: - addpwbyname (&dbs[serv2db[req->type]], fd, req, key); + addpwbyname (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETPWBYUID: - addpwbyuid (&dbs[serv2db[req->type]], fd, req, key); + addpwbyuid (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETGRBYNAME: - addgrbyname (&dbs[serv2db[req->type]], fd, req, key); + addgrbyname (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETGRBYGID: - addgrbygid (&dbs[serv2db[req->type]], fd, req, key); + addgrbygid (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETHOSTBYNAME: - addhstbyname (&dbs[serv2db[req->type]], fd, req, key); + addhstbyname (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETHOSTBYNAMEv6: - addhstbynamev6 (&dbs[serv2db[req->type]], fd, req, key); + addhstbynamev6 (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETHOSTBYADDR: - addhstbyaddr (&dbs[serv2db[req->type]], fd, req, key); + addhstbyaddr (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETHOSTBYADDRv6: - addhstbyaddrv6 (&dbs[serv2db[req->type]], fd, req, key); + addhstbyaddrv6 (&dbs[serv2db[req->type]], fd, req, key, uid); break; case GETSTAT: - send_stats (fd, dbs); - break; - case SHUTDOWN: - termination_handler (0); + case INVALIDATE: + /* Accept shutdown, getstat and invalidate only from root */ + if (secure_in_use && uid == 0) + { + if (req->type == GETSTAT) + send_stats (fd, dbs); + else if (req->type == INVALIDATE) + invalidate_cache (key); + else + termination_handler (0); + } + else + { + struct ucred caller; + socklen_t optlen = sizeof (caller); + + if (getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &caller, &optlen) < 0) + { + char buf[256]; + + dbg_log (_("error getting callers id: %s"), + strerror_r (errno, buf, sizeof (buf))); + } + else + if (caller.uid == 0) + { + if (req->type == GETSTAT) + send_stats (fd, dbs); + else if (req->type == INVALIDATE) + invalidate_cache (key); + else + termination_handler (0); + } + } break; default: - abort (); + /* Ignore the command, it's nothing we know. */ + break; } } @@ -362,6 +415,7 @@ nscd_run (void *p) int fd = accept (conn.fd, NULL, NULL); request_header req; char buf[256]; + uid_t uid = 0; if (fd < 0) { @@ -380,6 +434,25 @@ nscd_run (void *p) continue; } + if (secure_in_use) + { + struct ucred caller; + socklen_t optlen = sizeof (caller); + + if (getsockopt (fd, SOL_SOCKET, SO_PEERCRED, + &caller, &optlen) < 0) + { + dbg_log (_("error getting callers id: %s"), + strerror_r (errno, buf, sizeof (buf))); + close (fd); + continue; + } + + if (req.type < GETPWBYNAME || req.type > LASTDBREQ + || secure[serv2db[req.type]]) + uid = caller.uid; + } + /* It should not be possible to crash the nscd with a silly request (i.e., a terribly large key. We limit the size to 1kb. */ @@ -404,7 +477,7 @@ nscd_run (void *p) } /* Phew, we got all the data, now process it. */ - handle_request (fd, &req, keybuf); + handle_request (fd, &req, keybuf, uid); /* We are done. */ close (fd); diff -durpN glibc-2.1.2/nscd/gethstbyad_r.c glibc-2.1.3/nscd/gethstbyad_r.c --- glibc-2.1.2/nscd/gethstbyad_r.c Sun Oct 18 07:58:50 1998 +++ glibc-2.1.3/nscd/gethstbyad_r.c Mon Oct 4 12:51:37 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -23,7 +23,7 @@ #define LOOKUP_TYPE struct hostent #define FUNCTION_NAME gethostbyaddr #define DATABASE_NAME hosts -#define ADD_PARAMS const char *addr, int len, int type +#define ADD_PARAMS const char *addr, size_t len, int type #define ADD_VARIABLES addr, len, type #define NEED_H_ERRNO 1 #define NEED__RES 1 diff -durpN glibc-2.1.2/nscd/grpcache.c glibc-2.1.3/nscd/grpcache.c --- glibc-2.1.2/nscd/grpcache.c Mon Jul 12 18:14:08 1999 +++ glibc-2.1.3/nscd/grpcache.c Mon Oct 4 12:51:37 1999 @@ -26,6 +26,7 @@ #include <stdlib.h> #include <string.h> #include <unistd.h> +#include <libintl.h> #include "nscd.h" #include "dbg_log.h" @@ -77,7 +78,7 @@ struct groupdata static void cache_addgr (struct database *db, int fd, request_header *req, void *key, - struct group *grp) + struct group *grp, uid_t owner) { ssize_t total; ssize_t written; @@ -105,7 +106,7 @@ cache_addgr (struct database *db, int fd pthread_rwlock_rdlock (&db->lock); cache_add (req->type, copy, req->key_len, ¬found, - sizeof (notfound), (void *) -1, 0, t, db); + sizeof (notfound), (void *) -1, 0, t, db, owner); pthread_rwlock_unlock (&db->lock); } @@ -177,9 +178,9 @@ cache_addgr (struct database *db, int fd /* We have to add the value for both, byname and byuid. */ cache_add (GETGRBYNAME, gr_name, gr_name_len, data, - total, data, 0, t, db); + total, data, 0, t, db, owner); - cache_add (GETGRBYGID, cp, n, data, total, data, 1, t, db); + cache_add (GETGRBYGID, cp, n, data, total, data, 1, t, db, owner); pthread_rwlock_unlock (&db->lock); } @@ -194,7 +195,8 @@ cache_addgr (struct database *db, int fd void -addgrbyname (struct database *db, int fd, request_header *req, void *key) +addgrbyname (struct database *db, int fd, request_header *req, + void *key, uid_t uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -204,10 +206,17 @@ addgrbyname (struct database *db, int fd char *buffer = alloca (buflen); struct group resultbuf; struct group *grp; + uid_t oldeuid = 0; if (debug_level > 0) dbg_log (_("Haven't found \"%s\" in group cache!"), key); + if (secure[grpdb]) + { + oldeuid = geteuid (); + seteuid (uid); + } + while (__getgrnam_r (key, &resultbuf, buffer, buflen, &grp) != 0 && errno == ERANGE) { @@ -216,12 +225,16 @@ addgrbyname (struct database *db, int fd buffer = alloca (buflen); } - cache_addgr (db, fd, req, key, grp); + if (secure[grpdb]) + seteuid (oldeuid); + + cache_addgr (db, fd, req, key, grp, uid); } void -addgrbygid (struct database *db, int fd, request_header *req, void *key) +addgrbygid (struct database *db, int fd, request_header *req, + void *key, uid_t uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -232,10 +245,17 @@ addgrbygid (struct database *db, int fd, struct group resultbuf; struct group *grp; gid_t gid = atol (key); + uid_t oldeuid = 0; if (debug_level > 0) dbg_log (_("Haven't found \"%d\" in group cache!"), gid); + if (secure[grpdb]) + { + oldeuid = geteuid (); + seteuid (uid); + } + while (__getgrgid_r (gid, &resultbuf, buffer, buflen, &grp) != 0 && errno == ERANGE) { @@ -244,5 +264,8 @@ addgrbygid (struct database *db, int fd, buffer = alloca (buflen); } - cache_addgr (db, fd, req, key, grp); + if (secure[grpdb]) + seteuid (oldeuid); + + cache_addgr (db, fd, req, key, grp, uid); } diff -durpN glibc-2.1.2/nscd/hstcache.c glibc-2.1.3/nscd/hstcache.c --- glibc-2.1.2/nscd/hstcache.c Mon Jul 12 18:14:08 1999 +++ glibc-2.1.3/nscd/hstcache.c Tue Feb 22 23:02:58 2000 @@ -1,5 +1,5 @@ /* Cache handling for host lookup. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -28,7 +28,9 @@ #include <string.h> #include <time.h> #include <unistd.h> +#include <libintl.h> #include <arpa/inet.h> +#include <arpa/nameser.h> #include "nscd.h" #include "dbg_log.h" @@ -88,7 +90,7 @@ struct hostdata static void cache_addhst (struct database *db, int fd, request_header *req, void *key, - struct hostent *hst) + struct hostent *hst, uid_t owner) { ssize_t total; ssize_t written; @@ -116,7 +118,7 @@ cache_addhst (struct database *db, int f pthread_rwlock_rdlock (&db->lock); cache_add (req->type, copy, req->key_len, ¬found, - sizeof (notfound), (void *) -1, 0, t, db); + sizeof (notfound), (void *) -1, 0, t, db, owner); pthread_rwlock_unlock (&db->lock); } @@ -158,9 +160,7 @@ cache_addhst (struct database *db, int f total += (sizeof (struct hostdata) + h_name_len + h_aliases_cnt * sizeof (size_t) - + h_addr_list_cnt * (hst->h_length - + (hst->h_length == INADDRSZ - ? IN6ADDRSZ : 0))); + + h_addr_list_cnt * hst->h_length); data = (struct hostdata *) malloc (total + req->key_len); if (data == NULL) @@ -185,14 +185,6 @@ cache_addhst (struct database *db, int f for (cnt = 0; cnt < h_addr_list_cnt; ++cnt) cp = mempcpy (cp, hst->h_addr_list[cnt], hst->h_length); - /* And the generated IPv6 addresses if necessary. */ - if (hst->h_length == INADDRSZ) - { - /* Generate the IPv6 addresses. */ - for (cnt = 0; cnt < h_addr_list_cnt; cp += IN6ADDRSZ, ++cnt) - map_v4v6_address (hst->h_addr_list[cnt], cp); - } - /* Then the aliases. */ aliases = cp; for (cnt = 0; cnt < h_aliases_cnt; ++cnt) @@ -222,24 +214,30 @@ cache_addhst (struct database *db, int f /* Now get the lock to safely insert the records. */ pthread_rwlock_rdlock (&db->lock); - /* First add all the aliases. */ - for (cnt = 0; cnt < h_aliases_cnt; ++cnt) - { - if (addr_list_type == GETHOSTBYADDR) - cache_add (GETHOSTBYNAME, aliases, h_aliases_len[cnt], data, total, - data, 0, t, db); + /* First add all the aliases. If the record contains more than + one IP address (used for load balancing etc) don't cache the + entry. This is something the current cache handling cannot + handle and it is more than questionable whether it is + worthwhile complicating the cache handling just for handling + such a special case. */ + if (hst->h_addr_list[1] == NULL) + for (cnt = 0; cnt < h_aliases_cnt; ++cnt) + { + if (addr_list_type == GETHOSTBYADDR) + cache_add (GETHOSTBYNAME, aliases, h_aliases_len[cnt], data, + total, data, 0, t, db, owner); - cache_add (GETHOSTBYNAMEv6, aliases, h_aliases_len[cnt], data, total, - data, 0, t, db); + cache_add (GETHOSTBYNAMEv6, aliases, h_aliases_len[cnt], data, + total, data, 0, t, db, owner); - aliases += h_aliases_len[cnt]; - } + aliases += h_aliases_len[cnt]; + } /* Next the normal addresses. */ for (cnt = 0; cnt < h_addr_list_cnt; ++cnt) { cache_add (addr_list_type, addresses, hst->h_length, data, total, - data, 0, t, db); + data, 0, t, db, owner); addresses += hst->h_length; } @@ -248,27 +246,32 @@ cache_addhst (struct database *db, int f for (cnt = 0; cnt < h_addr_list_cnt; ++cnt) { cache_add (GETHOSTBYADDRv6, addresses, IN6ADDRSZ, data, total, - data, 0, t, db); + data, 0, t, db, owner); addresses += IN6ADDRSZ; } - /* If necessary add the key for this request. */ - if (req->type == GETHOSTBYNAME || req->type == GETHOSTBYNAMEv6) + /* Avoid adding names if more than one address is available. See + above for more info. */ + if (hst->h_addr_list[1] == NULL) { + /* If necessary add the key for this request. */ + if (req->type == GETHOSTBYNAME || req->type == GETHOSTBYNAMEv6) + { + if (addr_list_type == GETHOSTBYADDR) + cache_add (GETHOSTBYNAME, key_copy, req->key_len, data, total, + data, 0, t, db, owner); + cache_add (GETHOSTBYNAMEv6, key_copy, req->key_len, data, + total, data, 0, t, db, owner); + } + + /* And finally the name. We mark this as the last entry. */ if (addr_list_type == GETHOSTBYADDR) - cache_add (GETHOSTBYNAME, key_copy, req->key_len, data, total, - data, 0, t, db); - cache_add (GETHOSTBYNAMEv6, key_copy, req->key_len, data, - total, data, 0, t, db); + cache_add (GETHOSTBYNAME, data->strdata, h_name_len, data, total, + data, 0, t, db, owner); + cache_add (GETHOSTBYNAMEv6, data->strdata, h_name_len, data, + total, data, 1, t, db, owner); } - /* And finally the name. We mark this as the last entry. */ - if (addr_list_type == GETHOSTBYADDR) - cache_add (GETHOSTBYNAME, data->strdata, h_name_len, data, total, data, - 0, t, db); - cache_add (GETHOSTBYNAMEv6, data->strdata, h_name_len, data, - total, data, 1, t, db); - pthread_rwlock_unlock (&db->lock); } @@ -282,7 +285,8 @@ cache_addhst (struct database *db, int f void -addhstbyname (struct database *db, int fd, request_header *req, void *key) +addhstbyname (struct database *db, int fd, request_header *req, + void *key, uid_t uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -292,10 +296,17 @@ addhstbyname (struct database *db, int f char *buffer = alloca (buflen); struct hostent resultbuf; struct hostent *hst; + uid_t oldeuid = 0; if (debug_level > 0) dbg_log (_("Haven't found \"%s\" in hosts cache!"), key); + if (secure[hstdb]) + { + oldeuid = geteuid (); + seteuid (uid); + } + while (__gethostbyname2_r (key, AF_INET, &resultbuf, buffer, buflen, &hst, &h_errno) != 0 && h_errno == NETDB_INTERNAL @@ -306,12 +317,16 @@ addhstbyname (struct database *db, int f buffer = alloca (buflen); } - cache_addhst (db, fd, req, key, hst); + if (secure[hstdb]) + seteuid (uid); + + cache_addhst (db, fd, req, key, hst, uid); } void -addhstbyaddr (struct database *db, int fd, request_header *req, void *key) +addhstbyaddr (struct database *db, int fd, request_header *req, + void *key, uid_t uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -321,6 +336,7 @@ addhstbyaddr (struct database *db, int f char *buffer = alloca (buflen); struct hostent resultbuf; struct hostent *hst; + uid_t oldeuid = 0; if (debug_level > 0) { @@ -329,6 +345,12 @@ addhstbyaddr (struct database *db, int f inet_ntop (AF_INET, key, buf, sizeof (buf))); } + if (secure[hstdb]) + { + oldeuid = geteuid (); + seteuid (uid); + } + while (__gethostbyaddr_r (key, INADDRSZ, AF_INET, &resultbuf, buffer, buflen, &hst, &h_errno) != 0 && h_errno == NETDB_INTERNAL @@ -339,12 +361,16 @@ addhstbyaddr (struct database *db, int f buffer = alloca (buflen); } - cache_addhst (db, fd, req, key, hst); + if (secure[hstdb]) + seteuid (oldeuid); + + cache_addhst (db, fd, req, key, hst, uid); } void -addhstbynamev6 (struct database *db, int fd, request_header *req, void *key) +addhstbynamev6 (struct database *db, int fd, request_header *req, + void *key, uid_t uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -354,6 +380,7 @@ addhstbynamev6 (struct database *db, int char *buffer = alloca (buflen); struct hostent resultbuf; struct hostent *hst; + uid_t oldeuid = 0; if (debug_level > 0) { @@ -363,6 +390,12 @@ addhstbynamev6 (struct database *db, int inet_ntop (AF_INET6, key, buf, sizeof (buf))); } + if (secure[hstdb]) + { + oldeuid = geteuid (); + seteuid (uid); + } + while (__gethostbyname2_r (key, AF_INET6, &resultbuf, buffer, buflen, &hst, &h_errno) != 0 && h_errno == NETDB_INTERNAL @@ -373,12 +406,16 @@ addhstbynamev6 (struct database *db, int buffer = alloca (buflen); } - cache_addhst (db, fd, req, key, hst); + if (secure[hstdb]) + seteuid (oldeuid); + + cache_addhst (db, fd, req, key, hst, uid); } void -addhstbyaddrv6 (struct database *db, int fd, request_header *req, void *key) +addhstbyaddrv6 (struct database *db, int fd, request_header *req, + void *key, uid_t uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -388,6 +425,7 @@ addhstbyaddrv6 (struct database *db, int char *buffer = alloca (buflen); struct hostent resultbuf; struct hostent *hst; + uid_t oldeuid = 0; if (debug_level > 0) { @@ -396,6 +434,12 @@ addhstbyaddrv6 (struct database *db, int inet_ntop (AF_INET6, key, buf, sizeof (buf))); } + if (secure[hstdb]) + { + oldeuid = geteuid (); + seteuid (uid); + } + while (__gethostbyaddr_r (key, IN6ADDRSZ, AF_INET6, &resultbuf, buffer, buflen, &hst, &h_errno) != 0 && h_errno == NETDB_INTERNAL @@ -406,5 +450,8 @@ addhstbyaddrv6 (struct database *db, int buffer = alloca (buflen); } - cache_addhst (db, fd, req, key, hst); + if (secure[hstdb]) + seteuid (oldeuid); + + cache_addhst (db, fd, req, key, hst, uid); } diff -durpN glibc-2.1.2/nscd/nscd-client.h glibc-2.1.3/nscd/nscd-client.h --- glibc-2.1.2/nscd/nscd-client.h Sun Oct 18 15:01:09 1998 +++ glibc-2.1.3/nscd/nscd-client.h Mon Oct 4 12:51:37 1999 @@ -1,6 +1,6 @@ -/* Copyright (c) 1998 Free Software Foundation, Inc. +/* Copyright (c) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998. 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 @@ -50,7 +50,8 @@ typedef enum LASTDBREQ = GETHOSTBYADDRv6, SHUTDOWN, /* Shut the server down. */ GETSTAT, /* Get the server statistic. */ - LASTREQ, + INVALIDATE, /* Invalidate one special cache. */ + LASTREQ } request_type; diff -durpN glibc-2.1.2/nscd/nscd.c glibc-2.1.3/nscd/nscd.c --- glibc-2.1.2/nscd/nscd.c Mon Jan 4 04:33:10 1999 +++ glibc-2.1.3/nscd/nscd.c Mon Oct 4 12:51:37 1999 @@ -1,6 +1,6 @@ /* Copyright (c) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998. 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 @@ -58,10 +58,13 @@ typedef struct thread_info_t thread_info; -int do_shutdown = 0; -int disabled_passwd = 0; -int disabled_group = 0; +int do_shutdown; +int disabled_passwd; +int disabled_group; int go_background = 1; + +int secure[lastdb]; +int secure_in_use; static const char *conffile = _PATH_NSCDCONF; static int check_pid (const char *file); @@ -81,6 +84,9 @@ static const struct argp_option options[ { "nthreads", 't', N_("NUMBER"), 0, N_("Start NUMBER threads") }, { "shutdown", 'K', NULL, 0, N_("Shut the server down") }, { "statistic", 'g', NULL, 0, N_("Print current configuration statistic") }, + { "invalidate", 'i', N_("TABLE"), 0, + N_("Invalidate the specified cache") }, + { "secure", 'S', N_("TABLE,yes"), 0, N_("Use separate cache for each user")}, { NULL, 0, NULL, 0, NULL } }; @@ -201,11 +207,59 @@ parse_opt (int key, char *arg, struct ar } case 'g': + if (getuid () != 0) + error (EXIT_FAILURE, 0, _("Only root is allowed to use this option!")); receive_print_stats (); /* Does not return. */ + case 'i': + if (getuid () != 0) + error (EXIT_FAILURE, 0, _("Only root is allowed to use this option!")); + else + { + int sock = nscd_open_socket (); + request_header req; + ssize_t nbytes; + + if (sock == -1) + exit (EXIT_FAILURE); + + if (strcmp (arg, "passwd") == 0) + req.key_len = sizeof "passwd"; + else if (strcmp (arg, "group") == 0) + req.key_len = sizeof "group"; + else if (strcmp (arg, "hosts") == 0) + req.key_len = sizeof "hosts"; + else + return ARGP_ERR_UNKNOWN; + + req.version = NSCD_VERSION; + req.type = INVALIDATE; + nbytes = TEMP_FAILURE_RETRY (write (sock, &req, + sizeof (request_header))); + if (nbytes != sizeof (request_header)) + { + close (sock); + exit (EXIT_FAILURE); + } + + nbytes = TEMP_FAILURE_RETRY (write (sock, (void *)arg, req.key_len)); + + close (sock); + exit (nbytes != req.key_len ? EXIT_FAILURE : EXIT_SUCCESS); + } + case 't': nthreads = atol (arg); + break; + + case 'S': + if (strcmp (arg, "passwd,yes") == 0) + secure_in_use = secure[pwddb] = 1; + else if (strcmp (arg, "group,yes") == 0) + secure_in_use = secure[grpdb] = 1; + else if (strcmp (arg, "hosts,yes") == 0) + secure_in_use = secure[hstdb] = 1; break; default: diff -durpN glibc-2.1.2/nscd/nscd.conf glibc-2.1.3/nscd/nscd.conf --- glibc-2.1.2/nscd/nscd.conf Mon Oct 19 07:38:55 1998 +++ glibc-2.1.3/nscd/nscd.conf Mon Oct 4 12:51:37 1999 @@ -19,7 +19,7 @@ # -# logfile /var/adm/nscd.log +# logfile /var/log/nscd.log # threads 6 debug-level 0 diff -durpN glibc-2.1.2/nscd/nscd.h glibc-2.1.3/nscd/nscd.h --- glibc-2.1.2/nscd/nscd.h Sun Oct 18 15:01:09 1998 +++ glibc-2.1.3/nscd/nscd.h Mon Oct 4 12:51:37 1999 @@ -1,6 +1,6 @@ -/* Copyright (c) 1998 Free Software Foundation, Inc. +/* Copyright (c) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998. 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 @@ -46,6 +46,7 @@ struct hashentry request_type type; /* Which type of dataset. */ size_t len; /* Length of key. */ void *key; /* Pointer to key. */ + uid_t owner; /* If secure table, this is the owner. */ struct hashentry *next; /* Next entry in this hash bucket list. */ time_t timeout; /* Time when this entry becomes invalid. */ ssize_t total; /* Number of bytes in PACKET. */ @@ -91,6 +92,9 @@ extern const struct iovec hst_iov_disabl /* Number of threads to run. */ extern int nthreads; +/* Tables for which we cache data with uid */ +extern int secure[lastdb]; +extern int secure_in_use; /* Is one of the above 1 ? */ /* Prototypes for global functions. */ @@ -112,33 +116,34 @@ extern int receive_print_stats (void); /* cache.c */ extern struct hashentry *cache_search (int type, void *key, size_t len, - struct database *table); + struct database *table, uid_t owner); extern void cache_add (int type, void *key, size_t len, const void *packet, size_t iovtotal, void *data, - int last, time_t t, struct database *table); + int last, time_t t, struct database *table, + uid_t owner); extern void prune_cache (struct database *table, time_t now); /* pwdcache.c */ extern void addpwbyname (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); extern void addpwbyuid (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); /* grpcache.c */ extern void addgrbyname (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); extern void addgrbygid (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); /* hstcache.c */ extern void addhstbyname (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); extern void addhstbyaddr (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); extern void addhstbynamev6 (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); extern void addhstbyaddrv6 (struct database *db, int fd, request_header *req, - void *key); + void *key, uid_t uid); #endif /* nscd.h */ diff -durpN glibc-2.1.2/nscd/nscd_gethst_r.c glibc-2.1.3/nscd/nscd_gethst_r.c --- glibc-2.1.2/nscd/nscd_gethst_r.c Fri Jul 9 22:14:08 1999 +++ glibc-2.1.3/nscd/nscd_gethst_r.c Tue Feb 22 23:02:58 2000 @@ -67,7 +67,7 @@ __nscd_gethostbyname2_r (const char *nam int -__nscd_gethostbyaddr_r (const char *addr, int len, int type, +__nscd_gethostbyaddr_r (const char *addr, size_t len, int type, struct hostent *resultbuf, char *buffer, size_t buflen, int *h_errnop) { @@ -174,7 +174,7 @@ nscd_gethst_r (const char *key, size_t k char *ignore; int n; - /* A first check whether the buffer is sufficently large is possible. */ + /* A first check whether the buffer is sufficiently large is possible. */ /* Now allocate the buffer the array for the group members. We must align the pointer and the base of the h_addr_list pointers. */ align1 = ((__alignof__ (char *) - (cp - ((char *) 0))) @@ -182,7 +182,7 @@ nscd_gethst_r (const char *key, size_t k align2 = ((__alignof__ (char *) - ((cp + align1 + hst_resp.h_name_len) - ((char *) 0))) & (__alignof__ (char *) - 1)); - if (buflen < (align1 + hst_resp.h_name_len + align2 + + if (buflen < (align1 + hst_resp.h_name_len + align2 + ((hst_resp.h_aliases_cnt + hst_resp.h_addr_list_cnt + 2) * sizeof (char *)) + hst_resp.h_addr_list_cnt * (type == AF_INET diff -durpN glibc-2.1.2/nscd/nscd_nischeck.c glibc-2.1.3/nscd/nscd_nischeck.c --- glibc-2.1.2/nscd/nscd_nischeck.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/nscd/nscd_nischeck.c Sun Sep 26 17:17:10 1999 @@ -0,0 +1,96 @@ +/* Copyright (c) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1999. + + 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. */ + +/* nscd_nischeck: Check, if everybody has read permissions for NIS+ table. + Return value: + 0: Everybody can read the NIS+ table + 1: Only authenticated users could read the NIS+ table */ + +#include <argp.h> +#include <error.h> +#include <stdlib.h> +#include <libintl.h> +#include <locale.h> +#include <rpcsvc/nis.h> + +/* Get libc version number. */ +#include <version.h> + +#define PACKAGE _libc_intl_domainname + +/* Name and version of program. */ +static void print_version (FILE *stream, struct argp_state *state); +void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version; + +/* Data structure to communicate with argp functions. */ +static struct argp argp = +{ + NULL, NULL, NULL, NULL, +}; + +int +main (int argc, char **argv) +{ + int remaining; + nis_result *res; + char *tablename, *cp; + + /* Set locale via LC_ALL. */ + setlocale (LC_ALL, ""); + /* Set the text message domain. */ + textdomain (PACKAGE); + + /* Parse and process arguments. */ + argp_parse (&argp, argc, argv, 0, &remaining, NULL); + + if (remaining + 1 != argc) + { + error (0, 0, gettext ("wrong number of arguments")); + argp_help (&argp, stdout, ARGP_HELP_SEE, program_invocation_short_name); + exit (EXIT_FAILURE); + } + + tablename = alloca (strlen (argv[1]) + 10); + cp = stpcpy (tablename, argv[1]); + strcpy (cp, ".org_dir"); + + res = nis_lookup (tablename, EXPAND_NAME|FOLLOW_LINKS); + + if (res == NULL || + (res->status != NIS_SUCCESS && res->status != NIS_S_SUCCESS)) + return 0; + + if (NIS_NOBODY(NIS_RES_OBJECT(res)->zo_access, NIS_READ_ACC)) + return 0; + else + return 1; +} + +/* Print the version information. */ +static void +print_version (FILE *stream, struct argp_state *state) +{ + fprintf (stream, "nscd_nischeck (GNU %s) %s\n", PACKAGE, VERSION); + fprintf (stream, gettext ("\ +Copyright (C) %s Free Software Foundation, Inc.\n\ +This is free software; see the source for copying conditions. There is NO\n\ +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\ +"), "1999"); + fprintf (stream, gettext ("Written by %s.\n"), "Thorsten Kukuk"); +} diff -durpN glibc-2.1.2/nscd/nscd_proto.h glibc-2.1.3/nscd/nscd_proto.h --- glibc-2.1.2/nscd/nscd_proto.h Sun Oct 18 08:13:43 1998 +++ glibc-2.1.3/nscd/nscd_proto.h Mon Oct 4 12:51:38 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1998. @@ -45,7 +45,7 @@ extern int __nscd_gethostbyname2_r __P ( struct hostent *resultbuf, char *buffer, size_t buflen, int *h_errnop)); -extern int __nscd_gethostbyaddr_r __P ((const char *addr, int len, int type, +extern int __nscd_gethostbyaddr_r __P ((const char *addr, size_t len, int type, struct hostent *resultbuf, char *buffer, size_t buflen, int *h_errnop)); diff -durpN glibc-2.1.2/nscd/pwdcache.c glibc-2.1.3/nscd/pwdcache.c --- glibc-2.1.2/nscd/pwdcache.c Mon Jul 12 18:14:09 1999 +++ glibc-2.1.3/nscd/pwdcache.c Mon Oct 4 12:51:38 1999 @@ -1,5 +1,5 @@ /* Cache handling for passwd lookup. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -27,6 +27,7 @@ #include <string.h> #include <time.h> #include <unistd.h> +#include <libintl.h> #include "nscd.h" #include "dbg_log.h" @@ -84,7 +85,7 @@ struct passwddata static void cache_addpw (struct database *db, int fd, request_header *req, void *key, - struct passwd *pwd) + struct passwd *pwd, uid_t owner) { ssize_t total; ssize_t written; @@ -112,7 +113,7 @@ cache_addpw (struct database *db, int fd pthread_rwlock_rdlock (&db->lock); cache_add (req->type, copy, req->key_len, ¬found, - sizeof (notfound), (void *) -1, 0, t, db); + sizeof (notfound), (void *) -1, 0, t, db, owner); pthread_rwlock_unlock (&db->lock); } @@ -175,9 +176,9 @@ cache_addpw (struct database *db, int fd /* We have to add the value for both, byname and byuid. */ cache_add (GETPWBYNAME, data->strdata, pw_name_len, data, - total, data, 0, t, db); + total, data, 0, t, db, owner); - cache_add (GETPWBYUID, cp, n, data, total, data, 1, t, db); + cache_add (GETPWBYUID, cp, n, data, total, data, 1, t, db, owner); pthread_rwlock_unlock (&db->lock); } @@ -192,7 +193,8 @@ cache_addpw (struct database *db, int fd void -addpwbyname (struct database *db, int fd, request_header *req, void *key) +addpwbyname (struct database *db, int fd, request_header *req, + void *key, uid_t c_uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -202,10 +204,17 @@ addpwbyname (struct database *db, int fd char *buffer = alloca (buflen); struct passwd resultbuf; struct passwd *pwd; + uid_t oldeuid; if (debug_level > 0) dbg_log (_("Haven't found \"%s\" in password cache!"), key); + if (secure[pwddb]) + { + oldeuid = geteuid (); + seteuid (c_uid); + } + while (__getpwnam_r (key, &resultbuf, buffer, buflen, &pwd) != 0 && errno == ERANGE) { @@ -214,12 +223,16 @@ addpwbyname (struct database *db, int fd buffer = alloca (buflen); } - cache_addpw (db, fd, req, key, pwd); + if (secure[pwddb]) + seteuid (c_uid); + + cache_addpw (db, fd, req, key, pwd, c_uid); } void -addpwbyuid (struct database *db, int fd, request_header *req, void *key) +addpwbyuid (struct database *db, int fd, request_header *req, + void *key, uid_t c_uid) { /* Search for the entry matching the key. Please note that we don't look again in the table whether the dataset is now available. We @@ -230,10 +243,17 @@ addpwbyuid (struct database *db, int fd, struct passwd resultbuf; struct passwd *pwd; uid_t uid = atol (key); + uid_t oldeuid = 0; if (debug_level > 0) dbg_log (_("Haven't found \"%d\" in password cache!"), uid); + if (secure[pwddb]) + { + oldeuid = geteuid (); + seteuid (c_uid); + } + while (__getpwuid_r (uid, &resultbuf, buffer, buflen, &pwd) != 0 && errno == ERANGE) { @@ -242,5 +262,8 @@ addpwbyuid (struct database *db, int fd, buffer = alloca (buflen); } - cache_addpw (db, fd, req, key, pwd); + if (secure[pwddb]) + seteuid (oldeuid); + + cache_addpw (db, fd, req, key, pwd, c_uid); } diff -durpN glibc-2.1.2/nss/getent.c glibc-2.1.3/nss/getent.c --- glibc-2.1.2/nss/getent.c Mon Jan 4 09:20:33 1999 +++ glibc-2.1.3/nss/getent.c Thu Jan 20 17:40:23 2000 @@ -1,6 +1,6 @@ -/* Copyright (c) 1998, 1999 Free Software Foundation, Inc. +/* Copyright (c) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998. + Contributed by Thorsten Kukuk <kukuk@suse.de>, 1998. 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 @@ -35,6 +35,7 @@ #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> +#include <arpa/nameser.h> /* Get libc version number. */ #include <version.h> @@ -251,7 +252,9 @@ static inline void print_hosts (struct hostent *host) { unsigned int i; - char *ip = inet_ntoa(* (struct in_addr *) host->h_addr_list[0]); + char buf[INET6_ADDRSTRLEN]; + const char *ip = inet_ntop (host->h_addrtype, host->h_addr_list[0], + buf, sizeof (buf)); fputs (ip, stdout); for (i = strlen (ip); i < 16; ++i) @@ -276,18 +279,22 @@ hosts_keys (int number, char *key[]) for (i = 0; i < number; ++i) { - struct hostent *host; + struct hostent *host = NULL; - if (isdigit (key[i][0])) + if (strchr (key[i], ':') != NULL) { - struct in_addr addr; - addr.s_addr = inet_addr (key[i]); - - host = gethostbyaddr ((char *)&addr, sizeof (struct in_addr), - AF_INET); + char addr[IN6ADDRSZ]; + if (inet_pton (AF_INET6, key[i], &addr)) + host = gethostbyaddr (addr, sizeof (addr), AF_INET6); } - else - host = gethostbyname (key[i]); + else if (isdigit (key[i][0])) + { + char addr[INADDRSZ]; + if (inet_pton (AF_INET, key[i], &addr)) + host = gethostbyaddr (addr, sizeof (addr), AF_INET); + } + else if ((host = gethostbyname2 (key[i], AF_INET6)) == NULL) + host = gethostbyname2 (key[i], AF_INET); if (host == NULL) result = 2; diff -durpN glibc-2.1.2/nss/test-netdb.c glibc-2.1.3/nss/test-netdb.c --- glibc-2.1.2/nss/test-netdb.c Thu Apr 29 05:17:52 1999 +++ glibc-2.1.3/nss/test-netdb.c Tue Feb 22 23:02:58 2000 @@ -41,7 +41,7 @@ #include "nss.h" /* - The following define is neccessary for glibc 2.0.6 + The following define is necessary for glibc 2.0.6 */ #ifndef INET6_ADDRSTRLEN # define INET6_ADDRSTRLEN 46 @@ -361,9 +361,9 @@ main (void) test_services (); if (error_count) - printf ("\n %d errors occured!\n", error_count); + printf ("\n %d errors occurred!\n", error_count); else - printf ("No visible errors occured!\n"); + printf ("No visible errors occurred!\n"); exit (error_count); } Binary files glibc-2.1.2/po/cs.mo and glibc-2.1.3/po/cs.mo differ diff -durpN glibc-2.1.2/po/cs.po glibc-2.1.3/po/cs.po --- glibc-2.1.2/po/cs.po Sun Feb 7 16:13:49 1999 +++ glibc-2.1.3/po/cs.po Tue Nov 23 08:47:39 1999 @@ -1,6 +1,6 @@ # Czech translations for GNU libc. # Copyright (C) 1997 Free Software Foundation, Inc. -# Vladimir Michl <Vladimir.Michl@upol.cz>, 1997. +# Vladimir Michl <Vladimir.Michl@seznam.cz>, 1997. # # Thanks to: # Petr Kolar <Petr.Kolar@vslib.cz> @@ -20,8 +20,8 @@ msgid "" msgstr "" "Project-Id-Version: libc 2.1\n" "POT-Creation-Date: 1998-11-28 09:29-0800\n" -"PO-Revision-Date: 1999-01-14 18:57+01:00\n" -"Last-Translator: Vladimir Michl <Vladimir.Michl@upol.cz>\n" +"PO-Revision-Date: 1999-11-09 13:01+01:00\n" +"Last-Translator: Vladimir Michl <Vladimir.Michl@seznam.cz>\n" "Language-Team: Czech <cs@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" @@ -510,7 +510,7 @@ msgid "" "\n" " " msgstr "" -" Nasleduj�c� seznam obsahuje v�echny zn�m� znakov� sady. To nutn� neznamen�,\n" +" N�sleduj�c� seznam obsahuje v�echny zn�m� znakov� sady. To nutn� neznamen�,\n" "�e v�echny kombinace t�chto n�zv� mohou b�t pou�ity pro argumenty Z a DO.\n" "Jedna znakov� sada m��e b�t uvedena pod v�cer�mi n�zvy (p�ezd�vkami).\n" " N�kter� z n�zv� nejsou oby�ejn� �et�zce, ale regul�rn� v�razy, kter�\n" @@ -1441,7 +1441,7 @@ msgstr "Jm�no nen� t�mto serverem obsluh #: nis/nis_error.c:41 msgid "Server out of memory" -msgstr "Pam�� serveru byla vy�erp�na" +msgstr "Pam�� serveru byla vy�erp�na" #: nis/nis_error.c:42 msgid "Object with same name exists" @@ -2922,11 +2922,12 @@ msgstr "Spojen� bylo p�eru�eno" msgid "Too many references: cannot splice" msgstr "P��li� mnoho odkaz� - nelze spojit" +# �asov� limit pro p�ipojen� vypr�el #. TRANS A socket operation with a specified timeout received no response during #. TRANS the timeout period. #: stdio-common/../sysdeps/gnu/errlist.c:445 msgid "Connection timed out" -msgstr "�asov� limit pro p�ipojen� vypr�el" +msgstr "Spojen� bylo p��li� dlouho neaktivn�" #. TRANS A remote host refused to allow the network connection (typically because #. TRANS it is not running the requested service). Binary files glibc-2.1.2/po/de.mo and glibc-2.1.3/po/de.mo differ diff -durpN glibc-2.1.2/po/de.po glibc-2.1.3/po/de.po --- glibc-2.1.2/po/de.po Mon Dec 7 04:07:16 1998 +++ glibc-2.1.3/po/de.po Tue Feb 22 23:02:58 2000 @@ -1,13 +1,13 @@ # German translation of the GNU-libc-messages. # Copyright (C) 1996 Free Software Foundation, Inc. -# Jochen Hein <jochen.hein@delphi.central.de>, 1996. +# Jochen Hein <jochen@jochen.org>, 1996-2000. # msgid "" msgstr "" -"Project-Id-Version: GNU libc 2.1\n" -"POT-Creation-Date: 1998-11-28 09:29-0800\n" -"PO-Revision-Date: 1998-12-06 11:35+01:00\n" -"Last-Translator: Jochen Hein <jochen.hein@delphi.central.de>\n" +"Project-Id-Version: GNU libc 2.1.3\n" +"POT-Creation-Date: 2000-02-16 10:39-0800\n" +"PO-Revision-Date: 2000-02-20 09:38+01:00\n" +"Last-Translator: Jochen Hein <jochen@jochen.org>\n" "Language-Team: German <de@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" @@ -21,22 +21,22 @@ msgstr "\t\tZugriffsrechte : " msgid "\t\tAttributes : " msgstr "\t\tAttribute : " -#: sunrpc/rpc_main.c:1416 +#: sunrpc/rpc_main.c:1414 #, c-format msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" msgstr "\t%s [-abkCLNTM][-DName[=Wert]] [-i Gr��e] [-I [-K Sekunden]] [-Y Pfad] Eingabedatei\n" -#: sunrpc/rpc_main.c:1418 +#: sunrpc/rpc_main.c:1416 #, c-format msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o Ausgabedatei] [Eingabedatei]\n" -#: sunrpc/rpc_main.c:1421 +#: sunrpc/rpc_main.c:1419 #, c-format msgid "\t%s [-n netid]* [-o outfile] [infile]\n" msgstr "\t%s [-n Netz-ID]* [-o Ausgabedatei] [Eingabedatei]\n" -#: sunrpc/rpc_main.c:1420 +#: sunrpc/rpc_main.c:1418 #, c-format msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" msgstr "\t%s [-s Netz-Typ]* [-o Ausgabedatei] [Eingabedatei]\n" @@ -107,13 +107,14 @@ msgstr "" "%15ld Cache-Misses bei positiven Eintr�gen\n" "%15ld Cache-Misses bei negativen Eintr�gen\n" "%15ld%% Cache-Hit Verh�ltnis\n" -"%15s Pr�fe /etc/%s f�r �nderungen\n" +"%15s Pr�fe /etc/%s auf �nderungen\n" #: nis/nis_print.c:251 msgid "\nGroup Members :\n" msgstr "\nGruppen Mitglieder :\n" -#: nis/nis_print.c:320 +# einfach "Lebenszeit" (?) -ke- +#: nis/nis_print.c:322 msgid "\nTime to Live : " msgstr "\nTime to Live : " @@ -141,7 +142,7 @@ msgstr " nein" msgid " yes" msgstr " ja" -#: nis/nis_print.c:344 +#: nis/nis_print.c:348 #, c-format msgid " Data Length = %u\n" msgstr " L�nge der Daten = %u\n" @@ -194,39 +195,39 @@ msgstr " Rekursive Mitglieder:\n" msgid " program vers proto port\n" msgstr " Program Vers Proto Port\n" -#: argp/argp-help.c:1571 +#: argp/argp-help.c:1573 msgid " or: " msgstr " oder: " -#: timezone/zic.c:421 +#: timezone/zic.c:423 #, c-format msgid " (rule from \"%s\", line %d)" msgstr " (Regel aus Datei �%s�, Zeile %d)" -#: argp/argp-help.c:1583 +#: argp/argp-help.c:1585 msgid " [OPTION...]" msgstr " [Option...]" -#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1291 +#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1476 msgid " done\n" msgstr " fertig\n" -#: timezone/zic.c:418 +#: timezone/zic.c:420 #, c-format msgid "\"%s\", line %d: %s" msgstr "�%s�, Zeile %d: %s" -#: timezone/zic.c:958 +#: timezone/zic.c:984 #, c-format msgid "\"Zone %s\" line and -l option are mutually exclusive" msgstr "�Zone %s�-Zeile und die Option �-l� schliessen sich aus" -#: timezone/zic.c:966 +#: timezone/zic.c:992 #, c-format msgid "\"Zone %s\" line and -p option are mutually exclusive" msgstr "�Zone %s�-Zeile und die Option �-p� schliessen sich aus" -#: sunrpc/rpc_main.c:1401 +#: sunrpc/rpc_main.c:1399 msgid "\"infile\" is required for template generation flags.\n" msgstr "�infile� ist f�r die Template-Generierungs-Flags erforderlich\n" @@ -240,7 +241,7 @@ msgstr "%.*s: ARGP_HELP_FMT Parameter ve msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "%.*s: Unbekannter ARGP_HELP_FMT Parameter" -#: timezone/zic.c:768 +#: timezone/zic.c:794 #, c-format msgid "%s in ruleless zone" msgstr "%s in einer regellosen Zone" @@ -262,7 +263,7 @@ msgstr "%s%sUnbekanntes Signal %d\n" # Ob diese �bersetzung so korrekt ist? - jh # definitiv nicht, aber hoffentlich ist es so besser - Klaus Espenlaub -#: timezone/zic.c:2201 +#: timezone/zic.c:2229 #, c-format msgid "%s: %d did not sign extend correctly\n" msgstr "%s: Vorzeichenerweiterung von %d fehlgeschlagen\n" @@ -272,92 +273,97 @@ msgstr "%s: Vorzeichenerweiterung von %d msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n" msgstr "%s: �<mb_cur_max>� mu� gr��er als �<mb_cur_min>� sein\n" -#: sunrpc/rpc_main.c:422 +#: sunrpc/rpc_main.c:421 #, c-format msgid "%s: C preprocessor failed with exit code %d\n" msgstr "%s: C Pr�prozessor fehlgeschlagen mit Exit-Code %d\n" -#: sunrpc/rpc_main.c:419 +#: sunrpc/rpc_main.c:418 #, c-format msgid "%s: C preprocessor failed with signal %d\n" msgstr "%s: C Pr�prozessor fehlgeschlagen mit Signal %d\n" -#: timezone/zic.c:1469 +#: timezone/zic.c:1495 #, c-format msgid "%s: Can't create %s: %s\n" msgstr "%s: Kann �%s� nicht erzeugen: %s\n" -#: timezone/zic.c:2179 +#: timezone/zic.c:2207 #, c-format msgid "%s: Can't create directory %s: %s\n" msgstr "%s: Kann das Verzeichnis �%s� nicht erzeugen: %s\n" -#: timezone/zic.c:620 +#: timezone/zic.c:646 #, c-format msgid "%s: Can't link from %s to %s: %s\n" msgstr "%s: Kann nicht von �%s� nach �%s� linken: %s\n" -#: timezone/zic.c:794 +#: timezone/zic.c:820 #, c-format msgid "%s: Can't open %s: %s\n" msgstr "%s: Kann die Datei �%s� nicht �ffnen: %s\n" -#: timezone/zic.c:1459 +#: timezone/zic.c:1485 #, c-format msgid "%s: Can't remove %s: %s\n" msgstr "%s: Kann �%s� nicht l�schen: %s\n" -#: timezone/zic.c:863 +#: timezone/zic.c:631 +#, c-format +msgid "%s: Can't unlink %s: %s\n" +msgstr "%s: Kann den Verzeichniseintrag �%s� nicht l�schen (unlink): %s\n" + +#: timezone/zic.c:889 #, c-format msgid "%s: Error closing %s: %s\n" -msgstr "%s: Fehler beim Schliessen der Datei �%s�: %s\n" +msgstr "%s: Fehler beim Schlie�en der Datei �%s�: %s\n" -#: timezone/zic.c:856 +#: timezone/zic.c:882 #, c-format msgid "%s: Error reading %s\n" msgstr "%s: Fehler beim Lesen der Datei �%s�\n" -#: timezone/zic.c:1535 +#: timezone/zdump.c:266 #, c-format -msgid "%s: Error writing %s\n" -msgstr "%s: Fehler beim Schreiben der Datei �%s�\n" +msgid "%s: Error writing " +msgstr "%s: Fehler beim Schreiben " -#: timezone/zdump.c:266 +#: timezone/zic.c:1561 #, c-format -msgid "%s: Error writing standard output " -msgstr "%s: Fehler beim Schreiben auf die Standardausgabe " +msgid "%s: Error writing %s\n" +msgstr "%s: Fehler beim Schreiben der Datei �%s�\n" -#: timezone/zic.c:841 +#: timezone/zic.c:867 #, c-format msgid "%s: Leap line in non leap seconds file %s\n" msgstr "%s: Schalt-Zeile in einer nicht-Schaltsekunden-Datei �%s�\n" -#: timezone/zic.c:359 +#: timezone/zic.c:361 #, c-format msgid "%s: Memory exhausted: %s\n" msgstr "%s: Kein Hauptspeicher mehr verf�gbar: %s\n" -#: timezone/zic.c:524 +#: timezone/zic.c:526 #, c-format msgid "%s: More than one -L option specified\n" msgstr "%s: Mehr als eine �-L� Option angegeben\n" -#: timezone/zic.c:484 +#: timezone/zic.c:486 #, c-format msgid "%s: More than one -d option specified\n" msgstr "%s: Mehr als eine �-d� Option angegeben\n" -#: timezone/zic.c:494 +#: timezone/zic.c:496 #, c-format msgid "%s: More than one -l option specified\n" msgstr "%s: Mehr als eine �-l� Option angegeben\n" -#: timezone/zic.c:504 +#: timezone/zic.c:506 #, c-format msgid "%s: More than one -p option specified\n" msgstr "%s: Mehr als eine �-p� Option angegeben\n" -#: timezone/zic.c:514 +#: timezone/zic.c:516 #, c-format msgid "%s: More than one -y option specified\n" msgstr "%s: Mehr als eine �-y� Option angegeben\n" @@ -370,59 +376,59 @@ msgstr "%s: Zu viele Argumente\n" #: login/programs/database.c:129 #, c-format msgid "%s: cannot get modification time" -msgstr "%s: kann die Modifikationsdatei nicht bekommen" +msgstr "%s: kann die Modifikationszeit nicht bekommen" -#: timezone/zic.c:1900 +#: timezone/zic.c:1928 #, c-format msgid "%s: command was '%s', result was %d\n" msgstr "%s: Das Kommando war �%s�, das Ergebnis war %d\n" -#: locale/programs/charmap.c:677 locale/programs/locfile.c:1008 +#: locale/programs/charmap.c:676 locale/programs/locfile.c:1014 #, c-format msgid "%s: error in state machine" msgstr "%s: Fehler im (intern verwendeten) endlichen Automaten" -#: posix/getopt.c:784 +#: posix/getopt.c:788 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: Die Option ist nicht erlaubt -- �%c�\n" -#: posix/getopt.c:787 +#: posix/getopt.c:791 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: Ung�ltige Option -- �%c�\n" -#: posix/getopt.c:707 +#: posix/getopt.c:711 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: Die Option �%c%s� erlaubt kein Argument\n" -#: posix/getopt.c:677 +#: posix/getopt.c:681 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: Die Option �%s� ist nicht eindeutig\n" -#: posix/getopt.c:725 posix/getopt.c:898 +#: posix/getopt.c:729 posix/getopt.c:902 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: Die Option �%s� erfordert ein Argument\n" -#: posix/getopt.c:702 +#: posix/getopt.c:706 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: Die Option �--%s� erlaubt kein Argument\n" -#: posix/getopt.c:882 +#: posix/getopt.c:886 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: Die Option �-W %s� erlaubt kein Argument\n" -#: posix/getopt.c:864 +#: posix/getopt.c:868 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: Die Option �-W %s� ist nicht eindeutig\n" -#: posix/getopt.c:817 posix/getopt.c:947 +#: posix/getopt.c:821 posix/getopt.c:951 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: Diese Option ben�tigt ein Argument -- �%c�\n" @@ -432,12 +438,12 @@ msgstr "%s: Diese Option ben�tigt ein Ar msgid "%s: output would overwrite %s\n" msgstr "%s: Die Ausgabe w�rde �%s� �berschreiben\n" -#: timezone/zic.c:848 timezone/zic.c:1262 timezone/zic.c:1287 +#: timezone/zic.c:874 timezone/zic.c:1288 timezone/zic.c:1313 #, c-format msgid "%s: panic: Invalid l_value %d\n" msgstr "%s: Panik: ung�ltiger �l_value� %d\n" -#: locale/programs/charmap.c:684 locale/programs/repertoire.c:289 +#: locale/programs/charmap.c:683 locale/programs/repertoire.c:301 #, c-format msgid "%s: premature end of file" msgstr "%s: Unerwartetes Ende der Datei" @@ -445,20 +451,20 @@ msgstr "%s: Unerwartetes Ende der Datei" # XXX in den Source sehen #: sunrpc/rpc_main.c:294 #, c-format -msgid "%s: unable to open " -msgstr "%s: Fehler beim �ffnen " +msgid "%s: unable to open %s: %m\n" +msgstr "%s: Fehler beim �ffnen von �%s�: %m\n" -#: posix/getopt.c:758 +#: posix/getopt.c:762 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: Unbekannte Option �%c%s�\n" -#: posix/getopt.c:754 +#: posix/getopt.c:758 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: Unbekannte Option �--%s�\n" -#: timezone/zic.c:443 +#: timezone/zic.c:445 #, c-format msgid "" "%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n" @@ -472,10 +478,10 @@ msgstr "" msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" msgstr "%s: Syntax: %s [ -v ] [ -c cutoff ] Zonenname ...\n" -#: sunrpc/rpc_main.c:307 +#: sunrpc/rpc_main.c:306 #, c-format -msgid "%s: while writing output: " -msgstr "%s: Beim Schreiben der Ausgabe: " +msgid "%s: while writing output %s: %m" +msgstr "%s: Beim Schreiben der Ausgabe �%s�: %m" #: argp/argp-parse.c:164 msgid "(PROGRAM ERROR) No version known!?" @@ -498,16 +504,16 @@ msgstr "(unbekannter Fehler bei der Auth msgid "(unknown)" msgstr "Unbekanntes Signal" -#: elf/sprof.c:574 +#: elf/sprof.c:570 #, c-format msgid "*** The file `%s' is stripped: no detailed analysis possible\n" -msgstr "*** Die Datei �%s� ist gestript: keine detaillierte Analysise m�glich\n" +msgstr "*** Die Datei �%s� ist gestrippt: keine detaillierte Analyse m�glich\n" -#: catgets/gencat.c:266 +#: catgets/gencat.c:267 msgid "*standard input*" msgstr "*Standardeingabe*" -#: catgets/gencat.c:120 +#: catgets/gencat.c:121 msgid "" "-o OUTPUT-FILE [INPUT-FILE]...\n" "[OUTPUT-FILE [INPUT-FILE]...]" @@ -515,7 +521,8 @@ msgstr "" "-o Ausgabedatei [Eingabedatei]...\n" "[Ausgabedatei [Eingabedatei]...]" -#: stdio-common/../sysdeps/gnu/errlist.c:778 +#: stdio-common/../sysdeps/gnu/errlist.c:796 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:114 msgid ".lib section in a.out corrupted" msgstr "�.lib�-Sektion in der �a.out�-Datei ist besch�digt" @@ -533,12 +540,12 @@ msgstr "; Ursache = " msgid "<%s> and <%s> are illegal names for range" msgstr "<%s> und <%s> sind ung�ltige Namen f�r einen Zeichenbereich" -#: locale/programs/ld-ctype.c:342 +#: locale/programs/ld-ctype.c:428 #, c-format msgid "<SP> character must not be in class `%s'" msgstr "Das Zeichen �<SP>� darf nicht in der Klasse �%s� enthalten sein" -#: locale/programs/ld-ctype.c:330 +#: locale/programs/ld-ctype.c:416 #, c-format msgid "<SP> character not in class `%s'" msgstr "Das Zeichen �<SP>� ist nicht in der Klasse �%s� enthalten" @@ -546,24 +553,26 @@ msgstr "Das Zeichen �<SP>� ist nicht in #. TRANS The experienced user will know what is wrong. #. TRANS @c This error code is a joke. Its perror text is part of the joke. #. TRANS @c Don't change it. -#: stdio-common/../sysdeps/gnu/errlist.c:603 +#: stdio-common/../sysdeps/gnu/errlist.c:621 msgid "?" msgstr "?" -#: sysdeps/unix/sysv/linux/siglist.h:27 +#: sysdeps/generic/siglist.h:34 sysdeps/gnu/siglist.h:28 msgid "Aborted" msgstr "Abgebrochen" -#: nis/nis_print.c:318 +#: nis/nis_print.c:320 msgid "Access Rights : " msgstr "Zugriffsrechte: " -#: stdio-common/../sysdeps/gnu/errlist.c:774 +#: stdio-common/../sysdeps/gnu/errlist.c:792 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:113 msgid "Accessing a corrupted shared library" msgstr "Zugriff auf eine fehlerhafte oder defekte Shared Library" #. TRANS The requested socket address is already in use. @xref{Socket Addresses}. #: stdio-common/../sysdeps/gnu/errlist.c:366 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:154 msgid "Address already in use" msgstr "Die Adresse wird bereits verwendet" @@ -577,18 +586,31 @@ msgstr "Die Adre�familie f�r Hostnamen w msgid "Address family not supported by protocol" msgstr "Die Adre�familie wird von der Protokollfamilie nicht unterst�tzt" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:153 +msgid "Address family not supported by protocol family" +msgstr "Die Adre�familie wird von der Protokollfamilie nicht unterst�tzt" + # Diese �bersetzung macht eigentlich keinen Sinn - jh # man -s 2 Intro auf Solaris2 laesst diese �bersetzung # sinnvoller erscheinen - Klaus Espenlaub -#: stdio-common/../sysdeps/gnu/errlist.c:742 +#: stdio-common/../sysdeps/gnu/errlist.c:760 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:97 msgid "Advertise error" msgstr "Konflikt mit Bekanntmachung" -#: stdio-common/../sysdeps/unix/siglist.c:39 -#: sysdeps/unix/sysv/linux/siglist.h:33 +#: stdio-common/../sysdeps/unix/siglist.c:39 sysdeps/generic/siglist.h:40 +#: sysdeps/gnu/siglist.h:34 msgid "Alarm clock" msgstr "Der Wecker klingelt" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:82 +msgid "Anode table overflow" +msgstr "�berlauf der �anode�-Tabelle" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:36 +msgid "Arg list too long" +msgstr "Die Argumentliste ist zu lang" + #. TRANS Argument list too long; used when the arguments passed to a new program #. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a #. TRANS File}) occupy too much memory space. This condition never arises in the @@ -597,15 +619,23 @@ msgstr "Der Wecker klingelt" msgid "Argument list too long" msgstr "Die Argumentliste ist zu lang" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:62 +msgid "Argument out of domain" +msgstr "Das Argument ist au�erhalb des Definitionsbereiches" + #: nis/nis_error.c:65 msgid "Attempt to remove a non-empty table" msgstr "Versuch, eine nicht-leere Tabelle zu l�schen" -#: stdio-common/../sysdeps/gnu/errlist.c:782 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:115 +msgid "Attempting to link in more shared libraries than system limit" +msgstr "Versuche mehr Shared Libraries einzubinden als das Systemlimit zul��t" + +#: stdio-common/../sysdeps/gnu/errlist.c:800 msgid "Attempting to link in too many shared libraries" msgstr "Versuch zu viele Shared Libraries einzubinden" -#: sunrpc/clnt_perr.c:273 +#: sunrpc/clnt_perr.c:328 msgid "Authentication OK" msgstr "Authentifizierung OK" @@ -622,9 +652,15 @@ msgstr "BOGUS OBJEKT\n" #. TRANS Bad address; an invalid pointer was detected. #. TRANS In the GNU system, this error never happens; you get a signal instead. #: stdio-common/../sysdeps/gnu/errlist.c:114 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:43 msgid "Bad address" msgstr "Ung�ltige Adresse" +# XXX ob das eine gute �bersetzung ist? +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:79 +msgid "Bad exchange descriptor" +msgstr "Ung�ltiger Deskriptor zum Datenaustausch" + #. TRANS Bad file descriptor; for example, I/O on a descriptor that has been #. TRANS closed or reading from a descriptor open only for writing (or vice #. TRANS versa). @@ -632,16 +668,29 @@ msgstr "Ung�ltige Adresse" msgid "Bad file descriptor" msgstr "Ung�ltiger Dateideskriptor" -#: stdio-common/../sysdeps/gnu/errlist.c:730 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:38 +msgid "Bad file number" +msgstr "Ung�ltiger Dateideskriptor" + +#: stdio-common/../sysdeps/gnu/errlist.c:748 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:86 msgid "Bad font file format" msgstr "Ung�ltiges Font-Dateiformat" -#: stdio-common/../sysdeps/gnu/errlist.c:622 +#: stdio-common/../sysdeps/gnu/errlist.c:640 msgid "Bad message" msgstr "Ung�ltige Nachricht" -#: stdio-common/../sysdeps/unix/siglist.c:37 -#: sysdeps/unix/sysv/linux/siglist.h:56 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:83 +msgid "Bad request code" +msgstr "Ung�ltiger Aufruf-Code" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:80 +msgid "Bad request descriptor" +msgstr "Ung�ltiger Aufruf-Deskriptor" + +#: stdio-common/../sysdeps/unix/siglist.c:37 sysdeps/generic/siglist.h:63 +#: sysdeps/gnu/siglist.h:57 msgid "Bad system call" msgstr "Ung�ltiger Betriebssystemaufruf" @@ -649,7 +698,7 @@ msgstr "Ung�ltiger Betriebssystemaufruf" msgid "Bad value for ai_flags" msgstr "Ung�ltiger Wert f�r �ai_flags�" -#: locale/programs/localedef.c:104 +#: locale/programs/localedef.c:101 msgid "Be strictly POSIX conform" msgstr "Sei strikt POSIX-konform" @@ -661,6 +710,7 @@ msgstr "Bin�re Daten\n" #. TRANS requires one. For example, trying to mount an ordinary file as a file #. TRANS system in Unix gives this error. #: stdio-common/../sysdeps/gnu/errlist.c:121 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:44 msgid "Block device required" msgstr "Es ist ein Block-Device notwendig" @@ -675,15 +725,16 @@ msgstr "Poll-Problem beim Broadcast" #. TRANS unless it has handled or blocked @code{SIGPIPE}. #: stdio-common/../sysdeps/gnu/errlist.c:234 #: stdio-common/../sysdeps/unix/siglist.c:38 -#: sysdeps/unix/sysv/linux/siglist.h:32 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:61 +#: sysdeps/generic/siglist.h:39 sysdeps/gnu/siglist.h:33 msgid "Broken pipe" msgstr "Daten�bergabe unterbrochen (broken pipe)" # Ung�ltige Adressierung? - jh # die �bersetzung scheint mir gut - SIGBUS kann jedoch # vieles bedeuten - Klaus Espenlaub -#: stdio-common/../sysdeps/unix/siglist.c:35 -#: sysdeps/unix/sysv/linux/siglist.h:30 +#: stdio-common/../sysdeps/unix/siglist.c:35 sysdeps/generic/siglist.h:37 +#: sysdeps/gnu/siglist.h:31 msgid "Bus error" msgstr "Bus-Zugriffsfehler" @@ -691,8 +742,8 @@ msgstr "Bus-Zugriffsfehler" msgid "CDS" msgstr "CDS" -#: stdio-common/../sysdeps/unix/siglist.c:49 -#: sysdeps/unix/sysv/linux/siglist.h:43 +#: stdio-common/../sysdeps/unix/siglist.c:49 sysdeps/generic/siglist.h:50 +#: sysdeps/gnu/siglist.h:44 msgid "CPU time limit exceeded" msgstr "Rechenzeitbegrenzung �berschritten" @@ -700,23 +751,28 @@ msgstr "Rechenzeitbegrenzung �berschritt msgid "Cache expired" msgstr "Der Cache ist verfallen" -#: stdio-common/../sysdeps/gnu/errlist.c:770 +#: stdio-common/../sysdeps/gnu/errlist.c:788 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:112 msgid "Can not access a needed shared library" msgstr "Auf eine ben�tigte Shared Library kann nicht zugegriffen werden" -#: nis/ypclnt.c:769 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:116 +msgid "Can not exec a shared library directly" +msgstr "Eine Shared Library kann nicht direkt ausgef�hrt werden" + +#: nis/ypclnt.c:779 msgid "Can't bind to server which serves this domain" msgstr "Kein Server f�r diese NIS-Domain gefunden" -#: nis/ypclnt.c:781 +#: nis/ypclnt.c:791 msgid "Can't communicate with portmapper" msgstr "Keine Kommunikation mit dem Portmapper m�glich" -#: nis/ypclnt.c:783 +#: nis/ypclnt.c:793 msgid "Can't communicate with ypbind" msgstr "Keine Kommunikation mit �ypbind� m�glich" -#: nis/ypclnt.c:785 +#: nis/ypclnt.c:795 msgid "Can't communicate with ypserv" msgstr "Keine Kommunikation mit �ypserv� m�glich" @@ -730,6 +786,7 @@ msgstr "Nicht gen�gend Hauptspeicher ver #. TRANS to give a socket a name that doesn't match the local host name. #. TRANS @xref{Socket Addresses}. #: stdio-common/../sysdeps/gnu/errlist.c:373 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:155 msgid "Cannot assign requested address" msgstr "Die angeforderte Adresse kann nicht zugewiesen werden" @@ -737,11 +794,11 @@ msgstr "Die angeforderte Adresse kann ni msgid "Cannot create socket for broadcast rpc" msgstr "Kann den Socket f�r den Broadcast-RPC nicht erstellen" -#: stdio-common/../sysdeps/gnu/errlist.c:786 +#: stdio-common/../sysdeps/gnu/errlist.c:804 msgid "Cannot exec a shared library directly" msgstr "Eine Shared Library kann nicht direkt ausgef�hrt werden" -#: sunrpc/rpc_main.c:1406 +#: sunrpc/rpc_main.c:1404 msgid "Cannot have more than one file generation flag!\n" msgstr "Mehr als ein File-Generation-Flag angegeben, es ist nur eins erlaubt!\n" @@ -749,10 +806,14 @@ msgstr "Mehr als ein File-Generation-Fla msgid "Cannot receive reply to broadcast" msgstr "Kann die Antwort auf den Broadcast nicht empfangen" -#: sunrpc/pmap_clnt.c:74 +#: sunrpc/pmap_clnt.c:133 msgid "Cannot register service" msgstr "Kann den Service nicht registrieren" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:172 +msgid "Cannot send after socket shutdown" +msgstr "Kein Senden nach dem Beenden des Sockets m�glich" + #. TRANS The socket has already been shut down. #: stdio-common/../sysdeps/gnu/errlist.c:434 msgid "Cannot send after transport endpoint shutdown" @@ -766,25 +827,26 @@ msgstr "Kann das Broadcast-Paket nicht s msgid "Cannot set socket option SO_BROADCAST" msgstr "Kann die Option �SO_BROADCAST� nicht beim Socket setzen" -#: sunrpc/rpc_main.c:1193 +#: sunrpc/rpc_main.c:1191 msgid "Cannot specify more than one input file!\n" msgstr "Es darf nicht mehr als eine Eingabedatei angegeben werden!\n" -#: sunrpc/rpc_main.c:1363 +#: sunrpc/rpc_main.c:1361 msgid "Cannot use netid flag with inetd flag!\n" msgstr "Kann das �netid�-Flag nicht zusammen mit dem �inetd�-Flag verarbeiten!\n" # XXX Hm, was ist das eigentlich? -#: sunrpc/rpc_main.c:1375 +#: sunrpc/rpc_main.c:1373 msgid "Cannot use netid flag without TIRPC!\n" msgstr "Das �netid�-Flag kann nicht ohne �TIRPC� verwendet werden!\n" # XXX Hm, was ist das eigentlich? -#: sunrpc/rpc_main.c:1382 +#: sunrpc/rpc_main.c:1380 msgid "Cannot use table flags with newstyle!\n" msgstr "Das �table�-flags kann nicht mit �newstyle� verwendet werden!\n" -#: stdio-common/../sysdeps/gnu/errlist.c:670 +#: stdio-common/../sysdeps/gnu/errlist.c:688 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:66 msgid "Channel number out of range" msgstr "Die Kanalnummer ist au�erhalb des g�ltigen Bereiches" @@ -794,12 +856,12 @@ msgstr "Die Kanalnummer ist au�erhalb de msgid "Character Separator : %c\n" msgstr "Trennzeichen : %c\n" -#: stdio-common/../sysdeps/unix/siglist.c:45 -#: sysdeps/unix/sysv/linux/siglist.h:39 +#: stdio-common/../sysdeps/unix/siglist.c:45 sysdeps/generic/siglist.h:46 +#: sysdeps/gnu/siglist.h:40 msgid "Child exited" msgstr "Der Kind-Proze� ist beendet" -#: sunrpc/clnt_perr.c:283 +#: sunrpc/clnt_perr.c:347 msgid "Client credential too weak" msgstr "Die Best�tigung des Clients ist zu unsicher" @@ -807,20 +869,21 @@ msgstr "Die Best�tigung des Clients ist msgid "Columns :\n" msgstr "Spalten :\n" -#: stdio-common/../sysdeps/gnu/errlist.c:750 +#: stdio-common/../sysdeps/gnu/errlist.c:768 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:99 msgid "Communication error on send" msgstr "Kommunikationsfehler beim Senden" -#: locale/programs/localedef.c:112 +#: locale/programs/localedef.c:109 msgid "Compile locale specification" msgstr "Umwandeln der Lokale-Spezifikation" #. TRANS Go home and have a glass of warm, dairy-fresh milk. -#: stdio-common/../sysdeps/gnu/errlist.c:613 +#: stdio-common/../sysdeps/gnu/errlist.c:631 msgid "Computer bought the farm" msgstr "Der Computer hat den Bauernhof erworben" -#: locale/programs/ld-ctype.c:1253 +#: locale/programs/ld-ctype.c:1438 msgid "Computing table size for character classes might take a while..." msgstr "Berechnung der Gr��e der Tabelle der Zeichenklassen: Dies kann einige Zeit dauern..." @@ -831,6 +894,7 @@ msgstr "Berechnung der Gr��e der Tabelle #. TRANS A remote host refused to allow the network connection (typically because #. TRANS it is not running the requested service). #: stdio-common/../sysdeps/gnu/errlist.c:451 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:175 msgid "Connection refused" msgstr "Verbindungsaufbau abgelehnt" @@ -838,17 +902,19 @@ msgstr "Verbindungsaufbau abgelehnt" #. TRANS local host, such as by the remote machine rebooting or an unrecoverable #. TRANS protocol violation. #: stdio-common/../sysdeps/gnu/errlist.c:401 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:160 msgid "Connection reset by peer" msgstr "Die Verbindung wurde vom Kommunikationspartner zur�ckgesetzt" #. TRANS A socket operation with a specified timeout received no response during #. TRANS the timeout period. #: stdio-common/../sysdeps/gnu/errlist.c:445 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:174 msgid "Connection timed out" msgstr "Die Wartezeit f�r die Verbindung ist abgelaufen" -#: stdio-common/../sysdeps/unix/siglist.c:44 -#: sysdeps/unix/sysv/linux/siglist.h:38 +#: stdio-common/../sysdeps/unix/siglist.c:44 sysdeps/generic/siglist.h:45 +#: sysdeps/gnu/siglist.h:39 msgid "Continued" msgstr "Fortgesetzt" @@ -861,10 +927,10 @@ msgstr "Konvertiert die Kodierung von Da msgid "Convert key to lower case" msgstr "�bersetze den Schl�ssel in Kleinbuchstaben" -#: catgets/gencat.c:236 db2/makedb.c:242 elf/sprof.c:359 +#: catgets/gencat.c:237 db2/makedb.c:242 elf/sprof.c:355 #: iconv/iconv_prog.c:294 locale/programs/locale.c:267 -#: locale/programs/localedef.c:403 nscd/nscd.c:223 nss/getent.c:65 -#: posix/getconf.c:624 +#: locale/programs/localedef.c:400 nscd/nscd.c:277 nscd/nscd_nischeck.c:90 +#: nss/getent.c:66 posix/getconf.c:624 #, c-format msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -876,33 +942,37 @@ msgstr "" "Es gibt KEINERLEI Garantie; nicht einmal f�r die TAUGLICHKEIT oder\n" "VERWENDBARKEIT F�R EINEN ANGEGEBENEN ZWECK.\n" -#: nscd/nscd_conf.c:167 +#: nscd/nscd_conf.c:165 #, c-format msgid "Could not create log file \"%s\"" msgstr "Kann die Logdatei �%s� nicht erstellen" -#: catgets/gencat.c:107 +#: catgets/gencat.c:108 msgid "Create C header file NAME containing symbol definitions" msgstr "Erzeuge die C Headerdatei NAME mit den Symboldefinitionen" -#: locale/programs/localedef.c:103 +#: locale/programs/localedef.c:100 msgid "Create output even if warning messages were issued" -msgstr "Die Ausgabedatei wirderzeugt, obwohl Warnungen ausgegeben wurden" +msgstr "Die Ausgabedatei wird erzeugt, obwohl Warnungen ausgegeben wurden" #: db2/makedb.c:68 msgid "Create simple DB database from textual input." msgstr "Erstellt eine einfach DB Datenbank aus einer Text-Eingabe." -#: nis/nis_print.c:322 +#: nis/nis_print.c:325 #, c-format msgid "Creation Time : %s" msgstr "Erstellungszeit: %s" -#: nis/nss_nisplus/nisplus-publickey.c:89 -#: nis/nss_nisplus/nisplus-publickey.c:159 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:47 +msgid "Cross-device link" +msgstr "Ung�ltiger Link �ber Ger�tegrenzen hinweg" + +#: nis/nss_nisplus/nisplus-publickey.c:95 +#: nis/nss_nisplus/nisplus-publickey.c:171 #, c-format msgid "DES entry for netname %s not unique\n" -msgstr "Der DES Eintrag f�r den netname �%s� ist nicht eindeutig\n" +msgstr "Der DES-Eintrag f�r den netname �%s� ist nicht eindeutig\n" #: nis/nis_print.c:111 msgid "DIRECTORY\n" @@ -920,10 +990,14 @@ msgstr "DNS" msgid "Database for table does not exist" msgstr "Die Datenbank f�r die Tabelle existiert nicht" -#: nis/ypclnt.c:795 +#: nis/ypclnt.c:805 msgid "Database is busy" msgstr "Die Databank ist belegt" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:74 +msgid "Deadlock situation detected/avoided" +msgstr "Verklemmung erkannt/vermieden" + #: nis/nis_print.c:225 msgid "Default Access rights :\n" msgstr "Standard-Zugriffsrechte :\n" @@ -932,10 +1006,15 @@ msgstr "Standard-Zugriffsrechte :\n" #. TRANS error when you try to transmit data over a connectionless socket, #. TRANS without first specifying a destination for the data with @code{connect}. #: stdio-common/../sysdeps/gnu/errlist.c:429 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:125 msgid "Destination address required" msgstr "Es ist eine Zieladresse notwendig" -#: stdio-common/../sysdeps/gnu/errlist.c:650 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:45 +msgid "Device busy" +msgstr "Das Ger�t oder die Ressource ist belegt" + +#: stdio-common/../sysdeps/gnu/errlist.c:668 msgid "Device not a stream" msgstr "Das Ger�t ist kein Stream" @@ -960,7 +1039,7 @@ msgstr "Das Ger�t oder die Ressource ist msgid "Diffie-Hellmann (%d bits)\n" msgstr "Diffie-Hellmann (%d Bits)\n" -#: nis/nis_print.c:315 +#: nis/nis_print.c:317 #, c-format msgid "Directory : %s\n" msgstr "Verzeichnis : %s\n" @@ -968,15 +1047,20 @@ msgstr "Verzeichnis : %s\n" #. TRANS Directory not empty, where an empty directory was expected. Typically, #. TRANS this error occurs when you are trying to delete a directory. #: stdio-common/../sysdeps/gnu/errlist.c:480 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:122 msgid "Directory not empty" msgstr "Das Verzeichnis ist nicht leer" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:78 +msgid "Disc quota exceeded" +msgstr "Der zugewiesene Plattenplatz (Quota) ist �berschritten" + #. TRANS The user's disk quota was exceeded. #: stdio-common/../sysdeps/gnu/errlist.c:498 -msgid "Disc quota exceeded" +msgid "Disk quota exceeded" msgstr "Der zugewiesene Plattenplatz (Quota) ist �berschritten" -#: nscd/nscd.c:80 +#: nscd/nscd.c:83 msgid "Do not fork and display messages on the current tty" msgstr "F�hre kein �fork()� aus und zeige Nachrichten auf dem aktuellen tty an" @@ -984,16 +1068,16 @@ msgstr "F�hre kein �fork()� aus und zeig msgid "Do not print messages while building database" msgstr "Gebe keine Nachrichten aus, w�hrend die Datenbank aufgebaut wird" -#: catgets/gencat.c:109 +#: catgets/gencat.c:110 msgid "Do not use existing catalog, force new output file" msgstr "Verwende nicht den existierenden Katalog; erzwinge eine neue Ausgabedatei" -#: nis/ypclnt.c:841 +#: nis/ypclnt.c:851 msgid "Domain not bound" msgstr "Die Domain wurde nicht zugewiesen" -#: stdio-common/../sysdeps/unix/siglist.c:32 -#: sysdeps/unix/sysv/linux/siglist.h:53 +#: stdio-common/../sysdeps/unix/siglist.c:32 sysdeps/generic/siglist.h:60 +#: sysdeps/gnu/siglist.h:54 msgid "EMT trap" msgstr "EMT-Trap" @@ -1006,9 +1090,133 @@ msgid "Encrypted data\n" msgstr "Verschl�sselte Daten\n" #: nis/nis_error.c:52 -msgid "Entry/Table type mismatch" +msgid "Entry/table type mismatch" msgstr "Die Typen des Eintrages/der Tabelle passen nicht zusammen" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:29 +msgid "Error 0" +msgstr "Fehler 0" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:129 +msgid "Error 100" +msgstr "Fehler 100" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:130 +msgid "Error 101" +msgstr "Fehler 101" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:131 +msgid "Error 102" +msgstr "Fehler 102" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:132 +msgid "Error 103" +msgstr "Fehler 103" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:133 +msgid "Error 104" +msgstr "Fehler 104" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:134 +msgid "Error 105" +msgstr "Fehler 105" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:135 +msgid "Error 106" +msgstr "Fehler 106" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:136 +msgid "Error 107" +msgstr "Fehler 107" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:137 +msgid "Error 108" +msgstr "Fehler 108" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:138 +msgid "Error 109" +msgstr "Fehler 109" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:139 +msgid "Error 110" +msgstr "Fehler 110" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:140 +msgid "Error 111" +msgstr "Fehler 111" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:141 +msgid "Error 112" +msgstr "Fehler 112" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:142 +msgid "Error 113" +msgstr "Fehler 113" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:143 +msgid "Error 114" +msgstr "Fehler 114" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:144 +msgid "Error 115" +msgstr "Fehler 115" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:145 +msgid "Error 116" +msgstr "Fehler 116" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:146 +msgid "Error 117" +msgstr "Fehler 117" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:147 +msgid "Error 118" +msgstr "Fehler 118" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:148 +msgid "Error 119" +msgstr "Fehler 119" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:165 +msgid "Error 136" +msgstr "Fehler 136" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:171 +msgid "Error 142" +msgstr "Fehler 142" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:87 +msgid "Error 58" +msgstr "Fehler 58" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:88 +msgid "Error 59" +msgstr "Fehler 59" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:101 +msgid "Error 72" +msgstr "Fehler 72" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:102 +msgid "Error 73" +msgstr "Fehler 73" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:104 +msgid "Error 75" +msgstr "Fehler 75" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:105 +msgid "Error 76" +msgstr "Fehler 76" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:120 +msgid "Error 91" +msgstr "Fehler 91" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:121 +msgid "Error 92" +msgstr "Fehler 92" + #: nis/nis_error.c:56 msgid "Error in RPC subsystem" msgstr "Fehler im RPC Subsystem: " @@ -1017,7 +1225,7 @@ msgstr "Fehler im RPC Subsystem: " msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?" msgstr "Fehler beim Zugriff auf die NIS+ Kaltstart-Datei. Ist NIS+ installiert?" -#: string/../sysdeps/mach/_strerror.c:56 +#: string/../sysdeps/mach/_strerror.c:57 #: sysdeps/mach/hurd/mips/dl-machine.c:67 msgid "Error in unknown error system: " msgstr "Fehler in unbekanntem Fehler-System: " @@ -1026,44 +1234,56 @@ msgstr "Fehler in unbekanntem Fehler-Sys msgid "Error while talking to callback proc" msgstr "Fehler bei der Kommunikation mit der Callback-Prozedur" -#: inet/ruserpass.c:161 +#: inet/ruserpass.c:176 msgid "Error: .netrc file is readable by others." msgstr "Fehler: Die Datei �.netrc� ist f�r andere Benutzer lesbar." -#: stdio-common/../sysdeps/gnu/errlist.c:710 +#: stdio-common/../sysdeps/gnu/errlist.c:728 msgid "Exchange full" msgstr "Vermittlung ist �berf�llt" #. TRANS Invalid executable file format. This condition is detected by the #. TRANS @code{exec} functions; see @ref{Executing a File}. #: stdio-common/../sysdeps/gnu/errlist.c:75 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:37 msgid "Exec format error" msgstr "Fehler im Format der Programmdatei" -#: locale/programs/localedef.c:190 +#: locale/programs/localedef.c:187 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" msgstr "Fataler Fehler: Das System definiert das Symbol �_POSIX2_LOCALEDEF� nicht" +#: locale/programs/localedef.c:91 locale/programs/localedef.c:93 +#: locale/programs/localedef.c:95 +msgid "FILE" +msgstr "Datei" + # XXX Was bitte sind UCS4-Werte? -#: locale/programs/localedef.c:99 +#: locale/programs/localedef.c:96 msgid "FILE contains mapping from symbolic names to UCS4 values" msgstr "FILE enth�lt Zuordnungen von symbolischen Namen zu UCS4-Werten" -#: sunrpc/clnt_perr.c:287 +#: sunrpc/clnt_perr.c:355 msgid "Failed (unspecified error)" msgstr "Fehlgeschlagen (Fehler nicht genau zu spezifizieren)" -#: stdio-common/../sysdeps/gnu/errlist.c:762 +#: stdio-common/../sysdeps/gnu/errlist.c:780 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:110 msgid "File descriptor in bad state" msgstr "Die Dateizugriffsnummer ist ein schlechter Verfassung" #. TRANS File exists; an existing file was specified in a context where it only #. TRANS makes sense to specify a new file. #: stdio-common/../sysdeps/gnu/errlist.c:134 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:46 msgid "File exists" msgstr "Die Datei existiert bereits" -#: stdio-common/../sysdeps/gnu/errlist.c:726 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:85 +msgid "File locking deadlock" +msgstr "Verklemmung beim Datei-Locking" + +#: stdio-common/../sysdeps/gnu/errlist.c:744 msgid "File locking deadlock error" msgstr "Verklemmung beim Datei-Locking" @@ -1071,25 +1291,32 @@ msgstr "Verklemmung beim Datei-Locking" #. TRANS Files}) or host name too long (in @code{gethostname} or #. TRANS @code{sethostname}; @pxref{Host Identification}). #: stdio-common/../sysdeps/gnu/errlist.c:464 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:107 msgid "File name too long" msgstr "Der Dateiname ist zu lang" -#: stdio-common/../sysdeps/unix/siglist.c:50 -#: sysdeps/unix/sysv/linux/siglist.h:44 +#: stdio-common/../sysdeps/unix/siglist.c:50 sysdeps/generic/siglist.h:51 +#: sysdeps/gnu/siglist.h:45 msgid "File size limit exceeded" msgstr "Die maximale Dateigr��e ist �berschritten" +# XXX �bersetzung pr�fen +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:52 +msgid "File table overflow" +msgstr "�berlauf der Datei-Deskriptoren-Tabelle" + #. TRANS File too big; the size of a file would be larger than allowed by the system. #: stdio-common/../sysdeps/gnu/errlist.c:202 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:56 msgid "File too large" msgstr "Die Datei ist zu gro�" #: nis/nis_error.c:37 -msgid "First/Next chain broken" -msgstr "Die Verkettung mittels First/Next First/Next ist defekt" +msgid "First/next chain broken" +msgstr "Die Verkettung mittels First/Next ist defekt" -#: stdio-common/../sysdeps/unix/siglist.c:33 -#: sysdeps/unix/sysv/linux/siglist.h:28 +#: stdio-common/../sysdeps/unix/siglist.c:33 sysdeps/generic/siglist.h:35 +#: sysdeps/gnu/siglist.h:29 msgid "Floating point exception" msgstr "Gleitkomma-Ausnahme" @@ -1097,10 +1324,12 @@ msgstr "Gleitkomma-Ausnahme" msgid "Full resync required for directory" msgstr "Vollst�ndige Resynchronisation f�r das Verzeichnis ist erforderlich" -#. TRANS Function not implemented. Some functions have commands or options defined -#. TRANS that might not be supported in all implementations, and this is the kind -#. TRANS of error you get if you request them and they are not supported. -#: stdio-common/../sysdeps/gnu/errlist.c:573 +#. TRANS Function not implemented. This indicates that the function called is +#. TRANS not implemented at all, either in the C library itself or in the +#. TRANS operating system. When you get this error, you can be sure that this +#. TRANS particular function will always fail with @code{ENOSYS} unless you +#. TRANS install a new version of the C library or the operating system. +#: stdio-common/../sysdeps/gnu/errlist.c:575 msgid "Function not implemented" msgstr "Die angeforderte Funktion ist nicht implementiert" @@ -1113,7 +1342,8 @@ msgstr "GROUP\n" msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "Unsinnige Daten in ARGP_HELP_FMT: %s" -#: catgets/gencat.c:115 +# Kann man das auf mehrere Zeilen a 79/80 Zeichen formatieren? -ke- +#: catgets/gencat.c:116 msgid "" "Generate message catalog.\\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" "is -, output is written to standard output.\n" @@ -1138,11 +1368,11 @@ msgid "Give this help list" msgstr "Gibt diese Hilfe aus" #. TRANS This error code has no purpose. -#: stdio-common/../sysdeps/gnu/errlist.c:618 +#: stdio-common/../sysdeps/gnu/errlist.c:636 msgid "Gratuitous error" msgstr "Irgendein Fehler" -#: nis/nis_print.c:317 +#: nis/nis_print.c:319 #, c-format msgid "Group : %s\n" msgstr "Gruppe : %s\n" @@ -1160,39 +1390,42 @@ msgstr "Gruppen-Eintrag f�r die Gruppe � msgid "Hang for SECS seconds (default 3600)" msgstr "Warte f�r SECS Sekunden (Standardwert ist 3600)" -#: stdio-common/../sysdeps/unix/siglist.c:26 -#: sysdeps/unix/sysv/linux/siglist.h:22 +#: stdio-common/../sysdeps/unix/siglist.c:26 sysdeps/generic/siglist.h:29 +#: sysdeps/gnu/siglist.h:23 msgid "Hangup" msgstr "Aufgelegt" -#: nscd/grpcache.c:238 +#: nscd/grpcache.c:251 #, c-format msgid "Haven't found \"%d\" in group cache!" msgstr "Habe �%d� nicht im Group-Cache gefunden!" -#: nscd/pwdcache.c:235 +# Die anderen sind ja auch gro� geschrieben... -ke- +#: nscd/pwdcache.c:249 #, c-format msgid "Haven't found \"%d\" in password cache!" -msgstr "Habe �%d� nicht im password-Cache gefunden!" +msgstr "Habe �%d� nicht im Password-Cache gefunden!" -#: nscd/grpcache.c:210 +#: nscd/grpcache.c:212 #, c-format msgid "Haven't found \"%s\" in group cache!" msgstr "Habe �%s� nicht im Group-Cache gefunden!" -#: nscd/hstcache.c:297 nscd/hstcache.c:328 nscd/hstcache.c:359 -#: nscd/hstcache.c:390 +#: nscd/hstcache.c:291 nscd/hstcache.c:333 nscd/hstcache.c:378 +#: nscd/hstcache.c:422 #, c-format msgid "Haven't found \"%s\" in hosts cache!" msgstr "Habe �%s� nicht im Host-Cache gefunden!" -#: nscd/pwdcache.c:207 +# ditto -ke- +#: nscd/pwdcache.c:210 #, c-format msgid "Haven't found \"%s\" in password cache!" -msgstr "Habe �%s� nicht im password-Cache gefunden!" +msgstr "Habe �%s� nicht im Password-Cache gefunden!" #. TRANS The remote host for a requested network connection is down. #: stdio-common/../sysdeps/gnu/errlist.c:469 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:176 msgid "Host is down" msgstr "Der Rechner ist nicht aktiv" @@ -1200,8 +1433,12 @@ msgstr "Der Rechner ist nicht aktiv" msgid "Host name lookup failure" msgstr "Fehler beim Aufl�sen des Hostnamens" -#: stdio-common/../sysdeps/unix/siglist.c:48 -#: sysdeps/unix/sysv/linux/siglist.h:42 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:34 +msgid "I/O error" +msgstr "Ein-/Ausgabefehler" + +#: stdio-common/../sysdeps/unix/siglist.c:48 sysdeps/generic/siglist.h:49 +#: sysdeps/gnu/siglist.h:43 msgid "I/O possible" msgstr "Ein-/Ausgabe ist m�glich" @@ -1223,12 +1460,17 @@ msgstr "Ein-/Ausgabe-Trap (IOT)" msgid "IVY" msgstr "IVY" -#: stdio-common/../sysdeps/gnu/errlist.c:626 +#: stdio-common/../sysdeps/gnu/errlist.c:644 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:65 msgid "Identifier removed" msgstr "Bezeichner wurde entfernt" -#: stdio-common/../sysdeps/unix/siglist.c:29 -#: sysdeps/unix/sysv/linux/siglist.h:25 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:117 +msgid "Illegal byte sequence" +msgstr "Ung�ltige Byte-Folge" + +#: stdio-common/../sysdeps/unix/siglist.c:29 sysdeps/generic/siglist.h:32 +#: sysdeps/gnu/siglist.h:26 msgid "Illegal instruction" msgstr "Ung�ltiger Maschinenbefehl" @@ -1238,6 +1480,7 @@ msgstr "Ung�ltiger Objekt-Typ f�r die an #. TRANS Invalid seek operation (such as on a pipe). #: stdio-common/../sysdeps/gnu/errlist.c:213 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:58 msgid "Illegal seek" msgstr "Nicht erlaubter Seek" @@ -1253,6 +1496,7 @@ msgstr "Unpassender Dateityp oder unpass #. TRANS Inappropriate I/O control operation, such as trying to set terminal #. TRANS modes on an ordinary file. #: stdio-common/../sysdeps/gnu/errlist.c:188 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:54 msgid "Inappropriate ioctl for device" msgstr "Unpassender IOCTL (I/O-Control) f�r das Ger�t" @@ -1262,11 +1506,11 @@ msgstr "Unpassender IOCTL (I/O-Control) #. TRANS error because functions such as @code{read} and @code{write} translate #. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, #. TRANS for information on process groups and these signals. -#: stdio-common/../sysdeps/gnu/errlist.c:589 +#: stdio-common/../sysdeps/gnu/errlist.c:607 msgid "Inappropriate operation for background process" msgstr "Unpassende Operation f�r den Hintergrundproze�" -#: sysdeps/unix/sysv/linux/siglist.h:62 +#: sysdeps/generic/siglist.h:69 sysdeps/gnu/siglist.h:63 msgid "Information request" msgstr "Informationsanfrage" @@ -1274,7 +1518,7 @@ msgstr "Informationsanfrage" msgid "Information:" msgstr "Information:" -#: locale/programs/localedef.c:94 +#: locale/programs/localedef.c:90 msgid "Input Files:" msgstr "Eingabedateien:" @@ -1287,16 +1531,16 @@ msgstr "Beschreibung des Ein-/Ausgabe-Fo msgid "Input/output error" msgstr "Eingabe-/Ausgabefehler" -#: nis/ypclnt.c:775 +#: nis/ypclnt.c:785 msgid "Internal NIS error" msgstr "Interner NIS-Fehler" -#: nis/ypclnt.c:839 +#: nis/ypclnt.c:849 msgid "Internal ypbind error" msgstr "Interner Fehler in �ypbind�" -#: stdio-common/../sysdeps/unix/siglist.c:27 -#: sysdeps/unix/sysv/linux/siglist.h:23 +#: stdio-common/../sysdeps/unix/siglist.c:27 sysdeps/generic/siglist.h:30 +#: sysdeps/gnu/siglist.h:24 msgid "Interrupt" msgstr "Unterbrechung" @@ -1308,44 +1552,42 @@ msgstr "Unterbrechung" #. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted #. TRANS Primitives}. #: stdio-common/../sysdeps/gnu/errlist.c:47 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:33 msgid "Interrupted system call" msgstr "Unterbrechung w�hrend des Betriebssystemaufrufs" -#: stdio-common/../sysdeps/gnu/errlist.c:666 +#: stdio-common/../sysdeps/gnu/errlist.c:684 msgid "Interrupted system call should be restarted" msgstr "Der unterbrochene Betriebssystemaufruf sollte neu gestartet werden" -#: nis/nis_error.c:44 -msgid "Invalid Object for operation" -msgstr "Ung�ltiges Objekt f�r die Operation" - #. TRANS Invalid argument. This is used to indicate various kinds of problems #. TRANS with passing the wrong argument to a library function. #: stdio-common/../sysdeps/gnu/errlist.c:164 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:51 msgid "Invalid argument" msgstr "Das Argument ist ung�ltig" -#: posix/regex.c:1018 +#: posix/regex.c:1034 msgid "Invalid back reference" msgstr "Ung�ltiger Verweis zur�ck" -#: posix/regex.c:1016 +#: posix/regex.c:1028 msgid "Invalid character class name" msgstr "Ung�ltiger Name f�r eine Zeichenklasse" -#: sunrpc/clnt_perr.c:275 +#: sunrpc/clnt_perr.c:331 msgid "Invalid client credential" msgstr "Die Best�tigung des Clients ist ung�ltig" -#: sunrpc/clnt_perr.c:279 +#: sunrpc/clnt_perr.c:339 msgid "Invalid client verifier" msgstr "Ung�ltige �berpr�fung des Clients" -#: posix/regex.c:1015 +#: posix/regex.c:1025 msgid "Invalid collation character" msgstr "Ung�ltiges Sortierzeichen" -#: posix/regex.c:1022 +#: posix/regex.c:1046 msgid "Invalid content of \\{\\}" msgstr "Ung�ltiger Inhalt von �\\{\\}�" @@ -1356,51 +1598,66 @@ msgstr "Ung�ltiger Inhalt von �\\{\\}�" msgid "Invalid cross-device link" msgstr "Ung�ltiger Link �ber Ger�tegrenzen hinweg" -#: stdio-common/../sysdeps/gnu/errlist.c:702 +#: stdio-common/../sysdeps/gnu/errlist.c:720 msgid "Invalid exchange" msgstr "Ung�ltiger Austausch" +#: nis/nis_error.c:44 +msgid "Invalid object for operation" +msgstr "Ung�ltiges Objekt f�r diese Operation" + #. TRANS While decoding a multibyte character the function came along an invalid #. TRANS or an incomplete sequence of bytes or the given wide character is invalid. -#: stdio-common/../sysdeps/gnu/errlist.c:579 +#: stdio-common/../sysdeps/gnu/errlist.c:597 msgid "Invalid or incomplete multibyte or wide character" msgstr "Ung�ltiges oder unvollst�ndiges Multi-Byte oder Wide-Zeichen" -#: posix/regex.c:1025 +#: posix/regex.c:1055 msgid "Invalid preceding regular expression" msgstr "Der vorherige regul�re Ausdruck ist nicht korrekt." -#: posix/regex.c:1023 +#: posix/regex.c:1049 msgid "Invalid range end" msgstr "Das Ende des angegebenen Intervalls ist nicht g�ltig" -#: posix/regex.c:1014 +#: posix/regex.c:1022 msgid "Invalid regular expression" msgstr "Ung�ltiger regul�rer Ausdruck" -#: stdio-common/../sysdeps/gnu/errlist.c:718 +#: stdio-common/../sysdeps/gnu/errlist.c:736 msgid "Invalid request code" msgstr "Ung�ltiger Aufruf-Code" -#: stdio-common/../sysdeps/gnu/errlist.c:706 +#: stdio-common/../sysdeps/gnu/errlist.c:724 msgid "Invalid request descriptor" msgstr "Ung�ltiger Aufruf-Deskriptor" -#: sunrpc/clnt_perr.c:285 +#: sunrpc/clnt_perr.c:351 msgid "Invalid server verifier" msgstr "Ung�ltige �berpr�fung des Servers" -#: stdio-common/../sysdeps/gnu/errlist.c:722 +#: stdio-common/../sysdeps/gnu/errlist.c:740 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:84 msgid "Invalid slot" msgstr "Ung�ltiger Slot" +#: nscd/nscd.c:88 +msgid "Invalidate the specified cache" +msgstr "Der angegebene Cache wird verworfen" + #. TRANS File is a directory; you cannot open a directory for writing, #. TRANS or create or remove hard links to it. #: stdio-common/../sysdeps/gnu/errlist.c:158 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:50 msgid "Is a directory" msgstr "Ist ein Verzeichnis" -#: stdio-common/../sysdeps/gnu/errlist.c:806 +# XXX Was bitte ist dass f�r eine Meldung? +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:168 +msgid "Is a name file" +msgstr "Ist eine �named file�" + +#: stdio-common/../sysdeps/gnu/errlist.c:824 msgid "Is a named type file" msgstr "Ist eine �named type file�" @@ -1408,8 +1665,8 @@ msgstr "Ist eine �named type file�" msgid "Kerberos.\n" msgstr "Kerberos.\n" -#: stdio-common/../sysdeps/unix/siglist.c:34 -#: sysdeps/unix/sysv/linux/siglist.h:29 +#: stdio-common/../sysdeps/unix/siglist.c:34 sysdeps/generic/siglist.h:36 +#: sysdeps/gnu/siglist.h:30 msgid "Killed" msgstr "Get�tet" @@ -1422,34 +1679,40 @@ msgstr "LINK\n" msgid "LOCAL entry for UID %d in directory %s not unique\n" msgstr "Der LOCAL Eintrag f�r die UID �%d� im Verzeichnis �%s� ist nicht eindeutig\n" -#: stdio-common/../sysdeps/gnu/errlist.c:698 +#: stdio-common/../sysdeps/gnu/errlist.c:716 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:73 msgid "Level 2 halted" msgstr "Level 2 angehalten" -#: stdio-common/../sysdeps/gnu/errlist.c:674 +#: stdio-common/../sysdeps/gnu/errlist.c:692 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:67 msgid "Level 2 not synchronized" msgstr "Level 2 ist nicht synchronisiert" -#: stdio-common/../sysdeps/gnu/errlist.c:678 +#: stdio-common/../sysdeps/gnu/errlist.c:696 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:68 msgid "Level 3 halted" msgstr "Level 3 angehalten" -#: stdio-common/../sysdeps/gnu/errlist.c:682 +#: stdio-common/../sysdeps/gnu/errlist.c:700 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:69 msgid "Level 3 reset" msgstr "Level 3 zur�ckgesetzt" -#: nis/nis_error.c:53 -msgid "Link Points to illegal name" -msgstr "Der Link verweist auf einen ung�ltigen Namen" - -#: stdio-common/../sysdeps/gnu/errlist.c:638 +#: stdio-common/../sysdeps/gnu/errlist.c:656 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:96 msgid "Link has been severed" msgstr "Der Link wurde besch�digt" -#: stdio-common/../sysdeps/gnu/errlist.c:686 +#: stdio-common/../sysdeps/gnu/errlist.c:704 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:70 msgid "Link number out of range" msgstr "Die Link-Nummer ist au�erhalb des g�ltigen Bereiches" +#: nis/nis_error.c:53 +msgid "Link points to illegal name" +msgstr "Der Link verweist auf einen ung�ltigen Namen" + #: nis/nis_print.c:282 msgid "Linked Object Type : " msgstr "Verbundener Objekt-Typ : " @@ -1459,23 +1722,24 @@ msgstr "Verbundener Objekt-Typ : " msgid "Linked to : %s\n" msgstr "Verbunden zu : %s\n" -#: nis/ypclnt.c:787 +#: nis/ypclnt.c:797 msgid "Local domain name not set" msgstr "Der lokale Domain-Name ist nicht eingetragen" -#: nis/ypclnt.c:777 +#: nis/ypclnt.c:787 msgid "Local resource allocation failure" msgstr "Lokaler Fehler bei der Ressourcenreservierung" -#: stdio-common/../sysdeps/gnu/errlist.c:734 +#: stdio-common/../sysdeps/gnu/errlist.c:752 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:93 msgid "Machine is not on the network" msgstr "Die Maschine ist nicht an das Netzwerk angeschlossen" #: nis/nis_error.c:45 -msgid "Malformed Name, or illegal name" +msgid "Malformed name, or illegal name" msgstr "Ung�ltiger oder fehlerhafter Name" -#: argp/argp-help.c:1182 +#: argp/argp-help.c:1186 msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." msgstr "Obligatorische oder optionale Argumente von langen Optionen sind ebenfalls obligatorische bzw. optionale Argumente f�r jede zugeh�rige kurze Option." @@ -1491,13 +1755,18 @@ msgstr "Der Master-Server ist besch�ftig msgid "Memory allocation failure" msgstr "Fehler beim Anfordern von Hauptspeicher" -#: posix/regex.c:1024 +#: posix/regex.c:1052 msgid "Memory exhausted" msgstr "Kein Hauptspeicher mehr verf�gbar" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:81 +msgid "Message tables full" +msgstr "Die Nachrichtentabelle ist voll" + #. TRANS The size of a message sent on a socket was larger than the supported #. TRANS maximum size. #: stdio-common/../sysdeps/gnu/errlist.c:317 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:126 msgid "Message too long" msgstr "Die Nachricht ist zu lang" @@ -1505,7 +1774,7 @@ msgstr "Die Nachricht ist zu lang" msgid "Missing or malformed attribute" msgstr "Fehlendes oder fehlerhaftes Attribut" -#: nis/nis_print.c:323 +#: nis/nis_print.c:327 #, c-format msgid "Mod. Time : %s" msgstr "Mod. Zeit : %s" @@ -1522,12 +1791,13 @@ msgstr "Die Ver�nderung ist fehlgeschlag msgid "Modify output format:" msgstr "Modifiziere Ausgabe-Format:" -#: stdio-common/../sysdeps/gnu/errlist.c:630 +#: stdio-common/../sysdeps/gnu/errlist.c:648 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:103 msgid "Multihop attempted" msgstr "Ein �Multihop� wurde versucht" -#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:59 -#: locale/programs/localedef.c:115 nscd/nscd.c:77 +#: catgets/gencat.c:107 catgets/gencat.c:111 db2/makedb.c:59 +#: locale/programs/localedef.c:112 nscd/nscd.c:80 msgid "NAME" msgstr "NAME" @@ -1543,11 +1813,11 @@ msgstr "" msgid "NIS" msgstr "NIS" -#: nis/ypclnt.c:791 +#: nis/ypclnt.c:801 msgid "NIS client/server version mismatch - can't supply service" msgstr "NIS Client/Server Versionen passen nicht zusammen - kein Service m�glich" -#: nis/ypclnt.c:789 +#: nis/ypclnt.c:799 msgid "NIS map database is bad" msgstr "Die Datenbank mit der NIS-Map ist ung�ltig" @@ -1567,16 +1837,16 @@ msgstr "Der NIS+ Dienst ist nicht verf�g msgid "NO OBJECT\n" msgstr "KEIN OBJEKT\n" -#: nscd/nscd.c:81 +#: nscd/nscd.c:84 msgid "NUMBER" msgstr "NUMMER" #: nis/nis_print.c:162 #, c-format -msgid "Name : '%s'\n" +msgid "Name : `%s'\n" msgstr "Name : �%s�\n" -#: nscd/nscd.c:88 +#: nscd/nscd.c:94 msgid "Name Service Cache Daemon." msgstr "Name Service Cache Daemon." @@ -1584,7 +1854,8 @@ msgstr "Name Service Cache Daemon." msgid "Name not served by this server" msgstr "Der Name wird nicht von diesem Server verwaltet" -#: stdio-common/../sysdeps/gnu/errlist.c:758 +#: stdio-common/../sysdeps/gnu/errlist.c:776 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:109 msgid "Name not unique on network" msgstr "Der Name ist im Netzwerk nicht eindeutig" @@ -1606,6 +1877,10 @@ msgstr "Das benannte Objekt ist nicht du msgid "Need authenticator" msgstr "Authentikator ben�tigt" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:158 +msgid "Network dropped connection because of reset" +msgstr "Das Netzwerk hat die Verbindung nach einem Reset beendet" + #. TRANS A network connection was reset because the remote host crashed. #: stdio-common/../sysdeps/gnu/errlist.c:389 msgid "Network dropped connection on reset" @@ -1613,20 +1888,23 @@ msgstr "Das Netzwerk hat die Verbindung #. TRANS A socket operation failed because the network was down. #: stdio-common/../sysdeps/gnu/errlist.c:378 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:156 msgid "Network is down" msgstr "Das Netzwerk ist nicht aktiv" #. TRANS A socket operation failed because the subnet containing the remote host #. TRANS was unreachable. #: stdio-common/../sysdeps/gnu/errlist.c:384 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:157 msgid "Network is unreachable" msgstr "Das Netzwerk ist nicht erreichbar" -#: stdio-common/../sysdeps/gnu/errlist.c:694 +#: stdio-common/../sysdeps/gnu/errlist.c:712 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:72 msgid "No CSI structure available" msgstr "Keine �CSI�-Struktur verf�gbar" -#: stdio-common/../sysdeps/gnu/errlist.c:802 +#: stdio-common/../sysdeps/gnu/errlist.c:820 msgid "No XENIX semaphores available" msgstr "Keine XENIX-Semaphoren verf�gbar" @@ -1638,7 +1916,7 @@ msgstr "Zu diesem Hostnamen geh�rt keine msgid "No address associated with name" msgstr "Zu diesem Namen geh�rt keine Adresse" -#: stdio-common/../sysdeps/gnu/errlist.c:714 +#: stdio-common/../sysdeps/gnu/errlist.c:732 msgid "No anode" msgstr "Keine Anode" @@ -1646,6 +1924,7 @@ msgstr "Keine Anode" #. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the #. TRANS other from network operations. #: stdio-common/../sysdeps/gnu/errlist.c:408 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:161 msgid "No buffer space available" msgstr "Kein Hauptspeicher f�r den Puffer verf�gbar" @@ -1653,10 +1932,12 @@ msgstr "Kein Hauptspeicher f�r den Puffe #. TRANS supposed to manipulate child processes, when there aren't any processes #. TRANS to manipulate. #: stdio-common/../sysdeps/gnu/errlist.c:89 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:39 msgid "No child processes" msgstr "Keine Kind-Prozesse" -#: stdio-common/../sysdeps/gnu/errlist.c:634 +#: stdio-common/../sysdeps/gnu/errlist.c:652 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:90 msgid "No data available" msgstr "Keine Daten verf�gbar" @@ -1672,64 +1953,78 @@ msgstr "Auf dem Server ist kein Speicher msgid "No locks available" msgstr "Keine Sperren verf�gbar" -#: posix/regex.c:1013 +#: posix/regex.c:1019 msgid "No match" msgstr "Keine �bereinstimmung gefunden" -#: stdio-common/../sysdeps/gnu/errlist.c:814 +#: stdio-common/../sysdeps/gnu/errlist.c:832 msgid "No medium found" msgstr "Kein Medium gefunden" -#: stdio-common/../sysdeps/gnu/errlist.c:642 +#: stdio-common/../sysdeps/gnu/errlist.c:660 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:64 msgid "No message of desired type" msgstr "Keine Nachricht des gew�nschten Typs" -#: nis/ypclnt.c:779 +#: nis/ypclnt.c:789 msgid "No more records in map database" msgstr "Keine weiteren S�tze in der Map-Datenbank" -#: posix/regex.c:5515 +#: posix/regex.c:5569 msgid "No previous regular expression" msgstr "Es wurde bisher noch kein regul�rer Ausdruck definiert" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:75 +msgid "No record locks available" +msgstr "Keine Datensatz-Sperren verf�gbar" + #: sunrpc/rpcinfo.c:570 msgid "No remote programs registered.\n" msgstr "Es sind keine entfernten Programme registriert.\n" #. TRANS The remote host for a requested network connection is not reachable. #: stdio-common/../sysdeps/gnu/errlist.c:474 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:177 msgid "No route to host" msgstr "Keine Route zum Zielrechner" #. TRANS No space left on device; write operation on a file failed because the #. TRANS disk is full. #: stdio-common/../sysdeps/gnu/errlist.c:208 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:57 msgid "No space left on device" msgstr "Auf dem Ger�t ist kein Speicherplatz mehr verf�gbar" #. TRANS The wrong type of device was given to a function that expects a #. TRANS particular sort of device. #: stdio-common/../sysdeps/gnu/errlist.c:147 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:48 msgid "No such device" msgstr "Kein passendes Ger�t gefunden" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:35 +msgid "No such device or address" +msgstr "Kein passendes Ger�t bzw. keine passende Adresse gefunden" + #. TRANS No such file or directory. This is a ``file doesn't exist'' error #. TRANS for ordinary files that are referenced in contexts where they are #. TRANS expected to already exist. #: stdio-common/../sysdeps/gnu/errlist.c:31 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:31 msgid "No such file or directory" msgstr "Datei oder Verzeichnis nicht gefunden" -#: nis/ypclnt.c:773 +#: nis/ypclnt.c:783 msgid "No such key in map" msgstr "Kein passender Schl�ssel in der Map" -#: nis/ypclnt.c:771 +#: nis/ypclnt.c:781 msgid "No such map in server's domain" msgstr "Keine passende Map in der Domain des Servers" #. TRANS No process matches the specified process ID. #: stdio-common/../sysdeps/gnu/errlist.c:36 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:32 msgid "No such process" msgstr "Kein passender Proze� gefunden" @@ -1745,43 +2040,88 @@ msgstr "Nicht-behebbarer Fehler in der N msgid "None.\n" msgstr "Keine.\n" -# XXX besser machen -#: nis/nis_error.c:48 -msgid "Not Found, no such name" -msgstr "Nicht gefunden, kein solcher Name" - -#: stdio-common/../sysdeps/gnu/errlist.c:798 +#: stdio-common/../sysdeps/gnu/errlist.c:816 msgid "Not a XENIX named type file" msgstr "Keine XENIX �named type� Datei" +# XXX Was bedeutet diese Nachricht? +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:106 +msgid "Not a data message" +msgstr "Das ist keine �data message�" + #. TRANS A file that isn't a directory was specified when a directory is required. #: stdio-common/../sysdeps/gnu/errlist.c:152 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:49 msgid "Not a directory" msgstr "Ist kein Verzeichnis" +# XXX Was bedeutet diese Nachricht? +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:166 +msgid "Not a name file" +msgstr "Keine �named file�" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:89 +msgid "Not a stream device" +msgstr "Ist kein Stream-Ger�t" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:167 +msgid "Not available" +msgstr "Nicht verf�gbar" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:41 +msgid "Not enough space" +msgstr "Nicht genugend (Speicher-) Platz" + #: nis/nis_error.c:30 msgid "Not found" msgstr "Nicht gefunden" +# XXX besser machen +#: nis/nis_error.c:48 +msgid "Not found, no such name" +msgstr "Nicht gefunden, kein solcher Name" + #: nis/nis_error.c:43 msgid "Not master server for this domain" msgstr "Kein Master-Server f�r diese Domain" # XXX besser? #: nis/nis_error.c:39 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:30 msgid "Not owner" msgstr "Bin nicht der Eigent�mer" +# XXX Geht das irgendwie besser? +#. TRANS Not supported. A function returns this error when certain parameter +#. TRANS values are valid, but the functionality they request is not available. +#. TRANS This can mean that the function does not implement a particular command +#. TRANS or option value or flag bit at all. For functions that operate on some +#. TRANS object given in a parameter, such as a file descriptor or a port, it +#. TRANS might instead mean that only @emph{that specific object} (file +#. TRANS descriptor, port, etc.) is unable to support the other parameters given; +#. TRANS different file descriptors might support different ranges of parameter +#. TRANS values. +#. TRANS +#. TRANS If the entire function is not available at all in the implementation, +#. TRANS it returns @code{ENOSYS} instead. +#: stdio-common/../sysdeps/gnu/errlist.c:591 +msgid "Not supported" +msgstr "Nicht unterst�tzt" + #: nis/nis_print.c:263 #, c-format msgid "Number of Columns : %d\n" msgstr "Anzahl der Spalten : %d\n" -#: nis/nis_print.c:358 +#: nis/nis_print.c:362 #, c-format msgid "Number of objects : %u\n" msgstr "Anzahl der Objekte: %u\n" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:119 +msgid "Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS" +msgstr "Die Anzahl der symbolischen Link, die beim Durchgehen des Pfades gefunden wurden, �berschreitet den Wert MAXSYMLINKS" + #. TRANS Domain error; used by mathematical functions when an argument value does #. TRANS not fall into the domain over which the function is defined. #: stdio-common/../sysdeps/gnu/errlist.c:240 @@ -1794,17 +2134,17 @@ msgstr "Das numerische Argument ist au�e msgid "Numerical result out of range" msgstr "Das numerische Ergebnis ist au�erhalb des g�ltigen Bereiches" -#: nis/nis_print.c:362 +#: nis/nis_print.c:366 #, c-format msgid "Object #%d:\n" msgstr "Objekt #%d:\n" -#: nis/nis_print.c:314 +#: nis/nis_print.c:316 #, c-format msgid "Object Name : %s\n" msgstr "Objekt-Name : %s\n" -#: nis/nis_print.c:324 +#: nis/nis_print.c:328 msgid "Object Type : " msgstr "Objekt-Typ : " @@ -1813,6 +2153,7 @@ msgstr "Objekt-Typ : " #. TRANS (This is an error on some operating systems, but we expect it to work #. TRANS properly on the GNU system, making this error code impossible.) #: stdio-common/../sysdeps/gnu/errlist.c:514 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:95 msgid "Object is remote" msgstr "Das Objekt ist remote" @@ -1820,20 +2161,29 @@ msgstr "Das Objekt ist remote" msgid "Object with same name exists" msgstr "Ein Objekt mit demselben Namen existiert bereits" -#: timezone/zic.c:1995 +#: timezone/zic.c:2023 msgid "Odd number of quotation marks" msgstr "Ungerade Anzahl von Anf�hrungszeichen" -#: nscd/nscd.c:185 +#: nscd/nscd.c:191 nscd/nscd.c:211 nscd/nscd.c:217 msgid "Only root is allowed to use this option!" msgstr "Nur der Systemverwalter �root� darf diese Option benutzen!" #. TRANS An operation is already in progress on an object that has non-blocking #. TRANS mode selected. #: stdio-common/../sysdeps/gnu/errlist.c:306 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:178 msgid "Operation already in progress" msgstr "Die Operation wird bereits ausgef�hrt" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:76 +msgid "Operation canceled" +msgstr "Die Operation wird abgebrochen" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:118 +msgid "Operation not applicable" +msgstr "Die Operation ist nicht anwendbar" + #. TRANS Operation not permitted; only the owner of the file (or other resource) #. TRANS or processes with special privileges can perform the operation. #: stdio-common/../sysdeps/gnu/errlist.c:24 @@ -1847,9 +2197,14 @@ msgstr "Die Operation ist nicht erlaubt" #. TRANS particular operation; it is a generic indication that the server knows #. TRANS nothing to do for that call. #: stdio-common/../sysdeps/gnu/errlist.c:350 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:77 msgid "Operation not supported" msgstr "Die Operation wird nicht unterst�tzt" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:151 +msgid "Operation not supported on transport endpoint" +msgstr "Die Operation wird am Transporkt-Endpunkt nicht unterst�tzt" + #. TRANS An operation that cannot complete immediately was initiated on an object #. TRANS that has non-blocking mode selected. Some functions that must always #. TRANS block (such as @code{connect}; @pxref{Connecting}) never return @@ -1859,6 +2214,7 @@ msgstr "Die Operation wird nicht unterst #. TRANS use the @code{select} function to find out when the pending operation #. TRANS has completed; @pxref{Waiting for I/O}. #: stdio-common/../sysdeps/gnu/errlist.c:300 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:179 msgid "Operation now in progress" msgstr "Die Operation ist jetzt in Bearbeitung" @@ -1871,19 +2227,27 @@ msgstr "Die Operation ist jetzt in Bearb msgid "Operation would block" msgstr "Die Operation w�rde blockieren" -#: stdio-common/../sysdeps/gnu/errlist.c:646 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:128 +msgid "Option not supported by protocol" +msgstr "Die Option wird vom Protokoll nicht unterst�tzt" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:92 +msgid "Out of stream resources" +msgstr "Keine Stream-Ressourcen mehr verf�gbar" + +#: stdio-common/../sysdeps/gnu/errlist.c:664 msgid "Out of streams resources" msgstr "Keine Stream-Ressourcen mehr verf�gbar" -#: iconv/iconv_prog.c:59 locale/programs/localedef.c:101 +#: iconv/iconv_prog.c:59 locale/programs/localedef.c:98 msgid "Output control:" msgstr "Ausgabesteuerung:" -#: elf/sprof.c:76 +#: elf/sprof.c:72 msgid "Output selection:" msgstr "Ausgabeselektion:" -#: nis/nis_print.c:316 +#: nis/nis_print.c:318 #, c-format msgid "Owner : %s\n" msgstr "Eigent�mer : %s\n" @@ -1892,17 +2256,18 @@ msgstr "Eigent�mer : %s\n" msgid "PRIVATE\n" msgstr "PRIVAT\n" -#: stdio-common/../sysdeps/gnu/errlist.c:738 +#: stdio-common/../sysdeps/gnu/errlist.c:756 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:94 msgid "Package not installed" msgstr "Das Zusatzpacket ist nicht installiert" -#: nscd/nscd_conf.c:84 +#: nscd/nscd_conf.c:82 #, c-format msgid "Parse error: %s" msgstr "Syntax-Fehler: %s" #: nis/nis_error.c:54 -msgid "Partial Success" +msgid "Partial success" msgstr "Teilweise erfolgreich" #: nis/nis_error.c:62 @@ -1910,16 +2275,17 @@ msgid "Passed object is not the same obj msgstr "Das �bergebene Objekt ist nicht dasselbe Objekt auf dem Server" #. TRANS Permission denied; the file permissions do not allow the attempted operation. -#: nis/nis_error.c:38 nis/ypclnt.c:793 +#: nis/nis_error.c:38 nis/ypclnt.c:803 #: stdio-common/../sysdeps/gnu/errlist.c:108 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:42 msgid "Permission denied" msgstr "Keine Berechtigung" -#: sysdeps/unix/sysv/linux/siglist.h:64 +#: sysdeps/generic/siglist.h:71 sysdeps/gnu/siglist.h:65 msgid "Power failure" msgstr "Fehler in der Stromversorgung" -#: posix/regex.c:1026 +#: posix/regex.c:1058 msgid "Premature end of regular expression" msgstr "Unerwartetes Ende des regul�ren Ausdruckes" @@ -1927,11 +2293,11 @@ msgstr "Unerwartetes Ende des regul�ren msgid "Print content of database file, one entry a line" msgstr "Drucke den Inhalt der Datenbank-Datei, je Eintrag eine Zeile" -#: nscd/nscd.c:83 +#: nscd/nscd.c:86 msgid "Print current configuration statistic" msgstr "Drucke die aktuelle Konfigurationsstatistik" -#: locale/programs/localedef.c:107 +#: locale/programs/localedef.c:104 msgid "Print more messages" msgstr "Gibt mehr Nachrichten aus" @@ -1947,21 +2313,24 @@ msgstr "M�glicherweise erfolgreich" msgid "Probably not found" msgstr "M�glicherweise nicht gefunden" -#: stdio-common/../sysdeps/unix/siglist.c:52 -#: sysdeps/unix/sysv/linux/siglist.h:46 +#: stdio-common/../sysdeps/unix/siglist.c:52 sysdeps/generic/siglist.h:53 +#: sysdeps/gnu/siglist.h:47 msgid "Profiling timer expired" msgstr "Zeitnehmer zur Laufzeitbestimmung ist abgelaufen" -#: stdio-common/../sysdeps/gnu/errlist.c:690 +#: stdio-common/../sysdeps/gnu/errlist.c:708 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:71 msgid "Protocol driver not attached" msgstr "Das Protokoll ist nicht verf�gbar" -#: stdio-common/../sysdeps/gnu/errlist.c:658 +#: stdio-common/../sysdeps/gnu/errlist.c:676 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:100 msgid "Protocol error" msgstr "Protokollfehler" #. TRANS The socket communications protocol family you requested is not supported. #: stdio-common/../sysdeps/gnu/errlist.c:355 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:152 msgid "Protocol family not supported" msgstr "Die Protokollfamilie wird nicht unterst�tzt" @@ -1975,11 +2344,13 @@ msgstr "Das Protokoll ist nicht verf�gba #. TRANS (perhaps because the requested protocol is completely invalid). #. TRANS @xref{Creating a Socket}. #: stdio-common/../sysdeps/gnu/errlist.c:335 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:149 msgid "Protocol not supported" msgstr "Das Protokoll wird nicht unterst�tzt" #. TRANS The socket type does not support the requested communications protocol. #: stdio-common/../sysdeps/gnu/errlist.c:322 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:127 msgid "Protocol wrong type for socket" msgstr "Das Protokoll pa�t nicht zu dem Socket" @@ -1987,12 +2358,12 @@ msgstr "Das Protokoll pa�t nicht zu dem msgid "Query illegal for named table" msgstr "Die Abfrage ist f�r die angegebene Tabelle nicht erlaubt" -#: stdio-common/../sysdeps/unix/siglist.c:28 -#: sysdeps/unix/sysv/linux/siglist.h:24 +#: stdio-common/../sysdeps/unix/siglist.c:28 sysdeps/generic/siglist.h:31 +#: sysdeps/gnu/siglist.h:25 msgid "Quit" msgstr "Verlassen" -#: stdio-common/../sysdeps/gnu/errlist.c:754 +#: stdio-common/../sysdeps/gnu/errlist.c:772 msgid "RFS specific error" msgstr "RFS-spezifischer Fehler" @@ -2001,7 +2372,7 @@ msgstr "RFS-spezifischer Fehler" msgid "RPC bad procedure for program" msgstr "RPC: ung�ltige Prozedur f�r das Programm" -#: nis/ypclnt.c:767 +#: nis/ypclnt.c:777 msgid "RPC failure on NIS operation" msgstr "RPC: Fehler bei einer NIS-Operation" @@ -2025,55 +2396,55 @@ msgstr "RPC: Die Struktur ist ung�ltig" msgid "RPC version wrong" msgstr "RPC: falsche Version" -#: sunrpc/clnt_perr.c:215 +#: sunrpc/clnt_perr.c:270 msgid "RPC: (unknown error code)" msgstr "RPC: (Unbekannter Fehlercode)" -#: sunrpc/clnt_perr.c:176 +#: sunrpc/clnt_perr.c:189 msgid "RPC: Authentication error" msgstr "RPC: Fehler bei der Authentifizierung" -#: sunrpc/clnt_perr.c:166 +#: sunrpc/clnt_perr.c:169 msgid "RPC: Can't decode result" msgstr "RPC: Kann das Ergebnis nicht dekodieren" -#: sunrpc/clnt_perr.c:164 +#: sunrpc/clnt_perr.c:165 msgid "RPC: Can't encode arguments" msgstr "RPC: Kann die Argumente nicht kodieren" -#: sunrpc/clnt_perr.c:196 +#: sunrpc/clnt_perr.c:229 msgid "RPC: Failed (unspecified error)" msgstr "RPC: Fehlgeschlagen (Fehler nicht zu spezifizieren)" -#: sunrpc/clnt_perr.c:174 +#: sunrpc/clnt_perr.c:185 msgid "RPC: Incompatible versions of RPC" msgstr "RPC: Die RPC-Versionen sind nicht kompatibel" -#: sunrpc/clnt_perr.c:192 +#: sunrpc/clnt_perr.c:221 msgid "RPC: Port mapper failure" msgstr "RPC: Fehler des Portmappers" -#: sunrpc/clnt_perr.c:182 +#: sunrpc/clnt_perr.c:201 msgid "RPC: Procedure unavailable" msgstr "RPC: Prozedur nicht verf�gbar" -#: sunrpc/clnt_perr.c:194 +#: sunrpc/clnt_perr.c:225 msgid "RPC: Program not registered" msgstr "RPC: Programm nicht registriert" -#: sunrpc/clnt_perr.c:178 +#: sunrpc/clnt_perr.c:193 msgid "RPC: Program unavailable" msgstr "RPC: Programm nicht verf�gbar" -#: sunrpc/clnt_perr.c:180 +#: sunrpc/clnt_perr.c:197 msgid "RPC: Program/version mismatch" msgstr "RPC: Programm/Version nicht passend" -#: sunrpc/clnt_perr.c:186 +#: sunrpc/clnt_perr.c:209 msgid "RPC: Remote system error" msgstr "RPC: Fehler des entfernten Systems" -#: sunrpc/clnt_perr.c:184 +#: sunrpc/clnt_perr.c:205 msgid "RPC: Server can't decode arguments" msgstr "RPC: Server kann die Argumente nicht dekodieren" @@ -2081,23 +2452,23 @@ msgstr "RPC: Server kann die Argumente n msgid "RPC: Success" msgstr "RPC: Erfolgreich" -#: sunrpc/clnt_perr.c:172 +#: sunrpc/clnt_perr.c:181 msgid "RPC: Timed out" msgstr "RPC: Wartezeit abgelaufen" -#: sunrpc/clnt_perr.c:170 +#: sunrpc/clnt_perr.c:177 msgid "RPC: Unable to receive" msgstr "RPC: Kann nicht empfangen" -#: sunrpc/clnt_perr.c:168 +#: sunrpc/clnt_perr.c:173 msgid "RPC: Unable to send" msgstr "RPC: Kann nicht senden" -#: sunrpc/clnt_perr.c:188 +#: sunrpc/clnt_perr.c:213 msgid "RPC: Unknown host" msgstr "RPC: Unbekannter Rechner" -#: sunrpc/clnt_perr.c:190 +#: sunrpc/clnt_perr.c:217 msgid "RPC: Unknown protocol" msgstr "RPC: Unbekanntes Protokoll" @@ -2110,16 +2481,17 @@ msgstr "RSA (%d Bits)\n" msgid "RTLD_NEXT used in code not dynamically loaded" msgstr "�RTLD_NEXT� wird in Code verwendet, der nicht dynamisch geladen ist" -#: elf/sprof.c:88 +#: elf/sprof.c:84 msgid "Read and display shared object profiling data" msgstr "Lese und gib die Profiling-Informationen von Shared Objects aus." -#: nscd/nscd.c:78 +#: nscd/nscd.c:81 msgid "Read configuration data from NAME" msgstr "Lese die Konfiguration aus NAME" #. TRANS An attempt was made to modify something on a read-only file system. #: stdio-common/../sysdeps/gnu/errlist.c:218 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:59 msgid "Read-only file system" msgstr "Das Dateisystem ist nur lesbar" @@ -2128,23 +2500,25 @@ msgstr "Das Dateisystem ist nur lesbar" msgid "Real-time signal %d" msgstr "Real-Time Signal %d" -#: posix/regex.c:1027 +#: posix/regex.c:1061 msgid "Regular expression too big" msgstr "Der regul�re Ausdruck ist zu gro�" -#: stdio-common/../sysdeps/gnu/errlist.c:810 +#: stdio-common/../sysdeps/gnu/errlist.c:828 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:169 msgid "Remote I/O error" msgstr "Ein-/Ausgabefehler des entfernten Systems" -#: stdio-common/../sysdeps/gnu/errlist.c:766 +#: stdio-common/../sysdeps/gnu/errlist.c:784 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:111 msgid "Remote address changed" msgstr "Die entfernte Adresse hat sich ge�ndert" -#: inet/ruserpass.c:162 +#: inet/ruserpass.c:177 msgid "Remove password or make file unreadable by others." msgstr "Das Pa�wort l�schen oder die Datei f�r andere nicht lesbar anlegen." -#: elf/sprof.c:537 +#: elf/sprof.c:533 #, c-format msgid "Reopening shared object `%s' failed" msgstr "Erneutes �ffnen des Shared Objects �%s� ist mi�lungen" @@ -2153,20 +2527,24 @@ msgstr "Erneutes �ffnen des Shared Objec msgid "Replicate :\n" msgstr "Replik :\n" -#: argp/argp-help.c:1638 +#: argp/argp-help.c:1640 #, c-format msgid "Report bugs to %s.\n" msgstr "Fehlermeldungen bitte an �%s� senden.\n" -#: catgets/gencat.c:223 db2/makedb.c:229 iconv/iconv_prog.c:280 -#: locale/programs/locale.c:254 locale/programs/localedef.c:389 +#: catgets/gencat.c:224 db2/makedb.c:229 iconv/iconv_prog.c:280 +#: locale/programs/locale.c:254 locale/programs/localedef.c:386 msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n" msgstr "Fehler bitte mit dem �glibcbug�-Skript an <bugs@gnu.org> melden.\n" -#: nis/ypclnt.c:765 +#: nis/ypclnt.c:775 msgid "Request arguments bad" msgstr "Die Request-Argumente sind ung�ltig" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:170 +msgid "Reserved for future use" +msgstr "Reserviert f�r eine zuk�nftige Verwendung" + #: resolv/herror.c:73 msgid "Resolver Error 0 (no error)" msgstr "Fehler 0 des Resolvers (Kein Fehler)" @@ -2183,7 +2561,8 @@ msgstr "Interner Fehler des Resolvers" msgid "Resource deadlock avoided" msgstr "Verklemmung beim Zugriff auf eine Ressource vermieden" -#: stdio-common/../sysdeps/unix/siglist.c:54 +#: stdio-common/../sysdeps/unix/siglist.c:54 sysdeps/generic/siglist.h:74 +#: sysdeps/gnu/siglist.h:68 msgid "Resource lost" msgstr "Die Ressource ist verlorengegangen" @@ -2217,14 +2596,19 @@ msgstr "Die Ressource ist verlorengegang #. TRANS and return to its command loop. #. TRANS @end itemize #: stdio-common/../sysdeps/gnu/errlist.c:279 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:40 msgid "Resource temporarily unavailable" msgstr "Die Ressource ist zur Zeit nicht verf�gbar" +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:63 +msgid "Result too large" +msgstr "Das Ergebnis ist zu gro�" + #: nis/nis_error.c:47 -msgid "Results Sent to callback proc" +msgid "Results sent to callback proc" msgstr "Ergebnisse an die Callback-Prozedur gesendet" -#: elf/sprof.c:91 +#: elf/sprof.c:87 msgid "SHOBJ [PROFDATA]" msgstr "SHOBJ [PROFDATA]" @@ -2237,8 +2621,8 @@ msgstr "SUNYP" msgid "Search Path : %s\n" msgstr "Suchpfad : %s\n" -#: stdio-common/../sysdeps/unix/siglist.c:36 -#: sysdeps/unix/sysv/linux/siglist.h:31 +#: stdio-common/../sysdeps/unix/siglist.c:36 sysdeps/generic/siglist.h:38 +#: sysdeps/gnu/siglist.h:32 msgid "Segmentation fault" msgstr "Speicherzugriffsfehler" @@ -2250,11 +2634,11 @@ msgstr "Der Server ist zur Zeit besch�ft msgid "Server out of memory" msgstr "Der Hauptspeicher des Servers ist ersch�pft" -#: sunrpc/clnt_perr.c:277 +#: sunrpc/clnt_perr.c:335 msgid "Server rejected credential" msgstr "Der Server hat die Best�tigung zur�ckgewiesen" -#: sunrpc/clnt_perr.c:281 +#: sunrpc/clnt_perr.c:343 msgid "Server rejected verifier" msgstr "Der Server hat die �berpr�fung zur�ckgewiesen" @@ -2266,7 +2650,7 @@ msgstr "�Servname� wird f�r �ai_soctype� msgid "Set the program name" msgstr "Setzt den Programm-Namen" -#: nscd/nscd.c:82 +#: nscd/nscd.c:85 msgid "Shut the server down" msgstr "Stoppt den Server" @@ -2276,16 +2660,19 @@ msgstr "Signal 0" #. TRANS A file that isn't a socket was specified when a socket is required. #: stdio-common/../sysdeps/gnu/errlist.c:311 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:124 msgid "Socket operation on non-socket" msgstr "Socket-Operation an einem nicht-Socket" #. TRANS The socket type is not supported. #: stdio-common/../sysdeps/gnu/errlist.c:340 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:150 msgid "Socket type not supported" msgstr "Socket-Typ wird nicht unterst�tzt" #. TRANS A network connection was aborted locally. #: stdio-common/../sysdeps/gnu/errlist.c:394 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:159 msgid "Software caused connection abort" msgstr "Das Programm verursachte den Abbruch der Verbindung" @@ -2293,15 +2680,16 @@ msgstr "Das Programm verursachte den Abb msgid "Sorry. You are not root\n" msgstr "Sorry, diese Funktion kann nur vom Systemverwalter durchgef�hrt werden.\n" -#: locale/programs/localedef.c:97 +#: locale/programs/localedef.c:94 msgid "Source definitions are found in FILE" msgstr "Die Quell-Definitionen stehen in der Datei FILE" -#: stdio-common/../sysdeps/gnu/errlist.c:746 +#: stdio-common/../sysdeps/gnu/errlist.c:764 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:98 msgid "Srmount error" msgstr "�Srmount�-Fehler" -#: sysdeps/unix/sysv/linux/siglist.h:59 +#: sysdeps/generic/siglist.h:66 sysdeps/gnu/siglist.h:60 msgid "Stack fault" msgstr "Stackfehler" @@ -2310,56 +2698,58 @@ msgstr "Stackfehler" #. TRANS Repairing this condition usually requires unmounting and remounting #. TRANS the NFS file system on the local host. #: stdio-common/../sysdeps/gnu/errlist.c:506 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:180 msgid "Stale NFS file handle" msgstr "Veraltete NFS-Dateizugriffsnummer" -#: nscd/nscd.c:81 +#: nscd/nscd.c:84 msgid "Start NUMBER threads" msgstr "Starte die Anzahl NUMBER Threads" -#: nis/nis_print.c:357 +#: nis/nis_print.c:361 #, c-format msgid "Status : %s\n" msgstr "Status : %s\n" -#: stdio-common/../sysdeps/unix/siglist.c:43 -#: sysdeps/unix/sysv/linux/siglist.h:37 +#: stdio-common/../sysdeps/unix/siglist.c:43 sysdeps/generic/siglist.h:44 +#: sysdeps/gnu/siglist.h:38 msgid "Stopped" msgstr "Angehalten" -#: stdio-common/../sysdeps/unix/siglist.c:42 -#: sysdeps/unix/sysv/linux/siglist.h:36 +#: stdio-common/../sysdeps/unix/siglist.c:42 sysdeps/generic/siglist.h:43 +#: sysdeps/gnu/siglist.h:37 msgid "Stopped (signal)" msgstr "Angehalten (Signal)" -#: stdio-common/../sysdeps/unix/siglist.c:46 -#: sysdeps/unix/sysv/linux/siglist.h:40 +#: stdio-common/../sysdeps/unix/siglist.c:46 sysdeps/generic/siglist.h:47 +#: sysdeps/gnu/siglist.h:41 msgid "Stopped (tty input)" msgstr "Angehalten (tty-Eingabe)" -#: stdio-common/../sysdeps/unix/siglist.c:47 -#: sysdeps/unix/sysv/linux/siglist.h:41 +#: stdio-common/../sysdeps/unix/siglist.c:47 sysdeps/generic/siglist.h:48 +#: sysdeps/gnu/siglist.h:42 msgid "Stopped (tty output)" msgstr "Angehalten (tty-Ausgabe)" -#: stdio-common/../sysdeps/gnu/errlist.c:790 +#: stdio-common/../sysdeps/gnu/errlist.c:808 msgid "Streams pipe error" msgstr "Fehler in Stream-Pipe" -#: stdio-common/../sysdeps/gnu/errlist.c:794 +#: stdio-common/../sysdeps/gnu/errlist.c:812 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:164 msgid "Structure needs cleaning" msgstr "Die Struktur mu� bereinigt werden" -#: nis/nis_error.c:28 nis/ypclnt.c:763 nis/ypclnt.c:837 posix/regex.c:1012 +#: nis/nis_error.c:28 nis/ypclnt.c:773 nis/ypclnt.c:847 posix/regex.c:1016 #: stdio-common/../sysdeps/gnu/errlist.c:19 msgid "Success" msgstr "Erfolg" -#: locale/programs/localedef.c:106 +#: locale/programs/localedef.c:103 msgid "Suppress warnings and information messages" msgstr "Unterdr�cke Warnungen und informative Nachrichten" -#: locale/programs/localedef.c:96 +#: locale/programs/localedef.c:92 msgid "Symbolic character names defined in FILE" msgstr "Symbolische Namen f�r Zeichen sind in der Datei FILE definiert" @@ -2371,12 +2761,12 @@ msgstr "Systemfehler" msgid "System information:" msgstr "System-Information:" -#: nis/ypclnt.c:843 +#: nis/ypclnt.c:853 msgid "System resource allocation failure" msgstr "Fehler bei der Beschaffung einer Systemressource" # XXX wie �bersetzen? -#: locale/programs/localedef.c:384 +#: locale/programs/localedef.c:381 #, c-format msgid "" "System's directory for character maps : %s\n" @@ -2389,10 +2779,18 @@ msgstr "" " locale path : %s\n" "%s" +#: nscd/nscd.c:87 +msgid "TABLE" +msgstr "TABELLE" + #: nis/nis_print.c:117 msgid "TABLE\n" msgstr "TABELLE\n" +#: nscd/nscd.c:89 +msgid "TABLE,yes" +msgstr "TABELLE,ja" + #: nis/nis_print.c:262 #, c-format msgid "Table Type : %s\n" @@ -2402,8 +2800,8 @@ msgstr "Tabellentyp : %s\n" msgid "Temporary failure in name resolution" msgstr "Tempor�rer Fehler bei der Namensaufl�sung" -#: stdio-common/../sysdeps/unix/siglist.c:40 -#: sysdeps/unix/sysv/linux/siglist.h:34 +#: stdio-common/../sysdeps/unix/siglist.c:40 sysdeps/generic/siglist.h:41 +#: sysdeps/gnu/siglist.h:35 msgid "Terminated" msgstr "Beendet" @@ -2413,10 +2811,11 @@ msgstr "Beendet" #. TRANS will cause this error. (The name stands for ``text file busy''.) This #. TRANS is not an error in the GNU system; the text is copied as necessary. #: stdio-common/../sysdeps/gnu/errlist.c:197 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:55 msgid "Text file busy" msgstr "Das Programm kann nicht ausgef�hrt oder ver�ndert werden (busy)" -#: iconv/iconv_prog.c:536 +#: iconv/iconv_prog.c:578 msgid "" "The following list contain all the coded character sets known. This does\n" "not necessarily mean that all combinations of these names can be used for\n" @@ -2443,12 +2842,13 @@ msgstr "" msgid "Time to live : " msgstr "Time-to-Live : " -#: stdio-common/../sysdeps/gnu/errlist.c:662 +#: stdio-common/../sysdeps/gnu/errlist.c:680 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:91 msgid "Timer expired" msgstr "Der virtuelle Zeitnehmer ist abgelaufen" #: nis/nis_error.c:55 -msgid "Too Many Attributes" +msgid "Too many attributes" msgstr "Zu viele Attribute" #. TRANS Too many levels of symbolic links were encountered in looking up a file name. @@ -2461,6 +2861,7 @@ msgstr "Zu viele Ebenen aus symbolischen #. TRANS @code{rename} can cause this error if the file being renamed already has #. TRANS as many links as it can take (@pxref{Renaming Files}). #: stdio-common/../sysdeps/gnu/errlist.c:225 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:60 msgid "Too many links" msgstr "Zu viele Links" @@ -2472,6 +2873,7 @@ msgstr "Zu viele Links" #. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; #. TRANS @pxref{Limits on Resources}. #: stdio-common/../sysdeps/gnu/errlist.c:175 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:53 msgid "Too many open files" msgstr "Zu viele offene Dateien" @@ -2491,34 +2893,37 @@ msgstr "Zu viele Prozesse" #. TRANS ??? #: stdio-common/../sysdeps/gnu/errlist.c:439 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:173 msgid "Too many references: cannot splice" msgstr "Zu viele Referenzen: can't splice" #. TRANS The file quota system is confused because there are too many users. #. TRANS @c This can probably happen in a GNU system when using NFS. #: stdio-common/../sysdeps/gnu/errlist.c:493 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:123 msgid "Too many users" msgstr "Zu viele Benutzer" -#: stdio-common/../sysdeps/unix/siglist.c:30 -#: sysdeps/unix/sysv/linux/siglist.h:26 +#: stdio-common/../sysdeps/unix/siglist.c:30 sysdeps/generic/siglist.h:33 +#: sysdeps/gnu/siglist.h:27 msgid "Trace/breakpoint trap" msgstr "Trace/Breakpoint ausgel�st" -#: posix/regex.c:1017 +#: posix/regex.c:1031 msgid "Trailing backslash" msgstr "Angeh�ngter Backslash (�\\�)" #. TRANS In the GNU system, opening a file returns this error when the file is #. TRANS translated by a program and the translator program dies while starting #. TRANS up, before it has connected to the file. -#: stdio-common/../sysdeps/gnu/errlist.c:596 +#: stdio-common/../sysdeps/gnu/errlist.c:614 msgid "Translator died" msgstr "Der �bersetzer ist gestorben" #. TRANS You tried to connect a socket that is already connected. #. TRANS @xref{Connecting}. #: stdio-common/../sysdeps/gnu/errlist.c:414 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:162 msgid "Transport endpoint is already connected" msgstr "Der Socket ist bereits verbunden" @@ -2527,15 +2932,16 @@ msgstr "Der Socket ist bereits verbunden #. TRANS destination for the data. For a connectionless socket (for datagram #. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. #: stdio-common/../sysdeps/gnu/errlist.c:422 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:163 msgid "Transport endpoint is not connected" msgstr "Der Socket ist nicht verbunden" -#: argp/argp-help.c:1610 +#: argp/argp-help.c:1612 #, c-format msgid "Try `%s --help' or `%s --usage' for more information.\n" msgstr "�%s --help� oder �%s --usage� gibt weitere Informationen.\n" -#: inet/rcmd.c:143 +#: inet/rcmd.c:150 #, c-format msgid "Trying %s...\n" msgstr "Versuche �%s�...\n" @@ -2571,16 +2977,16 @@ msgstr "Es kann kein Proze� auf dem Serv msgid "Unknown (type = %d, bits = %d)\n" msgstr "Unbekannt (Typ = %d, Bits = %d)\n" -#: inet/ruserpass.c:248 +#: inet/ruserpass.c:263 #, c-format msgid "Unknown .netrc keyword %s" msgstr "Unbekanntes Schl�sselwort �%s� in der Datei �.netrc�" -#: nis/ypclnt.c:797 +#: nis/ypclnt.c:807 msgid "Unknown NIS error code" msgstr "Unbekannter NIS-Fehlercode" -#: nss/getent.c:505 +#: nss/getent.c:512 #, c-format msgid "Unknown database: %s\n" msgstr "Unbekannte Datenbank: %s\n" @@ -2590,7 +2996,7 @@ msgid "Unknown error" msgstr "Unbekannter Fehler" #: string/../sysdeps/generic/_strerror.c:48 -#: string/../sysdeps/mach/_strerror.c:86 +#: string/../sysdeps/mach/_strerror.c:87 #: sysdeps/mach/hurd/mips/dl-machine.c:82 msgid "Unknown error " msgstr "Unbekannter Fehler " @@ -2603,7 +3009,7 @@ msgstr "Unbekannter Rechner" msgid "Unknown object" msgstr "Unbekanntes Objekt" -#: nscd/nscd_conf.c:181 +#: nscd/nscd_conf.c:179 #, c-format msgid "Unknown option: %s %s %s" msgstr "Unbekannte Option: %s %s %s" @@ -2621,27 +3027,27 @@ msgstr "Unbekannter Fehler des Servers" msgid "Unknown signal %d" msgstr "Unbekanntes Signal %d" -#: misc/error.c:107 +#: misc/error.c:107 timezone/zic.c:386 msgid "Unknown system error" msgstr "Unbekannter Systemfehler" -#: nis/ypclnt.c:845 +#: nis/ypclnt.c:855 msgid "Unknown ypbind error" msgstr "Unbekannter Fehler im �ypbind�" -#: posix/regex.c:1020 +#: posix/regex.c:1040 msgid "Unmatched ( or \\(" msgstr "�(� oder �\\(� ohne schlie�ende Klammer" -#: posix/regex.c:1028 +#: posix/regex.c:1064 msgid "Unmatched ) or \\)" msgstr "�)� oder �\\)� ohne �ffnende Klammer" -#: posix/regex.c:1019 +#: posix/regex.c:1037 msgid "Unmatched [ or [^" msgstr "�[� oder �[^� ohne schlie�ende Klammer" -#: posix/regex.c:1021 +#: posix/regex.c:1043 msgid "Unmatched \\{" msgstr "�\\{� ohne schlie�ende Klammer" @@ -2650,12 +3056,12 @@ msgstr "�\\{� ohne schlie�ende Klammer" msgid "Unrecognized variable `%s'" msgstr "Unbekannte Variable �%s�" -#: stdio-common/../sysdeps/unix/siglist.c:41 -#: sysdeps/unix/sysv/linux/siglist.h:35 +#: stdio-common/../sysdeps/unix/siglist.c:41 sysdeps/generic/siglist.h:42 +#: sysdeps/gnu/siglist.h:36 msgid "Urgent I/O condition" msgstr "Dringende Ein-/Ausgabebedingung" -#: argp/argp-help.c:1567 +#: argp/argp-help.c:1569 msgid "Usage:" msgstr "Syntax:" @@ -2668,31 +3074,36 @@ msgstr "Syntax: %s Variablenname [Pfadna msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" msgstr "Syntax: rpcinfo [ -n Portnummer ] -u Rechner Programmnummer [ Versionsnummer ]\n" -#: stdio-common/../sysdeps/unix/siglist.c:55 -#: sysdeps/unix/sysv/linux/siglist.h:48 +#: nscd/nscd.c:89 +msgid "Use separate cache for each user" +msgstr "Verwende f�r jeden Benutzer einen eigenen Cache" + +#: stdio-common/../sysdeps/unix/siglist.c:55 sysdeps/generic/siglist.h:55 +#: sysdeps/gnu/siglist.h:49 msgid "User defined signal 1" msgstr "Benutzerdefiniertes Signal 1" -#: stdio-common/../sysdeps/unix/siglist.c:56 -#: sysdeps/unix/sysv/linux/siglist.h:49 +#: stdio-common/../sysdeps/unix/siglist.c:56 sysdeps/generic/siglist.h:56 +#: sysdeps/gnu/siglist.h:50 msgid "User defined signal 2" msgstr "Benutzerdefiniertes Signal 2" -#: stdio-common/../sysdeps/gnu/errlist.c:654 +#: stdio-common/../sysdeps/gnu/errlist.c:672 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:108 msgid "Value too large for defined data type" msgstr "Der Wert ist zu gro� f�r den definierten Datentyp" -#: stdio-common/../sysdeps/unix/siglist.c:51 -#: sysdeps/unix/sysv/linux/siglist.h:45 +#: stdio-common/../sysdeps/unix/siglist.c:51 sysdeps/generic/siglist.h:52 +#: sysdeps/gnu/siglist.h:46 msgid "Virtual timer expired" msgstr "Der virtuelle Zeitnehmer ist abgelaufen" -#: timezone/zic.c:1899 +#: timezone/zic.c:1927 msgid "Wild result from command execution" msgstr "Wildes Ergebnis aus der Kommandoausf�hrung" -#: stdio-common/../sysdeps/unix/siglist.c:53 -#: sysdeps/unix/sysv/linux/siglist.h:47 +#: stdio-common/../sysdeps/unix/siglist.c:53 sysdeps/generic/siglist.h:54 +#: sysdeps/gnu/siglist.h:48 msgid "Window changed" msgstr "Die Fenstergr��e wurde ver�ndert" @@ -2712,19 +3123,19 @@ msgstr "Gibt die Namen von ausgew�hlten msgid "Write names of selected keywords" msgstr "Gibt die Namen von ausgew�hlten Schl�sselw�rtern aus" -#: catgets/gencat.c:110 db2/makedb.c:59 +#: catgets/gencat.c:111 db2/makedb.c:59 msgid "Write output to file NAME" msgstr "Schreibe die Ausgabe in die Datei NAME" -#: catgets/gencat.c:241 db2/makedb.c:247 elf/sprof.c:365 +#: catgets/gencat.c:242 db2/makedb.c:247 elf/sprof.c:361 #: iconv/iconv_prog.c:299 locale/programs/locale.c:272 -#: locale/programs/localedef.c:408 nscd/nscd.c:228 nss/getent.c:70 -#: posix/getconf.c:629 +#: locale/programs/localedef.c:405 nscd/nscd.c:282 nscd/nscd_nischeck.c:95 +#: nss/getent.c:71 posix/getconf.c:629 #, c-format msgid "Written by %s.\n" msgstr "Implementiert von %s.\n" -#: stdio-common/../sysdeps/gnu/errlist.c:818 +#: stdio-common/../sysdeps/gnu/errlist.c:836 msgid "Wrong medium type" msgstr "Falscher Medien-Typ" @@ -2736,7 +3147,7 @@ msgstr "X500" msgid "XCHS" msgstr "XCHS" -#: nis/ypclnt.c:185 +#: nis/ypclnt.c:171 #, c-format msgid "YPBINDPROC_DOMAIN: %s\n" msgstr "YPBINDPROC_DOMAIN: %s\n" @@ -2746,11 +3157,11 @@ msgid "Yes, 42 is the meaning of life" msgstr "Ja, 42 ist die Antwort auf die Frage nach dem Leben, dem Sein und allem sonst" #. TRANS You did @strong{what}? -#: stdio-common/../sysdeps/gnu/errlist.c:608 +#: stdio-common/../sysdeps/gnu/errlist.c:626 msgid "You really blew it this time" msgstr "Diesmal hast Du es wirklich kaputtgemacht" -#: timezone/zic.c:1063 +#: timezone/zic.c:1089 msgid "Zone continuation line end time is not after end time of previous line" msgstr "Die Ende-Zeit der Fortsetzungszeile ist nicht sp�ter als die Ende-Zeit der vorangegangenen Zeile" @@ -2758,13 +3169,17 @@ msgstr "Die Ende-Zeit der Fortsetzungsze msgid "[FILE...]" msgstr "[Datei...]" -#: locale/programs/charmap.c:481 locale/programs/locfile.c:471 -#: locale/programs/repertoire.c:278 +#: sunrpc/pmap_clnt.c:71 +msgid "__get_myaddress: ioctl (get interface configuration)" +msgstr "__get_myaddress: ioctl (Holen der Schnittstellen-Konfiguration)" + +#: locale/programs/charmap.c:480 locale/programs/locfile.c:477 +#: locale/programs/repertoire.c:290 #, c-format msgid "`%1$s' definition does not end with `END %1$s'" msgstr "Die Definition von �%1$s� ist nicht durch �END %1$s� abgeschlossen" -#: elf/sprof.c:766 +#: elf/sprof.c:762 #, c-format msgid "`%s' is no correct profile data file for `%s'" msgstr "�%s� ist keine g�ltige Profiledaten-Datei f�r �%s�" @@ -2774,15 +3189,15 @@ msgstr "�%s� ist keine g�ltige Profileda msgid "`-1' must be last entry in `%s' field in `%s' category" msgstr "�-1� mu� der letzte Eintrag im �%s�-Feld in der �%s�-Kategorie sein" -#: locale/programs/ld-collate.c:1666 +#: locale/programs/ld-collate.c:1670 msgid "`...' must only be used in `...' and `UNDEFINED' entries" msgstr "�...� darf nur in �...� und �UNDEFINED� Eintr�gen verwendet werden" -#: locale/programs/locfile.c:668 +#: locale/programs/locfile.c:674 msgid "`from' expected after first argument to `collating-element'" msgstr "�from� erwartet nach dem ersten Argument von �collating-element�" -#: locale/programs/ld-collate.c:1118 +#: locale/programs/ld-collate.c:1122 msgid "`from' string in collation element declaration contains unknown character" msgstr "Der �from�-String in der Deklaration des Sortierelements enth�lt unbekannte Zeichen" @@ -2794,11 +3209,11 @@ msgstr "�ai_family� wird nicht unterst�t msgid "ai_socktype not supported" msgstr "�ai_family� wird nicht unterst�tzt" -#: nscd/nscd.c:121 +#: nscd/nscd.c:127 msgid "already running" msgstr "ist bereits gestartet" -#: locale/programs/charmap.c:352 locale/programs/repertoire.c:152 +#: locale/programs/charmap.c:352 locale/programs/repertoire.c:164 #, c-format msgid "argument to <%s> must be a single character" msgstr "Das Argument f�r �<%s>� mu� ein einzelnes Zeichen sein" @@ -2808,28 +3223,28 @@ msgstr "Das Argument f�r �<%s>� mu� ein msgid "argument to `%s' must be a single character" msgstr "Das Argument zu �%s� mu� ein einzelnes Zeichen sein" -#: sunrpc/auth_unix.c:321 +#: sunrpc/auth_unix.c:310 msgid "auth_none.c - Fatal marshalling problem" msgstr "auth_none.c - Fatales �marshalling�-Problem" -#: sunrpc/auth_unix.c:116 sunrpc/auth_unix.c:122 sunrpc/auth_unix.c:151 +#: sunrpc/auth_unix.c:105 sunrpc/auth_unix.c:111 sunrpc/auth_unix.c:141 msgid "authunix_create: out of memory\n" msgstr "authunix_create: Hauptspeicher ersch�pft\n" #: locale/programs/charmap.c:297 locale/programs/locfile.c:234 -#: locale/programs/locfile.c:261 locale/programs/repertoire.c:144 +#: locale/programs/locfile.c:261 locale/programs/repertoire.c:156 msgid "bad argument" msgstr "Das Argument ist ung�ltig" -#: inet/rcmd.c:318 +#: inet/rcmd.c:326 msgid "bad owner" msgstr "Ung�ltiger Eigent�mer" -#: timezone/zic.c:1185 +#: timezone/zic.c:1211 msgid "blank FROM field on Link line" msgstr "Leeres FROM-Feld in der Link-Zeile" -#: timezone/zic.c:1189 +#: timezone/zic.c:1215 msgid "blank TO field on Link line" msgstr "Leeres TO-Feld in der Link-Zeile" @@ -2866,7 +3281,7 @@ msgstr "cache_set: Das Opfer wurde nicht msgid "cache_set: victim not found" msgstr "cache_set: Das Opfer wurde nicht gefunden" -#: timezone/zic.c:1726 +#: timezone/zic.c:1752 msgid "can't determine time zone abbreviation to use just after until time" msgstr "Kann die Abk�rzung der Zeitzone zur Verwendung direkt nach der Ende-Zeit nicht bestimmen" @@ -2875,61 +3290,61 @@ msgstr "Kann die Abk�rzung der Zeitzone msgid "can't reassign procedure number %d\n" msgstr "Kann die Prozedurnummer %d nicht erneut zuweisen\n" -#: locale/programs/localedef.c:279 +#: locale/programs/localedef.c:276 #, c-format msgid "cannot `stat' locale file `%s'" msgstr "Kann den Status der Lokale-Datei �%s� nicht bestimmen" -#: elf/sprof.c:935 elf/sprof.c:987 +#: elf/sprof.c:931 elf/sprof.c:983 msgid "cannot allocate symbol data" msgstr "Nicht gen�gend Hauptspeicher f�r Symboldaten verf�gbar" -#: elf/sprof.c:719 elf/sprof.c:777 +#: elf/sprof.c:715 elf/sprof.c:773 msgid "cannot create internal descriptor" msgstr "Kann keinen internen Deskriptor erzeugen" -#: elf/sprof.c:417 +#: elf/sprof.c:413 msgid "cannot create internal descriptors" msgstr "Kann keine internen Deskriptoren erzeugen" -#: nscd/connections.c:180 +#: nscd/connections.c:183 #, c-format msgid "cannot enable socket to accept connections: %s" msgstr "Der Socken kann nicht zum Annehmen von Verbindungen aktiviert werden: %s" -#: sunrpc/rpc_main.c:342 +#: sunrpc/rpc_main.c:341 #, c-format msgid "cannot find C preprocessor: %s \n" msgstr "Kann den C Pr�prozessor nicht finden: %s \n" -#: sunrpc/rpc_main.c:350 +#: sunrpc/rpc_main.c:349 msgid "cannot find any C preprocessor (cpp)\n" msgstr "Kann keinen C Pr�prozessor finden (cpp)\n" -#: nscd/connections.c:205 +#: nscd/connections.c:224 #, c-format msgid "cannot handle old request version %d; current version is %d" msgstr "Kann die alte Version %d nicht verarbeiten; aktuelle Version ist %d" -#: locale/programs/ld-collate.c:1324 +#: locale/programs/ld-collate.c:1328 #, c-format msgid "cannot insert collation element `%.*s'" msgstr "Kann das Sortierelement �%.*s� nicht einf�gen" -#: locale/programs/ld-collate.c:1503 locale/programs/ld-collate.c:1510 +#: locale/programs/ld-collate.c:1507 locale/programs/ld-collate.c:1514 msgid "cannot insert into result table" msgstr "Kann nicht in die Ergebnistabelle einf�gen" -#: locale/programs/ld-collate.c:1175 locale/programs/ld-collate.c:1218 +#: locale/programs/ld-collate.c:1179 locale/programs/ld-collate.c:1222 #, c-format msgid "cannot insert new collating symbol definition: %s" msgstr "Kann die neue Sortiersymboldefinition nicht einf�gen: %s" -#: elf/sprof.c:674 +#: elf/sprof.c:670 msgid "cannot load profiling data" msgstr "Kann die Profiling-Daten nicht laden" -#: inet/rcmd.c:314 +#: inet/rcmd.c:322 msgid "cannot open" msgstr "�ffnen fehlgeschlagen" @@ -2943,12 +3358,12 @@ msgstr "�ffnen von �%s� fehlgeschlagen" msgid "cannot open database file `%s': %s" msgstr "Kann die Ausgabedatei �%s� nicht �ffnen: %s" -#: catgets/gencat.c:272 db2/makedb.c:167 iconv/iconv_prog.c:177 +#: catgets/gencat.c:273 db2/makedb.c:167 iconv/iconv_prog.c:177 #, c-format msgid "cannot open input file `%s'" msgstr "Kann die Eingabedatei �%s� nicht �ffnen" -#: locale/programs/localedef.c:198 +#: locale/programs/localedef.c:195 #, c-format msgid "cannot open locale definition file `%s'" msgstr "Kann die Lokale-Definitionsdatei �%s� nicht �ffnen" @@ -2957,22 +3372,22 @@ msgstr "Kann die Lokale-Definitionsdatei msgid "cannot open output file" msgstr "Kann die Ausgabedatei nicht �ffnen" -#: catgets/gencat.c:774 catgets/gencat.c:815 db2/makedb.c:181 +#: catgets/gencat.c:780 catgets/gencat.c:821 db2/makedb.c:181 #, c-format msgid "cannot open output file `%s'" msgstr "Kann die Ausgabedatei �%s� nicht �ffnen" -#: locale/programs/locfile.c:1129 +#: locale/programs/locfile.c:1135 #, c-format msgid "cannot open output file `%s' for category `%s'" msgstr "Kann die Ausgabedatei �%s� f�r die Kategorie �%s� nicht �ffnen" -#: nscd/connections.c:162 +#: nscd/connections.c:165 #, c-format msgid "cannot open socket: %s" msgstr "Kann den Socket nicht �ffnen: %s" -#: locale/programs/ld-collate.c:1370 +#: locale/programs/ld-collate.c:1374 msgid "cannot process order specification" msgstr "Kann die Spezifikation der Sortierreihenfolge nicht verarbeiten" @@ -2981,7 +3396,7 @@ msgstr "Kann die Spezifikation der Sorti msgid "cannot read character map directory `%s'" msgstr "Das Verzeichnis �%s� der Zeichensatz-Definitionen kann nicht gelesen werden" -#: nscd/connections.c:122 +#: nscd/connections.c:125 msgid "cannot read configuration file; this is fatal" msgstr "Kann die Konfigurationsdatei nicht lesen; das ist fatal" @@ -2999,14 +3414,14 @@ msgstr "Kann den Header von �%s� nicht l msgid "cannot read locale directory `%s'" msgstr "Kann das Lokale-Verzeichnis �%s� nicht lesen" -#: locale/programs/localedef.c:303 +#: locale/programs/localedef.c:300 #, c-format msgid "cannot read locale file `%s'" msgstr "Kann die Lokale-Datei �%s� nicht lesen" -#: locale/programs/locfile.c:288 locale/programs/locfile.c:306 -#: locale/programs/locfile.c:324 locale/programs/locfile.c:342 -#: locale/programs/locfile.c:360 locale/programs/locfile.c:378 +#: locale/programs/locfile.c:289 locale/programs/locfile.c:308 +#: locale/programs/locfile.c:327 locale/programs/locfile.c:346 +#: locale/programs/locfile.c:365 locale/programs/locfile.c:384 #, c-format msgid "cannot read repertoire map `%s'" msgstr "Kann die �repertoire�-Map �%s� nicht lesen" @@ -3015,17 +3430,17 @@ msgstr "Kann die �repertoire�-Map �%s� n msgid "cannot read statistics data" msgstr "Kann keine Statistikdaten lesen" -#: nscd/cache.c:141 nscd/connections.c:148 +#: nscd/cache.c:150 nscd/connections.c:151 #, c-format msgid "cannot stat() file `%s': %s" msgstr "Kann den Status (stat()) der Datei �%s� nicht lesen: %s" -#: locale/programs/localedef.c:328 +#: locale/programs/localedef.c:325 #, c-format msgid "cannot write output files to `%s'" msgstr "Kann die Ausgabedatei �%s� nicht schreiben" -#: nscd/connections.c:229 nscd/connections.c:250 +#: nscd/connections.c:260 nscd/connections.c:281 #, c-format msgid "cannot write result: %s" msgstr "Kann das Ergebnis nicht schreiben: %s" @@ -3039,40 +3454,50 @@ msgstr "Kann die Statistik nicht schreib msgid "cannot write to client" msgstr "Kann nicht zum Client schreiben" -#: locale/programs/localedef.c:442 +#: locale/programs/localedef.c:439 msgid "category data requested more than once: should not happen" msgstr "Die Daten einer Kategorie sind mehrfach angefordert worden, das sollte nicht passieren" -#: locale/programs/ld-ctype.c:269 +#: locale/programs/ld-ctype.c:278 #, c-format -msgid "character %s'%s' in class `%s' must be in class `%s'" -msgstr "Das Zeichen %s�%s�, das in der Zeichenklasse �%s� enthalten ist, mu� auch in der Zeichenklasse �%s� enthalten sein" +msgid "character '%s' in class `%s' must be in class `%s'" +msgstr "Das Zeichen �%s�, das in der Zeichenklasse �%s� enthalten ist, mu� auch in der Zeichenklasse �%s� enthalten sein" -#: locale/programs/ld-ctype.c:294 +#: locale/programs/ld-ctype.c:303 #, c-format -msgid "character %s'%s' in class `%s' must not be in class `%s'" -msgstr "Das Zeichen %s�%s� in der Zeichenklasse �%s� darf nicht in der Zeichenklasse �%s� enthalten sein" +msgid "character '%s' in class `%s' must not be in class `%s'" +msgstr "Das Zeichen �%s� in der Zeichenklasse �%s� darf nicht in der Zeichenklasse �%s� enthalten sein" -#: locale/programs/ld-ctype.c:320 +#: locale/programs/ld-ctype.c:405 msgid "character <SP> not defined in character map" msgstr "Das Zeichen �<SP>� ist in der Zeichen-Definition nicht enthalten" -#: locale/programs/ld-ctype.c:964 locale/programs/ld-ctype.c:1029 -#: locale/programs/ld-ctype.c:1040 locale/programs/ld-ctype.c:1051 -#: locale/programs/ld-ctype.c:1062 locale/programs/ld-ctype.c:1073 -#: locale/programs/ld-ctype.c:1084 locale/programs/ld-ctype.c:1113 -#: locale/programs/ld-ctype.c:1124 locale/programs/ld-ctype.c:1165 -#: locale/programs/ld-ctype.c:1194 locale/programs/ld-ctype.c:1206 +#: locale/programs/ld-ctype.c:355 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must be in class `%s'" +msgstr "Das Zeichen L�%s� (Index %Zd), das in der Zeichenklasse �%s� enthalten ist, mu� auch in der Zeichenklasse �%s� enthalten sein" + +#: locale/programs/ld-ctype.c:380 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must not be in class `%s'" +msgstr "Das Zeichen L�%s� (Index %Zd) in der Zeichenklasse �%s� darf nicht in der Zeichenklasse �%s� enthalten sein" + +#: locale/programs/ld-ctype.c:1107 locale/programs/ld-ctype.c:1183 +#: locale/programs/ld-ctype.c:1196 locale/programs/ld-ctype.c:1209 +#: locale/programs/ld-ctype.c:1222 locale/programs/ld-ctype.c:1235 +#: locale/programs/ld-ctype.c:1248 locale/programs/ld-ctype.c:1279 +#: locale/programs/ld-ctype.c:1292 locale/programs/ld-ctype.c:1343 +#: locale/programs/ld-ctype.c:1374 locale/programs/ld-ctype.c:1386 #, c-format msgid "character `%s' not defined while needed as default value" msgstr "Das Zeichen �%s� ist nicht definiert, wird aber als Vorgabewert ben�tigt" -#: locale/programs/ld-ctype.c:825 +#: locale/programs/ld-ctype.c:967 #, c-format msgid "character class `%s' already defined" msgstr "Die Zeichenklasse �%s� ist bereits definiert" -#: locale/programs/ld-ctype.c:857 +#: locale/programs/ld-ctype.c:999 #, c-format msgid "character map `%s' already defined" msgstr "Die Zeichensatzbeschreibung �%s� ist bereits definiert" @@ -3090,7 +3515,7 @@ msgstr "clnt_raw.c - Fataler Fehler bei msgid "clnttcp_create: out of memory\n" msgstr "clnttcp_create: Hauptspeicher ersch�pft\n" -#: sunrpc/clnt_udp.c:124 sunrpc/clnt_udp.c:134 +#: sunrpc/clnt_udp.c:125 sunrpc/clnt_udp.c:135 msgid "clntudp_create: out of memory\n" msgstr "clntudp_create: Hauptspeicher ersch�pft\n" @@ -3098,22 +3523,22 @@ msgstr "clntudp_create: Hauptspeicher er msgid "clntunix_create: out of memory\n" msgstr "clntunix_create: Hauptspeicher ersch�pft\n" -#: locale/programs/ld-collate.c:1339 +#: locale/programs/ld-collate.c:1343 #, c-format msgid "collation element `%.*s' appears more than once: ignore line" msgstr "Das Sortierungselement �%.*s� ist mehr als einmal angegeben: Die Zeile wird ignoriert" -#: locale/programs/ld-collate.c:1357 +#: locale/programs/ld-collate.c:1361 #, c-format msgid "collation symbol `%.*s' appears more than once: ignore line" msgstr "Das Sortierungssymbol �%.*s� ist mehr als einmal angegeben; die Zeile wird ignoriert" -#: locale/programs/locfile.c:652 +#: locale/programs/locfile.c:658 #, c-format msgid "collation symbol expected after `%s'" msgstr "Nach �%s� wird ein Sortierungssymbol erwartet" -#: inet/rcmd.c:136 +#: inet/rcmd.c:143 #, c-format msgid "connect to address %s: " msgstr "Verbindungsaufbau zur Adresse %s: " @@ -3127,7 +3552,7 @@ msgstr "Konstante oder Bezeichner erwart msgid "conversion from `%s' to `%s' not supported" msgstr "Konvertierung von �%s� nach �%s� wird nicht unterst�tzt" -#: iconv/iconv_prog.c:326 +#: iconv/iconv_prog.c:328 iconv/iconv_prog.c:353 msgid "conversion stopped due to problem in writing the output" msgstr "Die Konvertierung wurde wegen Problemen bei der Ausgabe beendet" @@ -3140,7 +3565,7 @@ msgstr "Kann keinen RPC-Server erzeugen\ msgid "couldn't register prog %d vers %d\n" msgstr "Kann das Programm �%d� Version �%d� nicht registrieren\n" -#: nss/getent.c:49 +#: nss/getent.c:50 msgid "database [key ...]" msgstr "Datenbank [Schl�ssel ...]" @@ -3164,11 +3589,11 @@ msgstr "Der Richtungsanzeiger in der Zei msgid "duplicate character name `%s'" msgstr "Der Name des Zeichens �%s� ist mehrfach angegeben" -#: locale/programs/ld-collate.c:1150 +#: locale/programs/ld-collate.c:1154 msgid "duplicate collating element definition" msgstr "Mehrfache Definition des Sortierungselementes" -#: locale/programs/ld-collate.c:1297 +#: locale/programs/ld-collate.c:1301 #, c-format msgid "duplicate definition for character `%.*s'" msgstr "Mehrfache Definition des Eintrages �%.*s�" @@ -3177,20 +3602,20 @@ msgstr "Mehrfache Definition des Eintrag msgid "duplicate key" msgstr "Doppelter Schl�ssel" -#: catgets/gencat.c:388 +#: catgets/gencat.c:389 msgid "duplicate set definition" msgstr "Doppelte �set�-Definition" -#: timezone/zic.c:978 +#: timezone/zic.c:1004 #, c-format msgid "duplicate zone name %s (file \"%s\", line %d)" msgstr "Doppelter Zonenname �%s� (Datei �%s�, Zeile %d)" -#: catgets/gencat.c:551 +#: catgets/gencat.c:556 msgid "duplicated message identifier" msgstr "Der Nachrichtenbezeichner ist mehrfach vorhanden" -#: catgets/gencat.c:524 +#: catgets/gencat.c:528 msgid "duplicated message number" msgstr "Die Nachrichtennummer ist mehrfach vorhanden" @@ -3198,7 +3623,7 @@ msgstr "Die Nachrichtennummer ist mehrfa msgid "empty char string" msgstr "Leere Zeichenkette" -#: locale/programs/ld-collate.c:1710 +#: locale/programs/ld-collate.c:1714 msgid "empty weight name: line ignored" msgstr "Leerer Name des Sortiergewichtes: Die Zeile wird ignoriert" @@ -3226,10 +3651,15 @@ msgstr "Kodierung f�r die Ausgabe" msgid "encoding of original text" msgstr "Kodierung f�r den urspr�nglichen Text" -#: locale/programs/ld-collate.c:1429 +#: locale/programs/ld-collate.c:1433 msgid "end point of ellipsis range is bigger then start" msgstr "Das Ende eines Auslassungsintervalls ist gr��er als der Start" +#: nscd/connections.c:357 nscd/connections.c:444 +#, c-format +msgid "error getting callers id: %s" +msgstr "Fehler beim Feststellen der Identit�t des Aufrufers: %s" + #: iconv/iconv_prog.c:193 #, c-format msgid "error while closing input `%s'" @@ -3239,40 +3669,40 @@ msgstr "Fehler beim Schlie�en der Eingab msgid "error while closing output file" msgstr "Fehler beim Schlie�en der Ausgabedatei " -#: elf/sprof.c:710 +#: elf/sprof.c:706 msgid "error while closing the profiling data file" msgstr "Fehler beim Schlie�en der Datei mit den Profiling-Daten" -#: locale/programs/ld-collate.c:1158 +#: locale/programs/ld-collate.c:1162 msgid "error while inserting collation element into hash table" msgstr "Fehler beim Einf�gen des Sortierelementes in die Hash-Tabelle" -#: locale/programs/ld-collate.c:1170 +#: locale/programs/ld-collate.c:1174 msgid "error while inserting to hash table" msgstr "Fehler beim Einf�gen in die Hash-Tabelle" -#: iconv/iconv_prog.c:389 iconv/iconv_prog.c:420 +#: iconv/iconv_prog.c:417 iconv/iconv_prog.c:448 msgid "error while reading the input" msgstr "Fehler beim Lesen der Eingabe" -#: locale/programs/locfile.c:595 +#: locale/programs/locfile.c:601 msgid "expect string argument for `copy'" msgstr "F�r �copy� wird ein String-Argument erwartet" -#: timezone/zic.c:868 +#: timezone/zic.c:894 msgid "expected continuation line not found" msgstr "Die erwartete Fortsetzungszeile ist nicht vorhanden" -#: elf/sprof.c:408 +#: elf/sprof.c:404 #, c-format msgid "failed to load shared object `%s'" msgstr "Fehler beim Laden des Shared Objects �%s�" -#: elf/sprof.c:604 +#: elf/sprof.c:600 msgid "failed to load symbol data" msgstr "Fehler beim Laden der Symboldaten" -#: elf/sprof.c:702 +#: elf/sprof.c:698 msgid "failed to mmap the profiling data file" msgstr "Fehler beim �mmap� der Datei mit den Profiling-Daten" @@ -3280,7 +3710,7 @@ msgstr "Fehler beim �mmap� der Datei mit msgid "failed to start conversion processing" msgstr "Fehler beim Start der Konvertierung" -#: locale/programs/locfile.c:1154 +#: locale/programs/locfile.c:1160 #, c-format msgid "failure while writing data for category `%s'" msgstr "Fehler beim Schreiben der Daten f�r die Kategorie �%s�" @@ -3289,26 +3719,22 @@ msgstr "Fehler beim Schreiben der Daten msgid "fcntl: F_SETFD" msgstr "fcntl: F_SETFD" -#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98 -#, c-format -msgid "field `%s' in category `%s' not defined" -msgstr "Der Eintrag �%s� in der Kategorie �%s� ist nicht definiert" - #: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110 +#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98 #, c-format msgid "field `%s' in category `%s' undefined" msgstr "Der Eintrag �%s� in der Kategorie �%s� ist nicht definiert" -#: sunrpc/rpc_main.c:1148 +#: sunrpc/rpc_main.c:1146 #, c-format -msgid "file '%s' already exists and may be overwritten\n" -msgstr "Die Datei �%s� existiert bereits und wird m�glicherweise �berschrieben\n" +msgid "file `%s' already exists and may be overwritten\n" +msgstr "Die Datei �%s� existiert bereits und w�rde �berschrieben\n" -#: locale/programs/locfile.c:677 +#: locale/programs/locfile.c:683 msgid "from-value of `collating-element' must be a string" msgstr "Der �From�-Wert eines Sortierelementes mu� ein String sein" -#: inet/rcmd.c:316 +#: inet/rcmd.c:324 msgid "fstat failed" msgstr "Fehler beim Holen des Datei-Status mit �fstat�" @@ -3335,11 +3761,11 @@ msgstr "Unsinnige Eintr�ge am Ende des S msgid "garbage at end of stopping date in string %d in `era' field in category `%s'" msgstr "Unsinnige Eintrage am Ende des Stop-Datums in der Zeichenkette %d im �era�-Feld der Kategorie �%s�" -#: elf/sprof.c:81 +#: elf/sprof.c:77 msgid "generate call graph" msgstr "Erzeuge einen Aufruf-Graphen" -#: elf/sprof.c:80 +#: elf/sprof.c:76 msgid "generate flat profile with counts and ticks" msgstr "Erzeuge ein 'flaches' Profile mit Aufrufzahlen und -zeiten" @@ -3347,32 +3773,32 @@ msgstr "Erzeuge ein 'flaches' Profile mi msgid "get_myaddress: ioctl (get interface configuration)" msgstr "get_myaddress: ioctl (Holen der Schnittstellen-Konfiguration)" -#: nss/getent.c:53 +#: nss/getent.c:54 msgid "getent - get entries from administrative database." msgstr "getent - lese Eintr�ge aus administrativen Datenbanken." -#: nscd/connections.c:200 +#: nscd/connections.c:219 #, c-format msgid "handle_request: request received (Version = %d)" msgstr "handle_request: Anforderung empfangen (Version = %d)" -#: timezone/zic.c:613 +#: timezone/zic.c:638 msgid "hard link failed, symbolic link used" msgstr "Hardlink fehlgeschlagen, es wird ein symbolischer Link verwendet" -#: inet/rcmd.c:322 +#: inet/rcmd.c:330 msgid "hard linked somewhere" msgstr "Ist irgendwo ein Hard-Link" -#: timezone/zic.c:1162 +#: timezone/zic.c:1188 msgid "illegal CORRECTION field on Leap line" msgstr "ung�ltiges �CORRECTION�-Feld in der �Leap�-Zeile" -#: timezone/zic.c:1166 +#: timezone/zic.c:1192 msgid "illegal Rolling/Stationary field on Leap line" msgstr "ung�ltiges �Rolling/Stationary�-Feld in der �Leap�-Zeile" -#: locale/programs/ld-collate.c:1782 +#: locale/programs/ld-collate.c:1786 msgid "illegal character constant in string" msgstr "Ung�ltige Zeichenkonstante in der Zeichenkette" @@ -3380,7 +3806,7 @@ msgstr "Ung�ltige Zeichenkonstante in de msgid "illegal character in file: " msgstr "Ung�ltiges Zeichen in der Datei: " -#: locale/programs/ld-collate.c:1125 +#: locale/programs/ld-collate.c:1129 msgid "illegal collation element" msgstr "Ung�ltiges Sortierelement" @@ -3396,7 +3822,7 @@ msgstr "Ung�ltige Kodierung angegeben" msgid "illegal escape sequence at end of string" msgstr "ung�ltige Escape-Sequenz am Ende der Zeichenkette" -#: iconv/iconv_prog.c:342 +#: iconv/iconv_prog.c:370 #, c-format msgid "illegal input sequence at position %ld" msgstr "ung�ltige Eingabe-Sequenz an der Stelle %ld" @@ -3405,9 +3831,9 @@ msgstr "ung�ltige Eingabe-Sequenz an der msgid "illegal names for character range" msgstr "ung�ltige Namen f�r den Zeichenbereich" -#: sunrpc/rpc_main.c:462 +#: sunrpc/rpc_main.c:461 #, c-format -msgid "illegal nettype :'%s'\n" +msgid "illegal nettype :`%s'\n" msgstr "ung�ltiger nettype : �%s�\n" #: locale/programs/ld-time.c:187 @@ -3415,7 +3841,7 @@ msgstr "ung�ltiger nettype : �%s�\n" msgid "illegal number for offset in string %d in `era' field in category `%s'" msgstr "ung�ltige Nummer f�r den Offset in der Zeichenkette %d im �era�-Feld in der Kategorie �%s�" -#: catgets/gencat.c:361 catgets/gencat.c:438 +#: catgets/gencat.c:362 catgets/gencat.c:439 msgid "illegal set number" msgstr "ung�ltige �set�-Nummer" @@ -3429,17 +3855,17 @@ msgstr "ung�ltiges Start-Datum in der Ze msgid "illegal stopping date in string %d in `era' field in category `%s'" msgstr "ung�ltiges Ende-Datum in der Zeichenkette %d im �era�-Feld in der Kategorie �%s�" -#: locale/programs/ld-ctype.c:831 +#: locale/programs/ld-ctype.c:973 #, c-format msgid "implementation limit: no more than %d character classes allowed" msgstr "Limit der Implementation: Es sind nicht mehr als %d Zeichen-Klassen erlaubt" -#: locale/programs/ld-ctype.c:863 +#: locale/programs/ld-ctype.c:1005 #, c-format msgid "implementation limit: no more than %d character maps allowed" msgstr "Limit der Implementation: Es sind nicht mehr als %d Zeichen-Maps erlaubt" -#: iconv/iconv_prog.c:346 +#: iconv/iconv_prog.c:374 msgid "incomplete character or shift sequence at end of buffer" msgstr "unvollst�ndige Zeichen- oder Shift-Folge am Ende des Puffers" @@ -3447,89 +3873,89 @@ msgstr "unvollst�ndige Zeichen- oder Shi msgid "incorrectly formatted file" msgstr "ung�ltig formatierte Datei" -#: timezone/zic.c:825 +#: timezone/zic.c:851 msgid "input line of unknown type" msgstr "Die Eingabezeile ist von einem unbekannten Typ" -#: iconv/iconv_prog.c:350 +#: iconv/iconv_prog.c:378 msgid "internal error (illegal descriptor)" msgstr "interner Fehler (ung�ltiger Descriptor)" -#: timezone/zic.c:1788 +#: timezone/zic.c:1814 msgid "internal error - addtype called with bad isdst" msgstr "Interner Fehler - �addtype� wurde mit einer ung�ltigen �isdst� aufgerufen" -#: timezone/zic.c:1796 +#: timezone/zic.c:1822 msgid "internal error - addtype called with bad ttisgmt" msgstr "Interner Fehler - �addtype� wurde mit einem ung�ltigen �ttisgmt� aufgerufen" -#: timezone/zic.c:1792 +#: timezone/zic.c:1818 msgid "internal error - addtype called with bad ttisstd" msgstr "Interner Fehler - �addtype� wurde mit einem ung�ltigen �ttisstd� aufgerufen" -#: locale/programs/ld-ctype.c:307 +#: locale/programs/ld-ctype.c:315 locale/programs/ld-ctype.c:392 #, c-format msgid "internal error in %s, line %u" msgstr "Interner Fehler in der Datei �%s�, Zeile %u" -#: timezone/zic.c:1034 +#: timezone/zic.c:1060 msgid "invalid UTC offset" msgstr "ung�ltiger UTC-Offset" -#: timezone/zic.c:1037 +#: timezone/zic.c:1063 msgid "invalid abbreviation format" msgstr "ung�ltiges Abk�rzungsformat" -#: timezone/zic.c:1127 timezone/zic.c:1339 timezone/zic.c:1353 +#: timezone/zic.c:1153 timezone/zic.c:1365 timezone/zic.c:1379 msgid "invalid day of month" msgstr "Ung�ltiger Tag des Monats" -#: timezone/zic.c:1291 +#: timezone/zic.c:1317 msgid "invalid ending year" msgstr "Ung�ltiges Ende-Jahr" -#: timezone/zic.c:1099 +#: timezone/zic.c:1125 msgid "invalid leaping year" msgstr "Ung�ltiges Schaltjahr" -#: elf/dl-open.c:159 +#: elf/dl-open.c:223 msgid "invalid mode for dlopen()" msgstr "Ung�ltiger Mode f�r dlopen()" -#: timezone/zic.c:1114 timezone/zic.c:1217 +#: timezone/zic.c:1140 timezone/zic.c:1243 msgid "invalid month name" msgstr "ung�ltiger Monatsname" -#: timezone/zic.c:933 +#: timezone/zic.c:959 msgid "invalid saved time" msgstr "Ung�ltige gespeicherte Zeit" -#: timezone/zic.c:1266 +#: timezone/zic.c:1292 msgid "invalid starting year" msgstr "Ung�ltiges Anfangsjahr" -#: timezone/zic.c:1143 timezone/zic.c:1246 +#: timezone/zic.c:1169 timezone/zic.c:1272 msgid "invalid time of day" msgstr "Ung�ltige Tageszeit" -#: timezone/zic.c:1344 +#: timezone/zic.c:1370 msgid "invalid weekday name" msgstr "ung�ltiger Name f�r einen Wochentag" -#: nscd/connections.c:375 +#: nscd/connections.c:460 #, c-format msgid "key length in request too long: %Zd" msgstr "Die Schl�ssell�nge in der Anforderung ist zu lang: %Zd" -#: locale/programs/ld-collate.c:1422 +#: locale/programs/ld-collate.c:1426 msgid "line after ellipsis must contain character definition" msgstr "Die Zeile nach einem Auslassungintervall mu� eine Zeichen-Definition enthalten" -#: locale/programs/ld-collate.c:1401 +#: locale/programs/ld-collate.c:1405 msgid "line before ellipsis does not contain definition for character constant" msgstr "Die Zeile vor einem Auslassungsintervall mu� eine Zeichen-Konstante enthalten" -#: timezone/zic.c:805 +#: timezone/zic.c:831 msgid "line too long" msgstr "Die Zeile ist zu lang" @@ -3537,25 +3963,25 @@ msgstr "Die Zeile ist zu lang" msgid "list all known coded character sets" msgstr "Gib alle bekannten Zeichensatz-Kodierungen aus" -#: locale/programs/localedef.c:273 +#: locale/programs/localedef.c:270 #, c-format msgid "locale file `%s', used in `copy' statement, not found" msgstr "Die Lokale-Datei �%s�, die im �copy�-Befehl verwendet wird, ist nicht vorhanden" -#: inet/rcmd.c:307 +#: inet/rcmd.c:315 msgid "lstat failed" msgstr "Fehler beim Holen des Link-Status mit �lstat�" -#: catgets/gencat.c:619 +#: catgets/gencat.c:625 msgid "malformed line ignored" msgstr "ung�ltige Eingabezeile ignoriert" # XXX schlecht -#: elf/sprof.c:554 +#: elf/sprof.c:550 msgid "mapping of section header string table failed" msgstr "Das Mappen der Section-Header String-Tabelle ist fehlgeschlagen" -#: elf/sprof.c:544 +#: elf/sprof.c:540 msgid "mapping of section headers failed" msgstr "Das Mapping der Section-Headers ist fehlgeschlagen" @@ -3568,23 +3994,19 @@ msgid "memory clobbered past end of allo msgstr "Der Speicher nach dem Ende des allozierten Blockes wurde �berschrieben\n" #: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176 -#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1449 -#: locale/programs/ld-collate.c:1478 locale/programs/locfile.c:1082 +#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1453 +#: locale/programs/ld-collate.c:1482 locale/programs/locfile.c:1088 #: locale/programs/xmalloc.c:70 login/programs/database.c:62 #: login/programs/database.c:79 login/programs/database.c:95 -#: posix/getconf.c:682 +#: malloc/obstack.c:471 posix/getconf.c:682 msgid "memory exhausted" msgstr "Kein Hauptspeicher mehr verf�gbar" -#: malloc/obstack.c:471 -msgid "memory exhausted\n" -msgstr "Kein Hauptspeicher mehr verf�gbar\n" - #: malloc/mcheck.c:199 msgid "memory is consistent, library is buggy\n" msgstr "Die Speicherverwaltung ist konsistent, die Bibliothek enth�lt Fehler\n" -#: locale/programs/ld-time.c:370 +#: locale/programs/ld-time.c:373 #, c-format msgid "missing era format in string %d in `era' field in category `%s'" msgstr "fehlendes �era�-Format in der Zeichenkette %d im �era�-Feld in der Kategorie �%s�" @@ -3594,7 +4016,7 @@ msgstr "fehlendes �era�-Format in der Ze msgid "missing era name in string %d in `era' field in category `%s'" msgstr "fehlender �era�-Name in der Zeichenkette %d im �era� Feld in der Kategorie �%s�" -#: timezone/zic.c:928 +#: timezone/zic.c:954 msgid "nameless rule" msgstr "Regel ohne Name" @@ -3602,36 +4024,36 @@ msgstr "Regel ohne Name" msgid "neither original nor target encoding specified" msgstr "Weder die urspr�ngliche noch die Ziel-Kodierung angegeben" -#: nis/nss_nisplus/nisplus-publickey.c:262 -#: nis/nss_nisplus/nisplus-publickey.c:268 -#: nis/nss_nisplus/nisplus-publickey.c:327 -#: nis/nss_nisplus/nisplus-publickey.c:336 +#: nis/nss_nisplus/nisplus-publickey.c:280 +#: nis/nss_nisplus/nisplus-publickey.c:286 +#: nis/nss_nisplus/nisplus-publickey.c:345 +#: nis/nss_nisplus/nisplus-publickey.c:354 #, c-format msgid "netname2user: (nis+ lookup): %s\n" msgstr "netname2user: (NIS+ Lookup): %s\n" -#: nis/nss_nisplus/nisplus-publickey.c:281 +#: nis/nss_nisplus/nisplus-publickey.c:299 #, c-format msgid "netname2user: DES entry for %s in directory %s not unique" msgstr "netname2user: DES Eintrag f�r �%s� im Verzeichnis �%s� ist nicht eindeutig" -#: nis/nss_nisplus/nisplus-publickey.c:349 +#: nis/nss_nisplus/nisplus-publickey.c:367 #, c-format msgid "netname2user: LOCAL entry for %s in directory %s not unique" msgstr "netname2user: LOCAL Eintrag f�r �%s� im Verzeichnis �%s� ist nicht eindeutig" -#: nis/nss_nisplus/nisplus-publickey.c:194 +#: nis/nss_nisplus/nisplus-publickey.c:206 #, c-format -msgid "netname2user: missing group id list in '%s'." +msgid "netname2user: missing group id list in `%s'." msgstr "netname2user: fehlende Group-ID Liste in �%s�." # XXX gibt es eine bessere �bersetzung? -#: nis/nss_nisplus/nisplus-publickey.c:299 +#: nis/nss_nisplus/nisplus-publickey.c:317 #, c-format -msgid "netname2user: principal name '%s' too long" +msgid "netname2user: principal name `%s' too long" msgstr "netname2user: der Principal-Name �%s� ist zu lang" -#: nis/nss_nisplus/nisplus-publickey.c:356 +#: nis/nss_nisplus/nisplus-publickey.c:374 msgid "netname2user: should not have uid 0" msgstr "netname2user: Sollte nicht die Benutzernummer 0 haben" @@ -3640,7 +4062,7 @@ msgstr "netname2user: Sollte nicht die B msgid "never registered prog %d\n" msgstr "Das Programm %d wurde nie registriert\n" -#: locale/programs/repertoire.c:238 +#: locale/programs/repertoire.c:250 msgid "no <Uxxxx> or <Uxxxxxxxx> value given" msgstr "Kein <Uxxxx> oder <Uxxxxxxxx> Wert angegeben" @@ -3649,7 +4071,7 @@ msgstr "Kein <Uxxxx> oder <Uxxxxxxxx> We msgid "no correct regular expression for field `%s' in category `%s': %s" msgstr "Kein g�ltiger regul�rer Ausdruck f�r den Eintrag �%s� in der Kategorie �%s�: %s" -#: timezone/zic.c:2115 +#: timezone/zic.c:2143 msgid "no day in month matches rule" msgstr "Kein Tag des Monats pa�t zur angegebenen Regel" @@ -3657,32 +4079,32 @@ msgstr "Kein Tag des Monats pa�t zur ang msgid "no definition of `UNDEFINED'" msgstr "Keine Definition f�r �UNDEFINED�" -#: elf/sprof.c:276 +#: elf/sprof.c:272 #, c-format msgid "no filename for profiling data given and shared object `%s' has no soname" msgstr "Kein Dateiname f�r Profiling-Datenn angegeben und das Shared Object �%s� hat keinen �soname�" -#: locale/programs/locfile.c:609 +#: locale/programs/locfile.c:615 msgid "no other keyword shall be specified when `copy' is used" msgstr "Es d�rfen keine anderen Schl�sselworte angegeben werden, wenn �copy� verwendet wird" -#: locale/programs/localedef.c:334 +#: locale/programs/localedef.c:331 msgid "no output file produced because warning were issued" msgstr "Es wurde keine Ausgabedatei erzeugt, weil Warnungen ausgegeben wurden" -#: locale/programs/locfile.c:283 locale/programs/locfile.c:301 -#: locale/programs/locfile.c:319 locale/programs/locfile.c:337 -#: locale/programs/locfile.c:355 locale/programs/locfile.c:373 +#: locale/programs/locfile.c:283 locale/programs/locfile.c:302 +#: locale/programs/locfile.c:321 locale/programs/locfile.c:340 +#: locale/programs/locfile.c:359 locale/programs/locfile.c:378 msgid "no repertoire map specified: cannot proceed" msgstr "keine �repertoire�-Map angegeben: Verarbeitung abgebrochen" -#: locale/programs/charmap.c:400 locale/programs/charmap.c:550 -#: locale/programs/charmap.c:629 locale/programs/repertoire.c:199 +#: locale/programs/charmap.c:400 locale/programs/charmap.c:549 +#: locale/programs/charmap.c:628 locale/programs/repertoire.c:211 msgid "no symbolic name given" msgstr "Kein symbolischer Name angegeben" -#: locale/programs/charmap.c:465 locale/programs/charmap.c:596 -#: locale/programs/charmap.c:662 locale/programs/repertoire.c:261 +#: locale/programs/charmap.c:464 locale/programs/charmap.c:595 +#: locale/programs/charmap.c:661 locale/programs/repertoire.c:273 msgid "no symbolic name given for end of range" msgstr "Kein symbolischer Name f�r das Ende des Intervalles angegeben" @@ -3691,7 +4113,7 @@ msgstr "Kein symbolischer Name f�r das E msgid "no weight defined for symbol `%s'" msgstr "Kein Sortiergewicht (�Weight�) f�r das Symbol �%s� definiert" -#: inet/rcmd.c:309 +#: inet/rcmd.c:317 msgid "not regular file" msgstr "Keine regul�re Datei" @@ -3710,7 +4132,7 @@ msgstr "" msgid "nscd not running!\n" msgstr "nscd l�uft nicht!\n" -#: locale/programs/charmap.c:514 +#: locale/programs/charmap.c:513 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" msgstr "Nur �WIDTH�-Definitionen d�rfen nach einer �CHARMAP�-Definition folgen" @@ -3726,7 +4148,7 @@ msgstr "Ausgabedatei" msgid "pmap_getmaps rpc problem" msgstr "pmap_getmaps RPC Problem" -#: inet/rcmd.c:179 +#: inet/rcmd.c:186 msgid "poll: protocol failure in circuit setup\n" msgstr "poll: Protokollfehler im Verbindungsaufbau\n" @@ -3734,7 +4156,7 @@ msgstr "poll: Protokollfehler im Verbind msgid "preprocessor error" msgstr "Fehler beim Aufruf des Pr�prozessors" -#: elf/sprof.c:78 +#: elf/sprof.c:74 msgid "print list of count paths and their number of use" msgstr "Gib eine Liste der gez�hlten Pfade und der Anzahl der Benutzung aus" @@ -3747,7 +4169,7 @@ msgstr "Gebe Informationen �ber den Bear msgid "problems while reading `%s'" msgstr "Probleme beim Lesen von �%s�" -#: elf/sprof.c:691 +#: elf/sprof.c:687 #, c-format msgid "profiling data file `%s' does not match shared object `%s'" msgstr "Die Datei �%s� mit Profiling-Daten pa�t nicht zum Shared Object �%s�" @@ -3769,16 +4191,16 @@ msgstr "Das Programm %lu ist in der Vers msgid "program %lu version %lu ready and waiting\n" msgstr "Program %lu Version %lu ist bereit und wartet\n" -#: inet/rcmd.c:176 +#: inet/rcmd.c:183 #, c-format msgid "rcmd: poll (setting up stderr): %m\n" msgstr "rcmd: poll (Vorbereiten der Standardfehlerausgabe): %m\n" -#: inet/rcmd.c:110 +#: inet/rcmd.c:117 msgid "rcmd: socket: All ports in use\n" msgstr "rcmd: Socket: Alle Ports sind zur Zeit belegt\n" -#: inet/rcmd.c:166 +#: inet/rcmd.c:173 #, c-format msgid "rcmd: write (setting up stderr): %m\n" msgstr "rcmd: write (Vorbereiten der Standardfehlerausgabe): %m\n" @@ -3787,20 +4209,20 @@ msgstr "rcmd: write (Vorbereiten der Sta msgid "registerrpc: out of memory\n" msgstr "registerrpc: Hauptspeicher ersch�pft\n" -#: timezone/zic.c:1849 +#: timezone/zic.c:1875 msgid "repeated leap second moment" msgstr "Wiederholung der �Leap�-Sekunde" -#: locale/programs/repertoire.c:95 +#: locale/programs/repertoire.c:107 #, c-format msgid "repertoire map file `%s' not found" msgstr "Die �repertoire� Map-Datei �%s� wurde nicht gefunden" -#: sunrpc/rpc_main.c:1117 +#: sunrpc/rpc_main.c:1115 msgid "rpcgen: arglist coding error\n" msgstr "rpcgen: Kodierungsfehler bei der �arglist�\n" -#: sunrpc/rpc_main.c:1105 +#: sunrpc/rpc_main.c:1103 msgid "rpcgen: too many defines\n" msgstr "rpcgen: Zu viele Defines\n" @@ -3828,39 +4250,39 @@ msgstr "rpcinfo: Broadcast ist fehlgesch msgid "rpcinfo: can't contact portmapper" msgstr "rpcinfo: Kann den Portmapper nicht erreichen" -#: timezone/zic.c:718 timezone/zic.c:720 +#: timezone/zic.c:744 timezone/zic.c:746 msgid "same rule name in multiple files" msgstr "Dieselbe Regel ist in mehreren Dateien enthalten" # XXX das ist sicher Unsinn! -#: nscd/connections.c:387 +#: nscd/connections.c:472 #, c-format msgid "short read while reading request key: %s" msgstr "Kurzer Read beim Lesen des Anforderungsschl�ssels: %s" -#: nscd/connections.c:364 +#: nscd/connections.c:430 #, c-format msgid "short read while reading request: %s" msgstr "Kurzer Read beim Lesezugriff: %s" -#: nscd/grpcache.c:191 nscd/hstcache.c:278 nscd/pwdcache.c:188 +#: nscd/grpcache.c:191 nscd/hstcache.c:270 nscd/pwdcache.c:189 #, c-format msgid "short write in %s: %s" msgstr "Kurzer Write in �%s�: %s" -#: inet/rcmd.c:197 +#: inet/rcmd.c:204 msgid "socket: protocol failure in circuit setup\n" msgstr "socket: Protokollfehler im Verbindungsaufbau\n" -#: locale/programs/locfile.c:730 +#: locale/programs/locfile.c:736 msgid "sorting order `forward' and `backward' are mutually exclusive" msgstr "Die Anweisungen �forward� und �backward� schlie�en sich aus" -#: locale/programs/ld-collate.c:1582 locale/programs/ld-collate.c:1628 +#: locale/programs/ld-collate.c:1586 locale/programs/ld-collate.c:1632 msgid "specification of sorting weight for collation symbol does not make sense" msgstr "Die Angabe eines Sortiergewichtes f�r ein Sortiersymbol ist nicht sinnvoll" -#: timezone/zic.c:789 +#: timezone/zic.c:815 msgid "standard input" msgstr "Standardeingabe" @@ -3873,15 +4295,15 @@ msgstr "Standardausgabe" msgid "starting date is illegal in string %d in `era' field in category `%s'" msgstr "Das Start-Datum in der Zeichenkette %d im �era�-Feld der Kategorie �%s� ist ung�ltig" -#: timezone/zic.c:1300 +#: timezone/zic.c:1326 msgid "starting year greater than ending year" msgstr "Das Start-Jahr ist gr��er als das Ende-Jahr" -#: timezone/zic.c:1272 timezone/zic.c:1297 +#: timezone/zic.c:1298 timezone/zic.c:1323 msgid "starting year too high to be represented" msgstr "Das Startjahr ist zu gro� f�r die Darstellung" -#: timezone/zic.c:1270 timezone/zic.c:1295 +#: timezone/zic.c:1296 timezone/zic.c:1321 msgid "starting year too low to be represented" msgstr "Das Startjahr ist zu klein f�r die Darstellung" @@ -3940,104 +4362,99 @@ msgstr "svcunix_create: Hauptspeicher er # Hat hier jemand eine bessere �bersetzung? -- jh # Leider nein. Ich w�rde es nur gro� schreiben und auch im folgenden �s. ke -#: locale/programs/ld-collate.c:1201 +#: locale/programs/ld-collate.c:1077 locale/programs/ld-collate.c:1205 #, c-format msgid "symbol for multicharacter collating element `%.*s' duplicates element definition" msgstr "Das Symbol f�r das Mehr-Zeichen Sortierelement �%.*s� wiederholt die Elementdefinition" -#: locale/programs/ld-collate.c:1073 -#, c-format -msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition" -msgstr "Das Symbol f�r das 'multicharacter' Sortierelement �%.*s� wiederholt eine andere Elementdefinition" - -#: locale/programs/ld-collate.c:1210 +#: locale/programs/ld-collate.c:1214 #, c-format msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition" msgstr "Das Symbol f�r das 'multicharacter' Sortierelement �%.*s� wiederholt eine andere Symboldefinition" -#: locale/programs/ld-collate.c:1082 +#: locale/programs/ld-collate.c:1086 #, c-format msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition" msgstr "Das Symbol f�r das 'multicharacter' Sortierelement �%.*s� wiederholt eine Symboldefinition" -#: locale/programs/ld-collate.c:1064 locale/programs/ld-collate.c:1192 +#: locale/programs/ld-collate.c:1068 locale/programs/ld-collate.c:1196 #, c-format msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset" msgstr "Das Symbol f�r das 'multicharacter' Sortierelement �%.*s� kollidiert mit einem symbolischen Namen in der Zeichensatzbeschreibung" #: locale/programs/charmap.c:399 locale/programs/charmap.c:433 -#: locale/programs/charmap.c:463 locale/programs/charmap.c:549 -#: locale/programs/charmap.c:595 locale/programs/charmap.c:628 -#: locale/programs/charmap.c:660 +#: locale/programs/charmap.c:462 locale/programs/charmap.c:548 +#: locale/programs/charmap.c:594 locale/programs/charmap.c:627 +#: locale/programs/charmap.c:659 #, c-format msgid "syntax error in %s definition: %s" msgstr "Syntaxfehler in der �%s�-Definition: %s" -#: locale/programs/locfile.c:750 +#: locale/programs/locfile.c:756 msgid "syntax error in `order_start' directive" msgstr "Syntaxfehler in der �order_start�-Anweisung" -#: locale/programs/locfile.c:492 +#: locale/programs/locfile.c:498 msgid "syntax error in character class definition" msgstr "Syntaxfehler in der Zeichenklassendefinition" -#: locale/programs/locfile.c:550 +#: locale/programs/locfile.c:556 msgid "syntax error in character conversion definition" msgstr "Syntaxfehler in der Zeichensatzumwandlungsdefinition" -#: locale/programs/locfile.c:792 +#: locale/programs/locfile.c:798 msgid "syntax error in collating order definition" msgstr "Syntaxfehler in der Definition der Sortierreihenfolge" -#: locale/programs/locfile.c:642 +#: locale/programs/locfile.c:648 msgid "syntax error in collation definition" msgstr "Syntaxfehler in der Definition der Sortierung" -#: locale/programs/locfile.c:465 +#: locale/programs/locfile.c:471 msgid "syntax error in definition of LC_CTYPE category" msgstr "Syntaxfehler in der Definition der �LC_CTYPE�-Kategorie" -#: locale/programs/locfile.c:408 +#: locale/programs/locfile.c:414 msgid "syntax error in definition of new character class" msgstr "Syntaxfehler in der Definition einer neuen Zeichenklasse" -#: locale/programs/locfile.c:418 +#: locale/programs/locfile.c:424 msgid "syntax error in definition of new character map" msgstr "Syntaxfehler in der Definition eines neuen Zeichensatzes" -#: locale/programs/locfile.c:1003 +#: locale/programs/locfile.c:1009 msgid "syntax error in message locale definition" msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt �message�" -#: locale/programs/locfile.c:914 +#: locale/programs/locfile.c:920 msgid "syntax error in monetary locale definition" msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt �monetary�" -#: locale/programs/locfile.c:941 +#: locale/programs/locfile.c:947 msgid "syntax error in numeric locale definition" msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt �numeric�" -#: locale/programs/locfile.c:852 +#: locale/programs/locfile.c:858 msgid "syntax error in order specification" msgstr "Syntaxfehler in der Lokale-Definitionsdatei, Abschnitt �order�" #: locale/programs/charmap.c:280 locale/programs/charmap.c:296 -#: locale/programs/repertoire.c:143 +#: locale/programs/repertoire.c:155 #, c-format msgid "syntax error in prolog: %s" msgstr "Syntaxfehler im Prolog: %s" -#: locale/programs/repertoire.c:198 locale/programs/repertoire.c:237 -#: locale/programs/repertoire.c:260 +#: locale/programs/repertoire.c:210 locale/programs/repertoire.c:249 +#: locale/programs/repertoire.c:272 #, c-format msgid "syntax error in repertoire map definition: %s" msgstr "Syntaxfehler in der �epertoire� Map-Definition: %s" -#: locale/programs/locfile.c:979 +#: locale/programs/locfile.c:985 msgid "syntax error in time locale definition" msgstr "Syntaxfehler in der Lokale-Definition zur Zeit (Abschnitt �time�)" -#: locale/programs/locfile.c:385 +#: locale/programs/locfile.c:391 msgid "syntax error: not inside a locale definition section" msgstr "Syntaxfehler: nicht in einem Abschnitt der Lokale-Definition" @@ -4045,15 +4462,15 @@ msgstr "Syntaxfehler: nicht in einem Abs msgid "target encoding not specified using `-t'" msgstr "Die Zielkodierung ist nicht mittels �-t� angegeben" -#: catgets/gencat.c:390 catgets/gencat.c:526 catgets/gencat.c:553 +#: catgets/gencat.c:391 catgets/gencat.c:530 catgets/gencat.c:559 msgid "this is the first definition" msgstr "Dies ist die erste Definition" -#: timezone/zic.c:1132 +#: timezone/zic.c:1158 msgid "time before zero" msgstr "Zeit vor Null" -#: timezone/zic.c:1140 timezone/zic.c:2015 timezone/zic.c:2034 +#: timezone/zic.c:1166 timezone/zic.c:2043 timezone/zic.c:2062 msgid "time overflow" msgstr "�berlauf der Zeit" @@ -4069,23 +4486,23 @@ msgstr "Zu viele Bytes in der Zeichenkod msgid "too many character classes defined" msgstr "Zu viele Zeichenklassen definiert" -#: timezone/zic.c:1843 +#: timezone/zic.c:1869 msgid "too many leap seconds" msgstr "Zu viele Schaltsekunden" -#: timezone/zic.c:1815 +#: timezone/zic.c:1841 msgid "too many local time types" msgstr "Zu viele Ortszeittypen" -#: timezone/zic.c:1769 +#: timezone/zic.c:1795 msgid "too many transitions?!" msgstr "Zu viele �berg�nge?!" -#: locale/programs/ld-collate.c:1637 +#: locale/programs/ld-collate.c:1641 msgid "too many weights" msgstr "Zu viele Sortiergewichte" -#: timezone/zic.c:2138 +#: timezone/zic.c:2166 msgid "too many, or too long, time zone abbreviations" msgstr "Zu viele oder zu lange Abk�rzungen f�r Zeitzonen" @@ -4098,15 +4515,15 @@ msgstr "Am Zeilenende sind unsinnige Ein msgid "trouble replying to prog %d\n" msgstr "Schwierigkeiten bei der Antwort an das Programm %d\n" -#: locale/programs/ld-collate.c:1393 +#: locale/programs/ld-collate.c:1397 msgid "two lines in a row containing `...' are not allowed" msgstr "Zwei aufeinanderfolgende Zeilen mit �...� sind nicht erlaubt" -#: timezone/zic.c:1307 +#: timezone/zic.c:1333 msgid "typed single year" msgstr "Ein einzelnes Jahr angegeben" -#: iconv/iconv_prog.c:406 +#: iconv/iconv_prog.c:434 msgid "unable to allocate buffer for input" msgstr "Fehler beim Allozieren des Puffers f�r die Eingabe" @@ -4118,48 +4535,48 @@ msgstr "Fehler beim Freigeben des Speich msgid "undefined" msgstr "nicht definiert" -#: locale/programs/charmap.c:701 locale/programs/charmap.c:712 +#: locale/programs/charmap.c:700 locale/programs/charmap.c:711 #, c-format msgid "unknown character `%s'" msgstr "unbekanntes Zeichen �%s�" #: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213 #: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235 -#: locale/programs/ld-time.c:718 +#: locale/programs/ld-time.c:700 #, c-format msgid "unknown character in field `%s' of category `%s'" msgstr "Ung�ltiges Zeichen im Feld �%s� in der Kategorie �%s�" -#: locale/programs/locfile.c:715 +#: locale/programs/locfile.c:721 msgid "unknown collation directive" msgstr "unbekannte �collation�-Anweisung" -#: catgets/gencat.c:487 +#: catgets/gencat.c:488 #, c-format msgid "unknown directive `%s': line ignored" msgstr "unbekannte Anweisung �%s�: Die Zeile wurde ignoriert" -#: iconv/iconv_prog.c:353 +#: iconv/iconv_prog.c:381 #, c-format msgid "unknown iconv() error %d" msgstr "unbekannter iconv()-Fehler %d" -#: catgets/gencat.c:466 +#: catgets/gencat.c:467 #, c-format msgid "unknown set `%s'" msgstr "Unbekanntes Set �%s�" -#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:1572 -#: locale/programs/ld-collate.c:1747 +#: locale/programs/ld-collate.c:1381 locale/programs/ld-collate.c:1576 +#: locale/programs/ld-collate.c:1751 #, c-format msgid "unknown symbol `%.*s': line ignored" msgstr "Unbekanntes Symbol �%.*s�: Die Zeile wurde ignoriert" -#: timezone/zic.c:761 +#: timezone/zic.c:787 msgid "unruly zone" msgstr "Zeitzone ohne Regeln" -#: catgets/gencat.c:971 +#: catgets/gencat.c:977 msgid "unterminated message" msgstr "Die Nachricht ist nicht abgeschlossen" @@ -4175,7 +4592,7 @@ msgstr "Zeichenkette wird nicht beendet" msgid "unterminated symbolic name" msgstr "Der symbolische Name wird nicht beendet" -#: locale/programs/ld-collate.c:1699 +#: locale/programs/ld-collate.c:1703 msgid "unterminated weight name" msgstr "Der Name des Sortiergewichtes wird nicht beendet" @@ -4183,16 +4600,16 @@ msgstr "Der Name des Sortiergewichtes wi msgid "upper limit in range is not smaller then lower limit" msgstr "Das obere Ende des Intervalls ist nicht kleiner als das untere Ende" -#: sunrpc/rpc_main.c:1415 +#: sunrpc/rpc_main.c:1413 #, c-format -msgid "usage: %s infile\n" -msgstr "Syntax: %s Eingabedatei\n" +msgid "usage: %s infile\n" +msgstr "Syntax: %s Eingabedatei\n" -#: timezone/zic.c:2081 +#: timezone/zic.c:2109 msgid "use of 2/29 in non leap-year" msgstr "Der 29. Februar wurde in einem nicht-Schaltjahr verwendet" -#: locale/programs/charmap.c:522 locale/programs/charmap.c:576 +#: locale/programs/charmap.c:521 locale/programs/charmap.c:575 #, c-format msgid "value for %s must be an integer" msgstr "Der Wert f�r �%s� mu� eine Ganzzahl sein" @@ -4224,24 +4641,28 @@ msgstr "Der Wert im Feld �int_curr_symbo msgid "values for field `%s' in category `%s' must be smaller than 127" msgstr "Der Wert f�r den Eintrag �%s� in der Kategorie �%s� mu� kleiner als 127 sein." -#: nscd/connections.c:355 +#: timezone/zic.c:435 +msgid "warning: " +msgstr "Warnung: " + +#: nscd/connections.c:421 #, c-format msgid "while accepting connection: %s" msgstr "Beim Annehmen der Verbindung: %s" -#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:142 +#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:143 msgid "while allocating cache entry" msgstr "Beim Anfordern eines Cache-Eintrages" -#: nscd/cache.c:85 +#: nscd/cache.c:88 msgid "while allocating hash table entry" msgstr "Fehler beim Allozieren des Eintrages in die Hash-Tabelle" -#: nscd/grpcache.c:99 nscd/hstcache.c:109 nscd/pwdcache.c:105 +#: nscd/grpcache.c:99 nscd/hstcache.c:111 nscd/pwdcache.c:106 msgid "while allocating key copy" msgstr "Beim Anfordern einer Schl�ssel-Kopie" -#: catgets/gencat.c:1001 +#: catgets/gencat.c:1007 msgid "while opening old catalog file" msgstr "beim �ffnen der alten Katalogdatei" @@ -4253,7 +4674,7 @@ msgstr "beim Aufbereiten der Ausgabe" msgid "while reading database" msgstr "beim Lesen der Datenbank" -#: elf/sprof.c:683 +#: elf/sprof.c:679 msgid "while stat'ing profiling data file" msgstr "beim Holen des Dateistatus der Datei mit den Profiling-Daten" @@ -4265,31 +4686,31 @@ msgstr "beim Schreiben der Datenbankdate msgid "write incomplete" msgstr "Der 'Write' wurde nur unvollst�ndig ausgef�hrt" -#: inet/rcmd.c:320 +#: inet/rcmd.c:328 msgid "writeable by other than owner" msgstr "ist auch f�r andere Benutzer als den Dateieigent�mer beschreibbar" -#: db2/makedb.c:124 nscd/nscd.c:114 nss/getent.c:392 +#: db2/makedb.c:124 nscd/nscd.c:120 nscd/nscd_nischeck.c:64 nss/getent.c:399 msgid "wrong number of arguments" msgstr "Falsche Anzahl an Argumenten" -#: timezone/zic.c:1090 +#: timezone/zic.c:1116 msgid "wrong number of fields on Leap line" msgstr "Falsche Anzahl an Feldern in der Leap-Zeile" -#: timezone/zic.c:1181 +#: timezone/zic.c:1207 msgid "wrong number of fields on Link line" msgstr "Falsche Anzahl der Felder in der Link-Zeile" -#: timezone/zic.c:924 +#: timezone/zic.c:950 msgid "wrong number of fields on Rule line" msgstr "Falsche Anzahl der Felder in der Rule-Zeile" -#: timezone/zic.c:994 +#: timezone/zic.c:1020 msgid "wrong number of fields on Zone continuation line" msgstr "Falsche Anzahl der Felder in der Zeitzonen-Fortsetzungszeile" -#: timezone/zic.c:952 +#: timezone/zic.c:978 msgid "wrong number of fields on Zone line" msgstr "Falsche Anzahl an Feldern in der Zone-Zeile" @@ -4297,14 +4718,14 @@ msgstr "Falsche Anzahl an Feldern in der msgid "xdr_reference: out of memory\n" msgstr "xdr_reference: Hauptspeicher ersch�pft\n" -#: sunrpc/xdr_rec.c:151 sunrpc/xdr_rec.c:166 +#: sunrpc/xdr_rec.c:150 sunrpc/xdr_rec.c:165 msgid "xdrrec_create: out of memory\n" msgstr "xdrrec_create: Hauptspeicher ersch�pft\n" -#: nis/ypclnt.c:884 +#: nis/ypclnt.c:894 msgid "yp_update: cannot convert host to netname\n" msgstr "yp_update: Kann den Rechnername nicht in einen Netzname umwandeln\n" -#: nis/ypclnt.c:896 +#: nis/ypclnt.c:906 msgid "yp_update: cannot get server address\n" msgstr "yp_update: Kann die Adresse des Servers nicht finden\n" Binary files glibc-2.1.2/po/gl.mo and glibc-2.1.3/po/gl.mo differ diff -durpN glibc-2.1.2/po/gl.po glibc-2.1.3/po/gl.po --- glibc-2.1.2/po/gl.po Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/po/gl.po Tue Feb 22 23:02:59 2000 @@ -0,0 +1,4697 @@ +# Galician translation of the GNU libc, 2.1. +# Copyright (C) 1999, 2000 Free Software Foundation, Inc. +# Jacobo Tarrio <jtarrio@iname.com>, 1999, 2000. +# +msgid "" +msgstr "" +"Project-Id-Version: libc 2.1.3\n" +"POT-Creation-Date: 2000-02-16 10:39-0800\n" +"PO-Revision-Date: 2000-02-21 10:04+0200\n" +"Last-Translator: Jacobo Tarrio <jtarrio@iname.com>\n" +"Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: nis/nis_print.c:273 +msgid "\t\tAccess Rights : " +msgstr "\t\tDereitos de Acceso : " + +#: nis/nis_print.c:271 +msgid "\t\tAttributes : " +msgstr "\t\tAtributos : " + +#: sunrpc/rpc_main.c:1414 +#, c-format +msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" +msgstr "\t%s [-abkCLNTM][-Dnome[=valor]] [-i tama�o] [-I [-K segundos]] [-Y rota] entrada\n" + +#: sunrpc/rpc_main.c:1416 +#, c-format +msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" +msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o sa�da] [entrada]\n" + +#: sunrpc/rpc_main.c:1419 +#, c-format +msgid "\t%s [-n netid]* [-o outfile] [infile]\n" +msgstr "\t%s [-n idrede]* [-o sa�da] [entrada]\n" + +#: sunrpc/rpc_main.c:1418 +#, c-format +msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" +msgstr "\t%s [-s tiporede]* [-o sa�da] [entrada]\n" + +#: nis/nis_print.c:235 +msgid "\tAccess rights: " +msgstr "\tDereitos de Acceso: " + +#: nis/nis_print.c:293 +#, c-format +msgid "\tEntry data of type %s\n" +msgstr "\tDatos da entrada do tipo %s\n" + +#: nis/nis_print.c:171 +#, c-format +msgid "\tName : %s\n" +msgstr "\tNome : %s\n" + +#: nis/nis_print.c:172 +msgid "\tPublic Key : " +msgstr "\tChave p�blica : " + +#: nis/nis_print.c:234 +#, c-format +msgid "\tType : %s\n" +msgstr "\tTipo : %s\n" + +#: nis/nis_print.c:201 +#, c-format +msgid "\tUniversal addresses (%u)\n" +msgstr "\tEnderezos universais (%u)\n" + +#: nis/nis_print.c:269 +#, c-format +msgid "\t[%d]\tName : %s\n" +msgstr "\t[%d]\tNome : %s\n" + +#: nis/nis_print.c:296 +#, c-format +msgid "\t[%u] - [%u bytes] " +msgstr "\t[%u] - [%u bytes] " + +#: nscd/nscd_stat.c:153 +msgid "" +"\n" +"%s cache:\n" +"\n" +"%15s cache is enabled\n" +"%15Zd suggested size\n" +"%15ld seconds time to live for positive entries\n" +"%15ld seconds time to live for negative entries\n" +"%15ld cache hits on positive entries\n" +"%15ld cache hits on negative entries\n" +"%15ld cache misses on positive entries\n" +"%15ld cache misses on negative entries\n" +"%15ld%% cache hit rate\n" +"%15s check /etc/%s for changes\n" +msgstr "" +"\n" +"%s cach�:\n" +"\n" +"%s15s a cach� est� activada\n" +"%15Zd tama�o aconsellado\n" +"%15ld segundos de vida para as entradas positivas\n" +"%15ld segundos de vida para as entradas negativas\n" +"%15ld acertos de cach� para entradas positivas\n" +"%15ld acertos cach� para entradas negativas\n" +"%15ld fallos de cach� para entradas positivas\n" +"%15ld fallos de cach� para entradas negativas\n" +"%15ld%% tasa de acertos de cach�\n" +"%15s comprobe /etc/%s para ve-los cambios\n" + +#: nis/nis_print.c:251 +msgid "\nGroup Members :\n" +msgstr "\nMembros do Grupo :\n" + +#: nis/nis_print.c:322 +msgid "\nTime to Live : " +msgstr "\nTempo de Vida : " + +#: sunrpc/rpcinfo.c:679 +msgid " rpcinfo -b prognum versnum\n" +msgstr " rpcinfo -b numprog numvers\n" + +#: sunrpc/rpcinfo.c:680 +msgid " rpcinfo -d prognum versnum\n" +msgstr " rpcinfo -d numprog numvers\n" + +#: sunrpc/rpcinfo.c:678 +msgid " rpcinfo -p [ host ]\n" +msgstr " rpcinfo -p [ servidor ]\n" + +#: sunrpc/rpcinfo.c:676 +msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n" +msgstr " rpcinfo [ -n numporto ] -t servidor numprog [ numvers ]\n" + +#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147 +msgid " no" +msgstr " non" + +#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147 +msgid " yes" +msgstr " si" + +#: nis/nis_print.c:348 +#, c-format +msgid " Data Length = %u\n" +msgstr " Lonxitude de Datos = %u\n" + +#: nis/nis_print_group_entry.c:121 +msgid " Explicit members:\n" +msgstr " Membros expl�citos:\n" + +#: nis/nis_print_group_entry.c:145 nis/nis_print_group_entry.c:161 +msgid " Explicit nonmembers:\n" +msgstr " Non-membros expl�citos:\n" + +#: nis/nis_print_group_entry.c:129 +msgid " Implicit members:\n" +msgstr " Membros impl�citos:\n" + +#: nis/nis_print_group_entry.c:153 +msgid " Implicit nonmembers:\n" +msgstr " Non-membros impl�citos:\n" + +#: nis/nis_print_group_entry.c:126 +msgid " No explicit members\n" +msgstr " Non hai membros expl�citos\n" + +#: nis/nis_print_group_entry.c:150 +msgid " No explicit nonmembers\n" +msgstr " Non hai non-membros expl�citos\n" + +#: nis/nis_print_group_entry.c:134 +msgid " No implicit members\n" +msgstr " Non hai membros impl�citos\n" + +#: nis/nis_print_group_entry.c:158 +msgid " No implicit nonmembers\n" +msgstr " Non hai non-membros impl�citos\n" + +#: nis/nis_print_group_entry.c:142 +msgid " No recursive members\n" +msgstr " Non hai membros recursivos\n" + +#: nis/nis_print_group_entry.c:166 +msgid " No recursive nonmembers\n" +msgstr " Non hai non-membros recursivos\n" + +#: nis/nis_print_group_entry.c:137 +msgid " Recursive members:\n" +msgstr " Membros recursivos:\n" + +#: sunrpc/rpcinfo.c:574 +msgid " program vers proto port\n" +msgstr " programa vers proto porto\n" + +#: argp/argp-help.c:1573 +msgid " or: " +msgstr " ou: " + +#: timezone/zic.c:423 +#, c-format +msgid " (rule from \"%s\", line %d)" +msgstr " (regra de \"%s\", li�a %d)" + +#: argp/argp-help.c:1585 +msgid " [OPTION...]" +msgstr " [OPCI�N...]" + +#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1476 +msgid " done\n" +msgstr " feito\n" + +#: timezone/zic.c:420 +#, c-format +msgid "\"%s\", line %d: %s" +msgstr "\"%s\", li�a %d: %s" + +#: timezone/zic.c:984 +#, c-format +msgid "\"Zone %s\" line and -l option are mutually exclusive" +msgstr "A li�a \"Zone %s\" e a opci�n -l son mutuamente exclusivas" + +#: timezone/zic.c:992 +#, c-format +msgid "\"Zone %s\" line and -p option are mutually exclusive" +msgstr "A li�a \"Zone %s\" e a opci�n -p son mutuamente exclusivas" + +#: sunrpc/rpc_main.c:1399 +msgid "\"infile\" is required for template generation flags.\n" +msgstr "Prec�sase dun ficheiro de \"entrada\" para as opci�ns de xeraci�n de patr�ns.\n" + +#: argp/argp-help.c:210 +#, c-format +msgid "%.*s: ARGP_HELP_FMT parameter requires a value" +msgstr "%.*s: O par�metro ARGP_HELP_FMT precisa dun valor" + +#: argp/argp-help.c:219 +#, c-format +msgid "%.*s: Unknown ARGP_HELP_FMT parameter" +msgstr "%.*s: Par�metro ARGP_HELP_FMT desco�ecido" + +#: timezone/zic.c:794 +#, c-format +msgid "%s in ruleless zone" +msgstr "%s nunha zona sen regras" + +#: assert/assert.c:51 +#, c-format +msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n" +msgstr "%s%s%s:%u: %s%sNon se cumpr�u a aseveraci�n `%s'.\n" + +#: assert/assert-perr.c:52 +#, c-format +msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n" +msgstr "%s%s%s:%u: %s%sErro inesperado: %s.\n" + +#: stdio-common/psignal.c:47 +#, c-format +msgid "%s%sUnknown signal %d\n" +msgstr "%s%sSinal desco�ecido %d\n" + +#: timezone/zic.c:2229 +#, c-format +msgid "%s: %d did not sign extend correctly\n" +msgstr "%s: %d non foi estendido con signo correctamente\n" + +#: locale/programs/charmap.c:261 +#, c-format +msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n" +msgstr "%s: <mb_cur_max> debe ser meirande ca <mb_cur_min>\n" + +#: sunrpc/rpc_main.c:421 +#, c-format +msgid "%s: C preprocessor failed with exit code %d\n" +msgstr "%s: O preprocesador de C fallou co c�digo de sa�da %d\n" + +#: sunrpc/rpc_main.c:418 +#, c-format +msgid "%s: C preprocessor failed with signal %d\n" +msgstr "%s: O preprocesador de C fallou co sinal %d\n" + +#: timezone/zic.c:1495 +#, c-format +msgid "%s: Can't create %s: %s\n" +msgstr "%s: Non se pode crear %s: %s\n" + +#: timezone/zic.c:2207 +#, c-format +msgid "%s: Can't create directory %s: %s\n" +msgstr "%s: Non se pode crea-lo directorio %s: %s\n" + +#: timezone/zic.c:646 +#, c-format +msgid "%s: Can't link from %s to %s: %s\n" +msgstr "%s: Non se pode enlazar %s con %s: %s\n" + +#: timezone/zic.c:820 +#, c-format +msgid "%s: Can't open %s: %s\n" +msgstr "%s: Non se pode abrir %s: %s\n" + +#: timezone/zic.c:1485 +#, c-format +msgid "%s: Can't remove %s: %s\n" +msgstr "%s: Non se pode borrar %s: %s\n" + +#: timezone/zic.c:631 +#, c-format +msgid "%s: Can't unlink %s: %s\n" +msgstr "%s: Non se pode elimina-lo enlace %s: %s\n" + +#: timezone/zic.c:889 +#, c-format +msgid "%s: Error closing %s: %s\n" +msgstr "%s: Erro ao pechar %s: %s\n" + +#: timezone/zic.c:882 +#, c-format +msgid "%s: Error reading %s\n" +msgstr "%s: Erro ao ler %s\n" + +#: timezone/zdump.c:266 +#, c-format +msgid "%s: Error writing " +msgstr "%s: Erro ao escribir " + +#: timezone/zic.c:1561 +#, c-format +msgid "%s: Error writing %s\n" +msgstr "%s: Erro ao escribir %s\n" + +#: timezone/zic.c:867 +#, c-format +msgid "%s: Leap line in non leap seconds file %s\n" +msgstr "%s: Li�a de axuste no ficheiro %s, que non � de axuste de segundos\n" + +#: timezone/zic.c:361 +#, c-format +msgid "%s: Memory exhausted: %s\n" +msgstr "%s: Memoria esgotada: %s\n" + +#: timezone/zic.c:526 +#, c-format +msgid "%s: More than one -L option specified\n" +msgstr "%s: Indicouse m�is dunha opci�n -L\n" + +#: timezone/zic.c:486 +#, c-format +msgid "%s: More than one -d option specified\n" +msgstr "%s: Indicouse m�is dunha opci�n -d\n" + +#: timezone/zic.c:496 +#, c-format +msgid "%s: More than one -l option specified\n" +msgstr "%s: Indicouse m�is dunha opci�n -l\n" + +#: timezone/zic.c:506 +#, c-format +msgid "%s: More than one -p option specified\n" +msgstr "%s: Indicouse m�is dunha opci�n -p\n" + +#: timezone/zic.c:516 +#, c-format +msgid "%s: More than one -y option specified\n" +msgstr "%s: Indicouse ma�s dunha opci�n -y\n" + +#: argp/argp-parse.c:640 +#, c-format +msgid "%s: Too many arguments\n" +msgstr "%s: Demasiados par�metros\n" + +#: login/programs/database.c:129 +#, c-format +msgid "%s: cannot get modification time" +msgstr "%s: non se puido obte-la data de �ltima modificaci�n" + +#: timezone/zic.c:1928 +#, c-format +msgid "%s: command was '%s', result was %d\n" +msgstr "%s: o comando foi '%s', e o resultado foi %d\n" + +#: locale/programs/charmap.c:676 locale/programs/locfile.c:1014 +#, c-format +msgid "%s: error in state machine" +msgstr "%s: erro na m�quina de estados" + +#: posix/getopt.c:788 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: opci�n ilegal -- %c\n" + +#: posix/getopt.c:791 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: opci�n incorrecta -- %c\n" + +#: posix/getopt.c:711 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: a opci�n `%c%s' non acepta par�metros\n" + +#: posix/getopt.c:681 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: a opci�n `%s' � ambigua\n" + +#: posix/getopt.c:729 posix/getopt.c:902 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: a opci�n `%s' precisa dun par�metro\n" + +#: posix/getopt.c:706 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: a opci�n `--%s' non acepta par�metros\n" + +#: posix/getopt.c:886 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: a opci�n `-W %s' non acepta par�metros\n" + +#: posix/getopt.c:868 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: a opci�n `-W %s' � ambigua\n" + +#: posix/getopt.c:821 posix/getopt.c:951 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: a opci�n precisa dun par�metro -- %c\n" + +#: sunrpc/rpc_main.c:287 +#, c-format +msgid "%s: output would overwrite %s\n" +msgstr "%s: a sa�da sobreescribir�a %s\n" + +#: timezone/zic.c:874 timezone/zic.c:1288 timezone/zic.c:1313 +#, c-format +msgid "%s: panic: Invalid l_value %d\n" +msgstr "%s: p�nico: l_value %d incorrecto\n" + +#: locale/programs/charmap.c:683 locale/programs/repertoire.c:301 +#, c-format +msgid "%s: premature end of file" +msgstr "%s: fin de ficheiro prematuro" + +#: sunrpc/rpc_main.c:294 +#, c-format +msgid "%s: unable to open %s: %m\n" +msgstr "%s: non puiden abrir %s: %m\n" + +#: posix/getopt.c:762 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: opci�n desco�ecida `%c%s'\n" + +#: posix/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: opci�n desco�ecida `--%s'\n" + +#: timezone/zic.c:445 +#, c-format +msgid "" +"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n" +"\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n" +msgstr "" +"%s: �sase %s [ -s ] [ -v ] [ -l horalocal ] [ -p regrasposix ] [ -d directorio ]\n" +"\t [ -L axuste ] [ -y tipoano ] [ ficheiro ... ]\n" + +#: timezone/zdump.c:174 +#, c-format +msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" +msgstr "%s: �sase %s [ -v ] [ -c corte ] nomezona ...\n" + +#: sunrpc/rpc_main.c:306 +#, c-format +msgid "%s: while writing output %s: %m" +msgstr "%s: ao escribir � sa�da %s: %m" + +#: argp/argp-parse.c:164 +msgid "(PROGRAM ERROR) No version known!?" +msgstr "(ERRO DE PROGRAMA) ��Non se co�ece a versi�n!?" + +#: argp/argp-parse.c:781 +msgid "(PROGRAM ERROR) Option should have been recognized!?" +msgstr "(ERRO DE PROGRAMA) ��Deber�ase co�ece-la opci�n!?" + +#: nis/nis_print.c:129 +msgid "(Unknown object)\n" +msgstr "(Obxecto desco�ecido)\n" + +#: sunrpc/clnt_perr.c:124 +#, c-format +msgid "(unknown authentication error - %d)" +msgstr "(erro de autentificaci�n desco�ecido - %d)" + +#: sunrpc/rpcinfo.c:613 +msgid "(unknown)" +msgstr "(desco�ecido)" + +#: elf/sprof.c:570 +#, c-format +msgid "*** The file `%s' is stripped: no detailed analysis possible\n" +msgstr "*** O ficheiro `%s' est� recortado: non � posible unha an�lise detallada\n" + +#: catgets/gencat.c:267 +msgid "*standard input*" +msgstr "*entrada est�ndar*" + +#: catgets/gencat.c:121 +msgid "" +"-o OUTPUT-FILE [INPUT-FILE]...\n" +"[OUTPUT-FILE [INPUT-FILE]...]" +msgstr "" +"-o FICHEIRO-SA�DA [FICHEIRO-ENTRADA]...\n" +"[FICHEIRO-SA�DA [FICHEIRO-ENTRADA]...]" + +#: stdio-common/../sysdeps/gnu/errlist.c:796 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:114 +msgid ".lib section in a.out corrupted" +msgstr "secci�n .lib do a.out corrompida" + +#: sunrpc/clnt_perr.c:110 sunrpc/clnt_perr.c:131 +#, c-format +msgid "; low version = %lu, high version = %lu" +msgstr "; versi�n baixa = %lu, versi�n alta = %lu" + +#: sunrpc/clnt_perr.c:117 +msgid "; why = " +msgstr "; causa = " + +#: locale/programs/charset.c:98 +#, c-format +msgid "<%s> and <%s> are illegal names for range" +msgstr "<%s> e <%s> son nomes incorrectos para o rango" + +#: locale/programs/ld-ctype.c:428 +#, c-format +msgid "<SP> character must not be in class `%s'" +msgstr "O car�cter <SP> non debe estar na clase `%s'" + +#: locale/programs/ld-ctype.c:416 +#, c-format +msgid "<SP> character not in class `%s'" +msgstr "O car�cter <SP> non est� na clase `%s'" + +#. TRANS The experienced user will know what is wrong. +#. TRANS @c This error code is a joke. Its perror text is part of the joke. +#. TRANS @c Don't change it. +#: stdio-common/../sysdeps/gnu/errlist.c:621 +msgid "?" +msgstr "?" + +#: sysdeps/generic/siglist.h:34 sysdeps/gnu/siglist.h:28 +msgid "Aborted" +msgstr "Abortado" + +#: nis/nis_print.c:320 +msgid "Access Rights : " +msgstr "Dereitos de Acceso : " + +#: stdio-common/../sysdeps/gnu/errlist.c:792 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:113 +msgid "Accessing a corrupted shared library" +msgstr "Accedendo a unha biblioteca compartida corrompida" + +#. TRANS The requested socket address is already in use. @xref{Socket Addresses}. +#: stdio-common/../sysdeps/gnu/errlist.c:366 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:154 +msgid "Address already in use" +msgstr "Estase usando o enderezo" + +#: posix/../sysdeps/posix/gai_strerror.c:30 +msgid "Address family for hostname not supported" +msgstr "Familia de enderezos para o nome do servidor non soportada" + +#. TRANS The address family specified for a socket is not supported; it is +#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}. +#: stdio-common/../sysdeps/gnu/errlist.c:361 +msgid "Address family not supported by protocol" +msgstr "O protocolo non soporta esta familia de enderezos" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:153 +msgid "Address family not supported by protocol family" +msgstr "A familia de protocolos non soporta esta familia de enderezos" + +#: stdio-common/../sysdeps/gnu/errlist.c:760 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:97 +msgid "Advertise error" +msgstr "Anunciar erro" + +#: stdio-common/../sysdeps/unix/siglist.c:39 sysdeps/generic/siglist.h:40 +#: sysdeps/gnu/siglist.h:34 +msgid "Alarm clock" +msgstr "Temporizador" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:82 +msgid "Anode table overflow" +msgstr "Desbordamento da t�boa de anodes" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:36 +msgid "Arg list too long" +msgstr "Lista de par�metros demasiado longa" + +#. TRANS Argument list too long; used when the arguments passed to a new program +#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a +#. TRANS File}) occupy too much memory space. This condition never arises in the +#. TRANS GNU system. +#: stdio-common/../sysdeps/gnu/errlist.c:69 +msgid "Argument list too long" +msgstr "Lista de par�metros demasiado longa" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:62 +msgid "Argument out of domain" +msgstr "O argumento non est� no seu dominio" + +#: nis/nis_error.c:65 +msgid "Attempt to remove a non-empty table" +msgstr "Intentouse borrar unha t�boa non baleira" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:115 +msgid "Attempting to link in more shared libraries than system limit" +msgstr "Intentouse sobrepasa-lo l�mite de bibliotecas compartidas" + +#: stdio-common/../sysdeps/gnu/errlist.c:800 +msgid "Attempting to link in too many shared libraries" +msgstr "Intentouse cargar demasiadas bibliotecas compartidas" + +#: sunrpc/clnt_perr.c:328 +msgid "Authentication OK" +msgstr "Autentificaci�n correcta" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:561 +msgid "Authentication error" +msgstr "Erro na autentificaci�n" + +#: nis/nis_print.c:105 +msgid "BOGUS OBJECT\n" +msgstr "OBXECTO FALSO\n" + +#. TRANS Bad address; an invalid pointer was detected. +#. TRANS In the GNU system, this error never happens; you get a signal instead. +#: stdio-common/../sysdeps/gnu/errlist.c:114 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:43 +msgid "Bad address" +msgstr "Enderezo incorrecto" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:79 +msgid "Bad exchange descriptor" +msgstr "Descriptor de intercambio incorrecto" + +#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been +#. TRANS closed or reading from a descriptor open only for writing (or vice +#. TRANS versa). +#: stdio-common/../sysdeps/gnu/errlist.c:82 +msgid "Bad file descriptor" +msgstr "Descriptor de ficheiro incorrecto" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:38 +msgid "Bad file number" +msgstr "N�mero de ficheiro incorrecto" + +#: stdio-common/../sysdeps/gnu/errlist.c:748 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:86 +msgid "Bad font file format" +msgstr "Formato do ficheiro de tipo de letra incorrecto" + +#: stdio-common/../sysdeps/gnu/errlist.c:640 +msgid "Bad message" +msgstr "Mensaxe incorrecta" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:83 +msgid "Bad request code" +msgstr "C�digo de petici�n incorrecto" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:80 +msgid "Bad request descriptor" +msgstr "Descriptor de petici�n incorrecto" + +#: stdio-common/../sysdeps/unix/siglist.c:37 sysdeps/generic/siglist.h:63 +#: sysdeps/gnu/siglist.h:57 +msgid "Bad system call" +msgstr "Chamada ao sistema incorrecta" + +#: posix/../sysdeps/posix/gai_strerror.c:32 +msgid "Bad value for ai_flags" +msgstr "Valor de ai_flags incorrecto" + +#: locale/programs/localedef.c:101 +msgid "Be strictly POSIX conform" +msgstr "Ser estrictamente conforme con POSIX" + +#: nis/nis_print.c:301 +msgid "Binary data\n" +msgstr "Datos binarios\n" + +#. TRANS A file that isn't a block special file was given in a situation that +#. TRANS requires one. For example, trying to mount an ordinary file as a file +#. TRANS system in Unix gives this error. +#: stdio-common/../sysdeps/gnu/errlist.c:121 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:44 +msgid "Block device required" +msgstr "Prec�sase dun dispositivo de bloques" + +#: sunrpc/pmap_rmt.c:347 +msgid "Broadcast poll problem" +msgstr "Problema cunha chamada multidifusi�n" + +#. TRANS Broken pipe; there is no process reading from the other end of a pipe. +#. TRANS Every library function that returns this error code also generates a +#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled +#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE} +#. TRANS unless it has handled or blocked @code{SIGPIPE}. +#: stdio-common/../sysdeps/gnu/errlist.c:234 +#: stdio-common/../sysdeps/unix/siglist.c:38 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:61 +#: sysdeps/generic/siglist.h:39 sysdeps/gnu/siglist.h:33 +msgid "Broken pipe" +msgstr "Canalizaci�n rota" + +#: stdio-common/../sysdeps/unix/siglist.c:35 sysdeps/generic/siglist.h:37 +#: sysdeps/gnu/siglist.h:31 +msgid "Bus error" +msgstr "Erro no bus de datos" + +#: nis/nis_print.c:45 +msgid "CDS" +msgstr "CDS" + +#: stdio-common/../sysdeps/unix/siglist.c:49 sysdeps/generic/siglist.h:50 +#: sysdeps/gnu/siglist.h:44 +msgid "CPU time limit exceeded" +msgstr "L�mite de tempo de CPU superado" + +#: nis/nis_error.c:32 +msgid "Cache expired" +msgstr "A cach� caducou" + +#: stdio-common/../sysdeps/gnu/errlist.c:788 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:112 +msgid "Can not access a needed shared library" +msgstr "Non se pode acceder a unha biblioteca compartida necesaria" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:116 +msgid "Can not exec a shared library directly" +msgstr "Non se pode executar unha biblioteca compartida directamente" + +#: nis/ypclnt.c:779 +msgid "Can't bind to server which serves this domain" +msgstr "Non se pode conectar co servidor que serve a este dominio" + +#: nis/ypclnt.c:791 +msgid "Can't communicate with portmapper" +msgstr "Non se pode comunicar co mapeador de portos" + +#: nis/ypclnt.c:793 +msgid "Can't communicate with ypbind" +msgstr "Non se pode comunicar con `ypbind'" + +#: nis/ypclnt.c:795 +msgid "Can't communicate with ypserv" +msgstr "Non se pode comunicar con ypserv" + +#. TRANS No memory available. The system cannot allocate more virtual memory +#. TRANS because its capacity is full. +#: stdio-common/../sysdeps/gnu/errlist.c:103 +msgid "Cannot allocate memory" +msgstr "Non se pode reservar memoria" + +#. TRANS The requested socket address is not available; for example, you tried +#. TRANS to give a socket a name that doesn't match the local host name. +#. TRANS @xref{Socket Addresses}. +#: stdio-common/../sysdeps/gnu/errlist.c:373 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:155 +msgid "Cannot assign requested address" +msgstr "Non se pode asigna-lo enderezo pedido" + +#: sunrpc/pmap_rmt.c:264 +msgid "Cannot create socket for broadcast rpc" +msgstr "Non se pode crear un socket para un rpc multidifusi�n" + +#: stdio-common/../sysdeps/gnu/errlist.c:804 +msgid "Cannot exec a shared library directly" +msgstr "Non se pode executar unha biblioteca compartida directamente" + +#: sunrpc/rpc_main.c:1404 +msgid "Cannot have more than one file generation flag!\n" +msgstr "Non se pode ter m�is dunha opci�n de xeraci�n de ficheiros\n" + +#: sunrpc/pmap_rmt.c:360 +msgid "Cannot receive reply to broadcast" +msgstr "Non se pode recibi-la resposta � multidifusi�n" + +#: sunrpc/pmap_clnt.c:133 +msgid "Cannot register service" +msgstr "Non se pode rexistra-lo servicio" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:172 +msgid "Cannot send after socket shutdown" +msgstr "Non se pode enviar despois de desconecta-lo socket" + +#. TRANS The socket has already been shut down. +#: stdio-common/../sysdeps/gnu/errlist.c:434 +msgid "Cannot send after transport endpoint shutdown" +msgstr "Non se pode enviar despois de desconecta-lo destino do transporte" + +#: sunrpc/pmap_rmt.c:322 +msgid "Cannot send broadcast packet" +msgstr "Non se pode enviar un paquete multidifusi�n" + +#: sunrpc/pmap_rmt.c:271 +msgid "Cannot set socket option SO_BROADCAST" +msgstr "Non se pode activa-la opci�n SO_BROADCAST do socket" + +#: sunrpc/rpc_main.c:1191 +msgid "Cannot specify more than one input file!\n" +msgstr "�Non se pode indicar m�is dun ficheiro de entrada!\n" + +#: sunrpc/rpc_main.c:1361 +msgid "Cannot use netid flag with inetd flag!\n" +msgstr "�Non se pode utiliza-la opci�n netid coa opci�n inetd!\n" + +#: sunrpc/rpc_main.c:1373 +msgid "Cannot use netid flag without TIRPC!\n" +msgstr "�Non se pode utiliza-la opci�n netid sen TIRPC!\n" + +#: sunrpc/rpc_main.c:1380 +msgid "Cannot use table flags with newstyle!\n" +msgstr "�Non se poden utiliza-las opci�ns de t�boa con newstyle!\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:688 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:66 +msgid "Channel number out of range" +msgstr "N�mero de canal f�ra do seu rango" + +#: nis/nis_print.c:264 +#, c-format +msgid "Character Separator : %c\n" +msgstr "Separador de Caracteres : %c\n" + +#: stdio-common/../sysdeps/unix/siglist.c:45 sysdeps/generic/siglist.h:46 +#: sysdeps/gnu/siglist.h:40 +msgid "Child exited" +msgstr "O proceso fillo sa�u" + +#: sunrpc/clnt_perr.c:347 +msgid "Client credential too weak" +msgstr "A credencial do cliente � demasiado feble" + +#: nis/nis_print.c:266 +msgid "Columns :\n" +msgstr "Columnas :\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:768 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:99 +msgid "Communication error on send" +msgstr "Erro de comunicaci�ns ao enviar" + +#: locale/programs/localedef.c:109 +msgid "Compile locale specification" +msgstr "Compile a especificaci�n do `locale'" + +#. TRANS Go home and have a glass of warm, dairy-fresh milk. +#: stdio-common/../sysdeps/gnu/errlist.c:631 +msgid "Computer bought the farm" +msgstr "O ordenador mercou a granxa" + +#: locale/programs/ld-ctype.c:1438 +msgid "Computing table size for character classes might take a while..." +msgstr "O c�lculo do tama�o da t�boa para as clases de caracteres pode levar un pouco..." + +#: locale/programs/ld-collate.c:336 +msgid "Computing table size for collation information might take a while..." +msgstr "O c�lculo do tama�o da t�boa para a informaci�n de ordenaci�n pode levar un pouco..." + +#. TRANS A remote host refused to allow the network connection (typically because +#. TRANS it is not running the requested service). +#: stdio-common/../sysdeps/gnu/errlist.c:451 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:175 +msgid "Connection refused" +msgstr "Conexi�n rexeitada" + +#. TRANS A network connection was closed for reasons outside the control of the +#. TRANS local host, such as by the remote machine rebooting or an unrecoverable +#. TRANS protocol violation. +#: stdio-common/../sysdeps/gnu/errlist.c:401 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:160 +msgid "Connection reset by peer" +msgstr "Conexi�n reiniciada polo outro estremo" + +#. TRANS A socket operation with a specified timeout received no response during +#. TRANS the timeout period. +#: stdio-common/../sysdeps/gnu/errlist.c:445 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:174 +msgid "Connection timed out" +msgstr "A conexi�n espirou" + +#: stdio-common/../sysdeps/unix/siglist.c:44 sysdeps/generic/siglist.h:45 +#: sysdeps/gnu/siglist.h:39 +msgid "Continued" +msgstr "Continuaci�n" + +#: iconv/iconv_prog.c:66 +msgid "Convert encoding of given files from one encoding to another." +msgstr "Converti-los ficheiros dados dunha codificaci�n a outra." + +#: db2/makedb.c:58 +msgid "Convert key to lower case" +msgstr "Converti-la clave a min�sculas" + +#: catgets/gencat.c:237 db2/makedb.c:242 elf/sprof.c:355 +#: iconv/iconv_prog.c:294 locale/programs/locale.c:267 +#: locale/programs/localedef.c:400 nscd/nscd.c:277 nscd/nscd_nischeck.c:90 +#: nss/getent.c:66 posix/getconf.c:624 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"This is free software; see the source for copying conditions. There is NO\n" +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" +msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"Isto � software libre; vexa o c�digo fonte polas condici�ns de copia. NON hai\n" +"garant�a; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN DETERMINADO.\n" + +#: nscd/nscd_conf.c:165 +#, c-format +msgid "Could not create log file \"%s\"" +msgstr "Non se puido crea-lo ficheiro de rexistro \"%s\"" + +#: catgets/gencat.c:108 +msgid "Create C header file NAME containing symbol definitions" +msgstr "Crea-lo ficheiro de cabeceira C NOME que cont�n as definici�ns de s�mbolos" + +#: locale/programs/localedef.c:100 +msgid "Create output even if warning messages were issued" +msgstr "Crea-la sa�da incluso se se produciron mensaxes de aviso" + +#: db2/makedb.c:68 +msgid "Create simple DB database from textual input." +msgstr "Crear unha base de datos DB simple a partires da entrada textual." + +#: nis/nis_print.c:325 +#, c-format +msgid "Creation Time : %s" +msgstr "Hora de Creaci�n : %s" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:47 +msgid "Cross-device link" +msgstr "Enlace a trav�s de dispositivos" + +#: nis/nss_nisplus/nisplus-publickey.c:95 +#: nis/nss_nisplus/nisplus-publickey.c:171 +#, c-format +msgid "DES entry for netname %s not unique\n" +msgstr "A entrada DES para o nome de rede %s non � �nica\n" + +#: nis/nis_print.c:111 +msgid "DIRECTORY\n" +msgstr "DIRECTORIO\n" + +#: nis/nis_print.c:41 +msgid "DNANS" +msgstr "DNANS" + +#: nis/nis_print.c:37 +msgid "DNS" +msgstr "DNS" + +#: nis/nis_error.c:51 +msgid "Database for table does not exist" +msgstr "A base de datos para a t�boa non existe" + +#: nis/ypclnt.c:805 +msgid "Database is busy" +msgstr "A base de datos est� ocupada" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:74 +msgid "Deadlock situation detected/avoided" +msgstr "Situaci�n de interbloqueo detectada/evitada" + +#: nis/nis_print.c:225 +msgid "Default Access rights :\n" +msgstr "Dereitos de acceso por Omisi�n :\n" + +#. TRANS No default destination address was set for the socket. You get this +#. TRANS error when you try to transmit data over a connectionless socket, +#. TRANS without first specifying a destination for the data with @code{connect}. +#: stdio-common/../sysdeps/gnu/errlist.c:429 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:125 +msgid "Destination address required" +msgstr "Prec�sase dun enderezo de destino" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:45 +msgid "Device busy" +msgstr "Dispositivo ocupado" + +#: stdio-common/../sysdeps/gnu/errlist.c:668 +msgid "Device not a stream" +msgstr "O dispositivo non � de fluxo" + +#. TRANS No such device or address. The system tried to use the device +#. TRANS represented by a file you specified, and it couldn't find the device. +#. TRANS This can mean that the device file was installed incorrectly, or that +#. TRANS the physical device is missing or not correctly attached to the +#. TRANS computer. +#: stdio-common/../sysdeps/gnu/errlist.c:61 +msgid "Device not configured" +msgstr "Dispositivo non configurado" + +#. TRANS Resource busy; a system resource that can't be shared is already in use. +#. TRANS For example, if you try to delete a file that is the root of a currently +#. TRANS mounted filesystem, you get this error. +#: stdio-common/../sysdeps/gnu/errlist.c:128 +msgid "Device or resource busy" +msgstr "Dispositivo ou recurso ocupado" + +#: nis/nis_print.c:179 +#, c-format +msgid "Diffie-Hellmann (%d bits)\n" +msgstr "Diffie-Hellmann (%d bits)\n" + +#: nis/nis_print.c:317 +#, c-format +msgid "Directory : %s\n" +msgstr "Directorio : %s\n" + +#. TRANS Directory not empty, where an empty directory was expected. Typically, +#. TRANS this error occurs when you are trying to delete a directory. +#: stdio-common/../sysdeps/gnu/errlist.c:480 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:122 +msgid "Directory not empty" +msgstr "Directorio non baleiro" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:78 +msgid "Disc quota exceeded" +msgstr "Cota de disco superada" + +#. TRANS The user's disk quota was exceeded. +#: stdio-common/../sysdeps/gnu/errlist.c:498 +msgid "Disk quota exceeded" +msgstr "Cota de disco superada" + +#: nscd/nscd.c:83 +msgid "Do not fork and display messages on the current tty" +msgstr "Non bifurcar e visualiza-las mensaxes no terminal actual" + +#: db2/makedb.c:61 +msgid "Do not print messages while building database" +msgstr "Non visualizar mensaxes ao construi-la base de datos" + +#: catgets/gencat.c:110 +msgid "Do not use existing catalog, force new output file" +msgstr "Non usa-lo cat�logo existente, forzar un ficheiro de sa�da novo" + +#: nis/ypclnt.c:851 +msgid "Domain not bound" +msgstr "Non se conectou co dominio" + +#: stdio-common/../sysdeps/unix/siglist.c:32 sysdeps/generic/siglist.h:60 +#: sysdeps/gnu/siglist.h:54 +msgid "EMT trap" +msgstr "Trampa de EMT" + +#: nis/nis_print.c:120 +msgid "ENTRY\n" +msgstr "ENTRADA\n" + +#: nis/nis_print.c:299 +msgid "Encrypted data\n" +msgstr "Datos encriptados\n" + +#: nis/nis_error.c:52 +msgid "Entry/table type mismatch" +msgstr "Diferentes tipos de entrada/t�boa" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:29 +msgid "Error 0" +msgstr "Erro 0" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:129 +msgid "Error 100" +msgstr "Erro 100" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:130 +msgid "Error 101" +msgstr "Erro 101" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:131 +msgid "Error 102" +msgstr "Erro 102" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:132 +msgid "Error 103" +msgstr "Erro 103" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:133 +msgid "Error 104" +msgstr "Erro 104" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:134 +msgid "Error 105" +msgstr "Erro 105" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:135 +msgid "Error 106" +msgstr "Erro 106" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:136 +msgid "Error 107" +msgstr "Erro 107" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:137 +msgid "Error 108" +msgstr "Erro 108" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:138 +msgid "Error 109" +msgstr "Erro 109" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:139 +msgid "Error 110" +msgstr "Erro 110" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:140 +msgid "Error 111" +msgstr "Erro 111" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:141 +msgid "Error 112" +msgstr "Erro 112" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:142 +msgid "Error 113" +msgstr "Erro 113" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:143 +msgid "Error 114" +msgstr "Erro 114" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:144 +msgid "Error 115" +msgstr "Erro 115" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:145 +msgid "Error 116" +msgstr "Erro 116" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:146 +msgid "Error 117" +msgstr "Erro 117" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:147 +msgid "Error 118" +msgstr "Erro 118" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:148 +msgid "Error 119" +msgstr "Erro 119" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:165 +msgid "Error 136" +msgstr "Erro 136" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:171 +msgid "Error 142" +msgstr "Erro 142" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:87 +msgid "Error 58" +msgstr "Erro 58" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:88 +msgid "Error 59" +msgstr "Erro 59" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:101 +msgid "Error 72" +msgstr "Erro 72" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:102 +msgid "Error 73" +msgstr "Erro 73" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:104 +msgid "Error 75" +msgstr "Erro 75" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:105 +msgid "Error 76" +msgstr "Erro 76" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:120 +msgid "Error 91" +msgstr "Erro 91" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:121 +msgid "Error 92" +msgstr "Erro 92" + +#: nis/nis_error.c:56 +msgid "Error in RPC subsystem" +msgstr "Erro no subsistema RPC" + +#: nis/nis_error.c:66 +msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?" +msgstr "Erro ao acceder ao ficheiro de arranque en fr�o de NIS+. �Instalouse NIS+?" + +#: string/../sysdeps/mach/_strerror.c:57 +#: sysdeps/mach/hurd/mips/dl-machine.c:67 +msgid "Error in unknown error system: " +msgstr "Erro no sistema de erro desco�ecido: " + +#: nis/nis_error.c:59 +msgid "Error while talking to callback proc" +msgstr "Erro ao falar ao procedemento de retrochamada" + +#: inet/ruserpass.c:176 +msgid "Error: .netrc file is readable by others." +msgstr "Erro: o ficheiro .netrc pode ser lido por outros." + +#: stdio-common/../sysdeps/gnu/errlist.c:728 +msgid "Exchange full" +msgstr "Ficheiro de intercambio cheo." + +#. TRANS Invalid executable file format. This condition is detected by the +#. TRANS @code{exec} functions; see @ref{Executing a File}. +#: stdio-common/../sysdeps/gnu/errlist.c:75 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:37 +msgid "Exec format error" +msgstr "Exec erro de formato" + +#: locale/programs/localedef.c:187 +msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" +msgstr "FATAL: o sistema non define `_POSIX2_LOCALDEF'" + +#: locale/programs/localedef.c:91 locale/programs/localedef.c:93 +#: locale/programs/localedef.c:95 +msgid "FILE" +msgstr "FICHEIRO" + +#: locale/programs/localedef.c:96 +msgid "FILE contains mapping from symbolic names to UCS4 values" +msgstr "O FICHEIRO cont�n mapeado de nomes simb�licos a valores UCS4" + +#: sunrpc/clnt_perr.c:355 +msgid "Failed (unspecified error)" +msgstr "Fallo (erro non especificado)" + +#: stdio-common/../sysdeps/gnu/errlist.c:780 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:110 +msgid "File descriptor in bad state" +msgstr "Descriptor de ficheiro en mal estado" + +#. TRANS File exists; an existing file was specified in a context where it only +#. TRANS makes sense to specify a new file. +#: stdio-common/../sysdeps/gnu/errlist.c:134 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:46 +msgid "File exists" +msgstr "O ficheiro xa existe" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:85 +msgid "File locking deadlock" +msgstr "Interbloqueo en bloqueos de ficheiro" + +#: stdio-common/../sysdeps/gnu/errlist.c:744 +msgid "File locking deadlock error" +msgstr "Erro de interbloqueo en bloqueos de ficheiro" + +#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for +#. TRANS Files}) or host name too long (in @code{gethostname} or +#. TRANS @code{sethostname}; @pxref{Host Identification}). +#: stdio-common/../sysdeps/gnu/errlist.c:464 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:107 +msgid "File name too long" +msgstr "Nome de ficheiro demasiado longo" + +#: stdio-common/../sysdeps/unix/siglist.c:50 sysdeps/generic/siglist.h:51 +#: sysdeps/gnu/siglist.h:45 +msgid "File size limit exceeded" +msgstr "L�mite de tama�o de ficheiro superado" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:52 +msgid "File table overflow" +msgstr "Desbordamento da t�boa de ficheiros" + +#. TRANS File too big; the size of a file would be larger than allowed by the system. +#: stdio-common/../sysdeps/gnu/errlist.c:202 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:56 +msgid "File too large" +msgstr "Ficheiro demasiado grande" + +#: nis/nis_error.c:37 +msgid "First/next chain broken" +msgstr "Primeira/seguinte cadea rota" + +#: stdio-common/../sysdeps/unix/siglist.c:33 sysdeps/generic/siglist.h:35 +#: sysdeps/gnu/siglist.h:29 +msgid "Floating point exception" +msgstr "Excepci�n de coma frotante" + +#: nis/nis_error.c:67 +msgid "Full resync required for directory" +msgstr "Prec�sase unha resincronizaci�n completa do directorio" + +#. TRANS Function not implemented. This indicates that the function called is +#. TRANS not implemented at all, either in the C library itself or in the +#. TRANS operating system. When you get this error, you can be sure that this +#. TRANS particular function will always fail with @code{ENOSYS} unless you +#. TRANS install a new version of the C library or the operating system. +#: stdio-common/../sysdeps/gnu/errlist.c:575 +msgid "Function not implemented" +msgstr "Funci�n non implementada" + +#: nis/nis_print.c:114 +msgid "GROUP\n" +msgstr "GRUPO\n" + +#: argp/argp-help.c:231 +#, c-format +msgid "Garbage in ARGP_HELP_FMT: %s" +msgstr "Lixo en ARGP_HELP_FMT: %s" + +#: catgets/gencat.c:116 +msgid "" +"Generate message catalog.\\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" +"is -, output is written to standard output.\n" +msgstr "" +"Xera-lo cat�logo de mensaxes.\n" +"Se o FICHEIRO-ENTRADA � -, a entrada lese da entrada est�ndar. Se o\n" +"FICHEIRO-SA�DA � -, a sa�da escr�bese na sa�da est�ndar.\n" + +#: nis/nis_error.c:36 +msgid "Generic system error" +msgstr "Erro de sistema xen�rico" + +#: locale/programs/locale.c:75 +msgid "Get locale-specific information." +msgstr "Obter informaci�n espec�fica do `locale'." + +#: argp/argp-parse.c:88 +msgid "Give a short usage message" +msgstr "Devolver unha mensaxe curta sobre o uso" + +#: argp/argp-parse.c:87 +msgid "Give this help list" +msgstr "Devolver esta lista de axuda" + +#. TRANS This error code has no purpose. +#: stdio-common/../sysdeps/gnu/errlist.c:636 +msgid "Gratuitous error" +msgstr "Erro inxustificado" + +#: nis/nis_print.c:319 +#, c-format +msgid "Group : %s\n" +msgstr "Grupo : %s\n" + +#: nis/nis_print.c:248 +msgid "Group Flags :" +msgstr "Opci�ns do Grupo :" + +#: nis/nis_print_group_entry.c:113 +#, c-format +msgid "Group entry for \"%s.%s\" group:\n" +msgstr "Entrada do grupo \"%s.%s\":\n" + +#: argp/argp-parse.c:91 +msgid "Hang for SECS seconds (default 3600)" +msgstr "Agardar SEGS segundos (por omisi�n, 3600)" + +#: stdio-common/../sysdeps/unix/siglist.c:26 sysdeps/generic/siglist.h:29 +#: sysdeps/gnu/siglist.h:23 +msgid "Hangup" +msgstr "Colgar" + +#: nscd/grpcache.c:251 +#, c-format +msgid "Haven't found \"%d\" in group cache!" +msgstr "�Non atopei \"%d\" na cach� de grupos!" + +#: nscd/pwdcache.c:249 +#, c-format +msgid "Haven't found \"%d\" in password cache!" +msgstr "�Non atopei \"%d\" na cach� de contrasinais!" + +#: nscd/grpcache.c:212 +#, c-format +msgid "Haven't found \"%s\" in group cache!" +msgstr "�Non atopei \"%s\" na cach� de grupos!" + +#: nscd/hstcache.c:291 nscd/hstcache.c:333 nscd/hstcache.c:378 +#: nscd/hstcache.c:422 +#, c-format +msgid "Haven't found \"%s\" in hosts cache!" +msgstr "�Non atopei \"%s\" na cach� de servidores!" + +#: nscd/pwdcache.c:210 +#, c-format +msgid "Haven't found \"%s\" in password cache!" +msgstr "�Non atopei \"%s\" na cach� de contrasinais!" + +#. TRANS The remote host for a requested network connection is down. +#: stdio-common/../sysdeps/gnu/errlist.c:469 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:176 +msgid "Host is down" +msgstr "O servidor est� inactivo" + +#: resolv/herror.c:75 +msgid "Host name lookup failure" +msgstr "Fallo ao busca-lo nome do servidor" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:34 +msgid "I/O error" +msgstr "Erro de E/S" + +#: stdio-common/../sysdeps/unix/siglist.c:48 sysdeps/generic/siglist.h:49 +#: sysdeps/gnu/siglist.h:43 +msgid "I/O possible" +msgstr "E/S posible" + +#: db2/makedb.c:71 +msgid "" +"INPUT-FILE OUTPUT-FILE\n" +"-o OUTPUT-FILE INPUT-FILE\n" +"-u INPUT-FILE" +msgstr "" +"FICHEIRO-ENTRADA FICHEIRO-SA�DA\n" +"-o FICHEIRO-SA�DA FICHEIRO-ENTRADA\n" +"-u FICHEIRO-ENTRADA" + +#: stdio-common/../sysdeps/unix/siglist.c:31 +msgid "IOT trap" +msgstr "Trampa de IOT" + +#: nis/nis_print.c:35 +msgid "IVY" +msgstr "IVY" + +#: stdio-common/../sysdeps/gnu/errlist.c:644 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:65 +msgid "Identifier removed" +msgstr "Identificador borrado" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:117 +msgid "Illegal byte sequence" +msgstr "Secuencia de bytes non permitida" + +#: stdio-common/../sysdeps/unix/siglist.c:29 sysdeps/generic/siglist.h:32 +#: sysdeps/gnu/siglist.h:26 +msgid "Illegal instruction" +msgstr "Instrucci�n non permitida" + +#: nis/nis_error.c:61 +msgid "Illegal object type for operation" +msgstr "Tipo de obxecto non permitido na operaci�n" + +#. TRANS Invalid seek operation (such as on a pipe). +#: stdio-common/../sysdeps/gnu/errlist.c:213 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:58 +msgid "Illegal seek" +msgstr "B�squeda non permitida" + +#. TRANS Inappropriate file type or format. The file was the wrong type for the +#. TRANS operation, or a data file had the wrong format. +#. TRANS +#. TRANS On some systems @code{chmod} returns this error if you try to set the +#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}. +#: stdio-common/../sysdeps/gnu/errlist.c:556 +msgid "Inappropriate file type or format" +msgstr "Tipo ou formato de ficheiro inapropiado" + +#. TRANS Inappropriate I/O control operation, such as trying to set terminal +#. TRANS modes on an ordinary file. +#: stdio-common/../sysdeps/gnu/errlist.c:188 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:54 +msgid "Inappropriate ioctl for device" +msgstr "ioctl inapropiado para o dispositivo" + +#. TRANS In the GNU system, servers supporting the @code{term} protocol return +#. TRANS this error for certain operations when the caller is not in the +#. TRANS foreground process group of the terminal. Users do not usually see this +#. TRANS error because functions such as @code{read} and @code{write} translate +#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, +#. TRANS for information on process groups and these signals. +#: stdio-common/../sysdeps/gnu/errlist.c:607 +msgid "Inappropriate operation for background process" +msgstr "Operaci�n inapropiada para un proceso que traballa de fondo" + +#: sysdeps/generic/siglist.h:69 sysdeps/gnu/siglist.h:63 +msgid "Information request" +msgstr "Petici�n de informaci�n" + +#: iconv/iconv_prog.c:57 +msgid "Information:" +msgstr "Informaci�n:" + +#: locale/programs/localedef.c:90 +msgid "Input Files:" +msgstr "Ficheiros de Entrada:" + +#: iconv/iconv_prog.c:54 +msgid "Input/Output format specification:" +msgstr "Especificaci�n do formato de Entrada/Sa�da:" + +#. TRANS Input/output error; usually used for physical read or write errors. +#: stdio-common/../sysdeps/gnu/errlist.c:52 +msgid "Input/output error" +msgstr "Erro de Entrada/sa�da" + +#: nis/ypclnt.c:785 +msgid "Internal NIS error" +msgstr "Erro interno de NIS" + +#: nis/ypclnt.c:849 +msgid "Internal ypbind error" +msgstr "Erro interno de ypbind" + +#: stdio-common/../sysdeps/unix/siglist.c:27 sysdeps/generic/siglist.h:30 +#: sysdeps/gnu/siglist.h:24 +msgid "Interrupt" +msgstr "Interrupci�n" + +#. TRANS Interrupted function call; an asynchronous signal occurred and prevented +#. TRANS completion of the call. When this happens, you should try the call +#. TRANS again. +#. TRANS +#. TRANS You can choose to have functions resume after a signal that is handled, +#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted +#. TRANS Primitives}. +#: stdio-common/../sysdeps/gnu/errlist.c:47 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:33 +msgid "Interrupted system call" +msgstr "Chamada ao sistema interrompida" + +#: stdio-common/../sysdeps/gnu/errlist.c:684 +msgid "Interrupted system call should be restarted" +msgstr "A chamada ao sistema interrompida deber�a ser recomezada" + +#. TRANS Invalid argument. This is used to indicate various kinds of problems +#. TRANS with passing the wrong argument to a library function. +#: stdio-common/../sysdeps/gnu/errlist.c:164 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:51 +msgid "Invalid argument" +msgstr "Par�metro incorrecto" + +#: posix/regex.c:1034 +msgid "Invalid back reference" +msgstr "Referencia cara a atr�s incorrecta" + +#: posix/regex.c:1028 +msgid "Invalid character class name" +msgstr "Nome da clase de caracteres incorrecto" + +#: sunrpc/clnt_perr.c:331 +msgid "Invalid client credential" +msgstr "Credencial do cliente incorrecta" + +#: sunrpc/clnt_perr.c:339 +msgid "Invalid client verifier" +msgstr "Verificador do cliente incorrecto" + +#: posix/regex.c:1025 +msgid "Invalid collation character" +msgstr "Car�cter de ordenaci�n incorrecto" + +#: posix/regex.c:1046 +msgid "Invalid content of \\{\\}" +msgstr "Contido de \\{\\} incorrecto" + +#. TRANS An attempt to make an improper link across file systems was detected. +#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but +#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}). +#: stdio-common/../sysdeps/gnu/errlist.c:141 +msgid "Invalid cross-device link" +msgstr "Enlace entre dispositivos distintos incorrecto" + +#: stdio-common/../sysdeps/gnu/errlist.c:720 +msgid "Invalid exchange" +msgstr "Intercambio incorrecto" + +#: nis/nis_error.c:44 +msgid "Invalid object for operation" +msgstr "Obxecto incorrecto para a operaci�n" + +#. TRANS While decoding a multibyte character the function came along an invalid +#. TRANS or an incomplete sequence of bytes or the given wide character is invalid. +#: stdio-common/../sysdeps/gnu/errlist.c:597 +msgid "Invalid or incomplete multibyte or wide character" +msgstr "Car�cter ancho ou multibyte incorrecto ou incompleto" + +#: posix/regex.c:1055 +msgid "Invalid preceding regular expression" +msgstr "Expresi�n regular precedente incorrecta" + +#: posix/regex.c:1049 +msgid "Invalid range end" +msgstr "Final do rango incorrecto" + +#: posix/regex.c:1022 +msgid "Invalid regular expression" +msgstr "Expresi�n regular incorrecta" + +#: stdio-common/../sysdeps/gnu/errlist.c:736 +msgid "Invalid request code" +msgstr "C�digo de petici�n incorrecto" + +#: stdio-common/../sysdeps/gnu/errlist.c:724 +msgid "Invalid request descriptor" +msgstr "Descriptor de petici�n incorrecto" + +#: sunrpc/clnt_perr.c:351 +msgid "Invalid server verifier" +msgstr "Verificador de servidor incorrecto" + +#: stdio-common/../sysdeps/gnu/errlist.c:740 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:84 +msgid "Invalid slot" +msgstr "Ra�ura incorrecta" + +#: nscd/nscd.c:88 +msgid "Invalidate the specified cache" +msgstr "Invalida-la cach� especificada" + +#. TRANS File is a directory; you cannot open a directory for writing, +#. TRANS or create or remove hard links to it. +#: stdio-common/../sysdeps/gnu/errlist.c:158 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:50 +msgid "Is a directory" +msgstr "� un directorio" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:168 +msgid "Is a name file" +msgstr "� un ficheiro de nome" + +#: stdio-common/../sysdeps/gnu/errlist.c:824 +msgid "Is a named type file" +msgstr "� un ficheiro de tipo con nome" + +#: nis/nis_print.c:187 +msgid "Kerberos.\n" +msgstr "Kerberos.\n" + +#: stdio-common/../sysdeps/unix/siglist.c:34 sysdeps/generic/siglist.h:36 +#: sysdeps/gnu/siglist.h:30 +msgid "Killed" +msgstr "Matado" + +#: nis/nis_print.c:123 +msgid "LINK\n" +msgstr "ENLACE\n" + +#: nis/nis_local_names.c:125 +#, c-format +msgid "LOCAL entry for UID %d in directory %s not unique\n" +msgstr "A entrada LOCAL para o UID %d no directorio %s non � �nica\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:716 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:73 +msgid "Level 2 halted" +msgstr "Nivel 2 detido" + +#: stdio-common/../sysdeps/gnu/errlist.c:692 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:67 +msgid "Level 2 not synchronized" +msgstr "Nivel 2 non sincronizado" + +#: stdio-common/../sysdeps/gnu/errlist.c:696 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:68 +msgid "Level 3 halted" +msgstr "Nivel 3 detido" + +#: stdio-common/../sysdeps/gnu/errlist.c:700 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:69 +msgid "Level 3 reset" +msgstr "Nivel 3 reiniciado" + +#: stdio-common/../sysdeps/gnu/errlist.c:656 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:96 +msgid "Link has been severed" +msgstr "O enlace foi roto" + +#: stdio-common/../sysdeps/gnu/errlist.c:704 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:70 +msgid "Link number out of range" +msgstr "N�mero de enlace f�ra de rango" + +#: nis/nis_error.c:53 +msgid "Link points to illegal name" +msgstr "O enlace leva a un nome ilegal" + +#: nis/nis_print.c:282 +msgid "Linked Object Type : " +msgstr "Tipo do Obxecto Enlazado : " + +#: nis/nis_print.c:284 +#, c-format +msgid "Linked to : %s\n" +msgstr "Enlazado a : %s\n" + +#: nis/ypclnt.c:797 +msgid "Local domain name not set" +msgstr "Nome de dominio local non fixado" + +#: nis/ypclnt.c:787 +msgid "Local resource allocation failure" +msgstr "Fallo ao reservar recursos locais" + +#: stdio-common/../sysdeps/gnu/errlist.c:752 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:93 +msgid "Machine is not on the network" +msgstr "A m�quina non est� na rede" + +#: nis/nis_error.c:45 +msgid "Malformed name, or illegal name" +msgstr "Nome mal formado, ou ilegal" + +#: argp/argp-help.c:1186 +msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." +msgstr "Os par�metros obrigatorios ou opcionais das opci�ns longas son tam�n obrigatorios ou opcionais para calquera opci�n curta que se corresponda." + +#: nis/nis_print.c:168 +msgid "Master Server :\n" +msgstr "Servidor Mestre :\n" + +#: nis/nis_error.c:75 +msgid "Master server busy, full dump rescheduled." +msgstr "Servidor mestre ocupado, volcado completo reprogramado." + +#: posix/../sysdeps/posix/gai_strerror.c:35 +msgid "Memory allocation failure" +msgstr "Fallo ao reservar memoria" + +#: posix/regex.c:1052 +msgid "Memory exhausted" +msgstr "Memoria esgotada" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:81 +msgid "Message tables full" +msgstr "T�boas de mensaxes cheas" + +#. TRANS The size of a message sent on a socket was larger than the supported +#. TRANS maximum size. +#: stdio-common/../sysdeps/gnu/errlist.c:317 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:126 +msgid "Message too long" +msgstr "Mensaxe demasiado longa" + +#: nis/nis_error.c:57 +msgid "Missing or malformed attribute" +msgstr "Falta un atributo, ou est� mal formado" + +#: nis/nis_print.c:327 +#, c-format +msgid "Mod. Time : %s" +msgstr "Hora de Modificaci�n : %s" + +#: nis/nis_error.c:50 +msgid "Modification failed" +msgstr "Fallo ao modificar" + +#: nis/nis_error.c:63 +msgid "Modify operation failed" +msgstr "Fallo na operaci�n de modificaci�n" + +#: locale/programs/locale.c:68 +msgid "Modify output format:" +msgstr "Modifica-lo formato de sa�da:" + +#: stdio-common/../sysdeps/gnu/errlist.c:648 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:103 +msgid "Multihop attempted" +msgstr "Tentouse un multisalto" + +#: catgets/gencat.c:107 catgets/gencat.c:111 db2/makedb.c:59 +#: locale/programs/localedef.c:112 nscd/nscd.c:80 +msgid "NAME" +msgstr "NOME" + +#: locale/programs/locale.c:78 +msgid "" +"NAME\n" +"[-a|-m]" +msgstr "" +"NOME\n" +"[-a|-m]" + +#: nis/nis_print.c:31 +msgid "NIS" +msgstr "NIS" + +#: nis/ypclnt.c:801 +msgid "NIS client/server version mismatch - can't supply service" +msgstr "Non coinciden as versi�ns do cliente e o servidor NIS - non se pode dar servicio" + +#: nis/ypclnt.c:799 +msgid "NIS map database is bad" +msgstr "A base de datos de mapas NIS est� mal" + +#: nis/nis_error.c:68 +msgid "NIS+ operation failed" +msgstr "Fallou unha operaci�n NIS+" + +#: nis/nis_error.c:33 +msgid "NIS+ servers unreachable" +msgstr "Non se pode chegar aos servidores NIS+" + +#: nis/nis_error.c:69 +msgid "NIS+ service is unavailable or not installed" +msgstr "O servicio NIS+ non est� dispo�ible ou instalado" + +#: nis/nis_print.c:108 +msgid "NO OBJECT\n" +msgstr "SEN OBXECTO\n" + +#: nscd/nscd.c:84 +msgid "NUMBER" +msgstr "N�MERO" + +#: nis/nis_print.c:162 +#, c-format +msgid "Name : `%s'\n" +msgstr "Nome : `%s'\n" + +#: nscd/nscd.c:94 +msgid "Name Service Cache Daemon." +msgstr "Demo de Cache de Servicio de Nomes." + +#: nis/nis_error.c:40 +msgid "Name not served by this server" +msgstr "Nome non servido por este servidor" + +#: stdio-common/../sysdeps/gnu/errlist.c:776 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:109 +msgid "Name not unique on network" +msgstr "O nome non � �nico na rede" + +#: posix/../sysdeps/posix/gai_strerror.c:37 +msgid "Name or service not known" +msgstr "Nome ou servicio desco�ecido" + +#: nis/nis_error.c:49 +msgid "Name/entry isn't unique" +msgstr "O nome/entrada non � �nico" + +#: nis/nis_error.c:58 +msgid "Named object is not searchable" +msgstr "Non se pode busca-lo obxecto nomeado" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:566 +msgid "Need authenticator" +msgstr "Preciso dun autentificador" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:158 +msgid "Network dropped connection because of reset" +msgstr "A rede cortou a conexi�n debido ao reinicio" + +#. TRANS A network connection was reset because the remote host crashed. +#: stdio-common/../sysdeps/gnu/errlist.c:389 +msgid "Network dropped connection on reset" +msgstr "A rede cortou a conexi�n por un reinicio" + +#. TRANS A socket operation failed because the network was down. +#: stdio-common/../sysdeps/gnu/errlist.c:378 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:156 +msgid "Network is down" +msgstr "A rede non funciona" + +#. TRANS A socket operation failed because the subnet containing the remote host +#. TRANS was unreachable. +#: stdio-common/../sysdeps/gnu/errlist.c:384 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:157 +msgid "Network is unreachable" +msgstr "Non se pode chegar � rede" + +#: stdio-common/../sysdeps/gnu/errlist.c:712 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:72 +msgid "No CSI structure available" +msgstr "Non hai unha estructura CSI dispo�ible" + +#: stdio-common/../sysdeps/gnu/errlist.c:820 +msgid "No XENIX semaphores available" +msgstr "Non hai sem�foros XENIX dispo�ibles" + +#: posix/../sysdeps/posix/gai_strerror.c:36 +msgid "No address associated with hostname" +msgstr "Non hai un enderezo asociado ao nome de servidor" + +#: resolv/herror.c:77 +msgid "No address associated with name" +msgstr "Non hai un enderezo asociado ao nome" + +#: stdio-common/../sysdeps/gnu/errlist.c:732 +msgid "No anode" +msgstr "Non hai un anodo" + +#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this +#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the +#. TRANS other from network operations. +#: stdio-common/../sysdeps/gnu/errlist.c:408 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:161 +msgid "No buffer space available" +msgstr "Non hai espacio dispo�ible no buffer" + +#. TRANS There are no child processes. This error happens on operations that are +#. TRANS supposed to manipulate child processes, when there aren't any processes +#. TRANS to manipulate. +#: stdio-common/../sysdeps/gnu/errlist.c:89 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:39 +msgid "No child processes" +msgstr "Non hai procesos fillo" + +#: stdio-common/../sysdeps/gnu/errlist.c:652 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:90 +msgid "No data available" +msgstr "Non hai datos dispo�ibles" + +#: nis/nis_error.c:73 +msgid "No file space on server" +msgstr "Non hai espacio de ficheiros no servidor" + +#. TRANS No locks available. This is used by the file locking facilities; see +#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but +#. TRANS it can result from an operation to an NFS server running another +#. TRANS operating system. +#: stdio-common/../sysdeps/gnu/errlist.c:547 +msgid "No locks available" +msgstr "Non hai bloqueos dispo�ibles" + +#: posix/regex.c:1019 +msgid "No match" +msgstr "Nada coincide" + +#: stdio-common/../sysdeps/gnu/errlist.c:832 +msgid "No medium found" +msgstr "Non se atopou o medio" + +#: stdio-common/../sysdeps/gnu/errlist.c:660 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:64 +msgid "No message of desired type" +msgstr "Non hai unha mensaxe do tipo desexado" + +#: nis/ypclnt.c:789 +msgid "No more records in map database" +msgstr "Non hai m�is rexistros na base de datos de mapas" + +#: posix/regex.c:5569 +msgid "No previous regular expression" +msgstr "Non hai unha expresi�n regular precedente" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:75 +msgid "No record locks available" +msgstr "Non hai bloqueos de rexistro dispo�ibles" + +#: sunrpc/rpcinfo.c:570 +msgid "No remote programs registered.\n" +msgstr "Non hai programas remotos rexistrados.\n" + +#. TRANS The remote host for a requested network connection is not reachable. +#: stdio-common/../sysdeps/gnu/errlist.c:474 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:177 +msgid "No route to host" +msgstr "Non hai unha rota ao servidor" + +#. TRANS No space left on device; write operation on a file failed because the +#. TRANS disk is full. +#: stdio-common/../sysdeps/gnu/errlist.c:208 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:57 +msgid "No space left on device" +msgstr "Non hai espacio libre no dispositivo" + +#. TRANS The wrong type of device was given to a function that expects a +#. TRANS particular sort of device. +#: stdio-common/../sysdeps/gnu/errlist.c:147 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:48 +msgid "No such device" +msgstr "Non hai tal dispositivo" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:35 +msgid "No such device or address" +msgstr "Non hai tal dispositivo ou enderezo" + +#. TRANS No such file or directory. This is a ``file doesn't exist'' error +#. TRANS for ordinary files that are referenced in contexts where they are +#. TRANS expected to already exist. +#: stdio-common/../sysdeps/gnu/errlist.c:31 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:31 +msgid "No such file or directory" +msgstr "Non hai tal ficheiro ou directorio" + +#: nis/ypclnt.c:783 +msgid "No such key in map" +msgstr "Non hai tal clave no mapa" + +#: nis/ypclnt.c:781 +msgid "No such map in server's domain" +msgstr "Non hai tal mapa no dominio do servidor" + +#. TRANS No process matches the specified process ID. +#: stdio-common/../sysdeps/gnu/errlist.c:36 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:32 +msgid "No such process" +msgstr "Non hai tal proceso" + +#: nis/nis_error.c:60 +msgid "Non NIS+ namespace encountered" +msgstr "Non se atopou un espacio de nomes NIS+" + +#: posix/../sysdeps/posix/gai_strerror.c:33 +msgid "Non-recoverable failure in name resolution" +msgstr "Fallo non recuperable na resoluci�n de nomes" + +#: nis/nis_print.c:176 +msgid "None.\n" +msgstr "Ning�n.\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:816 +msgid "Not a XENIX named type file" +msgstr "Non � un ficheiro de tipo nomeado XENIX" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:106 +msgid "Not a data message" +msgstr "Non � unha mensaxe de datos" + +#. TRANS A file that isn't a directory was specified when a directory is required. +#: stdio-common/../sysdeps/gnu/errlist.c:152 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:49 +msgid "Not a directory" +msgstr "Non � un directorio" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:166 +msgid "Not a name file" +msgstr "Non � un ficheiro de nome" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:89 +msgid "Not a stream device" +msgstr "Non � un dispositivo de fluxo" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:167 +msgid "Not available" +msgstr "Non dispo�ible" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:41 +msgid "Not enough space" +msgstr "Non hai espacio abondo" + +#: nis/nis_error.c:30 +msgid "Not found" +msgstr "Non atopado" + +#: nis/nis_error.c:48 +msgid "Not found, no such name" +msgstr "Non atopado, non hai tal nome" + +#: nis/nis_error.c:43 +msgid "Not master server for this domain" +msgstr "Non hai servidor mestre para este dominio" + +#: nis/nis_error.c:39 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:30 +msgid "Not owner" +msgstr "Non � o propietario" + +#. TRANS Not supported. A function returns this error when certain parameter +#. TRANS values are valid, but the functionality they request is not available. +#. TRANS This can mean that the function does not implement a particular command +#. TRANS or option value or flag bit at all. For functions that operate on some +#. TRANS object given in a parameter, such as a file descriptor or a port, it +#. TRANS might instead mean that only @emph{that specific object} (file +#. TRANS descriptor, port, etc.) is unable to support the other parameters given; +#. TRANS different file descriptors might support different ranges of parameter +#. TRANS values. +#. TRANS +#. TRANS If the entire function is not available at all in the implementation, +#. TRANS it returns @code{ENOSYS} instead. +#: stdio-common/../sysdeps/gnu/errlist.c:591 +msgid "Not supported" +msgstr "Non soportado" + +#: nis/nis_print.c:263 +#, c-format +msgid "Number of Columns : %d\n" +msgstr "N�mero de Columnas : %d\n" + +#: nis/nis_print.c:362 +#, c-format +msgid "Number of objects : %u\n" +msgstr "N�mero de obxectos: %u\n" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:119 +msgid "Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS" +msgstr "O n�mero de enlaces simb�licos atopados durante o percorrido pola rota supera MAXSYMLINKS" + +#. TRANS Domain error; used by mathematical functions when an argument value does +#. TRANS not fall into the domain over which the function is defined. +#: stdio-common/../sysdeps/gnu/errlist.c:240 +msgid "Numerical argument out of domain" +msgstr "Par�metro num�rico f�ra do dominio" + +#. TRANS Range error; used by mathematical functions when the result value is +#. TRANS not representable because of overflow or underflow. +#: stdio-common/../sysdeps/gnu/errlist.c:246 +msgid "Numerical result out of range" +msgstr "Resultado num�rico f�ra de rango" + +#: nis/nis_print.c:366 +#, c-format +msgid "Object #%d:\n" +msgstr "Obxecto n� %d:\n" + +#: nis/nis_print.c:316 +#, c-format +msgid "Object Name : %s\n" +msgstr "Nome do Obxecto : %s\n" + +#: nis/nis_print.c:328 +msgid "Object Type : " +msgstr "Tipo do Obxecto : " + +#. TRANS An attempt was made to NFS-mount a remote file system with a file name that +#. TRANS already specifies an NFS-mounted file. +#. TRANS (This is an error on some operating systems, but we expect it to work +#. TRANS properly on the GNU system, making this error code impossible.) +#: stdio-common/../sysdeps/gnu/errlist.c:514 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:95 +msgid "Object is remote" +msgstr "O obxecto � remoto" + +#: nis/nis_error.c:42 +msgid "Object with same name exists" +msgstr "Xa existe un obxecto co mesmo nome" + +#: timezone/zic.c:2023 +msgid "Odd number of quotation marks" +msgstr "N�mero de comi�as impar" + +#: nscd/nscd.c:191 nscd/nscd.c:211 nscd/nscd.c:217 +msgid "Only root is allowed to use this option!" +msgstr "�S� root pode usar esa opci�n!" + +#. TRANS An operation is already in progress on an object that has non-blocking +#. TRANS mode selected. +#: stdio-common/../sysdeps/gnu/errlist.c:306 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:178 +msgid "Operation already in progress" +msgstr "A operaci�n xa se est� levando a cabo" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:76 +msgid "Operation canceled" +msgstr "Operaci�n cancelada" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:118 +msgid "Operation not applicable" +msgstr "Operaci�n non aplicable" + +#. TRANS Operation not permitted; only the owner of the file (or other resource) +#. TRANS or processes with special privileges can perform the operation. +#: stdio-common/../sysdeps/gnu/errlist.c:24 +msgid "Operation not permitted" +msgstr "Operaci�n non permitida" + +#. TRANS The operation you requested is not supported. Some socket functions +#. TRANS don't make sense for all types of sockets, and others may not be +#. TRANS implemented for all communications protocols. In the GNU system, this +#. TRANS error can happen for many calls when the object does not support the +#. TRANS particular operation; it is a generic indication that the server knows +#. TRANS nothing to do for that call. +#: stdio-common/../sysdeps/gnu/errlist.c:350 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:77 +msgid "Operation not supported" +msgstr "Operaci�n non soportada" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:151 +msgid "Operation not supported on transport endpoint" +msgstr "Operaci�n non soportada no punto final do transporte" + +#. TRANS An operation that cannot complete immediately was initiated on an object +#. TRANS that has non-blocking mode selected. Some functions that must always +#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return +#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that +#. TRANS the operation has begun and will take some time. Attempts to manipulate +#. TRANS the object before the call completes return @code{EALREADY}. You can +#. TRANS use the @code{select} function to find out when the pending operation +#. TRANS has completed; @pxref{Waiting for I/O}. +#: stdio-common/../sysdeps/gnu/errlist.c:300 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:179 +msgid "Operation now in progress" +msgstr "Operaci�n lev�ndose a cabo" + +#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above). +#. TRANS The values are always the same, on every operating system. +#. TRANS +#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a +#. TRANS separate error code. +#: stdio-common/../sysdeps/gnu/errlist.c:288 +msgid "Operation would block" +msgstr "A operaci�n bloquear�ase" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:128 +msgid "Option not supported by protocol" +msgstr "Opci�n non soportada polo protocolo" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:92 +msgid "Out of stream resources" +msgstr "Acab�ronse os recursos de fluxo" + +#: stdio-common/../sysdeps/gnu/errlist.c:664 +msgid "Out of streams resources" +msgstr "Acab�ronse os recursos de fluxo" + +#: iconv/iconv_prog.c:59 locale/programs/localedef.c:98 +msgid "Output control:" +msgstr "Control de sa�da:" + +#: elf/sprof.c:72 +msgid "Output selection:" +msgstr "Selecci�n de sa�da:" + +#: nis/nis_print.c:318 +#, c-format +msgid "Owner : %s\n" +msgstr "Propietario : %s\n" + +#: nis/nis_print.c:126 +msgid "PRIVATE\n" +msgstr "PRIVADO\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:756 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:94 +msgid "Package not installed" +msgstr "Paquete non instalado" + +#: nscd/nscd_conf.c:82 +#, c-format +msgid "Parse error: %s" +msgstr "Erro na an�lise: %s" + +#: nis/nis_error.c:54 +msgid "Partial success" +msgstr "�xito parcial" + +#: nis/nis_error.c:62 +msgid "Passed object is not the same object on server" +msgstr "O obxecto pasado non � o mesmo obxecto no servidor" + +#. TRANS Permission denied; the file permissions do not allow the attempted operation. +#: nis/nis_error.c:38 nis/ypclnt.c:803 +#: stdio-common/../sysdeps/gnu/errlist.c:108 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:42 +msgid "Permission denied" +msgstr "Permiso denegado" + +#: sysdeps/generic/siglist.h:71 sysdeps/gnu/siglist.h:65 +msgid "Power failure" +msgstr "Fallo de enerx�a" + +#: posix/regex.c:1058 +msgid "Premature end of regular expression" +msgstr "Final prematura da expresi�n regular" + +#: db2/makedb.c:63 +msgid "Print content of database file, one entry a line" +msgstr "Visualiza-lo contido do ficheiro de base de datos, unha entrada por li�a" + +#: nscd/nscd.c:86 +msgid "Print current configuration statistic" +msgstr "Visualiza-la estat�stica da configuraci�n actual" + +#: locale/programs/localedef.c:104 +msgid "Print more messages" +msgstr "Visualizar m�is mensaxes" + +#: argp/argp-parse.c:148 +msgid "Print program version" +msgstr "Visualiza-la versi�n do programa" + +#: nis/nis_error.c:29 +msgid "Probable success" +msgstr "�xito probable" + +#: nis/nis_error.c:31 +msgid "Probably not found" +msgstr "Probablemente non atopado" + +#: stdio-common/../sysdeps/unix/siglist.c:52 sysdeps/generic/siglist.h:53 +#: sysdeps/gnu/siglist.h:47 +msgid "Profiling timer expired" +msgstr "Rematado o tempo de perfilado" + +#: stdio-common/../sysdeps/gnu/errlist.c:708 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:71 +msgid "Protocol driver not attached" +msgstr "Controlador de protocolos non conectado" + +#: stdio-common/../sysdeps/gnu/errlist.c:676 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:100 +msgid "Protocol error" +msgstr "Erro de protocolo" + +#. TRANS The socket communications protocol family you requested is not supported. +#: stdio-common/../sysdeps/gnu/errlist.c:355 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:152 +msgid "Protocol family not supported" +msgstr "Familia de protocolos non soportada" + +#. TRANS You specified a socket option that doesn't make sense for the +#. TRANS particular protocol being used by the socket. @xref{Socket Options}. +#: stdio-common/../sysdeps/gnu/errlist.c:328 +msgid "Protocol not available" +msgstr "Protocolo non dispo�ible" + +#. TRANS The socket domain does not support the requested communications protocol +#. TRANS (perhaps because the requested protocol is completely invalid). +#. TRANS @xref{Creating a Socket}. +#: stdio-common/../sysdeps/gnu/errlist.c:335 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:149 +msgid "Protocol not supported" +msgstr "Protocolo non soportado" + +#. TRANS The socket type does not support the requested communications protocol. +#: stdio-common/../sysdeps/gnu/errlist.c:322 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:127 +msgid "Protocol wrong type for socket" +msgstr "Tipo incorrecto de protocolo para o socket" + +#: nis/nis_error.c:64 +msgid "Query illegal for named table" +msgstr "Petici�n ilegal para a t�boa nomeada" + +#: stdio-common/../sysdeps/unix/siglist.c:28 sysdeps/generic/siglist.h:31 +#: sysdeps/gnu/siglist.h:25 +msgid "Quit" +msgstr "Abandoar" + +#: stdio-common/../sysdeps/gnu/errlist.c:772 +msgid "RFS specific error" +msgstr "Erro espec�fico de RFS" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:539 +msgid "RPC bad procedure for program" +msgstr "Mal procedemento RPC para o programa" + +#: nis/ypclnt.c:777 +msgid "RPC failure on NIS operation" +msgstr "Fallo de RPC na operaci�n NIS" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:529 +msgid "RPC program not available" +msgstr "Programa RPC non dispo�ible" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:534 +msgid "RPC program version wrong" +msgstr "Versi�n incorrecta do programa RPC" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:519 +msgid "RPC struct is bad" +msgstr "A estructura RPC � incorrecta" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:524 +msgid "RPC version wrong" +msgstr "Versi�n de RPC incorrecta" + +#: sunrpc/clnt_perr.c:270 +msgid "RPC: (unknown error code)" +msgstr "RPC: (c�digo de erro desco�ecido)" + +#: sunrpc/clnt_perr.c:189 +msgid "RPC: Authentication error" +msgstr "RPC: Erro de autentificaci�n" + +#: sunrpc/clnt_perr.c:169 +msgid "RPC: Can't decode result" +msgstr "RPC: Non se pode descodifica-lo resultado" + +#: sunrpc/clnt_perr.c:165 +msgid "RPC: Can't encode arguments" +msgstr "RPC: Non se pode codifica-los par�metros" + +#: sunrpc/clnt_perr.c:229 +msgid "RPC: Failed (unspecified error)" +msgstr "RPC: Fallo (erro non especificado)" + +#: sunrpc/clnt_perr.c:185 +msgid "RPC: Incompatible versions of RPC" +msgstr "RPC: Versi�ns de RPC incompatibles" + +#: sunrpc/clnt_perr.c:221 +msgid "RPC: Port mapper failure" +msgstr "RPC: Fallo do portmapper" + +#: sunrpc/clnt_perr.c:201 +msgid "RPC: Procedure unavailable" +msgstr "RPC: Procedemento non dispo�ible" + +#: sunrpc/clnt_perr.c:225 +msgid "RPC: Program not registered" +msgstr "RPC: Programa non rexistrado" + +#: sunrpc/clnt_perr.c:193 +msgid "RPC: Program unavailable" +msgstr "RPC: Programa non dispo�ible" + +#: sunrpc/clnt_perr.c:197 +msgid "RPC: Program/version mismatch" +msgstr "RPC: Non coinciden os programas/versi�ns" + +#: sunrpc/clnt_perr.c:209 +msgid "RPC: Remote system error" +msgstr "RPC: Erro do sistema remoto" + +#: sunrpc/clnt_perr.c:205 +msgid "RPC: Server can't decode arguments" +msgstr "RPC: O servidor non pode descodifica-los par�metros" + +#: sunrpc/clnt_perr.c:162 +msgid "RPC: Success" +msgstr "RPC: �xito" + +#: sunrpc/clnt_perr.c:181 +msgid "RPC: Timed out" +msgstr "RPC: Tempo esgotado" + +#: sunrpc/clnt_perr.c:177 +msgid "RPC: Unable to receive" +msgstr "RPC: Non se pode recibir" + +#: sunrpc/clnt_perr.c:173 +msgid "RPC: Unable to send" +msgstr "RPC: Non se pode enviar" + +#: sunrpc/clnt_perr.c:213 +msgid "RPC: Unknown host" +msgstr "RPC: Servidor desco�ecido" + +#: sunrpc/clnt_perr.c:217 +msgid "RPC: Unknown protocol" +msgstr "RPC: Protocolo desco�ecido" + +#: nis/nis_print.c:184 +#, c-format +msgid "RSA (%d bits)\n" +msgstr "RSA (%d bits)\n" + +#: elf/dlsym.c:59 elf/dlvsym.c:62 +msgid "RTLD_NEXT used in code not dynamically loaded" +msgstr "�sase RTLD_NEXT en c�digo non cargado dinamicamente" + +#: elf/sprof.c:84 +msgid "Read and display shared object profiling data" +msgstr "Ler e visualiza-los datos do perfil do obxecto compartido" + +#: nscd/nscd.c:81 +msgid "Read configuration data from NAME" +msgstr "Le-los datos de configuraci�n de NOME" + +#. TRANS An attempt was made to modify something on a read-only file system. +#: stdio-common/../sysdeps/gnu/errlist.c:218 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:59 +msgid "Read-only file system" +msgstr "Sistema de ficheiros de s� lectura" + +#: string/strsignal.c:66 +#, c-format +msgid "Real-time signal %d" +msgstr "Sinal de tempo real %d" + +#: posix/regex.c:1061 +msgid "Regular expression too big" +msgstr "Expresi�n regular demasiado grande" + +#: stdio-common/../sysdeps/gnu/errlist.c:828 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:169 +msgid "Remote I/O error" +msgstr "Erro de E/S remota" + +#: stdio-common/../sysdeps/gnu/errlist.c:784 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:111 +msgid "Remote address changed" +msgstr "O enderezo remoto cambiou" + +#: inet/ruserpass.c:177 +msgid "Remove password or make file unreadable by others." +msgstr "Elimina-lo contrasinal ou face-lo ficheiro ilexible por outros." + +#: elf/sprof.c:533 +#, c-format +msgid "Reopening shared object `%s' failed" +msgstr "A apertura do obxecto compartido `%s' fallou" + +#: nis/nis_print.c:170 +msgid "Replicate :\n" +msgstr "Replicar :\n" + +#: argp/argp-help.c:1640 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Informe dos erros a %s.\n" + +#: catgets/gencat.c:224 db2/makedb.c:229 iconv/iconv_prog.c:280 +#: locale/programs/locale.c:254 locale/programs/localedef.c:386 +msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n" +msgstr "Informe dos erros usando o script `glibcbug' a <bugs@gnu.org>.\n" + +#: nis/ypclnt.c:775 +msgid "Request arguments bad" +msgstr "Par�metros da petici�n incorrectos" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:170 +msgid "Reserved for future use" +msgstr "Reservado para uso futuro" + +#: resolv/herror.c:73 +msgid "Resolver Error 0 (no error)" +msgstr "Erro do resolvedor 0 (sen erro)" + +#: resolv/herror.c:117 +msgid "Resolver internal error" +msgstr "Erro interno do resolvedor" + +#. TRANS Deadlock avoided; allocating a system resource would have resulted in a +#. TRANS deadlock situation. The system does not guarantee that it will notice +#. TRANS all such situations. This error means you got lucky and the system +#. TRANS noticed; it might just hang. @xref{File Locks}, for an example. +#: stdio-common/../sysdeps/gnu/errlist.c:97 +msgid "Resource deadlock avoided" +msgstr "Interbloqueo de recursos evitado" + +#: stdio-common/../sysdeps/unix/siglist.c:54 sysdeps/generic/siglist.h:74 +#: sysdeps/gnu/siglist.h:68 +msgid "Resource lost" +msgstr "Recurso perdido" + +#. TRANS Resource temporarily unavailable; the call might work if you try again +#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN}; +#. TRANS they are always the same in the GNU C library. +#. TRANS +#. TRANS This error can happen in a few different situations: +#. TRANS +#. TRANS @itemize @bullet +#. TRANS @item +#. TRANS An operation that would block was attempted on an object that has +#. TRANS non-blocking mode selected. Trying the same operation again will block +#. TRANS until some external condition makes it possible to read, write, or +#. TRANS connect (whatever the operation). You can use @code{select} to find out +#. TRANS when the operation will be possible; @pxref{Waiting for I/O}. +#. TRANS +#. TRANS @strong{Portability Note:} In many older Unix systems, this condition +#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code +#. TRANS different from @code{EAGAIN}. To make your program portable, you should +#. TRANS check for both codes and treat them the same. +#. TRANS +#. TRANS @item +#. TRANS A temporary resource shortage made an operation impossible. @code{fork} +#. TRANS can return this error. It indicates that the shortage is expected to +#. TRANS pass, so your program can try the call again later and it may succeed. +#. TRANS It is probably a good idea to delay for a few seconds before trying it +#. TRANS again, to allow time for other processes to release scarce resources. +#. TRANS Such shortages are usually fairly serious and affect the whole system, +#. TRANS so usually an interactive program should report the error to the user +#. TRANS and return to its command loop. +#. TRANS @end itemize +#: stdio-common/../sysdeps/gnu/errlist.c:279 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:40 +msgid "Resource temporarily unavailable" +msgstr "Recurso non dispo�ible temporalmente" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:63 +msgid "Result too large" +msgstr "Resultado demasiado grande" + +#: nis/nis_error.c:47 +msgid "Results sent to callback proc" +msgstr "Resultado enviado ao procedemento callback" + +#: elf/sprof.c:87 +msgid "SHOBJ [PROFDATA]" +msgstr "SOBJ [PROFDATA]" + +#: nis/nis_print.c:33 +msgid "SUNYP" +msgstr "SUNYP" + +#: nis/nis_print.c:265 +#, c-format +msgid "Search Path : %s\n" +msgstr "Rota de B�squeda : %s\n" + +#: stdio-common/../sysdeps/unix/siglist.c:36 sysdeps/generic/siglist.h:38 +#: sysdeps/gnu/siglist.h:32 +msgid "Segmentation fault" +msgstr "Fallo de segmento" + +#: nis/nis_error.c:35 +msgid "Server busy, try again" +msgstr "Servidor ocupado, probe outra vez" + +#: nis/nis_error.c:41 +msgid "Server out of memory" +msgstr "Servidor sen memoria" + +#: sunrpc/clnt_perr.c:335 +msgid "Server rejected credential" +msgstr "O servidor rexeitou a credencial" + +#: sunrpc/clnt_perr.c:343 +msgid "Server rejected verifier" +msgstr "O servidor rexeitou o verificador" + +#: posix/../sysdeps/posix/gai_strerror.c:38 +msgid "Servname not supported for ai_socktype" +msgstr "Servname non soportado para ai_socktype" + +#: argp/argp-parse.c:89 +msgid "Set the program name" +msgstr "Establece-lo nome do programa" + +#: nscd/nscd.c:85 +msgid "Shut the server down" +msgstr "Apaga-lo servidor" + +#: stdio-common/../sysdeps/unix/siglist.c:25 +msgid "Signal 0" +msgstr "Sinal 0" + +#. TRANS A file that isn't a socket was specified when a socket is required. +#: stdio-common/../sysdeps/gnu/errlist.c:311 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:124 +msgid "Socket operation on non-socket" +msgstr "Operaci�n de socket nun non-socket" + +#. TRANS The socket type is not supported. +#: stdio-common/../sysdeps/gnu/errlist.c:340 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:150 +msgid "Socket type not supported" +msgstr "Tipo de socket non soportado" + +#. TRANS A network connection was aborted locally. +#: stdio-common/../sysdeps/gnu/errlist.c:394 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:159 +msgid "Software caused connection abort" +msgstr "Un programa abortou a conexi�n" + +#: sunrpc/rpcinfo.c:658 +msgid "Sorry. You are not root\n" +msgstr "S�ntocho. Non es root\n" + +#: locale/programs/localedef.c:94 +msgid "Source definitions are found in FILE" +msgstr "As definici�ns de fonte at�panse en FICH" + +#: stdio-common/../sysdeps/gnu/errlist.c:764 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:98 +msgid "Srmount error" +msgstr "Erro de srmount" + +#: sysdeps/generic/siglist.h:66 sysdeps/gnu/siglist.h:60 +msgid "Stack fault" +msgstr "Fallo de pila" + +#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS +#. TRANS system which is due to file system rearrangements on the server host. +#. TRANS Repairing this condition usually requires unmounting and remounting +#. TRANS the NFS file system on the local host. +#: stdio-common/../sysdeps/gnu/errlist.c:506 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:180 +msgid "Stale NFS file handle" +msgstr "Manexador de ficheiro NFS trabucado" + +#: nscd/nscd.c:84 +msgid "Start NUMBER threads" +msgstr "Comezar N�MERO f�os" + +#: nis/nis_print.c:361 +#, c-format +msgid "Status : %s\n" +msgstr "Estado : %s\n" + +#: stdio-common/../sysdeps/unix/siglist.c:43 sysdeps/generic/siglist.h:44 +#: sysdeps/gnu/siglist.h:38 +msgid "Stopped" +msgstr "Detido" + +#: stdio-common/../sysdeps/unix/siglist.c:42 sysdeps/generic/siglist.h:43 +#: sysdeps/gnu/siglist.h:37 +msgid "Stopped (signal)" +msgstr "Detido (sinal)" + +#: stdio-common/../sysdeps/unix/siglist.c:46 sysdeps/generic/siglist.h:47 +#: sysdeps/gnu/siglist.h:41 +msgid "Stopped (tty input)" +msgstr "Detido (entrada do terminal)" + +#: stdio-common/../sysdeps/unix/siglist.c:47 sysdeps/generic/siglist.h:48 +#: sysdeps/gnu/siglist.h:42 +msgid "Stopped (tty output)" +msgstr "Detido (sa�da do terminal)" + +#: stdio-common/../sysdeps/gnu/errlist.c:808 +msgid "Streams pipe error" +msgstr "Erro de canalizaci�n de fluxo" + +#: stdio-common/../sysdeps/gnu/errlist.c:812 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:164 +msgid "Structure needs cleaning" +msgstr "A estructura precisa dunha limpeza" + +#: nis/nis_error.c:28 nis/ypclnt.c:773 nis/ypclnt.c:847 posix/regex.c:1016 +#: stdio-common/../sysdeps/gnu/errlist.c:19 +msgid "Success" +msgstr "�xito" + +#: locale/programs/localedef.c:103 +msgid "Suppress warnings and information messages" +msgstr "Elimina-las mensaxes de aviso e informaci�n" + +#: locale/programs/localedef.c:92 +msgid "Symbolic character names defined in FILE" +msgstr "Nomes de caracteres simb�licos definidos en FICH" + +#: posix/../sysdeps/posix/gai_strerror.c:40 +msgid "System error" +msgstr "Erro de sistema" + +#: locale/programs/locale.c:63 +msgid "System information:" +msgstr "Informaci�n do sistema:" + +#: nis/ypclnt.c:853 +msgid "System resource allocation failure" +msgstr "Fallo ao reservar recursos do sistema" + +#: locale/programs/localedef.c:381 +#, c-format +msgid "" +"System's directory for character maps : %s\n" +" repertoire maps: %s\n" +" locale path : %s\n" +"%s" +msgstr "" +"Directorio do sistema para mapas de caracteres : %s\n" +" mapas de repertorios: %s\n" +" locale : %s\n" +"%s" + +#: nscd/nscd.c:87 +msgid "TABLE" +msgstr "T�BOA" + +#: nis/nis_print.c:117 +msgid "TABLE\n" +msgstr "T�BOA\n" + +#: nscd/nscd.c:89 +msgid "TABLE,yes" +msgstr "T�BOA,si" + +#: nis/nis_print.c:262 +#, c-format +msgid "Table Type : %s\n" +msgstr "Tipo de T�boa : %s\n" + +#: posix/../sysdeps/posix/gai_strerror.c:31 +msgid "Temporary failure in name resolution" +msgstr "Fallo temporal na resoluci�n de nomes" + +#: stdio-common/../sysdeps/unix/siglist.c:40 sysdeps/generic/siglist.h:41 +#: sysdeps/gnu/siglist.h:35 +msgid "Terminated" +msgstr "Terminado" + +#. TRANS An attempt to execute a file that is currently open for writing, or +#. TRANS write to a file that is currently being executed. Often using a +#. TRANS debugger to run a program is considered having it open for writing and +#. TRANS will cause this error. (The name stands for ``text file busy''.) This +#. TRANS is not an error in the GNU system; the text is copied as necessary. +#: stdio-common/../sysdeps/gnu/errlist.c:197 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:55 +msgid "Text file busy" +msgstr "Ficheiro de texto en uso" + +#: iconv/iconv_prog.c:578 +msgid "" +"The following list contain all the coded character sets known. This does\n" +"not necessarily mean that all combinations of these names can be used for\n" +"the FROM and TO command line parameters. One coded character set can be\n" +"listed with several different names (aliases).\n" +" Some of the names are no plain strings but instead regular expressions and\n" +"they match a variety of names which can be given as parameters to the\n" +"program.\n" +"\n" +" " +msgstr "" +"A seguinte lista cont�n t�dolos xogos de caracteres co�ecidos. Isto non\n" +"significa necesariamente que t�dalas combinaci�ns deses nomes poidan ser usadas\n" +"para os par�metros de li�a de comandos DE e A. Un xogo de caracteres pode ser\n" +"listado con distintos nomes (alias).\n" +" Alg�ns dos nomes non son cadeas normais, sen�n expresi�ns regulares e\n" +"coinciden cunha variedade de nomes que poden ser dados como par�metros do\n" +"programa\n" +"\n" +" " + +#: nis/nis_print.c:223 +msgid "Time to live : " +msgstr "Tempo de vida : " + +#: stdio-common/../sysdeps/gnu/errlist.c:680 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:91 +msgid "Timer expired" +msgstr "Acabou o tempo" + +#: nis/nis_error.c:55 +msgid "Too many attributes" +msgstr "Demasiados atributos" + +#. TRANS Too many levels of symbolic links were encountered in looking up a file name. +#. TRANS This often indicates a cycle of symbolic links. +#: stdio-common/../sysdeps/gnu/errlist.c:457 +msgid "Too many levels of symbolic links" +msgstr "Demasiados niveis de enlaces simb�licos" + +#. TRANS Too many links; the link count of a single file would become too large. +#. TRANS @code{rename} can cause this error if the file being renamed already has +#. TRANS as many links as it can take (@pxref{Renaming Files}). +#: stdio-common/../sysdeps/gnu/errlist.c:225 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:60 +msgid "Too many links" +msgstr "Demasiados enlaces" + +#. TRANS The current process has too many files open and can't open any more. +#. TRANS Duplicate descriptors do count toward this limit. +#. TRANS +#. TRANS In BSD and GNU, the number of open files is controlled by a resource +#. TRANS limit that can usually be increased. If you get this error, you might +#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; +#. TRANS @pxref{Limits on Resources}. +#: stdio-common/../sysdeps/gnu/errlist.c:175 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:53 +msgid "Too many open files" +msgstr "Demasiados ficheiros abertos" + +#. TRANS There are too many distinct file openings in the entire system. Note +#. TRANS that any number of linked channels count as just one file opening; see +#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system. +#: stdio-common/../sysdeps/gnu/errlist.c:182 +msgid "Too many open files in system" +msgstr "Demasiados ficheiros abertos no sistema" + +#. TRANS This means that the per-user limit on new process would be exceeded by +#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on +#. TRANS the @code{RLIMIT_NPROC} limit. +#: stdio-common/../sysdeps/gnu/errlist.c:487 +msgid "Too many processes" +msgstr "Demasiados procesos" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:439 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:173 +msgid "Too many references: cannot splice" +msgstr "Demasiadas referencias: non se pode unir" + +#. TRANS The file quota system is confused because there are too many users. +#. TRANS @c This can probably happen in a GNU system when using NFS. +#: stdio-common/../sysdeps/gnu/errlist.c:493 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:123 +msgid "Too many users" +msgstr "Demasiados usuarios" + +#: stdio-common/../sysdeps/unix/siglist.c:30 sysdeps/generic/siglist.h:33 +#: sysdeps/gnu/siglist.h:27 +msgid "Trace/breakpoint trap" +msgstr "Trampa de seguemento/punto de ruptura" + +#: posix/regex.c:1031 +msgid "Trailing backslash" +msgstr "Barra invertida extra � final" + +#. TRANS In the GNU system, opening a file returns this error when the file is +#. TRANS translated by a program and the translator program dies while starting +#. TRANS up, before it has connected to the file. +#: stdio-common/../sysdeps/gnu/errlist.c:614 +msgid "Translator died" +msgstr "O proceso traductor morreu" + +#. TRANS You tried to connect a socket that is already connected. +#. TRANS @xref{Connecting}. +#: stdio-common/../sysdeps/gnu/errlist.c:414 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:162 +msgid "Transport endpoint is already connected" +msgstr "O destino do transporte xa est� conectado" + +#. TRANS The socket is not connected to anything. You get this error when you +#. TRANS try to transmit data over a socket, without first specifying a +#. TRANS destination for the data. For a connectionless socket (for datagram +#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. +#: stdio-common/../sysdeps/gnu/errlist.c:422 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:163 +msgid "Transport endpoint is not connected" +msgstr "O destino do transporte non est� conectado" + +#: argp/argp-help.c:1612 +#, c-format +msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgstr "Escriba `%s --help' ou `%s --usage' para obter m�is informaci�n.\n" + +#: inet/rcmd.c:150 +#, c-format +msgid "Trying %s...\n" +msgstr "Probando %s...\n" + +#: nis/nis_print.c:163 +#, c-format +msgid "Type : %s\n" +msgstr "Tipo : %s\n" + +#: nis/nis_print.c:47 +msgid "UNKNOWN" +msgstr "DESCO�ECIDO" + +#: nis/nis_error.c:72 +msgid "Unable to authenticate NIS+ client" +msgstr "Non se pode autentifica-lo cliente NIS+" + +#: nis/nis_error.c:71 +msgid "Unable to authenticate NIS+ server" +msgstr "Non se pode autentifica-lo servidor NIS+" + +#: nis/nis_error.c:46 +msgid "Unable to create callback" +msgstr "Non se pode crea-lo callback" + +#: nis/nis_error.c:74 +msgid "Unable to create process on server" +msgstr "Non se pode crear un proceso no servidor" + +#: nis/nis_print.c:190 +#, c-format +msgid "Unknown (type = %d, bits = %d)\n" +msgstr "Desco�ecido (tipo = %d, bits = %d)\n" + +#: inet/ruserpass.c:263 +#, c-format +msgid "Unknown .netrc keyword %s" +msgstr "Clave %s desco�ecida no .netrc" + +#: nis/ypclnt.c:807 +msgid "Unknown NIS error code" +msgstr "C�digo de erro NIS desco�ecido" + +#: nss/getent.c:512 +#, c-format +msgid "Unknown database: %s\n" +msgstr "Base de datos desco�ecida: %s\n" + +#: posix/../sysdeps/posix/gai_strerror.c:51 +msgid "Unknown error" +msgstr "Erro desco�ecido" + +#: string/../sysdeps/generic/_strerror.c:48 +#: string/../sysdeps/mach/_strerror.c:87 +#: sysdeps/mach/hurd/mips/dl-machine.c:82 +msgid "Unknown error " +msgstr "Erro desco�ecido " + +#: resolv/herror.c:74 +msgid "Unknown host" +msgstr "Servidor desco�ecido" + +#: nis/nis_error.c:34 +msgid "Unknown object" +msgstr "Obxecto desco�ecido" + +#: nscd/nscd_conf.c:179 +#, c-format +msgid "Unknown option: %s %s %s" +msgstr "Opci�n desco�ecida: %s %s %s" + +#: resolv/herror.c:120 +msgid "Unknown resolver error" +msgstr "Erro do resolvedor desco�ecido" + +#: resolv/herror.c:76 +msgid "Unknown server error" +msgstr "Erro do servidor desco�ecido" + +#: string/strsignal.c:70 +#, c-format +msgid "Unknown signal %d" +msgstr "Sinal %d desco�ecida" + +#: misc/error.c:107 timezone/zic.c:386 +msgid "Unknown system error" +msgstr "Erro de sistema desco�ecido" + +#: nis/ypclnt.c:855 +msgid "Unknown ypbind error" +msgstr "Erro de ypbind desco�ecido" + +#: posix/regex.c:1040 +msgid "Unmatched ( or \\(" +msgstr "( ou \\( sen parella" + +#: posix/regex.c:1064 +msgid "Unmatched ) or \\)" +msgstr ") ou \\) sen parella" + +#: posix/regex.c:1037 +msgid "Unmatched [ or [^" +msgstr "[ ou [^ sen parella" + +#: posix/regex.c:1043 +msgid "Unmatched \\{" +msgstr "\\{ sen parella" + +#: posix/getconf.c:692 +#, c-format +msgid "Unrecognized variable `%s'" +msgstr "Variable `%s' non reco�ecida" + +#: stdio-common/../sysdeps/unix/siglist.c:41 sysdeps/generic/siglist.h:42 +#: sysdeps/gnu/siglist.h:36 +msgid "Urgent I/O condition" +msgstr "Condici�n de E/S urxente" + +#: argp/argp-help.c:1569 +msgid "Usage:" +msgstr "Uso:" + +#: posix/getconf.c:604 +#, c-format +msgid "Usage: %s variable_name [pathname]\n" +msgstr "Uso: %s nome_variable [nome]\n" + +#: sunrpc/rpcinfo.c:674 +msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" +msgstr "Uso: rpcinfo [ -n numport ] -u host numprog [ numvers ]\n" + +#: nscd/nscd.c:89 +msgid "Use separate cache for each user" +msgstr "Usar unha cach� separada para cada usuario" + +#: stdio-common/../sysdeps/unix/siglist.c:55 sysdeps/generic/siglist.h:55 +#: sysdeps/gnu/siglist.h:49 +msgid "User defined signal 1" +msgstr "Sinal 1 definido polo usuario" + +#: stdio-common/../sysdeps/unix/siglist.c:56 sysdeps/generic/siglist.h:56 +#: sysdeps/gnu/siglist.h:50 +msgid "User defined signal 2" +msgstr "Sinal 2 definido polo usuario" + +#: stdio-common/../sysdeps/gnu/errlist.c:672 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:108 +msgid "Value too large for defined data type" +msgstr "Valor grande de m�is para o tipo de datos definido" + +#: stdio-common/../sysdeps/unix/siglist.c:51 sysdeps/generic/siglist.h:52 +#: sysdeps/gnu/siglist.h:46 +msgid "Virtual timer expired" +msgstr "Tempo virtual esgotado" + +#: timezone/zic.c:1927 +msgid "Wild result from command execution" +msgstr "Resultado salvaxe da execuci�n do comando" + +#: stdio-common/../sysdeps/unix/siglist.c:53 sysdeps/generic/siglist.h:54 +#: sysdeps/gnu/siglist.h:48 +msgid "Window changed" +msgstr "A vent� cambiou" + +#: locale/programs/locale.c:67 +msgid "Write names of available charmaps" +msgstr "Escribi-los nomes dos mapas de caracteres dispo�ibles" + +#: locale/programs/locale.c:65 +msgid "Write names of available locales" +msgstr "Escribi-los nomes dos `locales' dispo�ibles" + +#: locale/programs/locale.c:69 +msgid "Write names of selected categories" +msgstr "Escribi-los nomes das categor�as seleccionadas" + +#: locale/programs/locale.c:70 +msgid "Write names of selected keywords" +msgstr "Escribi-los nomes das claves seleccionadas" + +#: catgets/gencat.c:111 db2/makedb.c:59 +msgid "Write output to file NAME" +msgstr "Escribi-la sa�da no ficheiro NOME" + +#: catgets/gencat.c:242 db2/makedb.c:247 elf/sprof.c:361 +#: iconv/iconv_prog.c:299 locale/programs/locale.c:272 +#: locale/programs/localedef.c:405 nscd/nscd.c:282 nscd/nscd_nischeck.c:95 +#: nss/getent.c:71 posix/getconf.c:629 +#, c-format +msgid "Written by %s.\n" +msgstr "Escrito por %s.\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:836 +msgid "Wrong medium type" +msgstr "Tipo de medio incorecto" + +#: nis/nis_print.c:39 +msgid "X500" +msgstr "X500" + +#: nis/nis_print.c:43 +msgid "XCHS" +msgstr "XCHS" + +#: nis/ypclnt.c:171 +#, c-format +msgid "YPBINDPROC_DOMAIN: %s\n" +msgstr "YPBINDPROC_DOMAIN: %s\n" + +#: nis/nis_error.c:70 +msgid "Yes, 42 is the meaning of life" +msgstr "Si, 42 � o significado da vida" + +#. TRANS You did @strong{what}? +#: stdio-common/../sysdeps/gnu/errlist.c:626 +msgid "You really blew it this time" +msgstr "Si que a fastidiaches esta vez" + +#: timezone/zic.c:1089 +msgid "Zone continuation line end time is not after end time of previous line" +msgstr "A hora final da li�a de continuaci�n de fuso horario non segue � hora final da li�a anterior" + +#: iconv/iconv_prog.c:70 +msgid "[FILE...]" +msgstr "[FICH...]" + +#: sunrpc/pmap_clnt.c:71 +msgid "__get_myaddress: ioctl (get interface configuration)" +msgstr "__get_myaddress: ioctl (obte-la configuraci�n da interface)" + +#: locale/programs/charmap.c:480 locale/programs/locfile.c:477 +#: locale/programs/repertoire.c:290 +#, c-format +msgid "`%1$s' definition does not end with `END %1$s'" +msgstr "A definici�n `%1$s' non remata con `END %1$s'" + +#: elf/sprof.c:762 +#, c-format +msgid "`%s' is no correct profile data file for `%s'" +msgstr "`%s' non � un ficheiro de datos de perf�s correcto para `%s'" + +#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193 +#, c-format +msgid "`-1' must be last entry in `%s' field in `%s' category" +msgstr "`-1' debe se-la derradeira entrada do campo '%s' na categor�a `%s'" + +#: locale/programs/ld-collate.c:1670 +msgid "`...' must only be used in `...' and `UNDEFINED' entries" +msgstr "`...' debe ser usado s� nas entradas `...' e `UNDEFINED'" + +#: locale/programs/locfile.c:674 +msgid "`from' expected after first argument to `collating-element'" +msgstr "Esper�base un `from' tralo primeiro par�metro de `collating-element'" + +#: locale/programs/ld-collate.c:1122 +msgid "`from' string in collation element declaration contains unknown character" +msgstr "A cadea `from' da delaraci�n de elemento de ordeaci�n cont�n un car�cter desco�ecido" + +#: posix/../sysdeps/posix/gai_strerror.c:34 +msgid "ai_family not supported" +msgstr "ai_family non soportado" + +#: posix/../sysdeps/posix/gai_strerror.c:39 +msgid "ai_socktype not supported" +msgstr "ai_socktype non soportado" + +#: nscd/nscd.c:127 +msgid "already running" +msgstr "xa en execuci�n" + +#: locale/programs/charmap.c:352 locale/programs/repertoire.c:164 +#, c-format +msgid "argument to <%s> must be a single character" +msgstr "o par�metro de <%s> debe ser un s� car�cter" + +#: locale/programs/locfile.c:240 +#, c-format +msgid "argument to `%s' must be a single character" +msgstr "o par�metro de `%s' debe ser un s� car�cter" + +#: sunrpc/auth_unix.c:310 +msgid "auth_none.c - Fatal marshalling problem" +msgstr "auth_none.c - Problema fatal de ordenaci�n" + +#: sunrpc/auth_unix.c:105 sunrpc/auth_unix.c:111 sunrpc/auth_unix.c:141 +msgid "authunix_create: out of memory\n" +msgstr "authunix_create: memoria esgotada\n" + +#: locale/programs/charmap.c:297 locale/programs/locfile.c:234 +#: locale/programs/locfile.c:261 locale/programs/repertoire.c:156 +msgid "bad argument" +msgstr "par�metro incorrecto" + +#: inet/rcmd.c:326 +msgid "bad owner" +msgstr "propietario incorrecto" + +#: timezone/zic.c:1211 +msgid "blank FROM field on Link line" +msgstr "campo FROM baleiro na li�a Link" + +#: timezone/zic.c:1215 +msgid "blank TO field on Link line" +msgstr "campo TO baleiro na li�a Link" + +#: malloc/mcheck.c:208 +msgid "block freed twice\n" +msgstr "bloque liberado d�as veces\n" + +#: malloc/mcheck.c:211 +msgid "bogus mcheck_status, library is buggy\n" +msgstr "mcheck_status falso, a librer�a ten erros\n" + +#: sunrpc/pmap_rmt.c:185 +msgid "broadcast: ioctl (get interface configuration)" +msgstr "multidifusi�n: ioctl (obte-la configuraci�n do interfaz)" + +#: sunrpc/pmap_rmt.c:194 +msgid "broadcast: ioctl (get interface flags)" +msgstr "multidifusi�n: ioctl (obte-los par�metros do interfaz)" + +#: login/programs/request.c:167 +msgid "buffer overflow" +msgstr "desbordamento do buffer" + +#: sunrpc/svc_udp.c:446 +msgid "cache_set: could not allocate new rpc_buffer" +msgstr "cache_set: non se puido reserver un novo rpc_buffer" + +#: sunrpc/svc_udp.c:440 +msgid "cache_set: victim alloc failed" +msgstr "cache_set: fallou a reserva de espacio para o obxectivo" + +#: sunrpc/svc_udp.c:429 +msgid "cache_set: victim not found" +msgstr "cache_set: obxectivo non atopado" + +#: timezone/zic.c:1752 +msgid "can't determine time zone abbreviation to use just after until time" +msgstr "non podo determina-la abreviatura do fuso horario a usar despois da hora" + +#: sunrpc/svc_simple.c:75 +#, c-format +msgid "can't reassign procedure number %d\n" +msgstr "non se pode reasigna-lo procedemento n�mero %d\n" + +#: locale/programs/localedef.c:276 +#, c-format +msgid "cannot `stat' locale file `%s'" +msgstr "non se pode avalia-lo ficheiro de locales `%s'" + +#: elf/sprof.c:931 elf/sprof.c:983 +msgid "cannot allocate symbol data" +msgstr "non se poden localiza-los datos de s�mbolos" + +#: elf/sprof.c:715 elf/sprof.c:773 +msgid "cannot create internal descriptor" +msgstr "non se pode crear un descriptor interno" + +#: elf/sprof.c:413 +msgid "cannot create internal descriptors" +msgstr "non se poden crear descriptores internos" + +#: nscd/connections.c:183 +#, c-format +msgid "cannot enable socket to accept connections: %s" +msgstr "non se pode facer que o socket acepte conexi�ns: %s" + +#: sunrpc/rpc_main.c:341 +#, c-format +msgid "cannot find C preprocessor: %s \n" +msgstr "non podo atopa-lo preprocesador de C: %s \n" + +#: sunrpc/rpc_main.c:349 +msgid "cannot find any C preprocessor (cpp)\n" +msgstr "non podo atopar un preprocesador de C (cpp)\n" + +#: nscd/connections.c:224 +#, c-format +msgid "cannot handle old request version %d; current version is %d" +msgstr "non se pode manexa-la antiga petici�n versi�n %d; a versi�n actual � %d" + +#: locale/programs/ld-collate.c:1328 +#, c-format +msgid "cannot insert collation element `%.*s'" +msgstr "non se pode inserta-lo elemento de ordenaci�n `%.*s'" + +#: locale/programs/ld-collate.c:1507 locale/programs/ld-collate.c:1514 +msgid "cannot insert into result table" +msgstr "non se pode insertar na t�boa de resultados" + +#: locale/programs/ld-collate.c:1179 locale/programs/ld-collate.c:1222 +#, c-format +msgid "cannot insert new collating symbol definition: %s" +msgstr "non se pode inserta-la nova definici�n de s�mbolo de ordenaci�n: %s" + +#: elf/sprof.c:670 +msgid "cannot load profiling data" +msgstr "non se pode carga-los datos de perf�s" + +#: inet/rcmd.c:322 +msgid "cannot open" +msgstr "non se pode abrir" + +#: sysdeps/unix/sysv/linux/lddlibc4.c:64 +#, c-format +msgid "cannot open `%s'" +msgstr "non se pode abrir `%s'" + +#: db2/makedb.c:146 +#, c-format +msgid "cannot open database file `%s': %s" +msgstr "non se pode abri-lo ficheiro de bases de datos `%s': %s" + +#: catgets/gencat.c:273 db2/makedb.c:167 iconv/iconv_prog.c:177 +#, c-format +msgid "cannot open input file `%s'" +msgstr "non se pode abri-lo ficheiro de entrada `%s'" + +#: locale/programs/localedef.c:195 +#, c-format +msgid "cannot open locale definition file `%s'" +msgstr "non se pode abri-lo ficheiro de definici�n de locales `%s'" + +#: iconv/iconv_prog.c:155 +msgid "cannot open output file" +msgstr "non se pode abri-lo ficheiro de sa�da" + +#: catgets/gencat.c:780 catgets/gencat.c:821 db2/makedb.c:181 +#, c-format +msgid "cannot open output file `%s'" +msgstr "non se pode abri-lo ficheiro de sa�da `%s'" + +#: locale/programs/locfile.c:1135 +#, c-format +msgid "cannot open output file `%s' for category `%s'" +msgstr "non se pode abri-lo ficheiro de sa�da `%s' para a categor�a `%s'" + +#: nscd/connections.c:165 +#, c-format +msgid "cannot open socket: %s" +msgstr "non se pode abrir un socket: %s" + +#: locale/programs/ld-collate.c:1374 +msgid "cannot process order specification" +msgstr "non se pode procesa-la especificaci�n de orde" + +#: locale/programs/locale.c:449 +#, c-format +msgid "cannot read character map directory `%s'" +msgstr "non se pode ler no directorio de mapas de caracteres `%s'" + +#: nscd/connections.c:125 +msgid "cannot read configuration file; this is fatal" +msgstr "non se pode le-lo ficheiro de configuraci�n; isto � fatal" + +#: login/programs/request.c:91 +msgid "cannot read from client" +msgstr "non se pode ler do cliente" + +#: sysdeps/unix/sysv/linux/lddlibc4.c:68 +#, c-format +msgid "cannot read header from `%s'" +msgstr "non se pode le-la cabeceira de `%s'" + +#: locale/programs/locale.c:306 +#, c-format +msgid "cannot read locale directory `%s'" +msgstr "non se pode le-lo directorio de locales `%s'" + +#: locale/programs/localedef.c:300 +#, c-format +msgid "cannot read locale file `%s'" +msgstr "non se pode le-lo ficheiro de locales `%s'" + +#: locale/programs/locfile.c:289 locale/programs/locfile.c:308 +#: locale/programs/locfile.c:327 locale/programs/locfile.c:346 +#: locale/programs/locfile.c:365 locale/programs/locfile.c:384 +#, c-format +msgid "cannot read repertoire map `%s'" +msgstr "non se pode le-lo mapa de repertorio `%s'" + +#: nscd/nscd_stat.c:127 +msgid "cannot read statistics data" +msgstr "non se poden le-los datos estat�sticos" + +#: nscd/cache.c:150 nscd/connections.c:151 +#, c-format +msgid "cannot stat() file `%s': %s" +msgstr "non se pode facer stat() sobre o ficheiro `%s': %s" + +#: locale/programs/localedef.c:325 +#, c-format +msgid "cannot write output files to `%s'" +msgstr "non se poden escribi-los ficheiros de sa�da a `%s'" + +#: nscd/connections.c:260 nscd/connections.c:281 +#, c-format +msgid "cannot write result: %s" +msgstr "non se pode escribi-lo resultado: %s" + +#: nscd/nscd_stat.c:86 +#, c-format +msgid "cannot write statistics: %s" +msgstr "non se poden escribi-las estat�sticas: %s" + +#: login/programs/request.c:120 +msgid "cannot write to client" +msgstr "non se pode escribir no cliente" + +#: locale/programs/localedef.c:439 +msgid "category data requested more than once: should not happen" +msgstr "datos de categor�a pedidos m�is dunha vez: non deber�a ocorrer" + +#: locale/programs/ld-ctype.c:278 +#, c-format +msgid "character '%s' in class `%s' must be in class `%s'" +msgstr "o car�cter '%s' na clase `%s' debe estar na clase `%s'" + +#: locale/programs/ld-ctype.c:303 +#, c-format +msgid "character '%s' in class `%s' must not be in class `%s'" +msgstr "o car�cter '%s' na clase `%s' non debe estar na clase `%s'" + +#: locale/programs/ld-ctype.c:405 +msgid "character <SP> not defined in character map" +msgstr "car�cter <SP> non definido no mapa de caracteres" + +#: locale/programs/ld-ctype.c:355 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must be in class `%s'" +msgstr "o car�cter L'%s' (�ndice %Zd) na clase `%s' debe estar na clase `%s'" + +#: locale/programs/ld-ctype.c:380 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must not be in class `%s'" +msgstr "o car�cter L'%s' (�ndice %Zd) na clase `%s' non debe estar na clase `%s'" + +#: locale/programs/ld-ctype.c:1107 locale/programs/ld-ctype.c:1183 +#: locale/programs/ld-ctype.c:1196 locale/programs/ld-ctype.c:1209 +#: locale/programs/ld-ctype.c:1222 locale/programs/ld-ctype.c:1235 +#: locale/programs/ld-ctype.c:1248 locale/programs/ld-ctype.c:1279 +#: locale/programs/ld-ctype.c:1292 locale/programs/ld-ctype.c:1343 +#: locale/programs/ld-ctype.c:1374 locale/programs/ld-ctype.c:1386 +#, c-format +msgid "character `%s' not defined while needed as default value" +msgstr "car�cter `%s' non definido, cando fac�a falta por ser valor por omisi�n" + +#: locale/programs/ld-ctype.c:967 +#, c-format +msgid "character class `%s' already defined" +msgstr "clase de caracteres `%s' xa definida" + +#: locale/programs/ld-ctype.c:999 +#, c-format +msgid "character map `%s' already defined" +msgstr "mapa de caracteres `%s' xa definido" + +#: locale/programs/charmap.c:83 +#, c-format +msgid "character map file `%s' not found" +msgstr "ficheiro de mapa de caracteres `%s' non atopado" + +#: sunrpc/clnt_raw.c:110 +msgid "clnt_raw.c - Fatal header serialization error." +msgstr "clnt_raw.c - Erro fatal de serializaci�n de cabeceiras." + +#: sunrpc/clnt_tcp.c:125 sunrpc/clnt_tcp.c:133 +msgid "clnttcp_create: out of memory\n" +msgstr "clnttcp_create: memoria esgotada\n" + +#: sunrpc/clnt_udp.c:125 sunrpc/clnt_udp.c:135 +msgid "clntudp_create: out of memory\n" +msgstr "clntudp_create: memoria esgotada\n" + +#: sunrpc/clnt_unix.c:123 sunrpc/clnt_unix.c:131 +msgid "clntunix_create: out of memory\n" +msgstr "clntunix_create: memoria esgotada\n" + +#: locale/programs/ld-collate.c:1343 +#, c-format +msgid "collation element `%.*s' appears more than once: ignore line" +msgstr "o elemento de ordenaci�n `%.*s' aparece m�is dunha vez: li�a ignorada" + +#: locale/programs/ld-collate.c:1361 +#, c-format +msgid "collation symbol `%.*s' appears more than once: ignore line" +msgstr "o elemento de ordenaci�n `%.*s' aparece m�is dunha vez: li�a ignorada" + +#: locale/programs/locfile.c:658 +#, c-format +msgid "collation symbol expected after `%s'" +msgstr "esper�base un s�mbolo de ordenaci�n despois de `%s'" + +#: inet/rcmd.c:143 +#, c-format +msgid "connect to address %s: " +msgstr "conectarse ao enderezo %s: " + +#: sunrpc/rpc_scan.c:115 +msgid "constant or identifier expected" +msgstr "esper�base unha constante ou un identificador" + +#: iconv/iconv_prog.c:144 +#, c-format +msgid "conversion from `%s' to `%s' not supported" +msgstr "conversi�n de `%s' a `%s' non soportada" + +#: iconv/iconv_prog.c:328 iconv/iconv_prog.c:353 +msgid "conversion stopped due to problem in writing the output" +msgstr "conversi�n detida debido a un problema escribindo na sa�da" + +#: sunrpc/svc_simple.c:83 +msgid "couldn't create an rpc server\n" +msgstr "non se puido crear un servidor rpc\n" + +#: sunrpc/svc_simple.c:91 +#, c-format +msgid "couldn't register prog %d vers %d\n" +msgstr "non se puido rexistra-lo prog %d vers %d\n" + +#: nss/getent.c:50 +msgid "database [key ...]" +msgstr "base-de-datos [clave ...]" + +#: locale/programs/charmap.c:170 +#, c-format +msgid "default character map file `%s' not found" +msgstr "ficheiro de mapa de caracteres por defecto `%s' non atopado" + +#: locale/programs/ld-time.c:163 +#, c-format +msgid "direction flag in string %d in `era' field in category `%s' is not '+' nor '-'" +msgstr "a opci�n de direcci�n na cadea %d no campo `era' na categor�a `%s' non � '+' nin '-'" + +#: locale/programs/ld-time.c:174 +#, c-format +msgid "direction flag in string %d in `era' field in category `%s' is not a single character" +msgstr "a opci�n de direcci�n na cadea %d no campo `era' na categor�a `%s' non � un �nico car�cter" + +#: locale/programs/charset.c:64 locale/programs/charset.c:118 +#, c-format +msgid "duplicate character name `%s'" +msgstr "nome do car�cter `%s' duplicado" + +#: locale/programs/ld-collate.c:1154 +msgid "duplicate collating element definition" +msgstr "definici�n do elemento de ordenaci�n duplicada" + +#: locale/programs/ld-collate.c:1301 +#, c-format +msgid "duplicate definition for character `%.*s'" +msgstr "definici�n do car�cter `%.*s' duplicada" + +#: db2/makedb.c:328 +msgid "duplicate key" +msgstr "clave duplicada" + +#: catgets/gencat.c:389 +msgid "duplicate set definition" +msgstr "definici�n de conxunto duplicada" + +#: timezone/zic.c:1004 +#, c-format +msgid "duplicate zone name %s (file \"%s\", line %d)" +msgstr "fuso horario %s duplicado (ficheiro \"%s\", li�a %d)" + +#: catgets/gencat.c:556 +msgid "duplicated message identifier" +msgstr "identificador de mensaxes duplicado" + +#: catgets/gencat.c:528 +msgid "duplicated message number" +msgstr "n�mero de mensaxe duplicado" + +#: sunrpc/rpc_scan.c:382 +msgid "empty char string" +msgstr "cadea de caracteres baleira" + +#: locale/programs/ld-collate.c:1714 +msgid "empty weight name: line ignored" +msgstr "nome de peso baleiro: li�a ignorada" + +#: sunrpc/svc_udp.c:372 +msgid "enablecache: cache already enabled" +msgstr "enablecache: cach� xa activada" + +#: sunrpc/svc_udp.c:378 +msgid "enablecache: could not allocate cache" +msgstr "enablecache: non se puido reservar espacio para a cach�" + +#: sunrpc/svc_udp.c:386 +msgid "enablecache: could not allocate cache data" +msgstr "enablecache: non se puido reservar espacio para os datos da cach�" + +#: sunrpc/svc_udp.c:393 +msgid "enablecache: could not allocate cache fifo" +msgstr "enablecache: non se puido reservar espacio para o fifo da cach�" + +#: iconv/iconv_prog.c:56 +msgid "encoding for output" +msgstr "codificaci�n de sa�da" + +#: iconv/iconv_prog.c:55 +msgid "encoding of original text" +msgstr "codificaci�n do texto orixinal" + +#: locale/programs/ld-collate.c:1433 +msgid "end point of ellipsis range is bigger then start" +msgstr "o final do rango dos puntos suspensivos � maior que o principio" + +#: nscd/connections.c:357 nscd/connections.c:444 +#, c-format +msgid "error getting callers id: %s" +msgstr "erro ao obte-lo identificador do chamante: %s" + +#: iconv/iconv_prog.c:193 +#, c-format +msgid "error while closing input `%s'" +msgstr "erro ao pecha-la entrada `%s'" + +#: iconv/iconv_prog.c:239 +msgid "error while closing output file" +msgstr "erro ao pecha-lo ficheiro de sa�da" + +#: elf/sprof.c:706 +msgid "error while closing the profiling data file" +msgstr "erro ao pecha-lo ficheiro de datos de perf�s" + +#: locale/programs/ld-collate.c:1162 +msgid "error while inserting collation element into hash table" +msgstr "erro ao inserta-lo elemento de ordenaci�n na t�boa hash" + +#: locale/programs/ld-collate.c:1174 +msgid "error while inserting to hash table" +msgstr "erro ao insertar na t�boa hash" + +#: iconv/iconv_prog.c:417 iconv/iconv_prog.c:448 +msgid "error while reading the input" +msgstr "erro ao ler da entrada" + +#: locale/programs/locfile.c:601 +msgid "expect string argument for `copy'" +msgstr "esp�rase un par�metro de cadea para `copy'" + +#: timezone/zic.c:894 +msgid "expected continuation line not found" +msgstr "non se atopou a li�a de continuaci�n que se esperaba" + +#: elf/sprof.c:404 +#, c-format +msgid "failed to load shared object `%s'" +msgstr "non se puido carga-lo obxecto compartido `%s'" + +#: elf/sprof.c:600 +msgid "failed to load symbol data" +msgstr "non se puideron carga-los datos de s�mbolos" + +#: elf/sprof.c:698 +msgid "failed to mmap the profiling data file" +msgstr "non se puido facer mmap sobre o ficheiro de datos de perf�s" + +#: iconv/iconv_prog.c:147 +msgid "failed to start conversion processing" +msgstr "non se puido comeza-lo procesamento de conversi�n" + +#: locale/programs/locfile.c:1160 +#, c-format +msgid "failure while writing data for category `%s'" +msgstr "non se puideron escribi-los datos da categor�a `%s'" + +#: nis/nis_call.c:155 +msgid "fcntl: F_SETFD" +msgstr "fcntl: F_SETFD" + +#: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110 +#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98 +#, c-format +msgid "field `%s' in category `%s' undefined" +msgstr "campo `%s' na categor�a `%s' non definido" + +#: sunrpc/rpc_main.c:1146 +#, c-format +msgid "file `%s' already exists and may be overwritten\n" +msgstr "o ficheiro `%s' xa existe e pode ser sobreescrito\n" + +#: locale/programs/locfile.c:683 +msgid "from-value of `collating-element' must be a string" +msgstr "o valor-dende do `elemento-de-ordenaci�n' debe ser unha cadea" + +#: inet/rcmd.c:324 +msgid "fstat failed" +msgstr "fallou a chamada a fstat" + +#: locale/programs/linereader.c:333 +msgid "garbage at end of character code specification" +msgstr "lixo � fin da especificaci�n do c�digo de caracteres" + +#: locale/programs/linereader.c:219 +msgid "garbage at end of number" +msgstr "lixo � fin do n�mero" + +#: locale/programs/ld-time.c:195 +#, c-format +msgid "garbage at end of offset value in string %d in `era' field in category `%s'" +msgstr "lixo � fin do valor desprazamento na cadea %d no campo `era' da categor�a `%s'" + +#: locale/programs/ld-time.c:252 +#, c-format +msgid "garbage at end of starting date in string %d in `era' field in category `%s'" +msgstr "lixo � fin da data inicial na cadea %d no campo `era' da categor�a `%s'" + +#: locale/programs/ld-time.c:328 +#, c-format +msgid "garbage at end of stopping date in string %d in `era' field in category `%s'" +msgstr "lixo � fin da data final na cadea %d no campo `era' da categor�a `%s'" + +#: elf/sprof.c:77 +msgid "generate call graph" +msgstr "xera-lo grafo de chamadas" + +#: elf/sprof.c:76 +msgid "generate flat profile with counts and ticks" +msgstr "xerar un perfil plano con contas e tempos" + +#: sunrpc/get_myaddr.c:77 +msgid "get_myaddress: ioctl (get interface configuration)" +msgstr "get_myaddress: ioctl (obte-la configuraci�n do interfaz)" + +#: nss/getent.c:54 +msgid "getent - get entries from administrative database." +msgstr "getent - obte-las entradas da base de datos administrativa." + +#: nscd/connections.c:219 +#, c-format +msgid "handle_request: request received (Version = %d)" +msgstr "handle_request: petici�n recibida (Version = %d)" + +#: timezone/zic.c:638 +msgid "hard link failed, symbolic link used" +msgstr "non se pode facer un enlace duro, �sase un enlace simb�lico" + +#: inet/rcmd.c:330 +msgid "hard linked somewhere" +msgstr "ten un enlace duro nalg�n sitio" + +#: timezone/zic.c:1188 +msgid "illegal CORRECTION field on Leap line" +msgstr "campo CORRECTION ilegal na li�a Leap" + +#: timezone/zic.c:1192 +msgid "illegal Rolling/Stationary field on Leap line" +msgstr "campo Rolling/Stationary ilegal na li�a Leap" + +#: locale/programs/ld-collate.c:1786 +msgid "illegal character constant in string" +msgstr "constante de caracteres ilegal na cadea" + +#: sunrpc/rpc_scan.c:311 +msgid "illegal character in file: " +msgstr "car�cter ilegal no ficheiro: " + +#: locale/programs/ld-collate.c:1129 +msgid "illegal collation element" +msgstr "elemento de ordenaci�n ilegal" + +#: locale/programs/charmap.c:281 +msgid "illegal definition" +msgstr "definici�n ilegal" + +#: locale/programs/charmap.c:434 +msgid "illegal encoding given" +msgstr "codificaci�n dada ilegal" + +#: locale/programs/linereader.c:551 +msgid "illegal escape sequence at end of string" +msgstr "secuencia de escape ilegal � fin da cadea" + +#: iconv/iconv_prog.c:370 +#, c-format +msgid "illegal input sequence at position %ld" +msgstr "secuencia de entrada ilegal na posici�n %ld" + +#: locale/programs/charset.c:78 +msgid "illegal names for character range" +msgstr "nomes ilegais para o rango de caracteres" + +#: sunrpc/rpc_main.c:461 +#, c-format +msgid "illegal nettype :`%s'\n" +msgstr "tipo de rede ilegal :`%s'\n" + +#: locale/programs/ld-time.c:187 +#, c-format +msgid "illegal number for offset in string %d in `era' field in category `%s'" +msgstr "n�mero ilegal para o desprazamento na cadea %d no campo `era' da categor�a `%s'" + +#: catgets/gencat.c:362 catgets/gencat.c:439 +msgid "illegal set number" +msgstr "n�mero de conxunto ilegal" + +#: locale/programs/ld-time.c:243 +#, c-format +msgid "illegal starting date in string %d in `era' field in category `%s'" +msgstr "data de inicio ilegal na cadea %d no campo `era' da categor�a `%s'" + +#: locale/programs/ld-time.c:319 +#, c-format +msgid "illegal stopping date in string %d in `era' field in category `%s'" +msgstr "data final ilegal na cadea %d no campo `era' da categor�a `%s'" + +#: locale/programs/ld-ctype.c:973 +#, c-format +msgid "implementation limit: no more than %d character classes allowed" +msgstr "l�mite da implementaci�n: non se admiten m�is de %d clases de caracteres" + +#: locale/programs/ld-ctype.c:1005 +#, c-format +msgid "implementation limit: no more than %d character maps allowed" +msgstr "l�mite da implementaci�n: non se admiten m�is de %d mapas de caracteres" + +#: iconv/iconv_prog.c:374 +msgid "incomplete character or shift sequence at end of buffer" +msgstr "secuencia de caracteres incompleta � fin do buffer" + +#: db2/makedb.c:148 +msgid "incorrectly formatted file" +msgstr "ficheiro con formato incorrecto" + +#: timezone/zic.c:851 +msgid "input line of unknown type" +msgstr "li�a de entrada de tipo desco�ecido" + +#: iconv/iconv_prog.c:378 +msgid "internal error (illegal descriptor)" +msgstr "erro interno (descriptor ilegal)" + +#: timezone/zic.c:1814 +msgid "internal error - addtype called with bad isdst" +msgstr "erro interno - chamouse a addtype cun isdst incorrecto" + +#: timezone/zic.c:1822 +msgid "internal error - addtype called with bad ttisgmt" +msgstr "erro interno - chamouse a addtype cun ttisgmt incorrecto" + +#: timezone/zic.c:1818 +msgid "internal error - addtype called with bad ttisstd" +msgstr "erro interno - chamouse a addtype cun ttisstd incorrecto" + +#: locale/programs/ld-ctype.c:315 locale/programs/ld-ctype.c:392 +#, c-format +msgid "internal error in %s, line %u" +msgstr "erro interno en %s, li�a %u" + +#: timezone/zic.c:1060 +msgid "invalid UTC offset" +msgstr "desprazamento UTC incorrecto" + +#: timezone/zic.c:1063 +msgid "invalid abbreviation format" +msgstr "formato de abreviatura incorrecto" + +#: timezone/zic.c:1153 timezone/zic.c:1365 timezone/zic.c:1379 +msgid "invalid day of month" +msgstr "d�a do mes incorrecto" + +#: timezone/zic.c:1317 +msgid "invalid ending year" +msgstr "ano final incorecto" + +#: timezone/zic.c:1125 +msgid "invalid leaping year" +msgstr "ano bisesto incorrecto" + +#: elf/dl-open.c:223 +msgid "invalid mode for dlopen()" +msgstr "modo incorrecto para dlopen()" + +#: timezone/zic.c:1140 timezone/zic.c:1243 +msgid "invalid month name" +msgstr "nome do mes incorrecto" + +#: timezone/zic.c:959 +msgid "invalid saved time" +msgstr "hora gravada incorrecta" + +#: timezone/zic.c:1292 +msgid "invalid starting year" +msgstr "ano de inicio incorrecto" + +#: timezone/zic.c:1169 timezone/zic.c:1272 +msgid "invalid time of day" +msgstr "hora do d�a incorrecta" + +#: timezone/zic.c:1370 +msgid "invalid weekday name" +msgstr "d�a da semana incorrecto" + +#: nscd/connections.c:460 +#, c-format +msgid "key length in request too long: %Zd" +msgstr "lonxitude da clave da petici�n demasiado grande: %Zd" + +#: locale/programs/ld-collate.c:1426 +msgid "line after ellipsis must contain character definition" +msgstr "a li�a tralos puntos suspensivos debe conte-la definici�n dun car�cter" + +#: locale/programs/ld-collate.c:1405 +msgid "line before ellipsis does not contain definition for character constant" +msgstr "a li�a antes dos puntos suspensivos non cont�n a definici�n dunha constante de car�cter" + +#: timezone/zic.c:831 +msgid "line too long" +msgstr "li�a demasiado longa" + +#: iconv/iconv_prog.c:58 +msgid "list all known coded character sets" +msgstr "listar t�dolos conxuntos de caracteres codificados que se co�ecen" + +#: locale/programs/localedef.c:270 +#, c-format +msgid "locale file `%s', used in `copy' statement, not found" +msgstr "non se atopou o ficheiro de locale `%s', usado na instrucci�n `copy'" + +#: inet/rcmd.c:315 +msgid "lstat failed" +msgstr "fallou a chamada a lstat" + +#: catgets/gencat.c:625 +msgid "malformed line ignored" +msgstr "ign�rase unha li�a mal formada" + +#: elf/sprof.c:550 +msgid "mapping of section header string table failed" +msgstr "fallou o mapeado da t�boa de cadeas da cabeceira da secci�n" + +#: elf/sprof.c:540 +msgid "mapping of section headers failed" +msgstr "fallou o mapeado das cabeceiras da secci�n" + +#: malloc/mcheck.c:202 +msgid "memory clobbered before allocated block\n" +msgstr "memoria alterada antes do bloque reservado\n" + +#: malloc/mcheck.c:205 +msgid "memory clobbered past end of allocated block\n" +msgstr "memoria alterada despois do bloque reservado\n" + +#: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176 +#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1453 +#: locale/programs/ld-collate.c:1482 locale/programs/locfile.c:1088 +#: locale/programs/xmalloc.c:70 login/programs/database.c:62 +#: login/programs/database.c:79 login/programs/database.c:95 +#: malloc/obstack.c:471 posix/getconf.c:682 +msgid "memory exhausted" +msgstr "memoria esgotada" + +#: malloc/mcheck.c:199 +msgid "memory is consistent, library is buggy\n" +msgstr "a memoria � consistente, a librer�a ten erros\n" + +#: locale/programs/ld-time.c:373 +#, c-format +msgid "missing era format in string %d in `era' field in category `%s'" +msgstr "non se atopou un formato era na cadea %d no campo `era' da categor�a `%s'" + +#: locale/programs/ld-time.c:358 +#, c-format +msgid "missing era name in string %d in `era' field in category `%s'" +msgstr "non se atopou un nome era na cadea %d no campo `era' da categor�a `%s'" + +#: timezone/zic.c:954 +msgid "nameless rule" +msgstr "regra sen nome" + +#: iconv/iconv_prog.c:133 +msgid "neither original nor target encoding specified" +msgstr "non se especificou unha codificaci�n nin do orixinal nin do destino" + +#: nis/nss_nisplus/nisplus-publickey.c:280 +#: nis/nss_nisplus/nisplus-publickey.c:286 +#: nis/nss_nisplus/nisplus-publickey.c:345 +#: nis/nss_nisplus/nisplus-publickey.c:354 +#, c-format +msgid "netname2user: (nis+ lookup): %s\n" +msgstr "netname2user: (busca nis+): %s\n" + +#: nis/nss_nisplus/nisplus-publickey.c:299 +#, c-format +msgid "netname2user: DES entry for %s in directory %s not unique" +msgstr "netname2user: a entrada DES de %s no directorio %s non � �nica" + +#: nis/nss_nisplus/nisplus-publickey.c:367 +#, c-format +msgid "netname2user: LOCAL entry for %s in directory %s not unique" +msgstr "netname2user: a entrada LOCAL de %s no directorio %s non � �nica" + +#: nis/nss_nisplus/nisplus-publickey.c:206 +#, c-format +msgid "netname2user: missing group id list in `%s'." +msgstr "netname2user: non se atopou unha lista de identificadores de grupo en `%s'" + +#: nis/nss_nisplus/nisplus-publickey.c:317 +#, c-format +msgid "netname2user: principal name `%s' too long" +msgstr "netname2user: nome principal `%s' demasiado longo" + +#: nis/nss_nisplus/nisplus-publickey.c:374 +msgid "netname2user: should not have uid 0" +msgstr "netname2user: non deber�a ter uid 0" + +#: sunrpc/svc_simple.c:158 +#, c-format +msgid "never registered prog %d\n" +msgstr "prog %d nunca rexistrado\n" + +#: locale/programs/repertoire.c:250 +msgid "no <Uxxxx> or <Uxxxxxxxx> value given" +msgstr "non se deu un valor <Uxxxx> ou <Uxxxxxxxx>" + +#: locale/programs/ld-messages.c:101 locale/programs/ld-messages.c:125 +#, c-format +msgid "no correct regular expression for field `%s' in category `%s': %s" +msgstr "non hai unha expresi�n regular correcta para o campo `%s' da categor�a `%s': %s" + +#: timezone/zic.c:2143 +msgid "no day in month matches rule" +msgstr "ning�n d�a do mes coincide coa regra" + +#: locale/programs/ld-collate.c:267 +msgid "no definition of `UNDEFINED'" +msgstr "non hai unha definici�n de `UNDEFINED'" + +#: elf/sprof.c:272 +#, c-format +msgid "no filename for profiling data given and shared object `%s' has no soname" +msgstr "non se deu un nome de ficheiro para os datos de perfil e o obxecto `%s' non ten so-nome" + +#: locale/programs/locfile.c:615 +msgid "no other keyword shall be specified when `copy' is used" +msgstr "non se debe especificar outra clave cando se usa `copy'" + +#: locale/programs/localedef.c:331 +msgid "no output file produced because warning were issued" +msgstr "non se produc�u un ficheiro de sa�da porque se deron avisos" + +#: locale/programs/locfile.c:283 locale/programs/locfile.c:302 +#: locale/programs/locfile.c:321 locale/programs/locfile.c:340 +#: locale/programs/locfile.c:359 locale/programs/locfile.c:378 +msgid "no repertoire map specified: cannot proceed" +msgstr "non se especificou un mapa de repertorio: non se pode proceder" + +#: locale/programs/charmap.c:400 locale/programs/charmap.c:549 +#: locale/programs/charmap.c:628 locale/programs/repertoire.c:211 +msgid "no symbolic name given" +msgstr "non se deu un nome simb�lico" + +#: locale/programs/charmap.c:464 locale/programs/charmap.c:595 +#: locale/programs/charmap.c:661 locale/programs/repertoire.c:273 +msgid "no symbolic name given for end of range" +msgstr "non se deu un nome simb�lico para a fin do rango" + +#: locale/programs/ld-collate.c:249 +#, c-format +msgid "no weight defined for symbol `%s'" +msgstr "non se defin�u un peso para o s�mbolo `%s'" + +#: inet/rcmd.c:317 +msgid "not regular file" +msgstr "non � un ficheiro normal" + +#: nscd/nscd_stat.c:130 +#, c-format +msgid "" +"nscd configuration:\n" +"\n" +"%15d server debug level\n" +msgstr "" +"configuraci�n de nscd:\n" +"\n" +"%15d nivel de depuraci�n do servidor\n" + +#: nscd/nscd_stat.c:104 +msgid "nscd not running!\n" +msgstr "�Non se est� a executar nscd!\n" + +#: locale/programs/charmap.c:513 +msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" +msgstr "s� se permiten definici�ns WIDTH seguindo � definici�n CHARMAP" + +#: iconv/iconv_prog.c:135 +msgid "original encoding not specified using `-f'" +msgstr "a codificaci�n orixinal non foi especificada usando `-f'" + +#: iconv/iconv_prog.c:60 +msgid "output file" +msgstr "ficheiro de sa�da" + +#: sunrpc/pm_getmaps.c:73 +msgid "pmap_getmaps rpc problem" +msgstr "pmap_getmaps problema de rpc" + +#: inet/rcmd.c:186 +msgid "poll: protocol failure in circuit setup\n" +msgstr "poll: fallo de protocolo no establecemento do circuito\n" + +#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533 +msgid "preprocessor error" +msgstr "erro de preprocesador" + +#: elf/sprof.c:74 +msgid "print list of count paths and their number of use" +msgstr "visualiza-la lista de rotas de conta e o seu n�mero de uso" + +#: iconv/iconv_prog.c:61 +msgid "print progress information" +msgstr "visualiza-la informaci�n do progreso" + +#: db2/makedb.c:345 +#, c-format +msgid "problems while reading `%s'" +msgstr "problemas ao ler `%s'" + +#: elf/sprof.c:687 +#, c-format +msgid "profiling data file `%s' does not match shared object `%s'" +msgstr "o ficheiro de datos de perfil `%s' non coincide co obxecto compartido `%s'" + +#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383 +#, c-format +msgid "program %lu is not available\n" +msgstr "o programa %lu non est� dispo�ible\n" + +#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333 +#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476 +#: sunrpc/rpcinfo.c:510 +#, c-format +msgid "program %lu version %lu is not available\n" +msgstr "o programa %lu versi�n %lu non est� dispo�ible\n" + +#: sunrpc/rpcinfo.c:515 +#, c-format +msgid "program %lu version %lu ready and waiting\n" +msgstr "programa %lu versi�n %lu preparado e agardando\n" + +#: inet/rcmd.c:183 +#, c-format +msgid "rcmd: poll (setting up stderr): %m\n" +msgstr "rcmd: poll (configurando stderr): %m\n" + +#: inet/rcmd.c:117 +msgid "rcmd: socket: All ports in use\n" +msgstr "rcmp: socket: T�dolos portos est�n sendo utilizados\n" + +#: inet/rcmd.c:173 +#, c-format +msgid "rcmd: write (setting up stderr): %m\n" +msgstr "rcmd: write (configurando stderr): %m\n" + +#: sunrpc/svc_simple.c:98 +msgid "registerrpc: out of memory\n" +msgstr "registerrpc: memoria esgotada\n" + +#: timezone/zic.c:1875 +msgid "repeated leap second moment" +msgstr "momento de segundo de correcci�n repetido" + +#: locale/programs/repertoire.c:107 +#, c-format +msgid "repertoire map file `%s' not found" +msgstr "o ficheiro de mapa de repertorios `%s' non foi atopado" + +#: sunrpc/rpc_main.c:1115 +msgid "rpcgen: arglist coding error\n" +msgstr "rpcgen: erro de codificaci�n da lista de par�metros\n" + +#: sunrpc/rpc_main.c:1103 +msgid "rpcgen: too many defines\n" +msgstr "rpcgen: demasiadas definici�ns\n" + +#: sunrpc/rpcinfo.c:732 +#, c-format +msgid "rpcinfo: %s is unknown host\n" +msgstr "rpcinfo: o servidor %s � desco�ecido\n" + +#: sunrpc/rpcinfo.c:695 +#, c-format +msgid "rpcinfo: %s is unknown service\n" +msgstr "rpcinfo: o servicio %s � desco�ecido\n" + +#: sunrpc/rpcinfo.c:665 +#, c-format +msgid "rpcinfo: Could not delete registration for prog %s version %s\n" +msgstr "rpcinfo: Non se puido borra-lo rexistro do prog %s versi�n %s\n" + +#: sunrpc/rpcinfo.c:637 +#, c-format +msgid "rpcinfo: broadcast failed: %s\n" +msgstr "rpcinfo: fallou a multidifusi�n: %s\n" + +#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563 +msgid "rpcinfo: can't contact portmapper" +msgstr "rpcinfo: non se pode contactar co portmapper" + +#: timezone/zic.c:744 timezone/zic.c:746 +msgid "same rule name in multiple files" +msgstr "o mesmo nome de regra aparece en varios ficheiros" + +#: nscd/connections.c:472 +#, c-format +msgid "short read while reading request key: %s" +msgstr "lectura demasiado curta ao le-la clave de petici�n: %s" + +#: nscd/connections.c:430 +#, c-format +msgid "short read while reading request: %s" +msgstr "lectura demasiado curta ao le-la petici�n: %s" + +#: nscd/grpcache.c:191 nscd/hstcache.c:270 nscd/pwdcache.c:189 +#, c-format +msgid "short write in %s: %s" +msgstr "escritura demasiado curta en %s: %s" + +#: inet/rcmd.c:204 +msgid "socket: protocol failure in circuit setup\n" +msgstr "socket: fallo do protocolo no establecemento do circuito\n" + +#: locale/programs/locfile.c:736 +msgid "sorting order `forward' and `backward' are mutually exclusive" +msgstr "as direcci�ns de ordenaci�n `forward' e `backward' son mutuamente exclu�ntes" + +#: locale/programs/ld-collate.c:1586 locale/programs/ld-collate.c:1632 +msgid "specification of sorting weight for collation symbol does not make sense" +msgstr "a especificaci�n do peso na ordenaci�n do s�mbolo de ordenaci�n non ten sentido" + +#: timezone/zic.c:815 +msgid "standard input" +msgstr "entrada est�ndar" + +#: timezone/zdump.c:268 +msgid "standard output" +msgstr "sa�da est�ndar" + +#: locale/programs/ld-time.c:272 +#, c-format +msgid "starting date is illegal in string %d in `era' field in category `%s'" +msgstr "a data de comezo � ilegal na cadea %d no campo `era' da categor�a `%s'" + +#: timezone/zic.c:1326 +msgid "starting year greater than ending year" +msgstr "o ano de comezo � maior c� ano final" + +#: timezone/zic.c:1298 timezone/zic.c:1323 +msgid "starting year too high to be represented" +msgstr "o ano de comezo � demasiado grande para ser representado" + +#: timezone/zic.c:1296 timezone/zic.c:1321 +msgid "starting year too low to be represented" +msgstr "o ano de comezo � demasiado pequeno para ser representado" + +#: locale/programs/ld-time.c:348 +#, c-format +msgid "stopping date is illegal in string %d in `era' field in category `%s'" +msgstr "a data de finalizaci�n � ilegal na cadea %d no campo `era' da categor�a `%s'" + +#: sunrpc/svc_run.c:81 +msgid "svc_run: - select failed" +msgstr "svc_run: - fallou a chamada a select" + +#: sunrpc/svc_tcp.c:160 +msgid "svc_tcp.c - cannot getsockname or listen" +msgstr "svc_tcp.c - non se pode chamar a getsockname ou listen" + +#: sunrpc/svc_tcp.c:145 +msgid "svc_tcp.c - tcp socket creation problem" +msgstr "svc_tcp.c - problema ao crear un socket tcp" + +#: sunrpc/svc_tcp.c:209 sunrpc/svc_tcp.c:215 +msgid "svc_tcp: makefd_xprt: out of memory\n" +msgstr "svc_tcp: makefd_xprt: memoria esgotada\n" + +#: sunrpc/svc_unix.c:135 +msgid "svc_unix.c - AF_UNIX socket creation problem" +msgstr "svc_unix.c - problema ao crear un socket AF_UNIX" + +#: sunrpc/svc_unix.c:151 +msgid "svc_unix.c - cannot getsockname or listen" +msgstr "svc_unix.c - non se pode chamar a getsockname ou listen" + +#: sunrpc/svc_unix.c:201 sunrpc/svc_unix.c:207 +msgid "svc_unix: makefd_xprt: out of memory\n" +msgstr "svc_unix: makefd_xprt: memoria esgotada\n" + +#: sunrpc/svc_tcp.c:168 sunrpc/svc_tcp.c:176 +msgid "svctcp_create: out of memory\n" +msgstr "svctcp_create: memoria esgotada\n" + +#: sunrpc/svc_udp.c:135 +msgid "svcudp_create - cannot getsockname" +msgstr "svcudp_create - non se pode chamar a getsockname" + +#: sunrpc/svc_udp.c:143 sunrpc/svc_udp.c:149 sunrpc/svc_udp.c:155 +msgid "svcudp_create: out of memory\n" +msgstr "svcudp_create: memoria esgotada\n" + +#: sunrpc/svc_udp.c:121 +msgid "svcudp_create: socket creation problem" +msgstr "svcudp_create: problema ao crear un socket" + +#: sunrpc/svc_unix.c:160 sunrpc/svc_unix.c:168 +msgid "svcunix_create: out of memory\n" +msgstr "svcunix_create: memoria esgotada\n" + +#: locale/programs/ld-collate.c:1077 locale/programs/ld-collate.c:1205 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates element definition" +msgstr "o s�mbolo do elemento de ordenaci�n multicar�cter `%.*s' duplica a definici�n dun elemento" + +#: locale/programs/ld-collate.c:1214 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition" +msgstr "o s�mbolo do elemento de ordenaci�n multicar�cter `%.*s' duplica a definici�n doutro s�mbolo" + +#: locale/programs/ld-collate.c:1086 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition" +msgstr "o s�mbolo do elemento de ordenaci�n multicar�cter `%.*s' duplica a definici�n dun s�mbolo" + +#: locale/programs/ld-collate.c:1068 locale/programs/ld-collate.c:1196 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset" +msgstr "o s�mbolo do elemento de ordenaci�n multicar�cter `%.*s' duplica un nome simb�lico no conxunto de caracteres" + +#: locale/programs/charmap.c:399 locale/programs/charmap.c:433 +#: locale/programs/charmap.c:462 locale/programs/charmap.c:548 +#: locale/programs/charmap.c:594 locale/programs/charmap.c:627 +#: locale/programs/charmap.c:659 +#, c-format +msgid "syntax error in %s definition: %s" +msgstr "erro de sintaxe na definici�n %s: %s" + +#: locale/programs/locfile.c:756 +msgid "syntax error in `order_start' directive" +msgstr "erro de sintaxe na directiva `order_start'" + +#: locale/programs/locfile.c:498 +msgid "syntax error in character class definition" +msgstr "erro de sintaxe na definici�n da clase de caracteres" + +#: locale/programs/locfile.c:556 +msgid "syntax error in character conversion definition" +msgstr "erro de sintaxe na definici�n de conversi�n de caracteres" + +#: locale/programs/locfile.c:798 +msgid "syntax error in collating order definition" +msgstr "erro de sintaxe na definici�n de ordenaci�n" + +#: locale/programs/locfile.c:648 +msgid "syntax error in collation definition" +msgstr "erro de sintaxe na definici�n de ordenaci�n" + +#: locale/programs/locfile.c:471 +msgid "syntax error in definition of LC_CTYPE category" +msgstr "erro de sintaxe na definici�n da categor�a LC_CTYPE" + +#: locale/programs/locfile.c:414 +msgid "syntax error in definition of new character class" +msgstr "erro de sintaxe na definici�n da nova clase de caracteres" + +#: locale/programs/locfile.c:424 +msgid "syntax error in definition of new character map" +msgstr "erro de sintaxe na definici�n dun novo mapa de caracteres" + +#: locale/programs/locfile.c:1009 +msgid "syntax error in message locale definition" +msgstr "erro de sintaxe na definici�n do locale de mensaxes" + +#: locale/programs/locfile.c:920 +msgid "syntax error in monetary locale definition" +msgstr "erro de sintaxe na definici�n do locale monetario" + +#: locale/programs/locfile.c:947 +msgid "syntax error in numeric locale definition" +msgstr "erro de sintaxe na definici�n do locale num�rico" + +#: locale/programs/locfile.c:858 +msgid "syntax error in order specification" +msgstr "erro de sintaxe na especificaci�n de orde" + +#: locale/programs/charmap.c:280 locale/programs/charmap.c:296 +#: locale/programs/repertoire.c:155 +#, c-format +msgid "syntax error in prolog: %s" +msgstr "erro de sintaxe no pr�logo: %s" + +#: locale/programs/repertoire.c:210 locale/programs/repertoire.c:249 +#: locale/programs/repertoire.c:272 +#, c-format +msgid "syntax error in repertoire map definition: %s" +msgstr "erro de sintaxe na definici�n do mapa de repertorio: %s" + +#: locale/programs/locfile.c:985 +msgid "syntax error in time locale definition" +msgstr "erro de sintaxe na definici�n do locale de data/hora" + +#: locale/programs/locfile.c:391 +msgid "syntax error: not inside a locale definition section" +msgstr "erro de sintaxe: non est� dentro dunha secci�n de definici�n de locale" + +#: iconv/iconv_prog.c:137 +msgid "target encoding not specified using `-t'" +msgstr "a codificaci�n do destino non foi especificada usando `-t'" + +#: catgets/gencat.c:391 catgets/gencat.c:530 catgets/gencat.c:559 +msgid "this is the first definition" +msgstr "esta � a primeira definici�n" + +#: timezone/zic.c:1158 +msgid "time before zero" +msgstr "tempo antes de cero" + +#: timezone/zic.c:1166 timezone/zic.c:2043 timezone/zic.c:2062 +msgid "time overflow" +msgstr "desbordamento de tempo" + +#: locale/programs/charmap.c:443 +msgid "too few bytes in character encoding" +msgstr "demasiados poucos bytes na codificaci�n de caracteres" + +#: locale/programs/charmap.c:445 +msgid "too many bytes in character encoding" +msgstr "demasiados bytes na codificaci�n de caracteres" + +#: locale/programs/locales.h:92 +msgid "too many character classes defined" +msgstr "demasiadas clases de caracteres definidas" + +#: timezone/zic.c:1869 +msgid "too many leap seconds" +msgstr "demasiados segundos de compensaci�n" + +#: timezone/zic.c:1841 +msgid "too many local time types" +msgstr "demasiados tipos de hora local" + +#: timezone/zic.c:1795 +msgid "too many transitions?!" +msgstr "!�demasiadas transici�ns?!" + +#: locale/programs/ld-collate.c:1641 +msgid "too many weights" +msgstr "demasiados pesos" + +#: timezone/zic.c:2166 +msgid "too many, or too long, time zone abbreviations" +msgstr "demasiadas abreviaturas de fuso horario, ou demasiado longas" + +#: locale/programs/linereader.h:146 +msgid "trailing garbage at end of line" +msgstr "lixo na fin da li�a" + +#: sunrpc/svc_simple.c:150 +#, c-format +msgid "trouble replying to prog %d\n" +msgstr "problemas ao respostar ao prog %d\n" + +#: locale/programs/ld-collate.c:1397 +msgid "two lines in a row containing `...' are not allowed" +msgstr "non se permiten d�as li�as nunha fila contendo `...'" + +#: timezone/zic.c:1333 +msgid "typed single year" +msgstr "ano �nico con tipo" + +#: iconv/iconv_prog.c:434 +msgid "unable to allocate buffer for input" +msgstr "non se pode reservar espacio para o buffer de entrada" + +#: nis/nis_callback.c:187 +msgid "unable to free arguments" +msgstr "non se pode libera-los par�metros" + +#: posix/getconf.c:654 posix/getconf.c:670 +msgid "undefined" +msgstr "non definido" + +#: locale/programs/charmap.c:700 locale/programs/charmap.c:711 +#, c-format +msgid "unknown character `%s'" +msgstr "car�cter `%s' desco�ecido" + +#: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213 +#: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235 +#: locale/programs/ld-time.c:700 +#, c-format +msgid "unknown character in field `%s' of category `%s'" +msgstr "car�cter desco�ecido no campo `%s' da categor�a `%s'" + +#: locale/programs/locfile.c:721 +msgid "unknown collation directive" +msgstr "directiva de ordenaci�n desco�ecida" + +#: catgets/gencat.c:488 +#, c-format +msgid "unknown directive `%s': line ignored" +msgstr "directiva `%s' desco�ecida: li�a ignorada" + +#: iconv/iconv_prog.c:381 +#, c-format +msgid "unknown iconv() error %d" +msgstr "erro %d de iconv() desco�ecido" + +#: catgets/gencat.c:467 +#, c-format +msgid "unknown set `%s'" +msgstr "conxunto `%s' desco�ecido" + +#: locale/programs/ld-collate.c:1381 locale/programs/ld-collate.c:1576 +#: locale/programs/ld-collate.c:1751 +#, c-format +msgid "unknown symbol `%.*s': line ignored" +msgstr "s�mbolo `%.*s' desco�ecido: li�a ignorada" + +#: timezone/zic.c:787 +msgid "unruly zone" +msgstr "fuso sen regras" + +#: catgets/gencat.c:977 +msgid "unterminated message" +msgstr "mensaxe non rematada" + +#: locale/programs/linereader.c:520 locale/programs/linereader.c:555 +msgid "unterminated string" +msgstr "cadea non rematada" + +#: sunrpc/rpc_scan.c:350 sunrpc/rpc_scan.c:376 +msgid "unterminated string constant" +msgstr "constante de cadea non rematada" + +#: locale/programs/linereader.c:390 +msgid "unterminated symbolic name" +msgstr "nome simb�lico non rematado" + +#: locale/programs/ld-collate.c:1703 +msgid "unterminated weight name" +msgstr "nome de peso non rematado" + +#: locale/programs/charset.c:104 +msgid "upper limit in range is not smaller then lower limit" +msgstr "o l�mite superior do rango non � menor c� l�mite inferior" + +#: sunrpc/rpc_main.c:1413 +#, c-format +msgid "usage: %s infile\n" +msgstr "uso: %s ficheiro-de-entrada\n" + +#: timezone/zic.c:2109 +msgid "use of 2/29 in non leap-year" +msgstr "uso do 29 de febreiro nun ano non bisesto" + +#: locale/programs/charmap.c:521 locale/programs/charmap.c:575 +#, c-format +msgid "value for %s must be an integer" +msgstr "o valor de %s debe ser un enteiro" + +#: locale/programs/charmap.c:318 +#, c-format +msgid "value for <%s> must lie between 1 and 4" +msgstr "o valor de <%s> debe caer entre 1 e 4" + +#: locale/programs/ld-monetary.c:157 locale/programs/ld-numeric.c:92 +#, c-format +msgid "value for field `%s' in category `%s' must not be the empty string" +msgstr "o valor do campo `%s' da categor�a `%s' non debe ser unha cadea baleira" + +#: locale/programs/charmap.c:330 +msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>" +msgstr "o valor de <mb_cur_max> debe ser maior c� valor de <mb_cur_min>" + +#: locale/programs/ld-monetary.c:147 +msgid "value of field `int_curr_symbol' in category `LC_MONETARY' does not correspond to a valid name in ISO 4217" +msgstr "o valor do campo `int_curr_symbol' da categor�a `LC_MONETARY' non corresponde a un nome v�lido en ISO 4217" + +#: locale/programs/ld-monetary.c:139 +msgid "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" +msgstr "o valor do campo `int_curr_symbol' da categor�a `LC_MONETARY' ten unha lonxitude incorrecta" + +#: locale/programs/ld-monetary.c:383 locale/programs/ld-numeric.c:207 +#, c-format +msgid "values for field `%s' in category `%s' must be smaller than 127" +msgstr "os valores do campo `%s' da categor�a `%s' deben ser menores que 127" + +#: timezone/zic.c:435 +msgid "warning: " +msgstr "aviso: " + +#: nscd/connections.c:421 +#, c-format +msgid "while accepting connection: %s" +msgstr "ao aceptar unha conexi�n: %s" + +#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:143 +msgid "while allocating cache entry" +msgstr "ao reservar espacio para a entrada de cach�" + +#: nscd/cache.c:88 +msgid "while allocating hash table entry" +msgstr "ao reservar espacio para a entrada da t�boa hash" + +#: nscd/grpcache.c:99 nscd/hstcache.c:111 nscd/pwdcache.c:106 +msgid "while allocating key copy" +msgstr "ao reservar espacio para a copia da clave" + +#: catgets/gencat.c:1007 +msgid "while opening old catalog file" +msgstr "ao abrir un antigo ficheiro de cat�logo" + +#: locale/programs/locale.c:346 +msgid "while preparing output" +msgstr "ao prepara-la sa�da" + +#: db2/makedb.c:365 db2/makedb.c:382 +msgid "while reading database" +msgstr "ao le-la base de datos" + +#: elf/sprof.c:679 +msgid "while stat'ing profiling data file" +msgstr "ao avalia-lo ficheiro de datos de perf�s" + +#: db2/makedb.c:334 +msgid "while writing database file" +msgstr "ao escribir no ficheiro de bases de datos" + +#: nscd/nscd_stat.c:115 +msgid "write incomplete" +msgstr "escritura incompleta" + +#: inet/rcmd.c:328 +msgid "writeable by other than owner" +msgstr "escribible por algu�n distinto do propietario" + +#: db2/makedb.c:124 nscd/nscd.c:120 nscd/nscd_nischeck.c:64 nss/getent.c:399 +msgid "wrong number of arguments" +msgstr "n�mero de par�metros incorrecto" + +#: timezone/zic.c:1116 +msgid "wrong number of fields on Leap line" +msgstr "n�mero de campos na li�a Leap incorrecto" + +#: timezone/zic.c:1207 +msgid "wrong number of fields on Link line" +msgstr "n�mero de campos na li�a Link incorrecto" + +#: timezone/zic.c:950 +msgid "wrong number of fields on Rule line" +msgstr "n�mero de campos na li�a Rule incorrecto" + +#: timezone/zic.c:1020 +msgid "wrong number of fields on Zone continuation line" +msgstr "n�mero de campos na li�a de continuaci�n de Zone incorrecto" + +#: timezone/zic.c:978 +msgid "wrong number of fields on Zone line" +msgstr "n�mero de campos na li�a Zone incorrecto" + +#: sunrpc/xdr_ref.c:84 +msgid "xdr_reference: out of memory\n" +msgstr "xdr_reference: memoria esgotada\n" + +#: sunrpc/xdr_rec.c:150 sunrpc/xdr_rec.c:165 +msgid "xdrrec_create: out of memory\n" +msgstr "xdrrec_create: memoria esgotada\n" + +#: nis/ypclnt.c:894 +msgid "yp_update: cannot convert host to netname\n" +msgstr "yp_update: non se pode converti-lo servidor a nome de rede\n" + +#: nis/ypclnt.c:906 +msgid "yp_update: cannot get server address\n" +msgstr "yp_update: non se pode obte-lo enderezo do servidor\n" + +#~ msgid "Stale NFS file handle)" +#~ msgstr "Manexador de ficheiro NFS trabucado)" Binary files glibc-2.1.2/po/it.mo and glibc-2.1.3/po/it.mo differ diff -durpN glibc-2.1.2/po/it.po glibc-2.1.3/po/it.po --- glibc-2.1.2/po/it.po Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/po/it.po Tue Feb 22 23:02:59 2000 @@ -0,0 +1,4759 @@ +# Italian translation of the GNU-libc-messages. +# Copyright (C) 1999 Free Software Foundation, Inc. +# Marco d'Itri <md@linux.it>, 1999. +# +msgid "" +msgstr "" +"Project-Id-Version: libc 2.1.3\n" +"POT-Creation-Date: 2000-02-16 10:39-0800\n" +"PO-Revision-Date: 2000-02-20 22:17+01:00\n" +"Last-Translator: Marco d'Itri <md@linux.it>\n" +"Language-Team: Italian <it@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: nis/nis_print.c:273 +msgid "\t\tAccess Rights : " +msgstr "\t\tDiritti di Accesso : " + +#: nis/nis_print.c:271 +msgid "\t\tAttributes : " +msgstr "\t\tAttributi : " + +#: sunrpc/rpc_main.c:1414 +#, c-format +msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" +msgstr "\t%s [-abkCLNTM][-Dnome[=valore]] [-i dimes] [-I [-K secondi]] [-Y path] infile\n" + +#: sunrpc/rpc_main.c:1416 +#, c-format +msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" +msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" + +#: sunrpc/rpc_main.c:1419 +#, c-format +msgid "\t%s [-n netid]* [-o outfile] [infile]\n" +msgstr "\t%s [-n netid]* [-o outfile] [infile]\n" + +#: sunrpc/rpc_main.c:1418 +#, c-format +msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" +msgstr "\t%s [-s nettype]* [-o outfile] [infile]\n" + +#: nis/nis_print.c:235 +msgid "\tAccess rights: " +msgstr "\tDiritti di accesso: " + +#: nis/nis_print.c:293 +#, c-format +msgid "\tEntry data of type %s\n" +msgstr "\tDati della voce di tipo %s\n" + +#: nis/nis_print.c:171 +#, c-format +msgid "\tName : %s\n" +msgstr "\tNome : %s\n" + +#: nis/nis_print.c:172 +msgid "\tPublic Key : " +msgstr "\tChiave pubblica : " + +#: nis/nis_print.c:234 +#, c-format +msgid "\tType : %s\n" +msgstr "\tTipo : %s\n" + +#: nis/nis_print.c:201 +#, c-format +msgid "\tUniversal addresses (%u)\n" +msgstr "\tIndirizzi universali (%u)\n" + +#: nis/nis_print.c:269 +#, c-format +msgid "\t[%d]\tName : %s\n" +msgstr "\t[%d]\tNome : %s\n" + +#: nis/nis_print.c:296 +#, c-format +msgid "\t[%u] - [%u bytes] " +msgstr "\t[%u] - [%u byte] " + +#: nscd/nscd_stat.c:153 +msgid "" +"\n" +"%s cache:\n" +"\n" +"%15s cache is enabled\n" +"%15Zd suggested size\n" +"%15ld seconds time to live for positive entries\n" +"%15ld seconds time to live for negative entries\n" +"%15ld cache hits on positive entries\n" +"%15ld cache hits on negative entries\n" +"%15ld cache misses on positive entries\n" +"%15ld cache misses on negative entries\n" +"%15ld%% cache hit rate\n" +"%15s check /etc/%s for changes\n" +msgstr "" +"\n" +"cache %s:\n" +"\n" +"%15s la cache � abilitata\n" +"%15Zd dimensioni suggerite\n" +"%15ld secondi di vita per le voci positive\n" +"%15ld secondi di vita per le voci negative\n" +"%15ld cache hit sulle voci positive\n" +"%15ld cache hit sulle voci negative\n" +"%15ld cache miss sulle voci positive\n" +"%15ld cache miss sulle voci negative\n" +"%15ld%% hit rate della cache\n" +"%15s controlla i cambiamenti di /etc/%s\n" + +#: nis/nis_print.c:251 +msgid "\nGroup Members :\n" +msgstr "\nMembri del gruppo :\n" + +#: nis/nis_print.c:322 +msgid "\nTime to Live : " +msgstr "\nTempo da vivere: " + +#: sunrpc/rpcinfo.c:679 +msgid " rpcinfo -b prognum versnum\n" +msgstr " rpcinfo -b prognum versnum\n" + +#: sunrpc/rpcinfo.c:680 +msgid " rpcinfo -d prognum versnum\n" +msgstr " rpcinfo -d prognum versnum\n" + +#: sunrpc/rpcinfo.c:678 +msgid " rpcinfo -p [ host ]\n" +msgstr " rpcinfo -p [ host ]\n" + +#: sunrpc/rpcinfo.c:676 +msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n" +msgstr " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n" + +#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147 +msgid " no" +msgstr " no" + +#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147 +msgid " yes" +msgstr " si" + +#: nis/nis_print.c:348 +#, c-format +msgid " Data Length = %u\n" +msgstr "Lunghezza dati = %u\n" + +#: nis/nis_print_group_entry.c:121 +msgid " Explicit members:\n" +msgstr " Membri espliciti:\n" + +#: nis/nis_print_group_entry.c:145 nis/nis_print_group_entry.c:161 +msgid " Explicit nonmembers:\n" +msgstr " Non-membri espliciti:\n" + +#: nis/nis_print_group_entry.c:129 +msgid " Implicit members:\n" +msgstr " Membri impliciti:\n" + +#: nis/nis_print_group_entry.c:153 +msgid " Implicit nonmembers:\n" +msgstr " Non-membri impliciti:\n" + +#: nis/nis_print_group_entry.c:126 +msgid " No explicit members\n" +msgstr " Nessun membro esplicito\n" + +#: nis/nis_print_group_entry.c:150 +msgid " No explicit nonmembers\n" +msgstr " Nessun non-membro esplicito\n" + +#: nis/nis_print_group_entry.c:134 +msgid " No implicit members\n" +msgstr " Nessun membro implicito\n" + +#: nis/nis_print_group_entry.c:158 +msgid " No implicit nonmembers\n" +msgstr " Nessun non-membro implicito\n" + +#: nis/nis_print_group_entry.c:142 +msgid " No recursive members\n" +msgstr " Nessun membro ricorsivo\n" + +#: nis/nis_print_group_entry.c:166 +msgid " No recursive nonmembers\n" +msgstr " Nessun non-membro ricorsivo\n" + +#: nis/nis_print_group_entry.c:137 +msgid " Recursive members:\n" +msgstr " Membri ricorsivi:\n" + +#: sunrpc/rpcinfo.c:574 +msgid " program vers proto port\n" +msgstr " programma vers proto porta\n" + +#: argp/argp-help.c:1573 +msgid " or: " +msgstr " o: " + +#: timezone/zic.c:423 +#, c-format +msgid " (rule from \"%s\", line %d)" +msgstr " (regola da \"%s\", riga %d)" + +#: argp/argp-help.c:1585 +msgid " [OPTION...]" +msgstr " [OPZIONE...]" + +#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1476 +msgid " done\n" +msgstr " fatto\n" + +#: timezone/zic.c:420 +#, c-format +msgid "\"%s\", line %d: %s" +msgstr "\"%s\", riga %d: %s" + +#: timezone/zic.c:984 +#, c-format +msgid "\"Zone %s\" line and -l option are mutually exclusive" +msgstr "La riga \"Zone %s\" e l'opzione -l sono mutuamente esclusive" + +#: timezone/zic.c:992 +#, c-format +msgid "\"Zone %s\" line and -p option are mutually exclusive" +msgstr "La riga Zone %s\" e l'opzione -p sono mutuamente esclusive" + +#: sunrpc/rpc_main.c:1399 +msgid "\"infile\" is required for template generation flags.\n" +msgstr "\"infile\" � necessario per i flag di generazione del template.\n" + +#: argp/argp-help.c:210 +#, c-format +msgid "%.*s: ARGP_HELP_FMT parameter requires a value" +msgstr "%.*s: Il parametro ARGP_HELP_FMT richiede un valore" + +#: argp/argp-help.c:219 +#, c-format +msgid "%.*s: Unknown ARGP_HELP_FMT parameter" +msgstr "%.*s: Parametro ARGP_HELP_FMT sconosciuto" + +#: timezone/zic.c:794 +#, c-format +msgid "%s in ruleless zone" +msgstr "%s in una zona senza regole" + +#: assert/assert.c:51 +#, c-format +msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n" +msgstr "%s%s%s:%u: %s%sAsserzione `%s' fallita.\n" + +#: assert/assert-perr.c:52 +#, c-format +msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n" +msgstr "%s%s%s:%u: %s%sErrore inatteso: %s.\n" + +#: stdio-common/psignal.c:47 +#, c-format +msgid "%s%sUnknown signal %d\n" +msgstr "%s%sSegnale %d sconosciuto\n" + +#: timezone/zic.c:2229 +#, c-format +msgid "%s: %d did not sign extend correctly\n" +msgstr "%s: %d non ha esteso correttamente il segno\n" + +#: locale/programs/charmap.c:261 +#, c-format +msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n" +msgstr "%s: <mb_cur_max> deve essere maggiore di <mb_cur_min>\n" + +#: sunrpc/rpc_main.c:421 +#, c-format +msgid "%s: C preprocessor failed with exit code %d\n" +msgstr "%s: il preprocessore C ha fallito con il codice di uscita %d\n" + +#: sunrpc/rpc_main.c:418 +#, c-format +msgid "%s: C preprocessor failed with signal %d\n" +msgstr "%s: il preprocessore C ha fallito con il segnale %d\n" + +#: timezone/zic.c:1495 +#, c-format +msgid "%s: Can't create %s: %s\n" +msgstr "%s: Impossibile creare %s: %s\n" + +#: timezone/zic.c:2207 +#, c-format +msgid "%s: Can't create directory %s: %s\n" +msgstr "%s: Impossibile creare la directory %s: %s\n" + +#: timezone/zic.c:646 +#, c-format +msgid "%s: Can't link from %s to %s: %s\n" +msgstr "%s: Impossibile fare un link da %s a %s: %s\n" + +#: timezone/zic.c:820 +#, c-format +msgid "%s: Can't open %s: %s\n" +msgstr "%s: Impossibile aprire %s: %s\n" + +#: timezone/zic.c:1485 +#, c-format +msgid "%s: Can't remove %s: %s\n" +msgstr "%s: Impossibile rimuovere %s: %s\n" + +#: timezone/zic.c:631 +#, c-format +msgid "%s: Can't unlink %s: %s\n" +msgstr "%s: Impossibile cancellare %s: %s\n" + +#: timezone/zic.c:889 +#, c-format +msgid "%s: Error closing %s: %s\n" +msgstr "%s: Errore chiudendo %s: %s\n" + +#: timezone/zic.c:882 +#, c-format +msgid "%s: Error reading %s\n" +msgstr "%s: Errore leggendo %s\n" + +#: timezone/zdump.c:266 +#, c-format +msgid "%s: Error writing " +msgstr "%s: Errore scrivendo " + +#: timezone/zic.c:1561 +#, c-format +msgid "%s: Error writing %s\n" +msgstr "%s: Errore scrivendo %s\n" + +#: timezone/zic.c:867 +#, c-format +msgid "%s: Leap line in non leap seconds file %s\n" +msgstr "%s: riga leap nel file non di secondi intercalari %s\n" + +#: timezone/zic.c:361 +#, c-format +msgid "%s: Memory exhausted: %s\n" +msgstr "%s: Memoria esaurita: %s\n" + +#: timezone/zic.c:526 +#, c-format +msgid "%s: More than one -L option specified\n" +msgstr "%s: � stata specificata pi� di una opzione -L\n" + +#: timezone/zic.c:486 +#, c-format +msgid "%s: More than one -d option specified\n" +msgstr "%s: � stata specificata pi� di una opzione -d\n" + +#: timezone/zic.c:496 +#, c-format +msgid "%s: More than one -l option specified\n" +msgstr "%s: � stata specificata pi� di una opzione -l\n" + +#: timezone/zic.c:506 +#, c-format +msgid "%s: More than one -p option specified\n" +msgstr "%s: � stata specificata pi� di una opzione -p\n" + +#: timezone/zic.c:516 +#, c-format +msgid "%s: More than one -y option specified\n" +msgstr "%s: � stata specificata pi� di una opzione -y\n" + +#: argp/argp-parse.c:640 +#, c-format +msgid "%s: Too many arguments\n" +msgstr "%s: Troppi argomenti\n" + +#: login/programs/database.c:129 +#, c-format +msgid "%s: cannot get modification time" +msgstr "%s: impossibile ottenere l'orario di modifica" + +#: timezone/zic.c:1928 +#, c-format +msgid "%s: command was '%s', result was %d\n" +msgstr "%s: il comando era '%s', il risultato %d\n" + +#: locale/programs/charmap.c:676 locale/programs/locfile.c:1014 +#, c-format +msgid "%s: error in state machine" +msgstr "%s: errore nella macchina a stati" + +#: posix/getopt.c:788 +#, c-format +msgid "%s: illegal option -- %c\n" +msgstr "%s: opzione non permessa -- %c\n" + +#: posix/getopt.c:791 +#, c-format +msgid "%s: invalid option -- %c\n" +msgstr "%s: opzione non valida -- %c\n" + +#: posix/getopt.c:711 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: l'opzione `%c%s' non accetta argomenti\n" + +#: posix/getopt.c:681 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: l'opzione `%s' � ambigua\n" + +#: posix/getopt.c:729 posix/getopt.c:902 +#, c-format +msgid "%s: option `%s' requires an argument\n" +msgstr "%s: l'opzione `%s' richiede un argomento\n" + +#: posix/getopt.c:706 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: l'opzione `--%s' non accetta argomenti\n" + +#: posix/getopt.c:886 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: l'opzione `-W %s' non accetta argomenti\n" + +#: posix/getopt.c:868 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: l'opzione `-W %s' � ambigua\n" + +#: posix/getopt.c:821 posix/getopt.c:951 +#, c-format +msgid "%s: option requires an argument -- %c\n" +msgstr "%s: l'opzione richiede un argomento -- %c\n" + +#: sunrpc/rpc_main.c:287 +#, c-format +msgid "%s: output would overwrite %s\n" +msgstr "%s: l'output sovrascriverebbe %s\n" + +#: timezone/zic.c:874 timezone/zic.c:1288 timezone/zic.c:1313 +#, c-format +msgid "%s: panic: Invalid l_value %d\n" +msgstr "%s: panico: l_value %d non valido\n" + +#: locale/programs/charmap.c:683 locale/programs/repertoire.c:301 +#, c-format +msgid "%s: premature end of file" +msgstr "%s: fine del file prematura" + +#: sunrpc/rpc_main.c:294 +#, c-format +msgid "%s: unable to open %s: %m\n" +msgstr "%s: impossibile aprire %s: %m\n" + +#: posix/getopt.c:762 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: opzione `%c%s' non riconosciuta\n" + +#: posix/getopt.c:758 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: opzione `--%s' non riconosciuta\n" + +#: timezone/zic.c:445 +#, c-format +msgid "" +"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n" +"\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n" +msgstr "" +"%s: l'uso � %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ]\n" +"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ nomefile ... ]\n" + +#: timezone/zdump.c:174 +#, c-format +msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" +msgstr "%s: l'uso � %s [ -v ] [ -c cutoff ] nomezona ...\n" + +#: sunrpc/rpc_main.c:306 +#, c-format +msgid "%s: while writing output %s: %m" +msgstr "%s: scrivendo l'output %s: %m" + +#: argp/argp-parse.c:164 +msgid "(PROGRAM ERROR) No version known!?" +msgstr "(ERRORE DEL PROGRAMMA) Nessuna versione conosciuta!?" + +#: argp/argp-parse.c:781 +msgid "(PROGRAM ERROR) Option should have been recognized!?" +msgstr "(PROGRAM ERROR) L'opzione avrebbe dovuto essere riconosciuta!?" + +#: nis/nis_print.c:129 +msgid "(Unknown object)\n" +msgstr "(Oggetto sconosciuto)\n" + +#: sunrpc/clnt_perr.c:124 +#, c-format +msgid "(unknown authentication error - %d)" +msgstr "(errore di autenticazione sconosciuto - %d)" + +#: sunrpc/rpcinfo.c:613 +msgid "(unknown)" +msgstr "(sconosciuto)" + +#: elf/sprof.c:570 +#, c-format +msgid "*** The file `%s' is stripped: no detailed analysis possible\n" +msgstr "*** Il file `%s' � stripped: impossibile fare l'analisi dettagliata\n" + +#: catgets/gencat.c:267 +msgid "*standard input*" +msgstr "*standard input*" + +#: catgets/gencat.c:121 +msgid "" +"-o OUTPUT-FILE [INPUT-FILE]...\n" +"[OUTPUT-FILE [INPUT-FILE]...]" +msgstr "" +"-o FILE-OUTPUT [FILE-INPUT]...\n" +"[FILE-OUTPUT [FILE-INPUT]...]" + +#: stdio-common/../sysdeps/gnu/errlist.c:796 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:114 +msgid ".lib section in a.out corrupted" +msgstr "sezione .lib nell'a.out danneggiata" + +#: sunrpc/clnt_perr.c:110 sunrpc/clnt_perr.c:131 +#, c-format +msgid "; low version = %lu, high version = %lu" +msgstr "; low version = %lu, high version = %lu" + +#: sunrpc/clnt_perr.c:117 +msgid "; why = " +msgstr "; motivo = " + +#: locale/programs/charset.c:98 +#, c-format +msgid "<%s> and <%s> are illegal names for range" +msgstr "<%s> e <%s> non sono nomi leciti per l'intervallo" + +#: locale/programs/ld-ctype.c:428 +#, c-format +msgid "<SP> character must not be in class `%s'" +msgstr "Il carattere <SP> non deve essere nella classe `%s'" + +#: locale/programs/ld-ctype.c:416 +#, c-format +msgid "<SP> character not in class `%s'" +msgstr "Il carattere <SP> non � nella classe `%s'" + +#. TRANS The experienced user will know what is wrong. +#. TRANS @c This error code is a joke. Its perror text is part of the joke. +#. TRANS @c Don't change it. +#: stdio-common/../sysdeps/gnu/errlist.c:621 +msgid "?" +msgstr "?" + +#: sysdeps/generic/siglist.h:34 sysdeps/gnu/siglist.h:28 +msgid "Aborted" +msgstr "Abortito" + +#: nis/nis_print.c:320 +msgid "Access Rights : " +msgstr "Diritti di Accesso : " + +#: stdio-common/../sysdeps/gnu/errlist.c:792 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:113 +msgid "Accessing a corrupted shared library" +msgstr "Accesso ad una libreria condivisa danneggiata" + +#. TRANS The requested socket address is already in use. @xref{Socket Addresses}. +#: stdio-common/../sysdeps/gnu/errlist.c:366 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:154 +msgid "Address already in use" +msgstr "Indirizzo gi� in uso" + +#: posix/../sysdeps/posix/gai_strerror.c:30 +msgid "Address family for hostname not supported" +msgstr "Famiglia dell'indirizzo non gestita per l'hostname" + +#. TRANS The address family specified for a socket is not supported; it is +#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}. +#: stdio-common/../sysdeps/gnu/errlist.c:361 +msgid "Address family not supported by protocol" +msgstr "Famiglia dell'indirizzo non gestita dal protocollo" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:153 +msgid "Address family not supported by protocol family" +msgstr "Famiglia dell'indirizzo non gestita dalla famiglia del protocollo" + +#: stdio-common/../sysdeps/gnu/errlist.c:760 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:97 +msgid "Advertise error" +msgstr "Advertise error" + +#: stdio-common/../sysdeps/unix/siglist.c:39 sysdeps/generic/siglist.h:40 +#: sysdeps/gnu/siglist.h:34 +msgid "Alarm clock" +msgstr "Alarm clock" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:82 +msgid "Anode table overflow" +msgstr "Overflow della tabella degli anode" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:36 +msgid "Arg list too long" +msgstr "Lista degli argomenti troppo lunga" + +#. TRANS Argument list too long; used when the arguments passed to a new program +#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a +#. TRANS File}) occupy too much memory space. This condition never arises in the +#. TRANS GNU system. +#: stdio-common/../sysdeps/gnu/errlist.c:69 +msgid "Argument list too long" +msgstr "Lista degli argomenti troppo lunga" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:62 +msgid "Argument out of domain" +msgstr "Argomento fuori dal dominio" + +#: nis/nis_error.c:65 +msgid "Attempt to remove a non-empty table" +msgstr "Si � tentato di rimuovere una tabella non vuota" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:115 +msgid "Attempting to link in more shared libraries than system limit" +msgstr "Si � tentato di linkare pi� librerie condivise del limite di sistema" + +#: stdio-common/../sysdeps/gnu/errlist.c:800 +msgid "Attempting to link in too many shared libraries" +msgstr "Si � tentato di linkare troppe librerie condivise" + +#: sunrpc/clnt_perr.c:328 +msgid "Authentication OK" +msgstr "Autenticazione OK" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:561 +msgid "Authentication error" +msgstr "Errore di autenticazione" + +#: nis/nis_print.c:105 +msgid "BOGUS OBJECT\n" +msgstr "BOGUS OBJECT\n" + +#. TRANS Bad address; an invalid pointer was detected. +#. TRANS In the GNU system, this error never happens; you get a signal instead. +#: stdio-common/../sysdeps/gnu/errlist.c:114 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:43 +msgid "Bad address" +msgstr "Indirizzo non valido" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:79 +msgid "Bad exchange descriptor" +msgstr "Descrittore di scambio non valido" + +#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been +#. TRANS closed or reading from a descriptor open only for writing (or vice +#. TRANS versa). +#: stdio-common/../sysdeps/gnu/errlist.c:82 +msgid "Bad file descriptor" +msgstr "Descrittore di file non valido" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:38 +msgid "Bad file number" +msgstr "Descrittore di file non valido" + +#: stdio-common/../sysdeps/gnu/errlist.c:748 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:86 +msgid "Bad font file format" +msgstr "Formato del file di font non valido" + +#: stdio-common/../sysdeps/gnu/errlist.c:640 +msgid "Bad message" +msgstr "Messaggio non valido" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:83 +msgid "Bad request code" +msgstr "Codice di richiesta non valido" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:80 +msgid "Bad request descriptor" +msgstr "Descrittore di richiesta non valido" + +#: stdio-common/../sysdeps/unix/siglist.c:37 sysdeps/generic/siglist.h:63 +#: sysdeps/gnu/siglist.h:57 +msgid "Bad system call" +msgstr "Chiamata di sistema non valida" + +#: posix/../sysdeps/posix/gai_strerror.c:32 +msgid "Bad value for ai_flags" +msgstr "Valore di ai_flags non valido" + +#: locale/programs/localedef.c:101 +msgid "Be strictly POSIX conform" +msgstr "Conformit� POSIX rigorosa" + +#: nis/nis_print.c:301 +msgid "Binary data\n" +msgstr "Dati binari\n" + +#. TRANS A file that isn't a block special file was given in a situation that +#. TRANS requires one. For example, trying to mount an ordinary file as a file +#. TRANS system in Unix gives this error. +#: stdio-common/../sysdeps/gnu/errlist.c:121 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:44 +msgid "Block device required" +msgstr "� necessario un dispositivo a blocchi" + +#: sunrpc/pmap_rmt.c:347 +msgid "Broadcast poll problem" +msgstr "Problema di poll del broadcast" + +#. TRANS Broken pipe; there is no process reading from the other end of a pipe. +#. TRANS Every library function that returns this error code also generates a +#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled +#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE} +#. TRANS unless it has handled or blocked @code{SIGPIPE}. +#: stdio-common/../sysdeps/gnu/errlist.c:234 +#: stdio-common/../sysdeps/unix/siglist.c:38 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:61 +#: sysdeps/generic/siglist.h:39 sysdeps/gnu/siglist.h:33 +msgid "Broken pipe" +msgstr "Pipe rotta" + +#: stdio-common/../sysdeps/unix/siglist.c:35 sysdeps/generic/siglist.h:37 +#: sysdeps/gnu/siglist.h:31 +msgid "Bus error" +msgstr "Bus error" + +#: nis/nis_print.c:45 +msgid "CDS" +msgstr "CDS" + +#: stdio-common/../sysdeps/unix/siglist.c:49 sysdeps/generic/siglist.h:50 +#: sysdeps/gnu/siglist.h:44 +msgid "CPU time limit exceeded" +msgstr "Superato il limite del tempo di CPU" + +#: nis/nis_error.c:32 +msgid "Cache expired" +msgstr "Cache scaduta" + +#: stdio-common/../sysdeps/gnu/errlist.c:788 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:112 +msgid "Can not access a needed shared library" +msgstr "Impossibile accedere ad una libreria condivisa necessaria" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:116 +msgid "Can not exec a shared library directly" +msgstr "Impossibile eseguire direttamente una libreria condivisa" + +#: nis/ypclnt.c:779 +msgid "Can't bind to server which serves this domain" +msgstr "Impossibile fare il bind al server che serve questo dominio" + +#: nis/ypclnt.c:791 +msgid "Can't communicate with portmapper" +msgstr "Impossibile comunicare con il portmapper" + +#: nis/ypclnt.c:793 +msgid "Can't communicate with ypbind" +msgstr "Impossibile comunicare con ypbind" + +#: nis/ypclnt.c:795 +msgid "Can't communicate with ypserv" +msgstr "Impossibile comunicare con ypserv" + +#. TRANS No memory available. The system cannot allocate more virtual memory +#. TRANS because its capacity is full. +#: stdio-common/../sysdeps/gnu/errlist.c:103 +msgid "Cannot allocate memory" +msgstr "Impossibile allocare memoria" + +#. TRANS The requested socket address is not available; for example, you tried +#. TRANS to give a socket a name that doesn't match the local host name. +#. TRANS @xref{Socket Addresses}. +#: stdio-common/../sysdeps/gnu/errlist.c:373 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:155 +msgid "Cannot assign requested address" +msgstr "Impossibile assegnare l'indirizzo richiesto" + +#: sunrpc/pmap_rmt.c:264 +msgid "Cannot create socket for broadcast rpc" +msgstr "Impossibile creare il socket per l'rpc broadcast" + +#: stdio-common/../sysdeps/gnu/errlist.c:804 +msgid "Cannot exec a shared library directly" +msgstr "Impossibile eseguire direttamente una libreria condivisa" + +#: sunrpc/rpc_main.c:1404 +msgid "Cannot have more than one file generation flag!\n" +msgstr "Impossibile avere pi� di un flag di generazione del file!\n" + +#: sunrpc/pmap_rmt.c:360 +msgid "Cannot receive reply to broadcast" +msgstr "Impossibile ricevere una risposta al broadcast" + +#: sunrpc/pmap_clnt.c:133 +msgid "Cannot register service" +msgstr "Impossibile registrare il servizio" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:172 +msgid "Cannot send after socket shutdown" +msgstr "Impossibile inviare dopo lo shutdown del socket" + +#. TRANS The socket has already been shut down. +#: stdio-common/../sysdeps/gnu/errlist.c:434 +msgid "Cannot send after transport endpoint shutdown" +msgstr "Impossibile inviare dopo lo shutdown dell'estremit� del trasporto" + +#: sunrpc/pmap_rmt.c:322 +msgid "Cannot send broadcast packet" +msgstr "Impossibile inviare il pacchetto broadcast" + +#: sunrpc/pmap_rmt.c:271 +msgid "Cannot set socket option SO_BROADCAST" +msgstr "Impossibile impostare l'opzione del socket SO_BROADCAST" + +#: sunrpc/rpc_main.c:1191 +msgid "Cannot specify more than one input file!\n" +msgstr "Impossibile specificare pi� di un file di input!\n" + +#: sunrpc/rpc_main.c:1361 +msgid "Cannot use netid flag with inetd flag!\n" +msgstr "Impossibile usare il flag netid con il flag inetd!\n" + +#: sunrpc/rpc_main.c:1373 +msgid "Cannot use netid flag without TIRPC!\n" +msgstr "Impossibile usare il flag netid senza TIRPC!\n" + +#: sunrpc/rpc_main.c:1380 +msgid "Cannot use table flags with newstyle!\n" +msgstr "Impossibile usare il flag della tabella con il nuovo stile!\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:688 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:66 +msgid "Channel number out of range" +msgstr "Numero del canale fuori dall'intervallo" + +#: nis/nis_print.c:264 +#, c-format +msgid "Character Separator : %c\n" +msgstr "Separatore dei caratteri: %c\n" + +#: stdio-common/../sysdeps/unix/siglist.c:45 sysdeps/generic/siglist.h:46 +#: sysdeps/gnu/siglist.h:40 +msgid "Child exited" +msgstr "Il figlio � uscito" + +#: sunrpc/clnt_perr.c:347 +msgid "Client credential too weak" +msgstr "Credenziale del client troppo debole" + +#: nis/nis_print.c:266 +msgid "Columns :\n" +msgstr "Colonne: :\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:768 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:99 +msgid "Communication error on send" +msgstr "Errore di comunicazione durante send" + +#: locale/programs/localedef.c:109 +msgid "Compile locale specification" +msgstr "Compila la specifica di localizzazione" + +#. TRANS Go home and have a glass of warm, dairy-fresh milk. +#: stdio-common/../sysdeps/gnu/errlist.c:631 +msgid "Computer bought the farm" +msgstr "Il computer ha tirato le cuoia" + +#: locale/programs/ld-ctype.c:1438 +msgid "Computing table size for character classes might take a while..." +msgstr "" +"Calcolo le dimensioni della tabella per le classi di caratteri.\n" +"Pu� essere una cosa lunga..." + +#: locale/programs/ld-collate.c:336 +msgid "Computing table size for collation information might take a while..." +msgstr "" +"Calcolo le dimensioni della tabella per le informazioni di collazione.\n" +"Pu� essere una cosa lunga..." + +#. TRANS A remote host refused to allow the network connection (typically because +#. TRANS it is not running the requested service). +#: stdio-common/../sysdeps/gnu/errlist.c:451 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:175 +msgid "Connection refused" +msgstr "Connessione rifiutata" + +#. TRANS A network connection was closed for reasons outside the control of the +#. TRANS local host, such as by the remote machine rebooting or an unrecoverable +#. TRANS protocol violation. +#: stdio-common/../sysdeps/gnu/errlist.c:401 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:160 +msgid "Connection reset by peer" +msgstr "Connessione abbattuta dal corrispondente" + +#. TRANS A socket operation with a specified timeout received no response during +#. TRANS the timeout period. +#: stdio-common/../sysdeps/gnu/errlist.c:445 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:174 +msgid "Connection timed out" +msgstr "Timeout della connessione" + +#: stdio-common/../sysdeps/unix/siglist.c:44 sysdeps/generic/siglist.h:45 +#: sysdeps/gnu/siglist.h:39 +msgid "Continued" +msgstr "Continuato" + +#: iconv/iconv_prog.c:66 +msgid "Convert encoding of given files from one encoding to another." +msgstr "Converte in un'altra codifica la codifica dei file indicati." + +#: db2/makedb.c:58 +msgid "Convert key to lower case" +msgstr "Converte la chiave in minuscolo" + +#: catgets/gencat.c:237 db2/makedb.c:242 elf/sprof.c:355 +#: iconv/iconv_prog.c:294 locale/programs/locale.c:267 +#: locale/programs/localedef.c:400 nscd/nscd.c:277 nscd/nscd_nischeck.c:90 +#: nss/getent.c:66 posix/getconf.c:624 +#, c-format +msgid "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"This is free software; see the source for copying conditions. There is NO\n" +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" +msgstr "" +"Copyright (C) %s Free Software Foundation, Inc.\n" +"This is free software; see the source for copying conditions. There is NO\n" +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" +"Questo � software libero; si veda il sorgente per le condizioni di copiatura.\n" +"NON c'� alcuna garanzia; neppure di COMMERCIABILIT� o IDONEIT� AD UN\n" +"PARTICOLARE SCOPO.\n" + +#: nscd/nscd_conf.c:165 +#, c-format +msgid "Could not create log file \"%s\"" +msgstr "impossibile creare il file di log \"%s\"" + +#: catgets/gencat.c:108 +msgid "Create C header file NAME containing symbol definitions" +msgstr "Crea un header C NOME contenente le definizioni dei simboli" + +#: locale/programs/localedef.c:100 +msgid "Create output even if warning messages were issued" +msgstr "Crea l'output anche se sono stati emessi messaggi di avvertimento" + +#: db2/makedb.c:68 +msgid "Create simple DB database from textual input." +msgstr "Crea un semplice database DB dall'input testuale." + +#: nis/nis_print.c:325 +#, c-format +msgid "Creation Time : %s" +msgstr "Orario di creazione : %s" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:47 +msgid "Cross-device link" +msgstr "Link tra dispositivi" + +#: nis/nss_nisplus/nisplus-publickey.c:95 +#: nis/nss_nisplus/nisplus-publickey.c:171 +#, c-format +msgid "DES entry for netname %s not unique\n" +msgstr "La voce DES per il netname %s non � unica\n" + +#: nis/nis_print.c:111 +msgid "DIRECTORY\n" +msgstr "DIRECTORY\n" + +#: nis/nis_print.c:41 +msgid "DNANS" +msgstr "DNANS" + +#: nis/nis_print.c:37 +msgid "DNS" +msgstr "DNS" + +#: nis/nis_error.c:51 +msgid "Database for table does not exist" +msgstr "Non esiste un database per la tabella" + +#: nis/ypclnt.c:805 +msgid "Database is busy" +msgstr "Il database � occupato" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:74 +msgid "Deadlock situation detected/avoided" +msgstr "Individuata/evitata una situazione di deadlock" + +#: nis/nis_print.c:225 +msgid "Default Access rights :\n" +msgstr "Diritti di accesso predefiniti:\n" + +#. TRANS No default destination address was set for the socket. You get this +#. TRANS error when you try to transmit data over a connectionless socket, +#. TRANS without first specifying a destination for the data with @code{connect}. +#: stdio-common/../sysdeps/gnu/errlist.c:429 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:125 +msgid "Destination address required" +msgstr "� necessario l'indirizzo di destinazione" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:45 +msgid "Device busy" +msgstr "Dispositivo occupato" + +#: stdio-common/../sysdeps/gnu/errlist.c:668 +msgid "Device not a stream" +msgstr "Il dispositivo non � uno stream" + +#. TRANS No such device or address. The system tried to use the device +#. TRANS represented by a file you specified, and it couldn't find the device. +#. TRANS This can mean that the device file was installed incorrectly, or that +#. TRANS the physical device is missing or not correctly attached to the +#. TRANS computer. +#: stdio-common/../sysdeps/gnu/errlist.c:61 +msgid "Device not configured" +msgstr "Dispositivo non configurato" + +#. TRANS Resource busy; a system resource that can't be shared is already in use. +#. TRANS For example, if you try to delete a file that is the root of a currently +#. TRANS mounted filesystem, you get this error. +#: stdio-common/../sysdeps/gnu/errlist.c:128 +msgid "Device or resource busy" +msgstr "Dispositivo o risorsa occupata" + +#: nis/nis_print.c:179 +#, c-format +msgid "Diffie-Hellmann (%d bits)\n" +msgstr "Diffie-Hellmann (%d bit)\n" + +#: nis/nis_print.c:317 +#, c-format +msgid "Directory : %s\n" +msgstr "Directory : %s\n" + +#. TRANS Directory not empty, where an empty directory was expected. Typically, +#. TRANS this error occurs when you are trying to delete a directory. +#: stdio-common/../sysdeps/gnu/errlist.c:480 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:122 +msgid "Directory not empty" +msgstr "La directory non � vuota" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:78 +msgid "Disc quota exceeded" +msgstr "Superata la quota di disco" + +#. TRANS The user's disk quota was exceeded. +#: stdio-common/../sysdeps/gnu/errlist.c:498 +msgid "Disk quota exceeded" +msgstr "Superata la quota di disco" + +#: nscd/nscd.c:83 +msgid "Do not fork and display messages on the current tty" +msgstr "Non fa fork e stampa i messaggi sul tty corrente" + +#: db2/makedb.c:61 +msgid "Do not print messages while building database" +msgstr "Non stampa messaggi mentre crea il database" + +#: catgets/gencat.c:110 +msgid "Do not use existing catalog, force new output file" +msgstr "Non usa il catalogo esistente, forza un nuovo file di output" + +#: nis/ypclnt.c:851 +msgid "Domain not bound" +msgstr "Dominio non collegato" + +#: stdio-common/../sysdeps/unix/siglist.c:32 sysdeps/generic/siglist.h:60 +#: sysdeps/gnu/siglist.h:54 +msgid "EMT trap" +msgstr "trap EMT" + +#: nis/nis_print.c:120 +msgid "ENTRY\n" +msgstr "ENTRY\n" + +#: nis/nis_print.c:299 +msgid "Encrypted data\n" +msgstr "Dati cifrati\n" + +#: nis/nis_error.c:52 +msgid "Entry/table type mismatch" +msgstr "I tipi di voce/tabella non coincidono" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:29 +msgid "Error 0" +msgstr "Errore 0" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:129 +msgid "Error 100" +msgstr "Errore 100" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:130 +msgid "Error 101" +msgstr "Errore 101" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:131 +msgid "Error 102" +msgstr "Errore 102" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:132 +msgid "Error 103" +msgstr "Errore 103" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:133 +msgid "Error 104" +msgstr "Errore 104" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:134 +msgid "Error 105" +msgstr "Errore 105" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:135 +msgid "Error 106" +msgstr "Errore 106" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:136 +msgid "Error 107" +msgstr "Errore 107" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:137 +msgid "Error 108" +msgstr "Errore 108" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:138 +msgid "Error 109" +msgstr "Errore 108" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:139 +msgid "Error 110" +msgstr "Errore 110" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:140 +msgid "Error 111" +msgstr "Errore 111" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:141 +msgid "Error 112" +msgstr "Errore 112" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:142 +msgid "Error 113" +msgstr "Errore 113" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:143 +msgid "Error 114" +msgstr "Errore 114" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:144 +msgid "Error 115" +msgstr "Errore 115" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:145 +msgid "Error 116" +msgstr "Errore 116" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:146 +msgid "Error 117" +msgstr "Errore 117" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:147 +msgid "Error 118" +msgstr "Errore 118" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:148 +msgid "Error 119" +msgstr "Errore 119" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:165 +msgid "Error 136" +msgstr "Errore 136" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:171 +msgid "Error 142" +msgstr "Errore 142" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:87 +msgid "Error 58" +msgstr "Errore 58" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:88 +msgid "Error 59" +msgstr "Errore 59" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:101 +msgid "Error 72" +msgstr "Errore 72" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:102 +msgid "Error 73" +msgstr "Errore 73" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:104 +msgid "Error 75" +msgstr "Errore 75" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:105 +msgid "Error 76" +msgstr "Errore 76" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:120 +msgid "Error 91" +msgstr "Errore 91" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:121 +msgid "Error 92" +msgstr "Errore 92" + +#: nis/nis_error.c:56 +msgid "Error in RPC subsystem" +msgstr "Errore nel sottosistema RPC" + +#: nis/nis_error.c:66 +msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?" +msgstr "" +"Errore nell'accesso al file per la partenza a freddo di NIS+.\n" +"NIS+ � installato?" + +#: string/../sysdeps/mach/_strerror.c:57 +#: sysdeps/mach/hurd/mips/dl-machine.c:67 +msgid "Error in unknown error system: " +msgstr "Errore in un sistema di errore sconosciuto: " + +#: nis/nis_error.c:59 +msgid "Error while talking to callback proc" +msgstr "Errore parlando alla procedura di callback" + +#: inet/ruserpass.c:176 +msgid "Error: .netrc file is readable by others." +msgstr "Errore: il file .netrc � leggibile da altri." + +#: stdio-common/../sysdeps/gnu/errlist.c:728 +msgid "Exchange full" +msgstr "Scambio pieno" + +#. TRANS Invalid executable file format. This condition is detected by the +#. TRANS @code{exec} functions; see @ref{Executing a File}. +#: stdio-common/../sysdeps/gnu/errlist.c:75 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:37 +msgid "Exec format error" +msgstr "Errore di formato di exec" + +#: locale/programs/localedef.c:187 +msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" +msgstr "FATALE: il sistema non definisce `_POSIX2_LOCALEDEF'" + +#: locale/programs/localedef.c:91 locale/programs/localedef.c:93 +#: locale/programs/localedef.c:95 +msgid "FILE" +msgstr "FILE" + +#: locale/programs/localedef.c:96 +msgid "FILE contains mapping from symbolic names to UCS4 values" +msgstr "FILE contiene la mappatura dai nomi simbolici ai valori UCS4" + +#: sunrpc/clnt_perr.c:355 +msgid "Failed (unspecified error)" +msgstr "Fallito (errore non specificato)" + +#: stdio-common/../sysdeps/gnu/errlist.c:780 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:110 +msgid "File descriptor in bad state" +msgstr "Il descrittore di file � in uno stato non valido" + +#. TRANS File exists; an existing file was specified in a context where it only +#. TRANS makes sense to specify a new file. +#: stdio-common/../sysdeps/gnu/errlist.c:134 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:46 +msgid "File exists" +msgstr "Il file esiste" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:85 +msgid "File locking deadlock" +msgstr "Deadlock durante il locking del file" + +#: stdio-common/../sysdeps/gnu/errlist.c:744 +msgid "File locking deadlock error" +msgstr "Errore di deadlock durante il locking del file" + +#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for +#. TRANS Files}) or host name too long (in @code{gethostname} or +#. TRANS @code{sethostname}; @pxref{Host Identification}). +#: stdio-common/../sysdeps/gnu/errlist.c:464 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:107 +msgid "File name too long" +msgstr "Nome del file troppo lungo" + +#: stdio-common/../sysdeps/unix/siglist.c:50 sysdeps/generic/siglist.h:51 +#: sysdeps/gnu/siglist.h:45 +msgid "File size limit exceeded" +msgstr "Superato il limite di dimensione del file" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:52 +msgid "File table overflow" +msgstr "Overflow della tabella dei file" + +#. TRANS File too big; the size of a file would be larger than allowed by the system. +#: stdio-common/../sysdeps/gnu/errlist.c:202 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:56 +msgid "File too large" +msgstr "File troppo grande" + +#: nis/nis_error.c:37 +msgid "First/next chain broken" +msgstr "La prima/prossima catena � rotta" + +#: stdio-common/../sysdeps/unix/siglist.c:33 sysdeps/generic/siglist.h:35 +#: sysdeps/gnu/siglist.h:29 +msgid "Floating point exception" +msgstr "Errore di virgola mobile" + +#: nis/nis_error.c:67 +msgid "Full resync required for directory" +msgstr "� necessario un resync completo per la directory" + +#. TRANS Function not implemented. This indicates that the function called is +#. TRANS not implemented at all, either in the C library itself or in the +#. TRANS operating system. When you get this error, you can be sure that this +#. TRANS particular function will always fail with @code{ENOSYS} unless you +#. TRANS install a new version of the C library or the operating system. +#: stdio-common/../sysdeps/gnu/errlist.c:575 +msgid "Function not implemented" +msgstr "Funzione non implementata" + +#: nis/nis_print.c:114 +msgid "GROUP\n" +msgstr "GRUPPO\n" + +#: argp/argp-help.c:231 +#, c-format +msgid "Garbage in ARGP_HELP_FMT: %s" +msgstr "Spazzatura in ARGP_HELP_FMT: %s" + +#: catgets/gencat.c:116 +msgid "" +"Generate message catalog.\\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" +"is -, output is written to standard output.\n" +msgstr "" +"Genera un catalogo di messaggi.\\vSe INPUT-FILE � -, l'input � letto dallo standard input. Se OUTPUT-FILE\n" +"� -, l'output � scritto sullo standard output.\n" + +#: nis/nis_error.c:36 +msgid "Generic system error" +msgstr "Errore di sistema generico" + +#: locale/programs/locale.c:75 +msgid "Get locale-specific information." +msgstr "Legge le informazioni specifiche alla localizzazione." + +#: argp/argp-parse.c:88 +msgid "Give a short usage message" +msgstr "D� un breve messaggio di istruzioni" + +#: argp/argp-parse.c:87 +msgid "Give this help list" +msgstr "D� questa lista di aiuto" + +#. TRANS This error code has no purpose. +#: stdio-common/../sysdeps/gnu/errlist.c:636 +msgid "Gratuitous error" +msgstr "Errore gratuito" + +#: nis/nis_print.c:319 +#, c-format +msgid "Group : %s\n" +msgstr "Gruppo : %s\n" + +#: nis/nis_print.c:248 +msgid "Group Flags :" +msgstr "Flag del gruppo: " + +#: nis/nis_print_group_entry.c:113 +#, c-format +msgid "Group entry for \"%s.%s\" group:\n" +msgstr "Voce del gruppo per il gruppo \"%s.%s\":\n" + +#: argp/argp-parse.c:91 +msgid "Hang for SECS seconds (default 3600)" +msgstr "Si blocca per SECS secondi (predefiniti 3600)" + +#: stdio-common/../sysdeps/unix/siglist.c:26 sysdeps/generic/siglist.h:29 +#: sysdeps/gnu/siglist.h:23 +msgid "Hangup" +msgstr "Hangup" + +#: nscd/grpcache.c:251 +#, c-format +msgid "Haven't found \"%d\" in group cache!" +msgstr "Non ho trovato \"%d\" nella cache dei gruppi!" + +#: nscd/pwdcache.c:249 +#, c-format +msgid "Haven't found \"%d\" in password cache!" +msgstr "Non ho trovato \"%d\" nella cache delle password!" + +#: nscd/grpcache.c:212 +#, c-format +msgid "Haven't found \"%s\" in group cache!" +msgstr "Non ho trovato \"%s\" nella cache dei gruppi!" + +#: nscd/hstcache.c:291 nscd/hstcache.c:333 nscd/hstcache.c:378 +#: nscd/hstcache.c:422 +#, c-format +msgid "Haven't found \"%s\" in hosts cache!" +msgstr "Non ho trovato \"%s\" nella cache degli host!" + +#: nscd/pwdcache.c:210 +#, c-format +msgid "Haven't found \"%s\" in password cache!" +msgstr "Non ho trovato \"%s\" nella cache delle password!" + +#. TRANS The remote host for a requested network connection is down. +#: stdio-common/../sysdeps/gnu/errlist.c:469 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:176 +msgid "Host is down" +msgstr "L'host � gi�" + +#: resolv/herror.c:75 +msgid "Host name lookup failure" +msgstr "Errore durante la ricerca del nome dell'host" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:34 +msgid "I/O error" +msgstr "Errore di I/O" + +#: stdio-common/../sysdeps/unix/siglist.c:48 sysdeps/generic/siglist.h:49 +#: sysdeps/gnu/siglist.h:43 +msgid "I/O possible" +msgstr "I/O possibile" + +#: db2/makedb.c:71 +msgid "" +"INPUT-FILE OUTPUT-FILE\n" +"-o OUTPUT-FILE INPUT-FILE\n" +"-u INPUT-FILE" +msgstr "" +"INPUT-FILE OUTPUT-FILE\n" +"-o OUTPUT-FILE INPUT-FILE\n" +"-u INPUT-FILE" + +#: stdio-common/../sysdeps/unix/siglist.c:31 +msgid "IOT trap" +msgstr "trap IOT" + +#: nis/nis_print.c:35 +msgid "IVY" +msgstr "IVY" + +#: stdio-common/../sysdeps/gnu/errlist.c:644 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:65 +msgid "Identifier removed" +msgstr "Identificatore rimosso" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:117 +msgid "Illegal byte sequence" +msgstr "Sequenza di byte illecita" + +#: stdio-common/../sysdeps/unix/siglist.c:29 sysdeps/generic/siglist.h:32 +#: sysdeps/gnu/siglist.h:26 +msgid "Illegal instruction" +msgstr "Istruzione illecita" + +#: nis/nis_error.c:61 +msgid "Illegal object type for operation" +msgstr "Tipo di oggetto illecito per l'operazione" + +#. TRANS Invalid seek operation (such as on a pipe). +#: stdio-common/../sysdeps/gnu/errlist.c:213 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:58 +msgid "Illegal seek" +msgstr "Seek illecito" + +#. TRANS Inappropriate file type or format. The file was the wrong type for the +#. TRANS operation, or a data file had the wrong format. +#. TRANS +#. TRANS On some systems @code{chmod} returns this error if you try to set the +#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}. +#: stdio-common/../sysdeps/gnu/errlist.c:556 +msgid "Inappropriate file type or format" +msgstr "Tipo di file o formato non appropriato" + +#. TRANS Inappropriate I/O control operation, such as trying to set terminal +#. TRANS modes on an ordinary file. +#: stdio-common/../sysdeps/gnu/errlist.c:188 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:54 +msgid "Inappropriate ioctl for device" +msgstr "IOCTL non appropriata per il dispositivo" + +#. TRANS In the GNU system, servers supporting the @code{term} protocol return +#. TRANS this error for certain operations when the caller is not in the +#. TRANS foreground process group of the terminal. Users do not usually see this +#. TRANS error because functions such as @code{read} and @code{write} translate +#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, +#. TRANS for information on process groups and these signals. +#: stdio-common/../sysdeps/gnu/errlist.c:607 +msgid "Inappropriate operation for background process" +msgstr "Operazione non appropriata per un processo sullo sfondo" + +#: sysdeps/generic/siglist.h:69 sysdeps/gnu/siglist.h:63 +msgid "Information request" +msgstr "Richiesta di informazioni" + +#: iconv/iconv_prog.c:57 +msgid "Information:" +msgstr "Informazioni: " + +#: locale/programs/localedef.c:90 +msgid "Input Files:" +msgstr "File di input:" + +#: iconv/iconv_prog.c:54 +msgid "Input/Output format specification:" +msgstr "Specifiche del formato di input/output:" + +#. TRANS Input/output error; usually used for physical read or write errors. +#: stdio-common/../sysdeps/gnu/errlist.c:52 +msgid "Input/output error" +msgstr "Errore di input/output" + +#: nis/ypclnt.c:785 +msgid "Internal NIS error" +msgstr "Errore interno di NIS" + +#: nis/ypclnt.c:849 +msgid "Internal ypbind error" +msgstr "Errore interno di ypbind" + +#: stdio-common/../sysdeps/unix/siglist.c:27 sysdeps/generic/siglist.h:30 +#: sysdeps/gnu/siglist.h:24 +msgid "Interrupt" +msgstr "Interruzione" + +#. TRANS Interrupted function call; an asynchronous signal occurred and prevented +#. TRANS completion of the call. When this happens, you should try the call +#. TRANS again. +#. TRANS +#. TRANS You can choose to have functions resume after a signal that is handled, +#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted +#. TRANS Primitives}. +#: stdio-common/../sysdeps/gnu/errlist.c:47 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:33 +msgid "Interrupted system call" +msgstr "Chiamata di sistema interrotta" + +#: stdio-common/../sysdeps/gnu/errlist.c:684 +msgid "Interrupted system call should be restarted" +msgstr "La chiamata di sistema interrotta deve essere ricominciata" + +#. TRANS Invalid argument. This is used to indicate various kinds of problems +#. TRANS with passing the wrong argument to a library function. +#: stdio-common/../sysdeps/gnu/errlist.c:164 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:51 +msgid "Invalid argument" +msgstr "Argomento non valido" + +#: posix/regex.c:1034 +msgid "Invalid back reference" +msgstr "Riferimento all'indietro non valido" + +#: posix/regex.c:1028 +msgid "Invalid character class name" +msgstr "Nome della classe di caratteri non valido" + +#: sunrpc/clnt_perr.c:331 +msgid "Invalid client credential" +msgstr "Credenziali del client non valide" + +#: sunrpc/clnt_perr.c:339 +msgid "Invalid client verifier" +msgstr "Verificatore del client non valido" + +#: posix/regex.c:1025 +msgid "Invalid collation character" +msgstr "Carattere di collazione non valido" + +#: posix/regex.c:1046 +msgid "Invalid content of \\{\\}" +msgstr "Contenuto di \\{\\} non valido" + +#. TRANS An attempt to make an improper link across file systems was detected. +#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but +#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}). +#: stdio-common/../sysdeps/gnu/errlist.c:141 +msgid "Invalid cross-device link" +msgstr "Link tra dispositivi non valido" + +#: stdio-common/../sysdeps/gnu/errlist.c:720 +msgid "Invalid exchange" +msgstr "Scambio non valido" + +#: nis/nis_error.c:44 +msgid "Invalid object for operation" +msgstr "Oggetto non valido per l'operazione" + +#. TRANS While decoding a multibyte character the function came along an invalid +#. TRANS or an incomplete sequence of bytes or the given wide character is invalid. +#: stdio-common/../sysdeps/gnu/errlist.c:597 +msgid "Invalid or incomplete multibyte or wide character" +msgstr "Carattere largo o multibyte non valido o incompleto" + +#: posix/regex.c:1055 +msgid "Invalid preceding regular expression" +msgstr "Espressione regolare precedente non valida" + +#: posix/regex.c:1049 +msgid "Invalid range end" +msgstr "Fine dell'intervallo non valida" + +#: posix/regex.c:1022 +msgid "Invalid regular expression" +msgstr "Espressione regolare non valida" + +#: stdio-common/../sysdeps/gnu/errlist.c:736 +msgid "Invalid request code" +msgstr "Codice di richiesta non valido" + +#: stdio-common/../sysdeps/gnu/errlist.c:724 +msgid "Invalid request descriptor" +msgstr "Descrittore di richiesta non valido" + +#: sunrpc/clnt_perr.c:351 +msgid "Invalid server verifier" +msgstr "Verificatore di server non valido" + +#: stdio-common/../sysdeps/gnu/errlist.c:740 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:84 +msgid "Invalid slot" +msgstr "Slot non valido" + +#: nscd/nscd.c:88 +msgid "Invalidate the specified cache" +msgstr "Invalida la cache indicata" + +#. TRANS File is a directory; you cannot open a directory for writing, +#. TRANS or create or remove hard links to it. +#: stdio-common/../sysdeps/gnu/errlist.c:158 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:50 +msgid "Is a directory" +msgstr "� una directory" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:168 +msgid "Is a name file" +msgstr "� un file con nome" + +#: stdio-common/../sysdeps/gnu/errlist.c:824 +msgid "Is a named type file" +msgstr "� un tipo di file con nome" + +#: nis/nis_print.c:187 +msgid "Kerberos.\n" +msgstr "Kerberos.\n" + +#: stdio-common/../sysdeps/unix/siglist.c:34 sysdeps/generic/siglist.h:36 +#: sysdeps/gnu/siglist.h:30 +msgid "Killed" +msgstr "Ucciso" + +#: nis/nis_print.c:123 +msgid "LINK\n" +msgstr "LINK\n" + +#: nis/nis_local_names.c:125 +#, c-format +msgid "LOCAL entry for UID %d in directory %s not unique\n" +msgstr "La voce LOCAL per l'UID %d nella directory %s non � unica\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:716 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:73 +msgid "Level 2 halted" +msgstr "Livello 2 fermato" + +#: stdio-common/../sysdeps/gnu/errlist.c:692 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:67 +msgid "Level 2 not synchronized" +msgstr "Livello 2 non sincronizzato" + +#: stdio-common/../sysdeps/gnu/errlist.c:696 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:68 +msgid "Level 3 halted" +msgstr "Livello 3 fermato" + +#: stdio-common/../sysdeps/gnu/errlist.c:700 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:69 +msgid "Level 3 reset" +msgstr "Livello 3 reinizializzato" + +#: stdio-common/../sysdeps/gnu/errlist.c:656 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:96 +msgid "Link has been severed" +msgstr "Il link � stato tagliato" + +#: stdio-common/../sysdeps/gnu/errlist.c:704 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:70 +msgid "Link number out of range" +msgstr "Numero del link fuori dall'intervallo" + +#: nis/nis_error.c:53 +msgid "Link points to illegal name" +msgstr "Il link punta a un nome illecito" + +#: nis/nis_print.c:282 +msgid "Linked Object Type : " +msgstr "Tipo di oggetto collegato : " + +#: nis/nis_print.c:284 +#, c-format +msgid "Linked to : %s\n" +msgstr "Collegato a : %s\n" + +#: nis/ypclnt.c:797 +msgid "Local domain name not set" +msgstr "Il nome del dominio locale non � stato impostato" + +#: nis/ypclnt.c:787 +msgid "Local resource allocation failure" +msgstr "Errore di allocazione delle risorse locali" + +#: stdio-common/../sysdeps/gnu/errlist.c:752 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:93 +msgid "Machine is not on the network" +msgstr "La macchina non � in rete" + +#: nis/nis_error.c:45 +msgid "Malformed name, or illegal name" +msgstr "Nome malformato o illecito" + +#: argp/argp-help.c:1186 +msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." +msgstr "" +"Gli argomenti obbligatori o opzionali delle opzioni lunghe lo sono anche\n" +"per le corrispondenti opzioni corte." + +#: nis/nis_print.c:168 +msgid "Master Server :\n" +msgstr "Master Server :\n" + +#: nis/nis_error.c:75 +msgid "Master server busy, full dump rescheduled." +msgstr "Il master server � occupato, dump integrale rimandato." + +#: posix/../sysdeps/posix/gai_strerror.c:35 +msgid "Memory allocation failure" +msgstr "Errore di allocazione della memoria" + +#: posix/regex.c:1052 +msgid "Memory exhausted" +msgstr "Memoria esaurita" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:81 +msgid "Message tables full" +msgstr "Tabelle dei messaggi piene" + +#. TRANS The size of a message sent on a socket was larger than the supported +#. TRANS maximum size. +#: stdio-common/../sysdeps/gnu/errlist.c:317 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:126 +msgid "Message too long" +msgstr "Messaggio troppo lungo" + +#: nis/nis_error.c:57 +msgid "Missing or malformed attribute" +msgstr "Attributo mancante o malformato" + +#: nis/nis_print.c:327 +#, c-format +msgid "Mod. Time : %s" +msgstr "Orario di modifica: %s" + +#: nis/nis_error.c:50 +msgid "Modification failed" +msgstr "Modifica fallita" + +#: nis/nis_error.c:63 +msgid "Modify operation failed" +msgstr "Operazione di modifica fallita" + +#: locale/programs/locale.c:68 +msgid "Modify output format:" +msgstr "Modifica il formato di output:" + +#: stdio-common/../sysdeps/gnu/errlist.c:648 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:103 +msgid "Multihop attempted" +msgstr "Tentato un multihop" + +#: catgets/gencat.c:107 catgets/gencat.c:111 db2/makedb.c:59 +#: locale/programs/localedef.c:112 nscd/nscd.c:80 +msgid "NAME" +msgstr "NOME" + +#: locale/programs/locale.c:78 +msgid "" +"NAME\n" +"[-a|-m]" +msgstr "" +"NOME\n" +"[-a|-m]" + +#: nis/nis_print.c:31 +msgid "NIS" +msgstr "NIS" + +#: nis/ypclnt.c:801 +msgid "NIS client/server version mismatch - can't supply service" +msgstr "versioni di client/server NIS incompatibili - non si pu� fornire il servizio" + +#: nis/ypclnt.c:799 +msgid "NIS map database is bad" +msgstr "Il database della mappa NIS non � valido" + +#: nis/nis_error.c:68 +msgid "NIS+ operation failed" +msgstr "Operazione NIS+ fallita" + +#: nis/nis_error.c:33 +msgid "NIS+ servers unreachable" +msgstr "Server NIS+ non raggiungibile" + +#: nis/nis_error.c:69 +msgid "NIS+ service is unavailable or not installed" +msgstr "Il servizio NIS+ non � disponibile o non � installato" + +#: nis/nis_print.c:108 +msgid "NO OBJECT\n" +msgstr "OGGETTO MANCANTE\n" + +#: nscd/nscd.c:84 +msgid "NUMBER" +msgstr "NUMERO" + +#: nis/nis_print.c:162 +#, c-format +msgid "Name : `%s'\n" +msgstr "Nome : `%s'\n" + +#: nscd/nscd.c:94 +msgid "Name Service Cache Daemon." +msgstr "Demone di caching del servizio dei nomi." + +#: nis/nis_error.c:40 +msgid "Name not served by this server" +msgstr "Nome non servito da questo server" + +#: stdio-common/../sysdeps/gnu/errlist.c:776 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:109 +msgid "Name not unique on network" +msgstr "Il nome non � unico sulla rete" + +#: posix/../sysdeps/posix/gai_strerror.c:37 +msgid "Name or service not known" +msgstr "Nome o servizio sconosciuto" + +#: nis/nis_error.c:49 +msgid "Name/entry isn't unique" +msgstr "Il nome/voce non � unico" + +#: nis/nis_error.c:58 +msgid "Named object is not searchable" +msgstr "L'oggetto indicato non � ricercabile" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:566 +msgid "Need authenticator" +msgstr "Serve un autenticatore" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:158 +msgid "Network dropped connection because of reset" +msgstr "La rete ha lasciato cadere la connessione per il reset" + +#. TRANS A network connection was reset because the remote host crashed. +#: stdio-common/../sysdeps/gnu/errlist.c:389 +msgid "Network dropped connection on reset" +msgstr "La rete ha lasciato cadere la connessione per il reset" + +#. TRANS A socket operation failed because the network was down. +#: stdio-common/../sysdeps/gnu/errlist.c:378 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:156 +msgid "Network is down" +msgstr "La rete � gi�" + +#. TRANS A socket operation failed because the subnet containing the remote host +#. TRANS was unreachable. +#: stdio-common/../sysdeps/gnu/errlist.c:384 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:157 +msgid "Network is unreachable" +msgstr "La rete non � raggiungibile" + +#: stdio-common/../sysdeps/gnu/errlist.c:712 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:72 +msgid "No CSI structure available" +msgstr "La struttura CSI non � disponibile" + +#: stdio-common/../sysdeps/gnu/errlist.c:820 +msgid "No XENIX semaphores available" +msgstr "Non ci sono semafori XENIX disponibili" + +#: posix/../sysdeps/posix/gai_strerror.c:36 +msgid "No address associated with hostname" +msgstr "Non ci sono indirizzi associati al nome dell'host" + +#: resolv/herror.c:77 +msgid "No address associated with name" +msgstr "Non ci sono indirizzi associati al nome" + +#: stdio-common/../sysdeps/gnu/errlist.c:732 +msgid "No anode" +msgstr "Manca l'anode" + +#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this +#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the +#. TRANS other from network operations. +#: stdio-common/../sysdeps/gnu/errlist.c:408 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:161 +msgid "No buffer space available" +msgstr "Non c'� spazio di buffer disponibile" + +#. TRANS There are no child processes. This error happens on operations that are +#. TRANS supposed to manipulate child processes, when there aren't any processes +#. TRANS to manipulate. +#: stdio-common/../sysdeps/gnu/errlist.c:89 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:39 +msgid "No child processes" +msgstr "Non ci sono processi figli" + +#: stdio-common/../sysdeps/gnu/errlist.c:652 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:90 +msgid "No data available" +msgstr "Non ci sono dati disponibili" + +#: nis/nis_error.c:73 +msgid "No file space on server" +msgstr "Non c'� spazio per file sul server" + +#. TRANS No locks available. This is used by the file locking facilities; see +#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but +#. TRANS it can result from an operation to an NFS server running another +#. TRANS operating system. +#: stdio-common/../sysdeps/gnu/errlist.c:547 +msgid "No locks available" +msgstr "Non ci sono lock disponibili" + +#: posix/regex.c:1019 +msgid "No match" +msgstr "Nessuna corrispondenza" + +#: stdio-common/../sysdeps/gnu/errlist.c:832 +msgid "No medium found" +msgstr "Non � stato trovato un medium" + +#: stdio-common/../sysdeps/gnu/errlist.c:660 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:64 +msgid "No message of desired type" +msgstr "Non ci sono messaggi del tipo desiderato" + +#: nis/ypclnt.c:789 +msgid "No more records in map database" +msgstr "Non ci sono altri record nel database della mappa" + +#: posix/regex.c:5569 +msgid "No previous regular expression" +msgstr "Manca una precedente espressione regolare" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:75 +msgid "No record locks available" +msgstr "Non ci sono lock di record disponibili" + +#: sunrpc/rpcinfo.c:570 +msgid "No remote programs registered.\n" +msgstr "Nessun programma remoto registrato.\n" + +#. TRANS The remote host for a requested network connection is not reachable. +#: stdio-common/../sysdeps/gnu/errlist.c:474 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:177 +msgid "No route to host" +msgstr "Non c'� una route verso l'host" + +#. TRANS No space left on device; write operation on a file failed because the +#. TRANS disk is full. +#: stdio-common/../sysdeps/gnu/errlist.c:208 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:57 +msgid "No space left on device" +msgstr "Non � rimasto spazio sul dispositivo" + +#. TRANS The wrong type of device was given to a function that expects a +#. TRANS particular sort of device. +#: stdio-common/../sysdeps/gnu/errlist.c:147 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:48 +msgid "No such device" +msgstr "Dispositivo inesistente" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:35 +msgid "No such device or address" +msgstr "Dispositivo o indirizzo inesistente" + +#. TRANS No such file or directory. This is a ``file doesn't exist'' error +#. TRANS for ordinary files that are referenced in contexts where they are +#. TRANS expected to already exist. +#: stdio-common/../sysdeps/gnu/errlist.c:31 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:31 +msgid "No such file or directory" +msgstr "File o directory inesistente" + +#: nis/ypclnt.c:783 +msgid "No such key in map" +msgstr "La chiave non � nella mappa" + +#: nis/ypclnt.c:781 +msgid "No such map in server's domain" +msgstr "La mappa non � nel dominio del server" + +#. TRANS No process matches the specified process ID. +#: stdio-common/../sysdeps/gnu/errlist.c:36 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:32 +msgid "No such process" +msgstr "Processo inesistente" + +#: nis/nis_error.c:60 +msgid "Non NIS+ namespace encountered" +msgstr "Incontrato un namespace non di NIS+" + +#: posix/../sysdeps/posix/gai_strerror.c:33 +msgid "Non-recoverable failure in name resolution" +msgstr "Errore irreparabile nella risoluzione dei nomi" + +#: nis/nis_print.c:176 +msgid "None.\n" +msgstr "Nessuno.\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:816 +msgid "Not a XENIX named type file" +msgstr "Non � un file con nome di XENIX" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:106 +msgid "Not a data message" +msgstr "Non � un messaggio di dati" + +#. TRANS A file that isn't a directory was specified when a directory is required. +#: stdio-common/../sysdeps/gnu/errlist.c:152 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:49 +msgid "Not a directory" +msgstr "Non � una directory" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:166 +msgid "Not a name file" +msgstr "Non � un file con nome" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:89 +msgid "Not a stream device" +msgstr "Non � un dispositivo stream" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:167 +msgid "Not available" +msgstr "Non disponibile" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:41 +msgid "Not enough space" +msgstr "Non c'� abbastanza spazio" + +#: nis/nis_error.c:30 +msgid "Not found" +msgstr "Non trovato" + +#: nis/nis_error.c:48 +msgid "Not found, no such name" +msgstr "Non trovato, nome inesistente" + +#: nis/nis_error.c:43 +msgid "Not master server for this domain" +msgstr "Non � un server master per questo dominio" + +#: nis/nis_error.c:39 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:30 +msgid "Not owner" +msgstr "Non � il proprietario" + +#. TRANS Not supported. A function returns this error when certain parameter +#. TRANS values are valid, but the functionality they request is not available. +#. TRANS This can mean that the function does not implement a particular command +#. TRANS or option value or flag bit at all. For functions that operate on some +#. TRANS object given in a parameter, such as a file descriptor or a port, it +#. TRANS might instead mean that only @emph{that specific object} (file +#. TRANS descriptor, port, etc.) is unable to support the other parameters given; +#. TRANS different file descriptors might support different ranges of parameter +#. TRANS values. +#. TRANS +#. TRANS If the entire function is not available at all in the implementation, +#. TRANS it returns @code{ENOSYS} instead. +#: stdio-common/../sysdeps/gnu/errlist.c:591 +msgid "Not supported" +msgstr "Non gestito" + +#: nis/nis_print.c:263 +#, c-format +msgid "Number of Columns : %d\n" +msgstr "Numero di Colonne : %d\n" + +#: nis/nis_print.c:362 +#, c-format +msgid "Number of objects : %u\n" +msgstr "Numero di oggetti : %u\n" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:119 +msgid "Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS" +msgstr "Il numero di link simbolici incontrati durante l'attraversamento del percorso eccede MAXSYMLINKS" + +#. TRANS Domain error; used by mathematical functions when an argument value does +#. TRANS not fall into the domain over which the function is defined. +#: stdio-common/../sysdeps/gnu/errlist.c:240 +msgid "Numerical argument out of domain" +msgstr "Argomento numerico fuori dal dominio" + +#. TRANS Range error; used by mathematical functions when the result value is +#. TRANS not representable because of overflow or underflow. +#: stdio-common/../sysdeps/gnu/errlist.c:246 +msgid "Numerical result out of range" +msgstr "Risultato numerico fuori scala" + +#: nis/nis_print.c:366 +#, c-format +msgid "Object #%d:\n" +msgstr "Oggetto #%d:\n" + +#: nis/nis_print.c:316 +#, c-format +msgid "Object Name : %s\n" +msgstr "Nome dell'oggetto: %s\n" + +#: nis/nis_print.c:328 +msgid "Object Type : " +msgstr "Tipo dell'oggetto: " + +#. TRANS An attempt was made to NFS-mount a remote file system with a file name that +#. TRANS already specifies an NFS-mounted file. +#. TRANS (This is an error on some operating systems, but we expect it to work +#. TRANS properly on the GNU system, making this error code impossible.) +#: stdio-common/../sysdeps/gnu/errlist.c:514 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:95 +msgid "Object is remote" +msgstr "L'oggetto � remoto" + +#: nis/nis_error.c:42 +msgid "Object with same name exists" +msgstr "Esiste un oggetto con lo stesso nome" + +#: timezone/zic.c:2023 +msgid "Odd number of quotation marks" +msgstr "Numero dispari di virgolette" + +#: nscd/nscd.c:191 nscd/nscd.c:211 nscd/nscd.c:217 +msgid "Only root is allowed to use this option!" +msgstr "Solo root puo` usare questa opzione!" + +#. TRANS An operation is already in progress on an object that has non-blocking +#. TRANS mode selected. +#: stdio-common/../sysdeps/gnu/errlist.c:306 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:178 +msgid "Operation already in progress" +msgstr "Operazione gi� in corso" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:76 +msgid "Operation canceled" +msgstr "Operazione cancellata" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:118 +msgid "Operation not applicable" +msgstr "Operazione non applicabile" + +#. TRANS Operation not permitted; only the owner of the file (or other resource) +#. TRANS or processes with special privileges can perform the operation. +#: stdio-common/../sysdeps/gnu/errlist.c:24 +msgid "Operation not permitted" +msgstr "Operazione non permessa" + +#. TRANS The operation you requested is not supported. Some socket functions +#. TRANS don't make sense for all types of sockets, and others may not be +#. TRANS implemented for all communications protocols. In the GNU system, this +#. TRANS error can happen for many calls when the object does not support the +#. TRANS particular operation; it is a generic indication that the server knows +#. TRANS nothing to do for that call. +#: stdio-common/../sysdeps/gnu/errlist.c:350 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:77 +msgid "Operation not supported" +msgstr "Operazione non gestita" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:151 +msgid "Operation not supported on transport endpoint" +msgstr "Operazione non gestita dall'estremit� del trasporto" + +#. TRANS An operation that cannot complete immediately was initiated on an object +#. TRANS that has non-blocking mode selected. Some functions that must always +#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return +#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that +#. TRANS the operation has begun and will take some time. Attempts to manipulate +#. TRANS the object before the call completes return @code{EALREADY}. You can +#. TRANS use the @code{select} function to find out when the pending operation +#. TRANS has completed; @pxref{Waiting for I/O}. +#: stdio-common/../sysdeps/gnu/errlist.c:300 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:179 +msgid "Operation now in progress" +msgstr "L'operazione ora � in corso" + +#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above). +#. TRANS The values are always the same, on every operating system. +#. TRANS +#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a +#. TRANS separate error code. +#: stdio-common/../sysdeps/gnu/errlist.c:288 +msgid "Operation would block" +msgstr "L'operazione si bloccherebbe" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:128 +msgid "Option not supported by protocol" +msgstr "Opzione non gestita dal protocollo" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:92 +msgid "Out of stream resources" +msgstr "Risorse degli streams esaurite" + +#: stdio-common/../sysdeps/gnu/errlist.c:664 +msgid "Out of streams resources" +msgstr "Risorse degli streams esaurite" + +#: iconv/iconv_prog.c:59 locale/programs/localedef.c:98 +msgid "Output control:" +msgstr "Controllo dell'output:" + +#: elf/sprof.c:72 +msgid "Output selection:" +msgstr "Selezione dell'output:" + +#: nis/nis_print.c:318 +#, c-format +msgid "Owner : %s\n" +msgstr "Proprietario : %s\n" + +#: nis/nis_print.c:126 +msgid "PRIVATE\n" +msgstr "PRIVATO\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:756 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:94 +msgid "Package not installed" +msgstr "Pacchetto non installato" + +#: nscd/nscd_conf.c:82 +#, c-format +msgid "Parse error: %s" +msgstr "Errore di parsing: %s" + +#: nis/nis_error.c:54 +msgid "Partial success" +msgstr "Successo parziale" + +#: nis/nis_error.c:62 +msgid "Passed object is not the same object on server" +msgstr "L'oggetto passato non � lo stesso oggetto sul server" + +#. TRANS Permission denied; the file permissions do not allow the attempted operation. +#: nis/nis_error.c:38 nis/ypclnt.c:803 +#: stdio-common/../sysdeps/gnu/errlist.c:108 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:42 +msgid "Permission denied" +msgstr "Permesso negato" + +#: sysdeps/generic/siglist.h:71 sysdeps/gnu/siglist.h:65 +msgid "Power failure" +msgstr "Manca la corrente" + +#: posix/regex.c:1058 +msgid "Premature end of regular expression" +msgstr "Fine prematura dell'espressione regolare" + +#: db2/makedb.c:63 +msgid "Print content of database file, one entry a line" +msgstr "Stampa il contenuto del file del database, una voce per riga" + +#: nscd/nscd.c:86 +msgid "Print current configuration statistic" +msgstr "Stampa le statistiche della configurazione attuale" + +#: locale/programs/localedef.c:104 +msgid "Print more messages" +msgstr "Stampa altri messaggi" + +#: argp/argp-parse.c:148 +msgid "Print program version" +msgstr "Stampa la versione del programma" + +#: nis/nis_error.c:29 +msgid "Probable success" +msgstr "Probabile successo" + +#: nis/nis_error.c:31 +msgid "Probably not found" +msgstr "Probabilmente non trovato" + +#: stdio-common/../sysdeps/unix/siglist.c:52 sysdeps/generic/siglist.h:53 +#: sysdeps/gnu/siglist.h:47 +msgid "Profiling timer expired" +msgstr "Timer di profiling scaduto" + +#: stdio-common/../sysdeps/gnu/errlist.c:708 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:71 +msgid "Protocol driver not attached" +msgstr "Driver del protocollo non collegato" + +#: stdio-common/../sysdeps/gnu/errlist.c:676 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:100 +msgid "Protocol error" +msgstr "Errore di protocollo" + +#. TRANS The socket communications protocol family you requested is not supported. +#: stdio-common/../sysdeps/gnu/errlist.c:355 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:152 +msgid "Protocol family not supported" +msgstr "Famiglia del protocollo non gestita" + +#. TRANS You specified a socket option that doesn't make sense for the +#. TRANS particular protocol being used by the socket. @xref{Socket Options}. +#: stdio-common/../sysdeps/gnu/errlist.c:328 +msgid "Protocol not available" +msgstr "Protocollo non disponibile" + +#. TRANS The socket domain does not support the requested communications protocol +#. TRANS (perhaps because the requested protocol is completely invalid). +#. TRANS @xref{Creating a Socket}. +#: stdio-common/../sysdeps/gnu/errlist.c:335 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:149 +msgid "Protocol not supported" +msgstr "Protocollo non gestito" + +#. TRANS The socket type does not support the requested communications protocol. +#: stdio-common/../sysdeps/gnu/errlist.c:322 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:127 +msgid "Protocol wrong type for socket" +msgstr "Tipo di protocollo sbagliato per il socket" + +#: nis/nis_error.c:64 +msgid "Query illegal for named table" +msgstr "Query illecita per la tabella indicata" + +#: stdio-common/../sysdeps/unix/siglist.c:28 sysdeps/generic/siglist.h:31 +#: sysdeps/gnu/siglist.h:25 +msgid "Quit" +msgstr "Quit" + +#: stdio-common/../sysdeps/gnu/errlist.c:772 +msgid "RFS specific error" +msgstr "Errore specifico di RFS" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:539 +msgid "RPC bad procedure for program" +msgstr "Procedura RPC non valida per il programma" + +#: nis/ypclnt.c:777 +msgid "RPC failure on NIS operation" +msgstr "Errore di RPC su una operazione NIS" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:529 +msgid "RPC program not available" +msgstr "Programma RPC non disponibile" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:534 +msgid "RPC program version wrong" +msgstr "Versione sbagliata del programma RPC" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:519 +msgid "RPC struct is bad" +msgstr "La struct RPC non � valida" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:524 +msgid "RPC version wrong" +msgstr "Versione di RPC sbagliata" + +#: sunrpc/clnt_perr.c:270 +msgid "RPC: (unknown error code)" +msgstr "RPC: (codice di errore sconosciuto)" + +#: sunrpc/clnt_perr.c:189 +msgid "RPC: Authentication error" +msgstr "RPC: Errore di autenticazione" + +#: sunrpc/clnt_perr.c:169 +msgid "RPC: Can't decode result" +msgstr "RPC: Impossibile decodificare il risultato" + +#: sunrpc/clnt_perr.c:165 +msgid "RPC: Can't encode arguments" +msgstr "RPC: Impossibile codificare gli argomenti" + +#: sunrpc/clnt_perr.c:229 +msgid "RPC: Failed (unspecified error)" +msgstr "RPC: Fallito (errore non specificato)" + +#: sunrpc/clnt_perr.c:185 +msgid "RPC: Incompatible versions of RPC" +msgstr "RPC: Versioni di RPC incompatibili" + +#: sunrpc/clnt_perr.c:221 +msgid "RPC: Port mapper failure" +msgstr "RPC: Errore del portmapper" + +#: sunrpc/clnt_perr.c:201 +msgid "RPC: Procedure unavailable" +msgstr "RPC: Procedura non disponibile" + +#: sunrpc/clnt_perr.c:225 +msgid "RPC: Program not registered" +msgstr "RPC: Programma non registrato" + +#: sunrpc/clnt_perr.c:193 +msgid "RPC: Program unavailable" +msgstr "RPC: Programma non disponibile" + +#: sunrpc/clnt_perr.c:197 +msgid "RPC: Program/version mismatch" +msgstr "RPC: Programma/versione non corrispondenti" + +#: sunrpc/clnt_perr.c:209 +msgid "RPC: Remote system error" +msgstr "RPC: Errore del sistema remoto" + +#: sunrpc/clnt_perr.c:205 +msgid "RPC: Server can't decode arguments" +msgstr "RPC: Il server non pu� decodificare gli argomenti" + +#: sunrpc/clnt_perr.c:162 +msgid "RPC: Success" +msgstr "RPC: Successo" + +#: sunrpc/clnt_perr.c:181 +msgid "RPC: Timed out" +msgstr "RPC: Tempo scaduto" + +#: sunrpc/clnt_perr.c:177 +msgid "RPC: Unable to receive" +msgstr "RPC: Impossibile ricevere" + +#: sunrpc/clnt_perr.c:173 +msgid "RPC: Unable to send" +msgstr "RPC: Impossibile inviare" + +#: sunrpc/clnt_perr.c:213 +msgid "RPC: Unknown host" +msgstr "RPC: Host sconosciuto" + +#: sunrpc/clnt_perr.c:217 +msgid "RPC: Unknown protocol" +msgstr "RPC: Protocollo sconosciuto" + +#: nis/nis_print.c:184 +#, c-format +msgid "RSA (%d bits)\n" +msgstr "RSA (%d bit)\n" + +#: elf/dlsym.c:59 elf/dlvsym.c:62 +msgid "RTLD_NEXT used in code not dynamically loaded" +msgstr "RTLD_NEXT usato in codice non caricato dinamicamente" + +#: elf/sprof.c:84 +msgid "Read and display shared object profiling data" +msgstr "Legge e mostra i dati di profilazione degli oggetti condivisi" + +#: nscd/nscd.c:81 +msgid "Read configuration data from NAME" +msgstr "Legge i dati di configurazione da NOME" + +#. TRANS An attempt was made to modify something on a read-only file system. +#: stdio-common/../sysdeps/gnu/errlist.c:218 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:59 +msgid "Read-only file system" +msgstr "File system di sola lettura" + +#: string/strsignal.c:66 +#, c-format +msgid "Real-time signal %d" +msgstr "Segnale real-time %d" + +#: posix/regex.c:1061 +msgid "Regular expression too big" +msgstr "Espressione regolare troppo grande" + +#: stdio-common/../sysdeps/gnu/errlist.c:828 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:169 +msgid "Remote I/O error" +msgstr "Errore di I/O remoto" + +#: stdio-common/../sysdeps/gnu/errlist.c:784 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:111 +msgid "Remote address changed" +msgstr "� cambiato l'indirizzo del remoto" + +#: inet/ruserpass.c:177 +msgid "Remove password or make file unreadable by others." +msgstr "Rimuovere la password o rendere il file illeggibile dagli altri." + +#: elf/sprof.c:533 +#, c-format +msgid "Reopening shared object `%s' failed" +msgstr "Fallita la riapertura dell'oggetto condiviso `%s'" + +#: nis/nis_print.c:170 +msgid "Replicate :\n" +msgstr "Replica :\n" + +#: argp/argp-help.c:1640 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Segnalare i bug a %s.\n" + +#: catgets/gencat.c:224 db2/makedb.c:229 iconv/iconv_prog.c:280 +#: locale/programs/locale.c:254 locale/programs/localedef.c:386 +msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n" +msgstr "Segnalare i bug a <bugs@gnu.org> usando lo script `glibcbug'.\n" + +#: nis/ypclnt.c:775 +msgid "Request arguments bad" +msgstr "Argomenti della richiesta non validi" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:170 +msgid "Reserved for future use" +msgstr "Riservato per usi futuri" + +#: resolv/herror.c:73 +msgid "Resolver Error 0 (no error)" +msgstr "Errore 0 del resolver (nessun errore)" + +#: resolv/herror.c:117 +msgid "Resolver internal error" +msgstr "Errore interno del resolver" + +#. TRANS Deadlock avoided; allocating a system resource would have resulted in a +#. TRANS deadlock situation. The system does not guarantee that it will notice +#. TRANS all such situations. This error means you got lucky and the system +#. TRANS noticed; it might just hang. @xref{File Locks}, for an example. +#: stdio-common/../sysdeps/gnu/errlist.c:97 +msgid "Resource deadlock avoided" +msgstr "Evitato un deadlock sulle risorse" + +#: stdio-common/../sysdeps/unix/siglist.c:54 sysdeps/generic/siglist.h:74 +#: sysdeps/gnu/siglist.h:68 +msgid "Resource lost" +msgstr "Risorsa persa" + +#. TRANS Resource temporarily unavailable; the call might work if you try again +#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN}; +#. TRANS they are always the same in the GNU C library. +#. TRANS +#. TRANS This error can happen in a few different situations: +#. TRANS +#. TRANS @itemize @bullet +#. TRANS @item +#. TRANS An operation that would block was attempted on an object that has +#. TRANS non-blocking mode selected. Trying the same operation again will block +#. TRANS until some external condition makes it possible to read, write, or +#. TRANS connect (whatever the operation). You can use @code{select} to find out +#. TRANS when the operation will be possible; @pxref{Waiting for I/O}. +#. TRANS +#. TRANS @strong{Portability Note:} In many older Unix systems, this condition +#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code +#. TRANS different from @code{EAGAIN}. To make your program portable, you should +#. TRANS check for both codes and treat them the same. +#. TRANS +#. TRANS @item +#. TRANS A temporary resource shortage made an operation impossible. @code{fork} +#. TRANS can return this error. It indicates that the shortage is expected to +#. TRANS pass, so your program can try the call again later and it may succeed. +#. TRANS It is probably a good idea to delay for a few seconds before trying it +#. TRANS again, to allow time for other processes to release scarce resources. +#. TRANS Such shortages are usually fairly serious and affect the whole system, +#. TRANS so usually an interactive program should report the error to the user +#. TRANS and return to its command loop. +#. TRANS @end itemize +#: stdio-common/../sysdeps/gnu/errlist.c:279 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:40 +msgid "Resource temporarily unavailable" +msgstr "Risorsa temporaneamente non disponibile" + +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:63 +msgid "Result too large" +msgstr "Risultato troppo grande" + +#: nis/nis_error.c:47 +msgid "Results sent to callback proc" +msgstr "Risultati inviati alla procedura di callback" + +#: elf/sprof.c:87 +msgid "SHOBJ [PROFDATA]" +msgstr "SHOBJ [PROFDATA]" + +#: nis/nis_print.c:33 +msgid "SUNYP" +msgstr "SUNYP" + +#: nis/nis_print.c:265 +#, c-format +msgid "Search Path : %s\n" +msgstr "Percorso di ricerca : %s\n" + +#: stdio-common/../sysdeps/unix/siglist.c:36 sysdeps/generic/siglist.h:38 +#: sysdeps/gnu/siglist.h:32 +msgid "Segmentation fault" +msgstr "Segmentation fault" + +#: nis/nis_error.c:35 +msgid "Server busy, try again" +msgstr "Server occupato, riprovare" + +#: nis/nis_error.c:41 +msgid "Server out of memory" +msgstr "Il server ha esaurito la memoria" + +#: sunrpc/clnt_perr.c:335 +msgid "Server rejected credential" +msgstr "Il server ha rifiutato le credenziali" + +#: sunrpc/clnt_perr.c:343 +msgid "Server rejected verifier" +msgstr "Il server ha rifiutato il verificatore" + +#: posix/../sysdeps/posix/gai_strerror.c:38 +msgid "Servname not supported for ai_socktype" +msgstr "Servname non gestito per ai_socktype" + +#: argp/argp-parse.c:89 +msgid "Set the program name" +msgstr "Imposta il nome del programma" + +#: nscd/nscd.c:85 +msgid "Shut the server down" +msgstr "Disattiva il server" + +#: stdio-common/../sysdeps/unix/siglist.c:25 +msgid "Signal 0" +msgstr "Segnale 0" + +#. TRANS A file that isn't a socket was specified when a socket is required. +#: stdio-common/../sysdeps/gnu/errlist.c:311 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:124 +msgid "Socket operation on non-socket" +msgstr "Operazione per socket su un non socket" + +#. TRANS The socket type is not supported. +#: stdio-common/../sysdeps/gnu/errlist.c:340 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:150 +msgid "Socket type not supported" +msgstr "Tipo di socket non gestito" + +#. TRANS A network connection was aborted locally. +#: stdio-common/../sysdeps/gnu/errlist.c:394 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:159 +msgid "Software caused connection abort" +msgstr "Il programma ha causato la fine della connessione" + +#: sunrpc/rpcinfo.c:658 +msgid "Sorry. You are not root\n" +msgstr "Spiacente, non sei root\n" + +#: locale/programs/localedef.c:94 +msgid "Source definitions are found in FILE" +msgstr "Le definizioni sorgente sono nel FILE" + +#: stdio-common/../sysdeps/gnu/errlist.c:764 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:98 +msgid "Srmount error" +msgstr "Errore di srmount" + +#: sysdeps/generic/siglist.h:66 sysdeps/gnu/siglist.h:60 +msgid "Stack fault" +msgstr "Stack fault" + +#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS +#. TRANS system which is due to file system rearrangements on the server host. +#. TRANS Repairing this condition usually requires unmounting and remounting +#. TRANS the NFS file system on the local host. +#: stdio-common/../sysdeps/gnu/errlist.c:506 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:180 +msgid "Stale NFS file handle" +msgstr "Vecchio file handle NFS" + +#: nscd/nscd.c:84 +msgid "Start NUMBER threads" +msgstr "Lancia NUMERO thread" + +#: nis/nis_print.c:361 +#, c-format +msgid "Status : %s\n" +msgstr "Stato : %s\n" + +#: stdio-common/../sysdeps/unix/siglist.c:43 sysdeps/generic/siglist.h:44 +#: sysdeps/gnu/siglist.h:38 +msgid "Stopped" +msgstr "Fermato" + +#: stdio-common/../sysdeps/unix/siglist.c:42 sysdeps/generic/siglist.h:43 +#: sysdeps/gnu/siglist.h:37 +msgid "Stopped (signal)" +msgstr "Fermato (segnale)" + +#: stdio-common/../sysdeps/unix/siglist.c:46 sysdeps/generic/siglist.h:47 +#: sysdeps/gnu/siglist.h:41 +msgid "Stopped (tty input)" +msgstr "Fermato (input da tty)" + +#: stdio-common/../sysdeps/unix/siglist.c:47 sysdeps/generic/siglist.h:48 +#: sysdeps/gnu/siglist.h:42 +msgid "Stopped (tty output)" +msgstr "Fermato (output da tty)" + +#: stdio-common/../sysdeps/gnu/errlist.c:808 +msgid "Streams pipe error" +msgstr "Errore di pipe di streams" + +#: stdio-common/../sysdeps/gnu/errlist.c:812 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:164 +msgid "Structure needs cleaning" +msgstr "La struttura ha bisogno di essere pulita" + +#: nis/nis_error.c:28 nis/ypclnt.c:773 nis/ypclnt.c:847 posix/regex.c:1016 +#: stdio-common/../sysdeps/gnu/errlist.c:19 +msgid "Success" +msgstr "Successo" + +#: locale/programs/localedef.c:103 +msgid "Suppress warnings and information messages" +msgstr "Sopprime messaggi di avvertimento e informazione" + +#: locale/programs/localedef.c:92 +msgid "Symbolic character names defined in FILE" +msgstr "Nomi simbolici dei caratteri definiti in FILE" + +#: posix/../sysdeps/posix/gai_strerror.c:40 +msgid "System error" +msgstr "Errore di sistema" + +#: locale/programs/locale.c:63 +msgid "System information:" +msgstr "Informazioni sul sistema:" + +#: nis/ypclnt.c:853 +msgid "System resource allocation failure" +msgstr "Errore di allocazione delle risorse di sistema" + +#: locale/programs/localedef.c:381 +#, c-format +msgid "" +"System's directory for character maps : %s\n" +" repertoire maps: %s\n" +" locale path : %s\n" +"%s" +msgstr "" +"Directory di sistema per le mappe dei caratteri: %s\n" +" repertoire maps : %s\n" +" percorso di localizzazione: %s\n" +"%s" + +#: nscd/nscd.c:87 +msgid "TABLE" +msgstr "TABELLA" + +#: nis/nis_print.c:117 +msgid "TABLE\n" +msgstr "TABELLA\n" + +#: nscd/nscd.c:89 +msgid "TABLE,yes" +msgstr "TABELLA,si" + +#: nis/nis_print.c:262 +#, c-format +msgid "Table Type : %s\n" +msgstr "Tipo di tabella : %s\n" + +#: posix/../sysdeps/posix/gai_strerror.c:31 +msgid "Temporary failure in name resolution" +msgstr "Errore temporaneo durante la risoluzione del nome" + +#: stdio-common/../sysdeps/unix/siglist.c:40 sysdeps/generic/siglist.h:41 +#: sysdeps/gnu/siglist.h:35 +msgid "Terminated" +msgstr "Terminato" + +#. TRANS An attempt to execute a file that is currently open for writing, or +#. TRANS write to a file that is currently being executed. Often using a +#. TRANS debugger to run a program is considered having it open for writing and +#. TRANS will cause this error. (The name stands for ``text file busy''.) This +#. TRANS is not an error in the GNU system; the text is copied as necessary. +#: stdio-common/../sysdeps/gnu/errlist.c:197 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:55 +msgid "Text file busy" +msgstr "File text occupato" + +#: iconv/iconv_prog.c:578 +msgid "" +"The following list contain all the coded character sets known. This does\n" +"not necessarily mean that all combinations of these names can be used for\n" +"the FROM and TO command line parameters. One coded character set can be\n" +"listed with several different names (aliases).\n" +" Some of the names are no plain strings but instead regular expressions and\n" +"they match a variety of names which can be given as parameters to the\n" +"program.\n" +"\n" +" " +msgstr "" +"La seguente lista contiene tutti i set di caratteri codificati noti. Questo\n" +"non significa necessariamente che tutte le combinazioni di questi nomi possono\n" +"essere usate per i parametri di linea di comando FROM e TO. Un set di\n" +"caratteri codificato pu� essere elencato con diversi nomi diversi (alias).\n" +"Alcuni nomi non sono semplici stringhe ma espressioni regolari e corrispondono\n" +"a una variet� di nomi che possono essere dati come parametri al programma.\n" +"\n" +" " + +#: nis/nis_print.c:223 +msgid "Time to live : " +msgstr "Tempo di vita: " + +#: stdio-common/../sysdeps/gnu/errlist.c:680 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:91 +msgid "Timer expired" +msgstr "Timer scaduto" + +#: nis/nis_error.c:55 +msgid "Too many attributes" +msgstr "Troppi attributi" + +#. TRANS Too many levels of symbolic links were encountered in looking up a file name. +#. TRANS This often indicates a cycle of symbolic links. +#: stdio-common/../sysdeps/gnu/errlist.c:457 +msgid "Too many levels of symbolic links" +msgstr "Troppi livelli di link simbolici" + +#. TRANS Too many links; the link count of a single file would become too large. +#. TRANS @code{rename} can cause this error if the file being renamed already has +#. TRANS as many links as it can take (@pxref{Renaming Files}). +#: stdio-common/../sysdeps/gnu/errlist.c:225 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:60 +msgid "Too many links" +msgstr "Troppi link" + +#. TRANS The current process has too many files open and can't open any more. +#. TRANS Duplicate descriptors do count toward this limit. +#. TRANS +#. TRANS In BSD and GNU, the number of open files is controlled by a resource +#. TRANS limit that can usually be increased. If you get this error, you might +#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; +#. TRANS @pxref{Limits on Resources}. +#: stdio-common/../sysdeps/gnu/errlist.c:175 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:53 +msgid "Too many open files" +msgstr "Troppi file aperti" + +#. TRANS There are too many distinct file openings in the entire system. Note +#. TRANS that any number of linked channels count as just one file opening; see +#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system. +#: stdio-common/../sysdeps/gnu/errlist.c:182 +msgid "Too many open files in system" +msgstr "Troppi file aperti nel sistema" + +#. TRANS This means that the per-user limit on new process would be exceeded by +#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on +#. TRANS the @code{RLIMIT_NPROC} limit. +#: stdio-common/../sysdeps/gnu/errlist.c:487 +msgid "Too many processes" +msgstr "Troppi processi" + +#. TRANS ??? +#: stdio-common/../sysdeps/gnu/errlist.c:439 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:173 +msgid "Too many references: cannot splice" +msgstr "Troppi riferimenti: impossibile dividere" + +#. TRANS The file quota system is confused because there are too many users. +#. TRANS @c This can probably happen in a GNU system when using NFS. +#: stdio-common/../sysdeps/gnu/errlist.c:493 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:123 +msgid "Too many users" +msgstr "Troppi utenti" + +#: stdio-common/../sysdeps/unix/siglist.c:30 sysdeps/generic/siglist.h:33 +#: sysdeps/gnu/siglist.h:27 +msgid "Trace/breakpoint trap" +msgstr "Trap di trace/breakpoint" + +#: posix/regex.c:1031 +msgid "Trailing backslash" +msgstr "Backslash finale" + +#. TRANS In the GNU system, opening a file returns this error when the file is +#. TRANS translated by a program and the translator program dies while starting +#. TRANS up, before it has connected to the file. +#: stdio-common/../sysdeps/gnu/errlist.c:614 +msgid "Translator died" +msgstr "Il traduttore � morto" + +#. TRANS You tried to connect a socket that is already connected. +#. TRANS @xref{Connecting}. +#: stdio-common/../sysdeps/gnu/errlist.c:414 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:162 +msgid "Transport endpoint is already connected" +msgstr "Estremit� del trasporto gi� connesso" + +#. TRANS The socket is not connected to anything. You get this error when you +#. TRANS try to transmit data over a socket, without first specifying a +#. TRANS destination for the data. For a connectionless socket (for datagram +#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. +#: stdio-common/../sysdeps/gnu/errlist.c:422 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:163 +msgid "Transport endpoint is not connected" +msgstr "Estremit� del trasporto non connesso" + +#: argp/argp-help.c:1612 +#, c-format +msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgstr "Usare `%s --help' o `%s --usage' per ulteriori informazioni.\n" + +#: inet/rcmd.c:150 +#, c-format +msgid "Trying %s...\n" +msgstr "Proviamo %s...\n" + +#: nis/nis_print.c:163 +#, c-format +msgid "Type : %s\n" +msgstr "Tipo : %s\n" + +#: nis/nis_print.c:47 +msgid "UNKNOWN" +msgstr "SCONOSCIUTO" + +#: nis/nis_error.c:72 +msgid "Unable to authenticate NIS+ client" +msgstr "Impossibile autenticare il client NIS+" + +#: nis/nis_error.c:71 +msgid "Unable to authenticate NIS+ server" +msgstr "Impossibile autenticare il server NIS+" + +#: nis/nis_error.c:46 +msgid "Unable to create callback" +msgstr "Impossibile creare il callback" + +#: nis/nis_error.c:74 +msgid "Unable to create process on server" +msgstr "Impossibile creare il processo sul server" + +#: nis/nis_print.c:190 +#, c-format +msgid "Unknown (type = %d, bits = %d)\n" +msgstr "Sconosciuto (tipo = %d, bit = %d)\n" + +#: inet/ruserpass.c:263 +#, c-format +msgid "Unknown .netrc keyword %s" +msgstr "Parola chiave di .netrc sconosciuta %s" + +#: nis/ypclnt.c:807 +msgid "Unknown NIS error code" +msgstr "Codice di errore di NIS sconosciuto" + +#: nss/getent.c:512 +#, c-format +msgid "Unknown database: %s\n" +msgstr "Databae sconosciuto: %s\n" + +#: posix/../sysdeps/posix/gai_strerror.c:51 +msgid "Unknown error" +msgstr "Errore sconosciuto" + +#: string/../sysdeps/generic/_strerror.c:48 +#: string/../sysdeps/mach/_strerror.c:87 +#: sysdeps/mach/hurd/mips/dl-machine.c:82 +msgid "Unknown error " +msgstr "Errore sconosciuto " + +#: resolv/herror.c:74 +msgid "Unknown host" +msgstr "Host sconosciuto" + +#: nis/nis_error.c:34 +msgid "Unknown object" +msgstr "Oggetto sconosciuto" + +#: nscd/nscd_conf.c:179 +#, c-format +msgid "Unknown option: %s %s %s" +msgstr "Opzione sconosciuta: %s %s %s" + +#: resolv/herror.c:120 +msgid "Unknown resolver error" +msgstr "Errore conosciuto del resolver" + +#: resolv/herror.c:76 +msgid "Unknown server error" +msgstr "Errore sconosciuto del server" + +#: string/strsignal.c:70 +#, c-format +msgid "Unknown signal %d" +msgstr "Segnale %d sconosciuto" + +#: misc/error.c:107 timezone/zic.c:386 +msgid "Unknown system error" +msgstr "Errore di sistema sconosciuto" + +#: nis/ypclnt.c:855 +msgid "Unknown ypbind error" +msgstr "Errore sconosciuto di ypbind" + +#: posix/regex.c:1040 +msgid "Unmatched ( or \\(" +msgstr "( o \\( sbilanciato" + +#: posix/regex.c:1064 +msgid "Unmatched ) or \\)" +msgstr ") o \\) sbilanciato" + +#: posix/regex.c:1037 +msgid "Unmatched [ or [^" +msgstr "[ o [^ sbilanciato" + +#: posix/regex.c:1043 +msgid "Unmatched \\{" +msgstr "\\{ sbilanciato" + +#: posix/getconf.c:692 +#, c-format +msgid "Unrecognized variable `%s'" +msgstr "Variabile `%s' non riconosciuta" + +#: stdio-common/../sysdeps/unix/siglist.c:41 sysdeps/generic/siglist.h:42 +#: sysdeps/gnu/siglist.h:36 +msgid "Urgent I/O condition" +msgstr "Condizione di I/O urgente" + +#: argp/argp-help.c:1569 +msgid "Usage:" +msgstr "Uso:" + +#: posix/getconf.c:604 +#, c-format +msgid "Usage: %s variable_name [pathname]\n" +msgstr "Uso: %s nome_variabile [percorso]\n" + +#: sunrpc/rpcinfo.c:674 +msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" +msgstr "Uso: rpcinfo [ -n numporta ] -u host numprog [ numvers ]\n" + +#: nscd/nscd.c:89 +msgid "Use separate cache for each user" +msgstr "Usa una cache separata per ogni utente" + +#: stdio-common/../sysdeps/unix/siglist.c:55 sysdeps/generic/siglist.h:55 +#: sysdeps/gnu/siglist.h:49 +msgid "User defined signal 1" +msgstr "Segnale 1 definito dall'utente" + +#: stdio-common/../sysdeps/unix/siglist.c:56 sysdeps/generic/siglist.h:56 +#: sysdeps/gnu/siglist.h:50 +msgid "User defined signal 2" +msgstr "Segnale 2 definito dall'utente" + +#: stdio-common/../sysdeps/gnu/errlist.c:672 +#: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:108 +msgid "Value too large for defined data type" +msgstr "Valore troppo grande per il tipo di dato definito" + +#: stdio-common/../sysdeps/unix/siglist.c:51 sysdeps/generic/siglist.h:52 +#: sysdeps/gnu/siglist.h:46 +msgid "Virtual timer expired" +msgstr "Virtual timer expired" + +#: timezone/zic.c:1927 +msgid "Wild result from command execution" +msgstr "Risultato assurdo dall'esecuzione del comando" + +#: stdio-common/../sysdeps/unix/siglist.c:53 sysdeps/generic/siglist.h:54 +#: sysdeps/gnu/siglist.h:48 +msgid "Window changed" +msgstr "Finestra cambiata" + +#: locale/programs/locale.c:67 +msgid "Write names of available charmaps" +msgstr "Scrive i nomi delle mappe di caratteri disponibili" + +#: locale/programs/locale.c:65 +msgid "Write names of available locales" +msgstr "Scrive i nomi delle localizzazioni disponibili" + +#: locale/programs/locale.c:69 +msgid "Write names of selected categories" +msgstr "Scrive i nomi delle categorie selezionate" + +#: locale/programs/locale.c:70 +msgid "Write names of selected keywords" +msgstr "Scrive i nomi delle parole chiave selezionate" + +#: catgets/gencat.c:111 db2/makedb.c:59 +msgid "Write output to file NAME" +msgstr "Scrive l'output nel file NOME" + +#: catgets/gencat.c:242 db2/makedb.c:247 elf/sprof.c:361 +#: iconv/iconv_prog.c:299 locale/programs/locale.c:272 +#: locale/programs/localedef.c:405 nscd/nscd.c:282 nscd/nscd_nischeck.c:95 +#: nss/getent.c:71 posix/getconf.c:629 +#, c-format +msgid "Written by %s.\n" +msgstr "Scritto da %s.\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:836 +msgid "Wrong medium type" +msgstr "Tipo di medium errato" + +#: nis/nis_print.c:39 +msgid "X500" +msgstr "X500" + +#: nis/nis_print.c:43 +msgid "XCHS" +msgstr "XCHS" + +#: nis/ypclnt.c:171 +#, c-format +msgid "YPBINDPROC_DOMAIN: %s\n" +msgstr "YPBINDPROC_DOMAIN: %s\n" + +#: nis/nis_error.c:70 +msgid "Yes, 42 is the meaning of life" +msgstr "S�, 42 � il significato della vita" + +#. TRANS You did @strong{what}? +#: stdio-common/../sysdeps/gnu/errlist.c:626 +msgid "You really blew it this time" +msgstr "Questa volta hai davvero combinato un pasticcio" + +#: timezone/zic.c:1089 +msgid "Zone continuation line end time is not after end time of previous line" +msgstr "" +"Il tempo finale della riga di continuazione della zona\n" +"non � successivo al tempo finale della riga precedente" + +#: iconv/iconv_prog.c:70 +msgid "[FILE...]" +msgstr "[FILE...]" + +#: sunrpc/pmap_clnt.c:71 +msgid "__get_myaddress: ioctl (get interface configuration)" +msgstr "__get_myaddress: ioctl (ottiene la configurazione dell'interfaccia)" + +#: locale/programs/charmap.c:480 locale/programs/locfile.c:477 +#: locale/programs/repertoire.c:290 +#, c-format +msgid "`%1$s' definition does not end with `END %1$s'" +msgstr "la definizione `%1$s' non finisce con `END %1$s'" + +#: elf/sprof.c:762 +#, c-format +msgid "`%s' is no correct profile data file for `%s'" +msgstr "`%s' non � un file con i dati di profilazione corretti per `%s'" + +#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193 +#, c-format +msgid "`-1' must be last entry in `%s' field in `%s' category" +msgstr "`-1' deve essere l'ultima voce del campo `%s' nella categoria `%s'" + +#: locale/programs/ld-collate.c:1670 +msgid "`...' must only be used in `...' and `UNDEFINED' entries" +msgstr "`...' deve essere usata solo nelle voci `...' e `UNDEFINED'" + +#: locale/programs/locfile.c:674 +msgid "`from' expected after first argument to `collating-element'" +msgstr "manca `from' dopo il primo argomento a `collating-element'" + +#: locale/programs/ld-collate.c:1122 +msgid "`from' string in collation element declaration contains unknown character" +msgstr "" +"la stringa `from' nella dichiarazione dell'elemento di collazione\n" +"contiene un carattere sconosciuto" + +#: posix/../sysdeps/posix/gai_strerror.c:34 +msgid "ai_family not supported" +msgstr "ai_family non gestita" + +#: posix/../sysdeps/posix/gai_strerror.c:39 +msgid "ai_socktype not supported" +msgstr "ai_socktype non gestito" + +#: nscd/nscd.c:127 +msgid "already running" +msgstr "gi� in esecuzione" + +#: locale/programs/charmap.c:352 locale/programs/repertoire.c:164 +#, c-format +msgid "argument to <%s> must be a single character" +msgstr "l'argomento di <%s> deve essere un unico carattere" + +#: locale/programs/locfile.c:240 +#, c-format +msgid "argument to `%s' must be a single character" +msgstr "l'argomento di `%s' deve essere un unico carattere" + +#: sunrpc/auth_unix.c:310 +msgid "auth_none.c - Fatal marshalling problem" +msgstr "auth_none.c - Problema fatale di marshalling" + +#: sunrpc/auth_unix.c:105 sunrpc/auth_unix.c:111 sunrpc/auth_unix.c:141 +msgid "authunix_create: out of memory\n" +msgstr "authunix_create: memoria esaurita\n" + +#: locale/programs/charmap.c:297 locale/programs/locfile.c:234 +#: locale/programs/locfile.c:261 locale/programs/repertoire.c:156 +msgid "bad argument" +msgstr "argomenti non validi" + +#: inet/rcmd.c:326 +msgid "bad owner" +msgstr "proprietario non valido" + +#: timezone/zic.c:1211 +msgid "blank FROM field on Link line" +msgstr "campo FROM vuoto in una riga di Link" + +#: timezone/zic.c:1215 +msgid "blank TO field on Link line" +msgstr "campo TO vuoto in una riga di Link" + +#: malloc/mcheck.c:208 +msgid "block freed twice\n" +msgstr "blocco liberato due volte\n" + +#: malloc/mcheck.c:211 +msgid "bogus mcheck_status, library is buggy\n" +msgstr "mcheck_status insensato, la libreria � bacata\n" + +#: sunrpc/pmap_rmt.c:185 +msgid "broadcast: ioctl (get interface configuration)" +msgstr "broadcast: ioctl (leggi la configurazione dell'interfaccia)" + +#: sunrpc/pmap_rmt.c:194 +msgid "broadcast: ioctl (get interface flags)" +msgstr "broadcast: ioctl (leggi i flag dell'interfaccia)" + +#: login/programs/request.c:167 +msgid "buffer overflow" +msgstr "overflow del buffer" + +#: sunrpc/svc_udp.c:446 +msgid "cache_set: could not allocate new rpc_buffer" +msgstr "cache_set: impossibile allocare un nuovo rpc_buffer" + +#: sunrpc/svc_udp.c:440 +msgid "cache_set: victim alloc failed" +msgstr "cache_set: fallita l'allocazione della vittima" + +#: sunrpc/svc_udp.c:429 +msgid "cache_set: victim not found" +msgstr "cache_set: vittima non trovata" + +#: timezone/zic.c:1752 +msgid "can't determine time zone abbreviation to use just after until time" +msgstr "" +"impossibile determinare l'abbreviazione del fuso orario\n" +"da usare subito dopo il tempo finale" + +#: sunrpc/svc_simple.c:75 +#, c-format +msgid "can't reassign procedure number %d\n" +msgstr "impossibile riassegnare il numero di procedura %d\n" + +#: locale/programs/localedef.c:276 +#, c-format +msgid "cannot `stat' locale file `%s'" +msgstr "impossibile fare `stat' sul file di localizzazione `%s'" + +#: elf/sprof.c:931 elf/sprof.c:983 +msgid "cannot allocate symbol data" +msgstr "impossibile allocare i dati dei simboli" + +#: elf/sprof.c:715 elf/sprof.c:773 +msgid "cannot create internal descriptor" +msgstr "impossibile creare il descrittore interno" + +#: elf/sprof.c:413 +msgid "cannot create internal descriptors" +msgstr "impossibile creare i descrittori interni" + +#: nscd/connections.c:183 +#, c-format +msgid "cannot enable socket to accept connections: %s" +msgstr "impossibile abilitare il socket ad accettare connessioni: %s" + +#: sunrpc/rpc_main.c:341 +#, c-format +msgid "cannot find C preprocessor: %s \n" +msgstr "impossibile trovare il preprocessore C: %s\n" + +#: sunrpc/rpc_main.c:349 +msgid "cannot find any C preprocessor (cpp)\n" +msgstr "impossibile trovare un preprocessore C\n" + +#: nscd/connections.c:224 +#, c-format +msgid "cannot handle old request version %d; current version is %d" +msgstr "" +"impossibile gestire una vecchia richiesta di versione %d;\n" +"la versione attuale � %d" + +#: locale/programs/ld-collate.c:1328 +#, c-format +msgid "cannot insert collation element `%.*s'" +msgstr "impossibile inserire l'elemento di collazione `%.*s'" + +#: locale/programs/ld-collate.c:1507 locale/programs/ld-collate.c:1514 +msgid "cannot insert into result table" +msgstr "impossibile l'inserimento nella tabella dei risultati" + +#: locale/programs/ld-collate.c:1179 locale/programs/ld-collate.c:1222 +#, c-format +msgid "cannot insert new collating symbol definition: %s" +msgstr "impossibile inserire la nuova definizione di simbolo di collazione: %s" + +#: elf/sprof.c:670 +msgid "cannot load profiling data" +msgstr "impossibile leggere i dati di profilazione" + +#: inet/rcmd.c:322 +msgid "cannot open" +msgstr "impossibile aprire" + +#: sysdeps/unix/sysv/linux/lddlibc4.c:64 +#, c-format +msgid "cannot open `%s'" +msgstr "impossibile aprire `%s'" + +#: db2/makedb.c:146 +#, c-format +msgid "cannot open database file `%s': %s" +msgstr "impossibile aprire il file del database `%s': %s" + +#: catgets/gencat.c:273 db2/makedb.c:167 iconv/iconv_prog.c:177 +#, c-format +msgid "cannot open input file `%s'" +msgstr "impossibile aprire il file di input `%s'" + +#: locale/programs/localedef.c:195 +#, c-format +msgid "cannot open locale definition file `%s'" +msgstr "impossibile aprire il file di definizione della localizzazione `%s'" + +#: iconv/iconv_prog.c:155 +msgid "cannot open output file" +msgstr "impossibile aprire il file di output" + +#: catgets/gencat.c:780 catgets/gencat.c:821 db2/makedb.c:181 +#, c-format +msgid "cannot open output file `%s'" +msgstr "impossibile aprire il file di output `%s'" + +#: locale/programs/locfile.c:1135 +#, c-format +msgid "cannot open output file `%s' for category `%s'" +msgstr "impossibile aprire il file di output `%s' per la categoria `%s'" + +#: nscd/connections.c:165 +#, c-format +msgid "cannot open socket: %s" +msgstr "impossibile aprire il socket `%s'" + +#: locale/programs/ld-collate.c:1374 +msgid "cannot process order specification" +msgstr "impossibile elaborare le specifiche di ordine" + +#: locale/programs/locale.c:449 +#, c-format +msgid "cannot read character map directory `%s'" +msgstr "impossibile leggere la directory delle mappe di caratteri `%s'" + +#: nscd/connections.c:125 +msgid "cannot read configuration file; this is fatal" +msgstr "impossibile leggere il file di configurazione. Questo � fatale" + +#: login/programs/request.c:91 +msgid "cannot read from client" +msgstr "impossibile leggere dal client" + +#: sysdeps/unix/sysv/linux/lddlibc4.c:68 +#, c-format +msgid "cannot read header from `%s'" +msgstr "impossibile leggere l'header da `%s'" + +#: locale/programs/locale.c:306 +#, c-format +msgid "cannot read locale directory `%s'" +msgstr "impossibile leggere la directory di localizzazione `%s'" + +#: locale/programs/localedef.c:300 +#, c-format +msgid "cannot read locale file `%s'" +msgstr "impossibile leggere il file di localizzazione `%s'" + +#: locale/programs/locfile.c:289 locale/programs/locfile.c:308 +#: locale/programs/locfile.c:327 locale/programs/locfile.c:346 +#: locale/programs/locfile.c:365 locale/programs/locfile.c:384 +#, c-format +msgid "cannot read repertoire map `%s'" +msgstr "impossibile leggere la repertoire map `%s'" + +#: nscd/nscd_stat.c:127 +msgid "cannot read statistics data" +msgstr "impossibile leggere i dati statistici" + +#: nscd/cache.c:150 nscd/connections.c:151 +#, c-format +msgid "cannot stat() file `%s': %s" +msgstr "impossibile fare stat() sul file `%s': %s" + +#: locale/programs/localedef.c:325 +#, c-format +msgid "cannot write output files to `%s'" +msgstr "impossibile scrivere i file di output su `%s'" + +#: nscd/connections.c:260 nscd/connections.c:281 +#, c-format +msgid "cannot write result: %s" +msgstr "impossibile scrivere i risultati: %s" + +#: nscd/nscd_stat.c:86 +#, c-format +msgid "cannot write statistics: %s" +msgstr "impossibile scrivere le statistiche: %s" + +#: login/programs/request.c:120 +msgid "cannot write to client" +msgstr "impossibile scrivere sul client" + +#: locale/programs/localedef.c:439 +msgid "category data requested more than once: should not happen" +msgstr "dati di categoria richiesti pi� di una volta: non dovrebbe succedere" + +#: locale/programs/ld-ctype.c:278 +#, c-format +msgid "character '%s' in class `%s' must be in class `%s'" +msgstr "il carattere '%s' nella classe `%s' deve essere nella classe `%s'" + +#: locale/programs/ld-ctype.c:303 +#, c-format +msgid "character '%s' in class `%s' must not be in class `%s'" +msgstr "il carattere '%s' nella classe `%s' non deve essere nella classe `%s'" + +#: locale/programs/ld-ctype.c:405 +msgid "character <SP> not defined in character map" +msgstr "carattere <SP> non definito nella mappa di caratteri" + +#: locale/programs/ld-ctype.c:355 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must be in class `%s'" +msgstr "il carattere L'%s' (indice %Zd) nella classe `%s' deve essere nella classe `%s'" + +#: locale/programs/ld-ctype.c:380 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must not be in class `%s'" +msgstr "il carattere L'%s' (indice %Zd) nella classe `%s' non deve essere nella classe `%s'" + +#: locale/programs/ld-ctype.c:1107 locale/programs/ld-ctype.c:1183 +#: locale/programs/ld-ctype.c:1196 locale/programs/ld-ctype.c:1209 +#: locale/programs/ld-ctype.c:1222 locale/programs/ld-ctype.c:1235 +#: locale/programs/ld-ctype.c:1248 locale/programs/ld-ctype.c:1279 +#: locale/programs/ld-ctype.c:1292 locale/programs/ld-ctype.c:1343 +#: locale/programs/ld-ctype.c:1374 locale/programs/ld-ctype.c:1386 +#, c-format +msgid "character `%s' not defined while needed as default value" +msgstr "carattere `%s' non definito sebbene necessario come valore predefinito" + +#: locale/programs/ld-ctype.c:967 +#, c-format +msgid "character class `%s' already defined" +msgstr "classe di caratteri `%s' gi� definita" + +#: locale/programs/ld-ctype.c:999 +#, c-format +msgid "character map `%s' already defined" +msgstr "mappa di caratteri `%s' gi� definita" + +#: locale/programs/charmap.c:83 +#, c-format +msgid "character map file `%s' not found" +msgstr "file di mappa di caratteri `%s' non trovato" + +#: sunrpc/clnt_raw.c:110 +msgid "clnt_raw.c - Fatal header serialization error." +msgstr "clnt_raw.c - Errore fatale di serializzazione dell'header" + +#: sunrpc/clnt_tcp.c:125 sunrpc/clnt_tcp.c:133 +msgid "clnttcp_create: out of memory\n" +msgstr "clnttcp_create: memoria esaurita\n" + +#: sunrpc/clnt_udp.c:125 sunrpc/clnt_udp.c:135 +msgid "clntudp_create: out of memory\n" +msgstr "clntudp_create: memoria esaurita\n" + +#: sunrpc/clnt_unix.c:123 sunrpc/clnt_unix.c:131 +msgid "clntunix_create: out of memory\n" +msgstr "clntunix_create: memoria esaurita\n" + +#: locale/programs/ld-collate.c:1343 +#, c-format +msgid "collation element `%.*s' appears more than once: ignore line" +msgstr "l'elemento di collazione `%.*s' appare pi� di una volta: riga ignorata" + +#: locale/programs/ld-collate.c:1361 +#, c-format +msgid "collation symbol `%.*s' appears more than once: ignore line" +msgstr "il simbolo di collazione `%.*s' appare pi� di una volta: riga ignorata" + +#: locale/programs/locfile.c:658 +#, c-format +msgid "collation symbol expected after `%s'" +msgstr "simbolo di collazione non trovato dopo `%s'" + +#: inet/rcmd.c:143 +#, c-format +msgid "connect to address %s: " +msgstr "connessione all'indirizzo %s: " + +#: sunrpc/rpc_scan.c:115 +msgid "constant or identifier expected" +msgstr "attesa una costante o un identificatore" + +#: iconv/iconv_prog.c:144 +#, c-format +msgid "conversion from `%s' to `%s' not supported" +msgstr "conversione da `%s' a `%s' non gestita" + +#: iconv/iconv_prog.c:328 iconv/iconv_prog.c:353 +msgid "conversion stopped due to problem in writing the output" +msgstr "conversione fermata a causa di un problema durante la scrittura dell'output" + +#: sunrpc/svc_simple.c:83 +msgid "couldn't create an rpc server\n" +msgstr "impossibile creare un server rpc\n" + +#: sunrpc/svc_simple.c:91 +#, c-format +msgid "couldn't register prog %d vers %d\n" +msgstr "impossibile registrare il programma %d vers %d\n" + +#: nss/getent.c:50 +msgid "database [key ...]" +msgstr "database [chiave ...]" + +#: locale/programs/charmap.c:170 +#, c-format +msgid "default character map file `%s' not found" +msgstr "file di mappa di caratteri `%s' predefinito non trovato" + +#: locale/programs/ld-time.c:163 +#, c-format +msgid "direction flag in string %d in `era' field in category `%s' is not '+' nor '-'" +msgstr "" +"il flag di direzione nella stringa %d, nel campo `era'\n" +"della categoria `%s', non � n� '+' n� '-'" + +#: locale/programs/ld-time.c:174 +#, c-format +msgid "direction flag in string %d in `era' field in category `%s' is not a single character" +msgstr "" +"il flag di direzione nella stringa %d, nel campo `era'\n" +"della categoria `%s', non � un unico carattere" + +#: locale/programs/charset.c:64 locale/programs/charset.c:118 +#, c-format +msgid "duplicate character name `%s'" +msgstr "nome di carattere `%s' ripetuto" + +#: locale/programs/ld-collate.c:1154 +msgid "duplicate collating element definition" +msgstr "definizione di eleento di collazione ripetuta" + +#: locale/programs/ld-collate.c:1301 +#, c-format +msgid "duplicate definition for character `%.*s'" +msgstr "definizione ripetuta per il carattere `%.*s'" + +#: db2/makedb.c:328 +msgid "duplicate key" +msgstr "chiave ripetuta" + +#: catgets/gencat.c:389 +msgid "duplicate set definition" +msgstr "definizione di insieme ripetuta" + +#: timezone/zic.c:1004 +#, c-format +msgid "duplicate zone name %s (file \"%s\", line %d)" +msgstr "nome di zona %s duplicato (file \"%s\", riga %d)" + +#: catgets/gencat.c:556 +msgid "duplicated message identifier" +msgstr "identificatore del messaggio doppio" + +#: catgets/gencat.c:528 +msgid "duplicated message number" +msgstr "numero del messaggio doppio" + +#: sunrpc/rpc_scan.c:382 +msgid "empty char string" +msgstr "stringa di caratteri vuota" + +#: locale/programs/ld-collate.c:1714 +msgid "empty weight name: line ignored" +msgstr "nome del peso assente: riga ignorata" + +#: sunrpc/svc_udp.c:372 +msgid "enablecache: cache already enabled" +msgstr "enablecache: cache gi� abilitata" + +#: sunrpc/svc_udp.c:378 +msgid "enablecache: could not allocate cache" +msgstr "enablecache: impossibile allocare la cache" + +#: sunrpc/svc_udp.c:386 +msgid "enablecache: could not allocate cache data" +msgstr "enablecache: impossibile allocare i dati della cache" + +#: sunrpc/svc_udp.c:393 +msgid "enablecache: could not allocate cache fifo" +msgstr "enablecache: impossibile allocare il fifo della cache" + +#: iconv/iconv_prog.c:56 +msgid "encoding for output" +msgstr "codifica per l'output" + +#: iconv/iconv_prog.c:55 +msgid "encoding of original text" +msgstr "codifica del testo originale" + +#: locale/programs/ld-collate.c:1433 +msgid "end point of ellipsis range is bigger then start" +msgstr "punto terminale dell'intervallo dei puntini maggiore dell'inizio" + +#: nscd/connections.c:357 nscd/connections.c:444 +#, c-format +msgid "error getting callers id: %s" +msgstr "errore ottenendo l'id dei chiamanti: %s" + +#: iconv/iconv_prog.c:193 +#, c-format +msgid "error while closing input `%s'" +msgstr "errore chiudendo l'input `%s'" + +#: iconv/iconv_prog.c:239 +msgid "error while closing output file" +msgstr "errore chiudendo il file di output" + +#: elf/sprof.c:706 +msgid "error while closing the profiling data file" +msgstr "errore chiudendo il file con i dati di profilazione" + +#: locale/programs/ld-collate.c:1162 +msgid "error while inserting collation element into hash table" +msgstr "errore di inserimento dell'elemento di collazione nellatabella hash" + +#: locale/programs/ld-collate.c:1174 +msgid "error while inserting to hash table" +msgstr "errore di inserimento nella tabella hash" + +#: iconv/iconv_prog.c:417 iconv/iconv_prog.c:448 +msgid "error while reading the input" +msgstr "errore leggendo l'output" + +#: locale/programs/locfile.c:601 +msgid "expect string argument for `copy'" +msgstr "manca un argomento stringa per `copy'" + +#: timezone/zic.c:894 +msgid "expected continuation line not found" +msgstr "manca la riga di continuazione" + +#: elf/sprof.c:404 +#, c-format +msgid "failed to load shared object `%s'" +msgstr "impossibile caricare l'oggetto condiviso `%s'" + +#: elf/sprof.c:600 +msgid "failed to load symbol data" +msgstr "impossibile caricare i dati dei simboli" + +#: elf/sprof.c:698 +msgid "failed to mmap the profiling data file" +msgstr "impossibile fare mmap del file con i dati di profilazione" + +#: iconv/iconv_prog.c:147 +msgid "failed to start conversion processing" +msgstr "impossibile iniziare il processo di conversione" + +#: locale/programs/locfile.c:1160 +#, c-format +msgid "failure while writing data for category `%s'" +msgstr "errore di scrittura dei dati per la categoria `%s'" + +#: nis/nis_call.c:155 +msgid "fcntl: F_SETFD" +msgstr "fcntl: F_SETFD" + +#: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110 +#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98 +#, c-format +msgid "field `%s' in category `%s' undefined" +msgstr "il campo `%s' nella categoria `%s' non � definito" + +#: sunrpc/rpc_main.c:1146 +#, c-format +msgid "file `%s' already exists and may be overwritten\n" +msgstr "il file `%s' esiste gi� e potrebbe essere sovrascritto\n" + +#: locale/programs/locfile.c:683 +msgid "from-value of `collating-element' must be a string" +msgstr "il valore di partenza di `collating-element' deve essere una stringa" + +#: inet/rcmd.c:324 +msgid "fstat failed" +msgstr "fstat fallito" + +#: locale/programs/linereader.c:333 +msgid "garbage at end of character code specification" +msgstr "spazzatura alla fine della specifica del codice di carattere" + +#: locale/programs/linereader.c:219 +msgid "garbage at end of number" +msgstr "spazzatura alla fine del numero" + +#: locale/programs/ld-time.c:195 +#, c-format +msgid "garbage at end of offset value in string %d in `era' field in category `%s'" +msgstr "" +"spazzatura alla fine del valore di scostamento nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: locale/programs/ld-time.c:252 +#, c-format +msgid "garbage at end of starting date in string %d in `era' field in category `%s'" +msgstr "" +"spazzatura alla fine della data di inizio nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: locale/programs/ld-time.c:328 +#, c-format +msgid "garbage at end of stopping date in string %d in `era' field in category `%s'" +msgstr "" +"spazzatura alla fine della data terminale nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: elf/sprof.c:77 +msgid "generate call graph" +msgstr "genera il grafico delle chiamate" + +#: elf/sprof.c:76 +msgid "generate flat profile with counts and ticks" +msgstr "genera un profilo piatto con totali e tick" + +#: sunrpc/get_myaddr.c:77 +msgid "get_myaddress: ioctl (get interface configuration)" +msgstr "get_myaddress: ioctl (leggi la configurazione dell'interfaccia)" + +#: nss/getent.c:54 +msgid "getent - get entries from administrative database." +msgstr "getent - legge voci dal database amministrativo." + +#: nscd/connections.c:219 +#, c-format +msgid "handle_request: request received (Version = %d)" +msgstr "handle_request: ricevuta una richiesta (Versione = %d)" + +#: timezone/zic.c:638 +msgid "hard link failed, symbolic link used" +msgstr "hard link fallito, usato un link simbolico" + +#: inet/rcmd.c:330 +msgid "hard linked somewhere" +msgstr "ha un hard link da qualche parte" + +#: timezone/zic.c:1188 +msgid "illegal CORRECTION field on Leap line" +msgstr "campo CORRECTION illecito in una riga Leap" + +#: timezone/zic.c:1192 +msgid "illegal Rolling/Stationary field on Leap line" +msgstr "campo Rolling/Stationary illecito in una riga Leap" + +#: locale/programs/ld-collate.c:1786 +msgid "illegal character constant in string" +msgstr "costante carattere illecita nella stringa" + +#: sunrpc/rpc_scan.c:311 +msgid "illegal character in file: " +msgstr "carattere illecito nel file: " + +#: locale/programs/ld-collate.c:1129 +msgid "illegal collation element" +msgstr "elemento di collazione illecito" + +#: locale/programs/charmap.c:281 +msgid "illegal definition" +msgstr "definizione illecita" + +#: locale/programs/charmap.c:434 +msgid "illegal encoding given" +msgstr "codifica ottenuta illecita" + +#: locale/programs/linereader.c:551 +msgid "illegal escape sequence at end of string" +msgstr "sequenza di escape illecita a fine stringa" + +#: iconv/iconv_prog.c:370 +#, c-format +msgid "illegal input sequence at position %ld" +msgstr "sequenza di escape illecita alla posizione %ld" + +#: locale/programs/charset.c:78 +msgid "illegal names for character range" +msgstr "nomi illeciti per l'intervallo di caratteri" + +#: sunrpc/rpc_main.c:461 +#, c-format +msgid "illegal nettype :`%s'\n" +msgstr "nettype illecito:`%s'\n" + +#: locale/programs/ld-time.c:187 +#, c-format +msgid "illegal number for offset in string %d in `era' field in category `%s'" +msgstr "" +"numero illecito per lo scostamento nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: catgets/gencat.c:362 catgets/gencat.c:439 +msgid "illegal set number" +msgstr "numero dell'insieme illecito" + +#: locale/programs/ld-time.c:243 +#, c-format +msgid "illegal starting date in string %d in `era' field in category `%s'" +msgstr "" +"data iniziale illecita nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: locale/programs/ld-time.c:319 +#, c-format +msgid "illegal stopping date in string %d in `era' field in category `%s'" +msgstr "" +"data finale illecita nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: locale/programs/ld-ctype.c:973 +#, c-format +msgid "implementation limit: no more than %d character classes allowed" +msgstr "limite di implementazione: permesse al piu` %d classi di caratteri" + +#: locale/programs/ld-ctype.c:1005 +#, c-format +msgid "implementation limit: no more than %d character maps allowed" +msgstr "limite di implementazione: permesse al piu` %d mappe di caratteri" + +#: iconv/iconv_prog.c:374 +msgid "incomplete character or shift sequence at end of buffer" +msgstr "carattere o sequenza di shift incompleti alla fine del buffer" + +#: db2/makedb.c:148 +msgid "incorrectly formatted file" +msgstr "file formattato non correttamente" + +#: timezone/zic.c:851 +msgid "input line of unknown type" +msgstr "linea di input di tipo sconosciuto" + +#: iconv/iconv_prog.c:378 +msgid "internal error (illegal descriptor)" +msgstr "errore interno (descrittore illecito)" + +#: timezone/zic.c:1814 +msgid "internal error - addtype called with bad isdst" +msgstr "errore interno - addtype chiamata con isdst errato" + +#: timezone/zic.c:1822 +msgid "internal error - addtype called with bad ttisgmt" +msgstr "errore interno - addtype chiamata con ttisgmt errato" + +#: timezone/zic.c:1818 +msgid "internal error - addtype called with bad ttisstd" +msgstr "errore interno - addtype chiamata con ttisstd errato" + +#: locale/programs/ld-ctype.c:315 locale/programs/ld-ctype.c:392 +#, c-format +msgid "internal error in %s, line %u" +msgstr "errore interno in %s, riga %u" + +#: timezone/zic.c:1060 +msgid "invalid UTC offset" +msgstr "scostamento UTC non valido" + +#: timezone/zic.c:1063 +msgid "invalid abbreviation format" +msgstr "formato di abbreviazione non ammesso" + +#: timezone/zic.c:1153 timezone/zic.c:1365 timezone/zic.c:1379 +msgid "invalid day of month" +msgstr "giorno del mese errato" + +#: timezone/zic.c:1317 +msgid "invalid ending year" +msgstr "anno finale errato" + +#: timezone/zic.c:1125 +msgid "invalid leaping year" +msgstr "anno bisestile errato" + +#: elf/dl-open.c:223 +msgid "invalid mode for dlopen()" +msgstr "modo di dlopen() non valido" + +#: timezone/zic.c:1140 timezone/zic.c:1243 +msgid "invalid month name" +msgstr "nome del meso errato" + +#: timezone/zic.c:959 +msgid "invalid saved time" +msgstr "orario salvato errato" + +#: timezone/zic.c:1292 +msgid "invalid starting year" +msgstr "anno iniziale errato" + +#: timezone/zic.c:1169 timezone/zic.c:1272 +msgid "invalid time of day" +msgstr "ora del giorno errata" + +#: timezone/zic.c:1370 +msgid "invalid weekday name" +msgstr "giorno della settimana errato" + +#: nscd/connections.c:460 +#, c-format +msgid "key length in request too long: %Zd" +msgstr "lunghezza della chiave troppo lunga nella richiesta: %Zd" + +#: locale/programs/ld-collate.c:1426 +msgid "line after ellipsis must contain character definition" +msgstr "la riga dopo i puntini deve contenere una definizione di carattere" + +#: locale/programs/ld-collate.c:1405 +msgid "line before ellipsis does not contain definition for character constant" +msgstr "la riga prima dei puntini deve contenere una definizione di carattere" + +#: timezone/zic.c:831 +msgid "line too long" +msgstr "riga troppo lunga" + +#: iconv/iconv_prog.c:58 +msgid "list all known coded character sets" +msgstr "elenca tutti i set di caratteri codificati noti" + +#: locale/programs/localedef.c:270 +#, c-format +msgid "locale file `%s', used in `copy' statement, not found" +msgstr "file di localizzazione `%s', usato nell'istruzione `copy', non trovato" + +#: inet/rcmd.c:315 +msgid "lstat failed" +msgstr "lstat fallito" + +#: catgets/gencat.c:625 +msgid "malformed line ignored" +msgstr "riga malformata ignorata" + +#: elf/sprof.c:550 +msgid "mapping of section header string table failed" +msgstr "fallita la mappatura della tabella delle stringhe degli header di sezione" + +#: elf/sprof.c:540 +msgid "mapping of section headers failed" +msgstr "fallita la mappatura degli header di sezione" + +#: malloc/mcheck.c:202 +msgid "memory clobbered before allocated block\n" +msgstr "memoria sovrascritta prima del blocco allocato\n" + +#: malloc/mcheck.c:205 +msgid "memory clobbered past end of allocated block\n" +msgstr "memoria sovrascritta dopo la fine del blocco allocato\n" + +#: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176 +#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1453 +#: locale/programs/ld-collate.c:1482 locale/programs/locfile.c:1088 +#: locale/programs/xmalloc.c:70 login/programs/database.c:62 +#: login/programs/database.c:79 login/programs/database.c:95 +#: malloc/obstack.c:471 posix/getconf.c:682 +msgid "memory exhausted" +msgstr "memoria esaurita" + +#: malloc/mcheck.c:199 +msgid "memory is consistent, library is buggy\n" +msgstr "la memoria � coerente, la libreria � bacata\n" + +#: locale/programs/ld-time.c:373 +#, c-format +msgid "missing era format in string %d in `era' field in category `%s'" +msgstr "" +"manca il formato dell'era nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: locale/programs/ld-time.c:358 +#, c-format +msgid "missing era name in string %d in `era' field in category `%s'" +msgstr "" +"manca il nome dell'era nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: timezone/zic.c:954 +msgid "nameless rule" +msgstr "regola anonima" + +#: iconv/iconv_prog.c:133 +msgid "neither original nor target encoding specified" +msgstr "non sono state specificate n� la codifica originale n� quella di destinazione" + +#: nis/nss_nisplus/nisplus-publickey.c:280 +#: nis/nss_nisplus/nisplus-publickey.c:286 +#: nis/nss_nisplus/nisplus-publickey.c:345 +#: nis/nss_nisplus/nisplus-publickey.c:354 +#, c-format +msgid "netname2user: (nis+ lookup): %s\n" +msgstr "netname2user: (nis+ lookup): %s\n" + +#: nis/nss_nisplus/nisplus-publickey.c:299 +#, c-format +msgid "netname2user: DES entry for %s in directory %s not unique" +msgstr "netname2user: la voce DES di %s nella directory %s non � unica" + +#: nis/nss_nisplus/nisplus-publickey.c:367 +#, c-format +msgid "netname2user: LOCAL entry for %s in directory %s not unique" +msgstr "netname2user: la voce LOCAL di %s nella directory %s non � unica" + +#: nis/nss_nisplus/nisplus-publickey.c:206 +#, c-format +msgid "netname2user: missing group id list in `%s'." +msgstr "netname2user: manca la lista dei group id in `%s'." + +#: nis/nss_nisplus/nisplus-publickey.c:317 +#, c-format +msgid "netname2user: principal name `%s' too long" +msgstr "netname2user: nome principale `%s' troppo lungo" + +#: nis/nss_nisplus/nisplus-publickey.c:374 +msgid "netname2user: should not have uid 0" +msgstr "netname2user: non deve avere uid 0" + +#: sunrpc/svc_simple.c:158 +#, c-format +msgid "never registered prog %d\n" +msgstr "il programma %d non � mai stato registrato\n" + +#: locale/programs/repertoire.c:250 +msgid "no <Uxxxx> or <Uxxxxxxxx> value given" +msgstr "non � stato dato un valore tipo <Uxxxx> o <Uxxxxxxxx>" + +#: locale/programs/ld-messages.c:101 locale/programs/ld-messages.c:125 +#, c-format +msgid "no correct regular expression for field `%s' in category `%s': %s" +msgstr "" +"nessuna espressione regolare corretta per il campo `%s'\n" +"della categoria `%s': %s" + +#: timezone/zic.c:2143 +msgid "no day in month matches rule" +msgstr "nessun giorno del mese corrisponde alla regola" + +#: locale/programs/ld-collate.c:267 +msgid "no definition of `UNDEFINED'" +msgstr "nessuna definizione di `UNDEFINED'" + +#: elf/sprof.c:272 +#, c-format +msgid "no filename for profiling data given and shared object `%s' has no soname" +msgstr "" +"non � stato indicato il nome del file per i dati di profilazione e l'oggetto\n" +"condiviso `%s' non ha un soname" + +#: locale/programs/locfile.c:615 +msgid "no other keyword shall be specified when `copy' is used" +msgstr "nessun'altra parola chiave va specificata quando si usa `copy'" + +#: locale/programs/localedef.c:331 +msgid "no output file produced because warning were issued" +msgstr "nessun file di uscita prodotto a causa degli avvertimenti" + +#: locale/programs/locfile.c:283 locale/programs/locfile.c:302 +#: locale/programs/locfile.c:321 locale/programs/locfile.c:340 +#: locale/programs/locfile.c:359 locale/programs/locfile.c:378 +msgid "no repertoire map specified: cannot proceed" +msgstr "non � stata indicata la repertoire map: impossibile procedere" + +#: locale/programs/charmap.c:400 locale/programs/charmap.c:549 +#: locale/programs/charmap.c:628 locale/programs/repertoire.c:211 +msgid "no symbolic name given" +msgstr "nessun nome simbolico fornito" + +#: locale/programs/charmap.c:464 locale/programs/charmap.c:595 +#: locale/programs/charmap.c:661 locale/programs/repertoire.c:273 +msgid "no symbolic name given for end of range" +msgstr "nessun nome simbolico fornito per la fine dell'intervallo" + +#: locale/programs/ld-collate.c:249 +#, c-format +msgid "no weight defined for symbol `%s'" +msgstr "nessun peso definito per il simbolo `%s'" + +#: inet/rcmd.c:317 +msgid "not regular file" +msgstr "non � un file regolare" + +#: nscd/nscd_stat.c:130 +#, c-format +msgid "" +"nscd configuration:\n" +"\n" +"%15d server debug level\n" +msgstr "" +"configurazione di nscd:\n" +"\n" +"%15d livello di debug del server\n" + +#: nscd/nscd_stat.c:104 +msgid "nscd not running!\n" +msgstr "nscd non � in esecuzione!\n" + +#: locale/programs/charmap.c:513 +msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" +msgstr "una definizione CHARMAP pu� essere seguita solo da definizioni WIDTH" + +#: iconv/iconv_prog.c:135 +msgid "original encoding not specified using `-f'" +msgstr "non � stata specificata con `-f' la codifica originale" + +#: iconv/iconv_prog.c:60 +msgid "output file" +msgstr "file di output" + +#: sunrpc/pm_getmaps.c:73 +msgid "pmap_getmaps rpc problem" +msgstr "problema rpc di pmap_getmaps" + +#: inet/rcmd.c:186 +msgid "poll: protocol failure in circuit setup\n" +msgstr "poll: problema di protocollo impostando il circuito\n" + +#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533 +msgid "preprocessor error" +msgstr "errore del preprocessore" + +#: elf/sprof.c:74 +msgid "print list of count paths and their number of use" +msgstr "stampa la lista dei count path e il loro numero d'uso" + +#: iconv/iconv_prog.c:61 +msgid "print progress information" +msgstr "stampa informazioni sui progressi" + +#: db2/makedb.c:345 +#, c-format +msgid "problems while reading `%s'" +msgstr "problemi leggendo `%s'" + +#: elf/sprof.c:687 +#, c-format +msgid "profiling data file `%s' does not match shared object `%s'" +msgstr "" +"Il file con i dati di profilazione `%s' non corrisponde all'oggetto\n" +"condiviso `%s'" + +#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383 +#, c-format +msgid "program %lu is not available\n" +msgstr "il programma %lu non � disponibile\n" + +#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333 +#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476 +#: sunrpc/rpcinfo.c:510 +#, c-format +msgid "program %lu version %lu is not available\n" +msgstr "la versione %2$lu del programma %1$lu non � disponibile\n" + +#: sunrpc/rpcinfo.c:515 +#, c-format +msgid "program %lu version %lu ready and waiting\n" +msgstr "la versione %2$lu del programma %1$lu � pronta e in attesa\n" + +#: inet/rcmd.c:183 +#, c-format +msgid "rcmd: poll (setting up stderr): %m\n" +msgstr "rcmd: poll (impostazione di stderr): %m\n" + +#: inet/rcmd.c:117 +msgid "rcmd: socket: All ports in use\n" +msgstr "rcmd: socket: tutte le porte sono in uso\n" + +#: inet/rcmd.c:173 +#, c-format +msgid "rcmd: write (setting up stderr): %m\n" +msgstr "rcmd: write (impostazione di stderr): %m\n" + +#: sunrpc/svc_simple.c:98 +msgid "registerrpc: out of memory\n" +msgstr "registerrpc: memoria esaurita\n" + +#: timezone/zic.c:1875 +msgid "repeated leap second moment" +msgstr "momento del secondo intercalare ripetuto" + +#: locale/programs/repertoire.c:107 +#, c-format +msgid "repertoire map file `%s' not found" +msgstr "repertoire map file `%s' non trovato" + +#: sunrpc/rpc_main.c:1115 +msgid "rpcgen: arglist coding error\n" +msgstr "rpcgen: errore di codifica della arglist\n" + +#: sunrpc/rpc_main.c:1103 +msgid "rpcgen: too many defines\n" +msgstr "rpcgen: troppi define\n" + +#: sunrpc/rpcinfo.c:732 +#, c-format +msgid "rpcinfo: %s is unknown host\n" +msgstr "rpcinfo: %s � l'host sconosciuto\n" + +#: sunrpc/rpcinfo.c:695 +#, c-format +msgid "rpcinfo: %s is unknown service\n" +msgstr "rpcinfo: %s � il servizio sconosciuto\n" + +#: sunrpc/rpcinfo.c:665 +#, c-format +msgid "rpcinfo: Could not delete registration for prog %s version %s\n" +msgstr "" +"rpcinfo: impossibile cancellare la registrazione per la versione %2$s\n" +"del programma %1$s\n" + +#: sunrpc/rpcinfo.c:637 +#, c-format +msgid "rpcinfo: broadcast failed: %s\n" +msgstr "rpcinfo: broadcast fallito: %s\n" + +#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563 +msgid "rpcinfo: can't contact portmapper" +msgstr "rpcinfo: impossibile contattare il portmapper" + +#: timezone/zic.c:744 timezone/zic.c:746 +msgid "same rule name in multiple files" +msgstr "stesso nome di regola in pi� file" + +#: nscd/connections.c:472 +#, c-format +msgid "short read while reading request key: %s" +msgstr "lettura troppo corta leggendo la chiave di richiesta: %s" + +#: nscd/connections.c:430 +#, c-format +msgid "short read while reading request: %s" +msgstr "lettura troppo corta leggendo la richiesta: %s" + +#: nscd/grpcache.c:191 nscd/hstcache.c:270 nscd/pwdcache.c:189 +#, c-format +msgid "short write in %s: %s" +msgstr "scrittura troppo corta in %s: %s" + +#: inet/rcmd.c:204 +msgid "socket: protocol failure in circuit setup\n" +msgstr "socket: problema di protocollo impostando il circuito\n" + +#: locale/programs/locfile.c:736 +msgid "sorting order `forward' and `backward' are mutually exclusive" +msgstr "gli ordinamenti `forward' e `backward' sono mutuamente esclusivi" + +#: locale/programs/ld-collate.c:1586 locale/programs/ld-collate.c:1632 +msgid "specification of sorting weight for collation symbol does not make sense" +msgstr "non ha senso specificare pesi di ordinamento per il simbolo di collazione" + +#: timezone/zic.c:815 +msgid "standard input" +msgstr "standard input" + +#: timezone/zdump.c:268 +msgid "standard output" +msgstr "standard output" + +#: locale/programs/ld-time.c:272 +#, c-format +msgid "starting date is illegal in string %d in `era' field in category `%s'" +msgstr "" +"data iniziale illecita nella stringa %d,\n" +"nel campo `era' della categoria `%s'" + +#: timezone/zic.c:1326 +msgid "starting year greater than ending year" +msgstr "anno iniziale maggiore dell'anno finale" + +#: timezone/zic.c:1298 timezone/zic.c:1323 +msgid "starting year too high to be represented" +msgstr "anno iniziale troppo grande per essere rappresentato" + +#: timezone/zic.c:1296 timezone/zic.c:1321 +msgid "starting year too low to be represented" +msgstr "anno iniziale troppo piccolo per essere rappresentato" + +#: locale/programs/ld-time.c:348 +#, c-format +msgid "stopping date is illegal in string %d in `era' field in category `%s'" +msgstr "" +"la data di stop non � permessa nella stringa %d in campo `era' della\n" +"categoria `%s'" + +#: sunrpc/svc_run.c:81 +msgid "svc_run: - select failed" +msgstr "svc_run: - select fallita" + +#: sunrpc/svc_tcp.c:160 +msgid "svc_tcp.c - cannot getsockname or listen" +msgstr "svc_tcp.c - impossibile fare getsockname o listen" + +#: sunrpc/svc_tcp.c:145 +msgid "svc_tcp.c - tcp socket creation problem" +msgstr "svc_tcp.c - problema di creazione del socket tcp" + +#: sunrpc/svc_tcp.c:209 sunrpc/svc_tcp.c:215 +msgid "svc_tcp: makefd_xprt: out of memory\n" +msgstr "svc_tcp: makefd_xprt: memoria esaurita\n" + +#: sunrpc/svc_unix.c:135 +msgid "svc_unix.c - AF_UNIX socket creation problem" +msgstr "svc_unix.c - problema di creazione del socket AF_UNIX" + +#: sunrpc/svc_unix.c:151 +msgid "svc_unix.c - cannot getsockname or listen" +msgstr "svc_unix.c - impossibile fare getsockname o listen" + +#: sunrpc/svc_unix.c:201 sunrpc/svc_unix.c:207 +msgid "svc_unix: makefd_xprt: out of memory\n" +msgstr "svc_unix: makefd_xprt: memoria esaurita\n" + +#: sunrpc/svc_tcp.c:168 sunrpc/svc_tcp.c:176 +msgid "svctcp_create: out of memory\n" +msgstr "svctcp_create: memoria esaurita\n" + +#: sunrpc/svc_udp.c:135 +msgid "svcudp_create - cannot getsockname" +msgstr "svcudp_create - impossibile fare getsockname" + +#: sunrpc/svc_udp.c:143 sunrpc/svc_udp.c:149 sunrpc/svc_udp.c:155 +msgid "svcudp_create: out of memory\n" +msgstr "svcudp_create: memoria esaurita\n" + +#: sunrpc/svc_udp.c:121 +msgid "svcudp_create: socket creation problem" +msgstr "svcudp_create: problema di creazione del socket" + +#: sunrpc/svc_unix.c:160 sunrpc/svc_unix.c:168 +msgid "svcunix_create: out of memory\n" +msgstr "svcunix_create: memoria esaurita\n" + +#: locale/programs/ld-collate.c:1077 locale/programs/ld-collate.c:1205 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates element definition" +msgstr "" +"il simbolo per l'elemento di collazione multicarattere `%.*s'\n" +"replica la definizione dell'elemento" + +#: locale/programs/ld-collate.c:1214 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition" +msgstr "" +"il simbolo per l'elemento di collazione multicarattere `%.*s'\n" +"replica la definizione di un altro simbolo" + +#: locale/programs/ld-collate.c:1086 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition" +msgstr "" +"il simbolo per l'elemento di collazione multicarattere `%.*s'\n" +"replica la definizione del simbolo" + +#: locale/programs/ld-collate.c:1068 locale/programs/ld-collate.c:1196 +#, c-format +msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset" +msgstr "" +"il simbolo per l'elemento di collazione multicarattere `%.*s'\n" +"replica il nome simbolico" + +#: locale/programs/charmap.c:399 locale/programs/charmap.c:433 +#: locale/programs/charmap.c:462 locale/programs/charmap.c:548 +#: locale/programs/charmap.c:594 locale/programs/charmap.c:627 +#: locale/programs/charmap.c:659 +#, c-format +msgid "syntax error in %s definition: %s" +msgstr "errore di sintassi nella definizione di %s: %s" + +#: locale/programs/locfile.c:756 +msgid "syntax error in `order_start' directive" +msgstr "errore di sintassi nella direttiva `order_start'" + +#: locale/programs/locfile.c:498 +msgid "syntax error in character class definition" +msgstr "errore di sintassi nella definizione della classe del carattere" + +#: locale/programs/locfile.c:556 +msgid "syntax error in character conversion definition" +msgstr "errore di sintassi nella definizione della conversione del carattere" + +#: locale/programs/locfile.c:798 +msgid "syntax error in collating order definition" +msgstr "errore di sintassi nella definizione dell'ordine di collazione" + +#: locale/programs/locfile.c:648 +msgid "syntax error in collation definition" +msgstr "errore di sintassi nella definizione della collazione" + +#: locale/programs/locfile.c:471 +msgid "syntax error in definition of LC_CTYPE category" +msgstr "errore di sintassi nella categoria di LC_TYPE" + +#: locale/programs/locfile.c:414 +msgid "syntax error in definition of new character class" +msgstr "errore di sintassi nella definizione di una nuova classe di caratteri" + +#: locale/programs/locfile.c:424 +msgid "syntax error in definition of new character map" +msgstr "errore di sintassi nella definizione di una nuova mappa di caratteri" + +#: locale/programs/locfile.c:1009 +msgid "syntax error in message locale definition" +msgstr "errore di sintassi nella definizione dalla localizzazione del messaggio" + +#: locale/programs/locfile.c:920 +msgid "syntax error in monetary locale definition" +msgstr "errore di sintassi nella definizione dalla localizzazione monetaria" + +#: locale/programs/locfile.c:947 +msgid "syntax error in numeric locale definition" +msgstr "errore di sintassi nella definizione dalla localizzazione numerica" + +#: locale/programs/locfile.c:858 +msgid "syntax error in order specification" +msgstr "errore di sintassi nella specifica di ordinamento" + +#: locale/programs/charmap.c:280 locale/programs/charmap.c:296 +#: locale/programs/repertoire.c:155 +#, c-format +msgid "syntax error in prolog: %s" +msgstr "errore di sintassi nel prologo: %s" + +#: locale/programs/repertoire.c:210 locale/programs/repertoire.c:249 +#: locale/programs/repertoire.c:272 +#, c-format +msgid "syntax error in repertoire map definition: %s" +msgstr "errore di sintassi nella definizione della repertoire map: %s" + +#: locale/programs/locfile.c:985 +msgid "syntax error in time locale definition" +msgstr "errore di sintassi nella definizione della localizzazione del tempo" + +#: locale/programs/locfile.c:391 +msgid "syntax error: not inside a locale definition section" +msgstr "errore di sintassi: fuori da una sezione di definizione di localizzazione" + +#: iconv/iconv_prog.c:137 +msgid "target encoding not specified using `-t'" +msgstr "non � stata specificata con `-t' la codifica di destinazione" + +#: catgets/gencat.c:391 catgets/gencat.c:530 catgets/gencat.c:559 +msgid "this is the first definition" +msgstr "questa � la prima definizione" + +#: timezone/zic.c:1158 +msgid "time before zero" +msgstr "tempo precedente a zero" + +#: timezone/zic.c:1166 timezone/zic.c:2043 timezone/zic.c:2062 +msgid "time overflow" +msgstr "overflow del tempo" + +#: locale/programs/charmap.c:443 +msgid "too few bytes in character encoding" +msgstr "troppo pochi byte nella codifica di carattere" + +#: locale/programs/charmap.c:445 +msgid "too many bytes in character encoding" +msgstr "troppi byte nella codifica di carattere" + +#: locale/programs/locales.h:92 +msgid "too many character classes defined" +msgstr "definite troppe classi di carattere" + +#: timezone/zic.c:1869 +msgid "too many leap seconds" +msgstr "troppi secondi intercalari" + +#: timezone/zic.c:1841 +msgid "too many local time types" +msgstr "troppi tipi di tempi locali" + +#: timezone/zic.c:1795 +msgid "too many transitions?!" +msgstr "troppe transizioni?!" + +#: locale/programs/ld-collate.c:1641 +msgid "too many weights" +msgstr "troppi pesi" + +#: timezone/zic.c:2166 +msgid "too many, or too long, time zone abbreviations" +msgstr "troppe o troppo lunghe abbreviazioni di fuso orario" + +#: locale/programs/linereader.h:146 +msgid "trailing garbage at end of line" +msgstr "spazzatura alla fine della riga" + +#: sunrpc/svc_simple.c:150 +#, c-format +msgid "trouble replying to prog %d\n" +msgstr "problema rispondendo al programma %d\n" + +#: locale/programs/ld-collate.c:1397 +msgid "two lines in a row containing `...' are not allowed" +msgstr "non sono permesse due righe di seguito contenenti `...'" + +#: timezone/zic.c:1333 +msgid "typed single year" +msgstr "digitato un solo anno" + +#: iconv/iconv_prog.c:434 +msgid "unable to allocate buffer for input" +msgstr "impossibile allocare il buffer per l'input" + +#: nis/nis_callback.c:187 +msgid "unable to free arguments" +msgstr "impossibile liberare gli argomenti" + +#: posix/getconf.c:654 posix/getconf.c:670 +msgid "undefined" +msgstr "non definito" + +#: locale/programs/charmap.c:700 locale/programs/charmap.c:711 +#, c-format +msgid "unknown character `%s'" +msgstr "carattere sconosciuto `%s'" + +#: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213 +#: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235 +#: locale/programs/ld-time.c:700 +#, c-format +msgid "unknown character in field `%s' of category `%s'" +msgstr "carattere sconosciuto nel campo `%s' della categoria `%s'" + +#: locale/programs/locfile.c:721 +msgid "unknown collation directive" +msgstr "direttiva di collazione sconosciuta" + +#: catgets/gencat.c:488 +#, c-format +msgid "unknown directive `%s': line ignored" +msgstr "direttiva `%s' sconosciuta: riga ignorata" + +#: iconv/iconv_prog.c:381 +#, c-format +msgid "unknown iconv() error %d" +msgstr "errore di iconv() sconosciuto %d" + +#: catgets/gencat.c:467 +#, c-format +msgid "unknown set `%s'" +msgstr "insieme `%s' sconosciuto" + +#: locale/programs/ld-collate.c:1381 locale/programs/ld-collate.c:1576 +#: locale/programs/ld-collate.c:1751 +#, c-format +msgid "unknown symbol `%.*s': line ignored" +msgstr "simbolo `%.*s' sconosciuto: riga ignorata" + +#: timezone/zic.c:787 +msgid "unruly zone" +msgstr "zona senza regole" + +#: catgets/gencat.c:977 +msgid "unterminated message" +msgstr "messaggio non terminato" + +#: locale/programs/linereader.c:520 locale/programs/linereader.c:555 +msgid "unterminated string" +msgstr "stringa non terminata" + +#: sunrpc/rpc_scan.c:350 sunrpc/rpc_scan.c:376 +msgid "unterminated string constant" +msgstr "costante stringa non terminata" + +#: locale/programs/linereader.c:390 +msgid "unterminated symbolic name" +msgstr "nome simbolico non terminato" + +#: locale/programs/ld-collate.c:1703 +msgid "unterminated weight name" +msgstr "nome di peso non terminato" + +#: locale/programs/charset.c:104 +msgid "upper limit in range is not smaller then lower limit" +msgstr "limite superiore dell'intervallo non minore del limite inferiore" + +#: sunrpc/rpc_main.c:1413 +#, c-format +msgid "usage: %s infile\n" +msgstr "uso: %s infile\n" + +#: timezone/zic.c:2109 +msgid "use of 2/29 in non leap-year" +msgstr "uso del 29/2 in anno non bisestile" + +#: locale/programs/charmap.c:521 locale/programs/charmap.c:575 +#, c-format +msgid "value for %s must be an integer" +msgstr "il valore di %s deve essere intero" + +#: locale/programs/charmap.c:318 +#, c-format +msgid "value for <%s> must lie between 1 and 4" +msgstr "il valore di <%s> deve essere compreso fra 1 e 4" + +#: locale/programs/ld-monetary.c:157 locale/programs/ld-numeric.c:92 +#, c-format +msgid "value for field `%s' in category `%s' must not be the empty string" +msgstr "" +"il valore per il campo `%s' della categoria `%s'\n" +"non deve essere la stringa vuota" + +#: locale/programs/charmap.c:330 +msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>" +msgstr "il valore di <mb_cur_max> deve essere maggiore del valore di <mb_cur_min>" + +#: locale/programs/ld-monetary.c:147 +msgid "value of field `int_curr_symbol' in category `LC_MONETARY' does not correspond to a valid name in ISO 4217" +msgstr "" +"il valore del campo `int_curr_symbol' della categoria `LC_MONETARY'\n" +"non corriposnde ad un nome ISO 4217 valido" + +#: locale/programs/ld-monetary.c:139 +msgid "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" +msgstr "" +"il valore del campo `int_curr_symbol' della categoria `LC_MONETARY'\n" +"� di lunghezza errata" + +#: locale/programs/ld-monetary.c:383 locale/programs/ld-numeric.c:207 +#, c-format +msgid "values for field `%s' in category `%s' must be smaller than 127" +msgstr "" +"i valori dei campi `%s' della categoria `%s' devono essere\n" +"inferiori a 127" + +#: timezone/zic.c:435 +msgid "warning: " +msgstr "attenzione: " + +#: nscd/connections.c:421 +#, c-format +msgid "while accepting connection: %s" +msgstr "accettando la connessione: %s" + +#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:143 +msgid "while allocating cache entry" +msgstr "allocando la voce di cache" + +#: nscd/cache.c:88 +msgid "while allocating hash table entry" +msgstr "allocando voce della tabella hash" + +#: nscd/grpcache.c:99 nscd/hstcache.c:111 nscd/pwdcache.c:106 +msgid "while allocating key copy" +msgstr "allocando la copia della chiave" + +#: catgets/gencat.c:1007 +msgid "while opening old catalog file" +msgstr "aprendo il file del vecchio catalogo" + +#: locale/programs/locale.c:346 +msgid "while preparing output" +msgstr "preparando l'output" + +#: db2/makedb.c:365 db2/makedb.c:382 +msgid "while reading database" +msgstr "leggendo il database" + +#: elf/sprof.c:679 +msgid "while stat'ing profiling data file" +msgstr "facendo stat del database di profilazione" + +#: db2/makedb.c:334 +msgid "while writing database file" +msgstr "scrivendo il file del database" + +#: nscd/nscd_stat.c:115 +msgid "write incomplete" +msgstr "write incompleta" + +#: inet/rcmd.c:328 +msgid "writeable by other than owner" +msgstr "scrivibile da altri oltre il proprietario" + +#: db2/makedb.c:124 nscd/nscd.c:120 nscd/nscd_nischeck.c:64 nss/getent.c:399 +msgid "wrong number of arguments" +msgstr "numero di argomenti sbagliato" + +#: timezone/zic.c:1116 +msgid "wrong number of fields on Leap line" +msgstr "numero di campi errato su una riga Leap" + +#: timezone/zic.c:1207 +msgid "wrong number of fields on Link line" +msgstr "numero di campi errato su una riga Link" + +#: timezone/zic.c:950 +msgid "wrong number of fields on Rule line" +msgstr "numero di campi errato su una riga Rule" + +#: timezone/zic.c:1020 +msgid "wrong number of fields on Zone continuation line" +msgstr "numero di campi errato su una riga Zone di continuazione" + +#: timezone/zic.c:978 +msgid "wrong number of fields on Zone line" +msgstr "numero di campi errato su una riga Zone" + +#: sunrpc/xdr_ref.c:84 +msgid "xdr_reference: out of memory\n" +msgstr "xdr_reference: memoria esaurita\n" + +#: sunrpc/xdr_rec.c:150 sunrpc/xdr_rec.c:165 +msgid "xdrrec_create: out of memory\n" +msgstr "xdrrec_create: memoria esaurita\n" + +#: nis/ypclnt.c:894 +msgid "yp_update: cannot convert host to netname\n" +msgstr "yp_update: impossibile convertire l'host in netname\n" + +#: nis/ypclnt.c:906 +msgid "yp_update: cannot get server address\n" +msgstr "yp_update: impossibile ottenere l'indirizzo del server\n" diff -durpN glibc-2.1.2/po/libc.pot glibc-2.1.3/po/libc.pot --- glibc-2.1.2/po/libc.pot Mon Feb 8 04:54:29 1999 +++ glibc-2.1.3/po/libc.pot Wed Feb 16 14:15:12 2000 @@ -5,8 +5,8 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: libc 2.1\n" -"POT-Creation-Date: 1999-02-08 12:53-0800\n" +"Project-Id-Version: libc 2.1.3\n" +"POT-Creation-Date: 2000-02-16 10:39-0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+DIST\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -105,7 +105,7 @@ msgid "" "Group Members :\n" msgstr "" -#: nis/nis_print.c:320 +#: nis/nis_print.c:322 msgid "" "\n" "Time to Live : " @@ -135,7 +135,7 @@ msgstr "" msgid " yes" msgstr "" -#: nis/nis_print.c:344 +#: nis/nis_print.c:348 #, c-format msgid " Data Length = %u\n" msgstr "" @@ -188,34 +188,34 @@ msgstr "" msgid " program vers proto port\n" msgstr "" -#: argp/argp-help.c:1575 +#: argp/argp-help.c:1573 msgid " or: " msgstr "" -#: timezone/zic.c:421 +#: timezone/zic.c:423 #, c-format msgid " (rule from \"%s\", line %d)" msgstr "" -#: argp/argp-help.c:1587 +#: argp/argp-help.c:1585 msgid " [OPTION...]" msgstr "" -#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1291 +#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1476 msgid " done\n" msgstr "" -#: timezone/zic.c:418 +#: timezone/zic.c:420 #, c-format msgid "\"%s\", line %d: %s" msgstr "" -#: timezone/zic.c:958 +#: timezone/zic.c:984 #, c-format msgid "\"Zone %s\" line and -l option are mutually exclusive" msgstr "" -#: timezone/zic.c:966 +#: timezone/zic.c:992 #, c-format msgid "\"Zone %s\" line and -p option are mutually exclusive" msgstr "" @@ -234,7 +234,7 @@ msgstr "" msgid "%.*s: Unknown ARGP_HELP_FMT parameter" msgstr "" -#: timezone/zic.c:768 +#: timezone/zic.c:794 #, c-format msgid "%s in ruleless zone" msgstr "" @@ -254,7 +254,7 @@ msgstr "" msgid "%s%sUnknown signal %d\n" msgstr "" -#: timezone/zic.c:2201 +#: timezone/zic.c:2229 #, c-format msgid "%s: %d did not sign extend correctly\n" msgstr "" @@ -274,37 +274,42 @@ msgstr "" msgid "%s: C preprocessor failed with signal %d\n" msgstr "" -#: timezone/zic.c:1469 +#: timezone/zic.c:1495 #, c-format msgid "%s: Can't create %s: %s\n" msgstr "" -#: timezone/zic.c:2179 +#: timezone/zic.c:2207 #, c-format msgid "%s: Can't create directory %s: %s\n" msgstr "" -#: timezone/zic.c:620 +#: timezone/zic.c:646 #, c-format msgid "%s: Can't link from %s to %s: %s\n" msgstr "" -#: timezone/zic.c:794 +#: timezone/zic.c:820 #, c-format msgid "%s: Can't open %s: %s\n" msgstr "" -#: timezone/zic.c:1459 +#: timezone/zic.c:1485 #, c-format msgid "%s: Can't remove %s: %s\n" msgstr "" -#: timezone/zic.c:863 +#: timezone/zic.c:631 +#, c-format +msgid "%s: Can't unlink %s: %s\n" +msgstr "" + +#: timezone/zic.c:889 #, c-format msgid "%s: Error closing %s: %s\n" msgstr "" -#: timezone/zic.c:856 +#: timezone/zic.c:882 #, c-format msgid "%s: Error reading %s\n" msgstr "" @@ -314,42 +319,42 @@ msgstr "" msgid "%s: Error writing " msgstr "" -#: timezone/zic.c:1535 +#: timezone/zic.c:1561 #, c-format msgid "%s: Error writing %s\n" msgstr "" -#: timezone/zic.c:841 +#: timezone/zic.c:867 #, c-format msgid "%s: Leap line in non leap seconds file %s\n" msgstr "" -#: timezone/zic.c:359 +#: timezone/zic.c:361 #, c-format msgid "%s: Memory exhausted: %s\n" msgstr "" -#: timezone/zic.c:524 +#: timezone/zic.c:526 #, c-format msgid "%s: More than one -L option specified\n" msgstr "" -#: timezone/zic.c:484 +#: timezone/zic.c:486 #, c-format msgid "%s: More than one -d option specified\n" msgstr "" -#: timezone/zic.c:494 +#: timezone/zic.c:496 #, c-format msgid "%s: More than one -l option specified\n" msgstr "" -#: timezone/zic.c:504 +#: timezone/zic.c:506 #, c-format msgid "%s: More than one -p option specified\n" msgstr "" -#: timezone/zic.c:514 +#: timezone/zic.c:516 #, c-format msgid "%s: More than one -y option specified\n" msgstr "" @@ -364,57 +369,57 @@ msgstr "" msgid "%s: cannot get modification time" msgstr "" -#: timezone/zic.c:1900 +#: timezone/zic.c:1928 #, c-format msgid "%s: command was '%s', result was %d\n" msgstr "" -#: locale/programs/charmap.c:677 locale/programs/locfile.c:1008 +#: locale/programs/charmap.c:676 locale/programs/locfile.c:1014 #, c-format msgid "%s: error in state machine" msgstr "" -#: posix/getopt.c:784 +#: posix/getopt.c:788 #, c-format msgid "%s: illegal option -- %c\n" msgstr "" -#: posix/getopt.c:787 +#: posix/getopt.c:791 #, c-format msgid "%s: invalid option -- %c\n" msgstr "" -#: posix/getopt.c:707 +#: posix/getopt.c:711 #, c-format msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "" -#: posix/getopt.c:677 +#: posix/getopt.c:681 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "" -#: posix/getopt.c:725 posix/getopt.c:898 +#: posix/getopt.c:729 posix/getopt.c:902 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "" -#: posix/getopt.c:702 +#: posix/getopt.c:706 #, c-format msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "" -#: posix/getopt.c:882 +#: posix/getopt.c:886 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "" -#: posix/getopt.c:864 +#: posix/getopt.c:868 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "" -#: posix/getopt.c:817 posix/getopt.c:947 +#: posix/getopt.c:821 posix/getopt.c:951 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "" @@ -424,12 +429,12 @@ msgstr "" msgid "%s: output would overwrite %s\n" msgstr "" -#: timezone/zic.c:848 timezone/zic.c:1262 timezone/zic.c:1287 +#: timezone/zic.c:874 timezone/zic.c:1288 timezone/zic.c:1313 #, c-format msgid "%s: panic: Invalid l_value %d\n" msgstr "" -#: locale/programs/charmap.c:684 locale/programs/repertoire.c:289 +#: locale/programs/charmap.c:683 locale/programs/repertoire.c:301 #, c-format msgid "%s: premature end of file" msgstr "" @@ -439,17 +444,17 @@ msgstr "" msgid "%s: unable to open %s: %m\n" msgstr "" -#: posix/getopt.c:758 +#: posix/getopt.c:762 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "" -#: posix/getopt.c:754 +#: posix/getopt.c:758 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "" -#: timezone/zic.c:443 +#: timezone/zic.c:445 #, c-format msgid "" "%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d " @@ -488,16 +493,16 @@ msgstr "" msgid "(unknown)" msgstr "" -#: elf/sprof.c:574 +#: elf/sprof.c:570 #, c-format msgid "*** The file `%s' is stripped: no detailed analysis possible\n" msgstr "" -#: catgets/gencat.c:266 +#: catgets/gencat.c:267 msgid "*standard input*" msgstr "" -#: catgets/gencat.c:120 +#: catgets/gencat.c:121 msgid "" "-o OUTPUT-FILE [INPUT-FILE]...\n" "[OUTPUT-FILE [INPUT-FILE]...]" @@ -522,12 +527,12 @@ msgstr "" msgid "<%s> and <%s> are illegal names for range" msgstr "" -#: locale/programs/ld-ctype.c:342 +#: locale/programs/ld-ctype.c:428 #, c-format msgid "<SP> character must not be in class `%s'" msgstr "" -#: locale/programs/ld-ctype.c:330 +#: locale/programs/ld-ctype.c:416 #, c-format msgid "<SP> character not in class `%s'" msgstr "" @@ -539,11 +544,11 @@ msgstr "" msgid "?" msgstr "" -#: sysdeps/unix/sysv/linux/siglist.h:27 +#: sysdeps/generic/siglist.h:34 sysdeps/gnu/siglist.h:28 msgid "Aborted" msgstr "" -#: nis/nis_print.c:318 +#: nis/nis_print.c:320 msgid "Access Rights : " msgstr "" @@ -577,8 +582,8 @@ msgstr "" msgid "Advertise error" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:39 -#: sysdeps/unix/sysv/linux/siglist.h:33 +#: stdio-common/../sysdeps/unix/siglist.c:39 sysdeps/generic/siglist.h:40 +#: sysdeps/gnu/siglist.h:34 msgid "Alarm clock" msgstr "" @@ -614,7 +619,7 @@ msgstr "" msgid "Attempting to link in too many shared libraries" msgstr "" -#: sunrpc/clnt_perr.c:273 +#: sunrpc/clnt_perr.c:328 msgid "Authentication OK" msgstr "" @@ -666,8 +671,8 @@ msgstr "" msgid "Bad request descriptor" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:37 -#: sysdeps/unix/sysv/linux/siglist.h:56 +#: stdio-common/../sysdeps/unix/siglist.c:37 sysdeps/generic/siglist.h:63 +#: sysdeps/gnu/siglist.h:57 msgid "Bad system call" msgstr "" @@ -675,7 +680,7 @@ msgstr "" msgid "Bad value for ai_flags" msgstr "" -#: locale/programs/localedef.c:105 +#: locale/programs/localedef.c:101 msgid "Be strictly POSIX conform" msgstr "" @@ -703,12 +708,12 @@ msgstr "" #: stdio-common/../sysdeps/gnu/errlist.c:234 #: stdio-common/../sysdeps/unix/siglist.c:38 #: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:61 -#: sysdeps/unix/sysv/linux/siglist.h:32 +#: sysdeps/generic/siglist.h:39 sysdeps/gnu/siglist.h:33 msgid "Broken pipe" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:35 -#: sysdeps/unix/sysv/linux/siglist.h:30 +#: stdio-common/../sysdeps/unix/siglist.c:35 sysdeps/generic/siglist.h:37 +#: sysdeps/gnu/siglist.h:31 msgid "Bus error" msgstr "" @@ -716,8 +721,8 @@ msgstr "" msgid "CDS" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:49 -#: sysdeps/unix/sysv/linux/siglist.h:43 +#: stdio-common/../sysdeps/unix/siglist.c:49 sysdeps/generic/siglist.h:50 +#: sysdeps/gnu/siglist.h:44 msgid "CPU time limit exceeded" msgstr "" @@ -734,19 +739,19 @@ msgstr "" msgid "Can not exec a shared library directly" msgstr "" -#: nis/ypclnt.c:769 +#: nis/ypclnt.c:779 msgid "Can't bind to server which serves this domain" msgstr "" -#: nis/ypclnt.c:781 +#: nis/ypclnt.c:791 msgid "Can't communicate with portmapper" msgstr "" -#: nis/ypclnt.c:783 +#: nis/ypclnt.c:793 msgid "Can't communicate with ypbind" msgstr "" -#: nis/ypclnt.c:785 +#: nis/ypclnt.c:795 msgid "Can't communicate with ypserv" msgstr "" @@ -780,7 +785,7 @@ msgstr "" msgid "Cannot receive reply to broadcast" msgstr "" -#: sunrpc/pmap_clnt.c:74 +#: sunrpc/pmap_clnt.c:133 msgid "Cannot register service" msgstr "" @@ -827,12 +832,12 @@ msgstr "" msgid "Character Separator : %c\n" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:45 -#: sysdeps/unix/sysv/linux/siglist.h:39 +#: stdio-common/../sysdeps/unix/siglist.c:45 sysdeps/generic/siglist.h:46 +#: sysdeps/gnu/siglist.h:40 msgid "Child exited" msgstr "" -#: sunrpc/clnt_perr.c:283 +#: sunrpc/clnt_perr.c:347 msgid "Client credential too weak" msgstr "" @@ -845,7 +850,7 @@ msgstr "" msgid "Communication error on send" msgstr "" -#: locale/programs/localedef.c:113 +#: locale/programs/localedef.c:109 msgid "Compile locale specification" msgstr "" @@ -854,7 +859,7 @@ msgstr "" msgid "Computer bought the farm" msgstr "" -#: locale/programs/ld-ctype.c:1253 +#: locale/programs/ld-ctype.c:1438 msgid "Computing table size for character classes might take a while..." msgstr "" @@ -884,8 +889,8 @@ msgstr "" msgid "Connection timed out" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:44 -#: sysdeps/unix/sysv/linux/siglist.h:38 +#: stdio-common/../sysdeps/unix/siglist.c:44 sysdeps/generic/siglist.h:45 +#: sysdeps/gnu/siglist.h:39 msgid "Continued" msgstr "" @@ -897,10 +902,10 @@ msgstr "" msgid "Convert key to lower case" msgstr "" -#: catgets/gencat.c:236 db2/makedb.c:242 elf/sprof.c:359 +#: catgets/gencat.c:237 db2/makedb.c:242 elf/sprof.c:355 #: iconv/iconv_prog.c:294 locale/programs/locale.c:267 -#: locale/programs/localedef.c:404 nscd/nscd.c:223 nss/getent.c:65 -#: posix/getconf.c:624 +#: locale/programs/localedef.c:400 nscd/nscd.c:277 nscd/nscd_nischeck.c:90 +#: nss/getent.c:66 posix/getconf.c:624 #, c-format msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -908,16 +913,16 @@ msgid "" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" -#: nscd/nscd_conf.c:167 +#: nscd/nscd_conf.c:165 #, c-format msgid "Could not create log file \"%s\"" msgstr "" -#: catgets/gencat.c:107 +#: catgets/gencat.c:108 msgid "Create C header file NAME containing symbol definitions" msgstr "" -#: locale/programs/localedef.c:104 +#: locale/programs/localedef.c:100 msgid "Create output even if warning messages were issued" msgstr "" @@ -925,7 +930,7 @@ msgstr "" msgid "Create simple DB database from textual input." msgstr "" -#: nis/nis_print.c:322 +#: nis/nis_print.c:325 #, c-format msgid "Creation Time : %s" msgstr "" @@ -934,8 +939,8 @@ msgstr "" msgid "Cross-device link" msgstr "" -#: nis/nss_nisplus/nisplus-publickey.c:89 -#: nis/nss_nisplus/nisplus-publickey.c:159 +#: nis/nss_nisplus/nisplus-publickey.c:95 +#: nis/nss_nisplus/nisplus-publickey.c:171 #, c-format msgid "DES entry for netname %s not unique\n" msgstr "" @@ -956,7 +961,7 @@ msgstr "" msgid "Database for table does not exist" msgstr "" -#: nis/ypclnt.c:795 +#: nis/ypclnt.c:805 msgid "Database is busy" msgstr "" @@ -1005,7 +1010,7 @@ msgstr "" msgid "Diffie-Hellmann (%d bits)\n" msgstr "" -#: nis/nis_print.c:315 +#: nis/nis_print.c:317 #, c-format msgid "Directory : %s\n" msgstr "" @@ -1026,7 +1031,7 @@ msgstr "" msgid "Disk quota exceeded" msgstr "" -#: nscd/nscd.c:80 +#: nscd/nscd.c:83 msgid "Do not fork and display messages on the current tty" msgstr "" @@ -1034,16 +1039,16 @@ msgstr "" msgid "Do not print messages while building database" msgstr "" -#: catgets/gencat.c:109 +#: catgets/gencat.c:110 msgid "Do not use existing catalog, force new output file" msgstr "" -#: nis/ypclnt.c:841 +#: nis/ypclnt.c:851 msgid "Domain not bound" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:32 -#: sysdeps/unix/sysv/linux/siglist.h:53 +#: stdio-common/../sysdeps/unix/siglist.c:32 sysdeps/generic/siglist.h:60 +#: sysdeps/gnu/siglist.h:54 msgid "EMT trap" msgstr "" @@ -1191,7 +1196,7 @@ msgstr "" msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?" msgstr "" -#: string/../sysdeps/mach/_strerror.c:56 +#: string/../sysdeps/mach/_strerror.c:57 #: sysdeps/mach/hurd/mips/dl-machine.c:67 msgid "Error in unknown error system: " msgstr "" @@ -1200,7 +1205,7 @@ msgstr "" msgid "Error while talking to callback proc" msgstr "" -#: inet/ruserpass.c:161 +#: inet/ruserpass.c:176 msgid "Error: .netrc file is readable by others." msgstr "" @@ -1215,20 +1220,20 @@ msgstr "" msgid "Exec format error" msgstr "" -#: locale/programs/localedef.c:191 +#: locale/programs/localedef.c:187 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" msgstr "" -#: locale/programs/localedef.c:95 locale/programs/localedef.c:97 -#: locale/programs/localedef.c:99 +#: locale/programs/localedef.c:91 locale/programs/localedef.c:93 +#: locale/programs/localedef.c:95 msgid "FILE" msgstr "" -#: locale/programs/localedef.c:100 +#: locale/programs/localedef.c:96 msgid "FILE contains mapping from symbolic names to UCS4 values" msgstr "" -#: sunrpc/clnt_perr.c:287 +#: sunrpc/clnt_perr.c:355 msgid "Failed (unspecified error)" msgstr "" @@ -1260,8 +1265,8 @@ msgstr "" msgid "File name too long" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:50 -#: sysdeps/unix/sysv/linux/siglist.h:44 +#: stdio-common/../sysdeps/unix/siglist.c:50 sysdeps/generic/siglist.h:51 +#: sysdeps/gnu/siglist.h:45 msgid "File size limit exceeded" msgstr "" @@ -1279,8 +1284,8 @@ msgstr "" msgid "First/next chain broken" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:33 -#: sysdeps/unix/sysv/linux/siglist.h:28 +#: stdio-common/../sysdeps/unix/siglist.c:33 sysdeps/generic/siglist.h:35 +#: sysdeps/gnu/siglist.h:29 msgid "Floating point exception" msgstr "" @@ -1306,7 +1311,7 @@ msgstr "" msgid "Garbage in ARGP_HELP_FMT: %s" msgstr "" -#: catgets/gencat.c:115 +#: catgets/gencat.c:116 msgid "" "Generate message catalog.\\vIf INPUT-FILE is -, input is read from standard " "input. If OUTPUT-FILE\n" @@ -1334,7 +1339,7 @@ msgstr "" msgid "Gratuitous error" msgstr "" -#: nis/nis_print.c:317 +#: nis/nis_print.c:319 #, c-format msgid "Group : %s\n" msgstr "" @@ -1352,33 +1357,33 @@ msgstr "" msgid "Hang for SECS seconds (default 3600)" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:26 -#: sysdeps/unix/sysv/linux/siglist.h:22 +#: stdio-common/../sysdeps/unix/siglist.c:26 sysdeps/generic/siglist.h:29 +#: sysdeps/gnu/siglist.h:23 msgid "Hangup" msgstr "" -#: nscd/grpcache.c:238 +#: nscd/grpcache.c:251 #, c-format msgid "Haven't found \"%d\" in group cache!" msgstr "" -#: nscd/pwdcache.c:235 +#: nscd/pwdcache.c:249 #, c-format msgid "Haven't found \"%d\" in password cache!" msgstr "" -#: nscd/grpcache.c:210 +#: nscd/grpcache.c:212 #, c-format msgid "Haven't found \"%s\" in group cache!" msgstr "" -#: nscd/hstcache.c:297 nscd/hstcache.c:328 nscd/hstcache.c:362 -#: nscd/hstcache.c:395 +#: nscd/hstcache.c:291 nscd/hstcache.c:333 nscd/hstcache.c:378 +#: nscd/hstcache.c:422 #, c-format msgid "Haven't found \"%s\" in hosts cache!" msgstr "" -#: nscd/pwdcache.c:207 +#: nscd/pwdcache.c:210 #, c-format msgid "Haven't found \"%s\" in password cache!" msgstr "" @@ -1397,8 +1402,8 @@ msgstr "" msgid "I/O error" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:48 -#: sysdeps/unix/sysv/linux/siglist.h:42 +#: stdio-common/../sysdeps/unix/siglist.c:48 sysdeps/generic/siglist.h:49 +#: sysdeps/gnu/siglist.h:43 msgid "I/O possible" msgstr "" @@ -1426,8 +1431,8 @@ msgstr "" msgid "Illegal byte sequence" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:29 -#: sysdeps/unix/sysv/linux/siglist.h:25 +#: stdio-common/../sysdeps/unix/siglist.c:29 sysdeps/generic/siglist.h:32 +#: sysdeps/gnu/siglist.h:26 msgid "Illegal instruction" msgstr "" @@ -1467,7 +1472,7 @@ msgstr "" msgid "Inappropriate operation for background process" msgstr "" -#: sysdeps/unix/sysv/linux/siglist.h:62 +#: sysdeps/generic/siglist.h:69 sysdeps/gnu/siglist.h:63 msgid "Information request" msgstr "" @@ -1475,7 +1480,7 @@ msgstr "" msgid "Information:" msgstr "" -#: locale/programs/localedef.c:94 +#: locale/programs/localedef.c:90 msgid "Input Files:" msgstr "" @@ -1488,16 +1493,16 @@ msgstr "" msgid "Input/output error" msgstr "" -#: nis/ypclnt.c:775 +#: nis/ypclnt.c:785 msgid "Internal NIS error" msgstr "" -#: nis/ypclnt.c:839 +#: nis/ypclnt.c:849 msgid "Internal ypbind error" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:27 -#: sysdeps/unix/sysv/linux/siglist.h:23 +#: stdio-common/../sysdeps/unix/siglist.c:27 sysdeps/generic/siglist.h:30 +#: sysdeps/gnu/siglist.h:24 msgid "Interrupt" msgstr "" @@ -1524,27 +1529,27 @@ msgstr "" msgid "Invalid argument" msgstr "" -#: posix/regex.c:1024 +#: posix/regex.c:1034 msgid "Invalid back reference" msgstr "" -#: posix/regex.c:1022 +#: posix/regex.c:1028 msgid "Invalid character class name" msgstr "" -#: sunrpc/clnt_perr.c:275 +#: sunrpc/clnt_perr.c:331 msgid "Invalid client credential" msgstr "" -#: sunrpc/clnt_perr.c:279 +#: sunrpc/clnt_perr.c:339 msgid "Invalid client verifier" msgstr "" -#: posix/regex.c:1021 +#: posix/regex.c:1025 msgid "Invalid collation character" msgstr "" -#: posix/regex.c:1028 +#: posix/regex.c:1046 msgid "Invalid content of \\{\\}" msgstr "" @@ -1569,15 +1574,15 @@ msgstr "" msgid "Invalid or incomplete multibyte or wide character" msgstr "" -#: posix/regex.c:1031 +#: posix/regex.c:1055 msgid "Invalid preceding regular expression" msgstr "" -#: posix/regex.c:1029 +#: posix/regex.c:1049 msgid "Invalid range end" msgstr "" -#: posix/regex.c:1020 +#: posix/regex.c:1022 msgid "Invalid regular expression" msgstr "" @@ -1589,7 +1594,7 @@ msgstr "" msgid "Invalid request descriptor" msgstr "" -#: sunrpc/clnt_perr.c:285 +#: sunrpc/clnt_perr.c:351 msgid "Invalid server verifier" msgstr "" @@ -1598,6 +1603,10 @@ msgstr "" msgid "Invalid slot" msgstr "" +#: nscd/nscd.c:88 +msgid "Invalidate the specified cache" +msgstr "" + #. TRANS File is a directory; you cannot open a directory for writing, #. TRANS or create or remove hard links to it. #: stdio-common/../sysdeps/gnu/errlist.c:158 @@ -1617,8 +1626,8 @@ msgstr "" msgid "Kerberos.\n" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:34 -#: sysdeps/unix/sysv/linux/siglist.h:29 +#: stdio-common/../sysdeps/unix/siglist.c:34 sysdeps/generic/siglist.h:36 +#: sysdeps/gnu/siglist.h:30 msgid "Killed" msgstr "" @@ -1674,11 +1683,11 @@ msgstr "" msgid "Linked to : %s\n" msgstr "" -#: nis/ypclnt.c:787 +#: nis/ypclnt.c:797 msgid "Local domain name not set" msgstr "" -#: nis/ypclnt.c:777 +#: nis/ypclnt.c:787 msgid "Local resource allocation failure" msgstr "" @@ -1709,7 +1718,7 @@ msgstr "" msgid "Memory allocation failure" msgstr "" -#: posix/regex.c:1030 +#: posix/regex.c:1052 msgid "Memory exhausted" msgstr "" @@ -1728,7 +1737,7 @@ msgstr "" msgid "Missing or malformed attribute" msgstr "" -#: nis/nis_print.c:323 +#: nis/nis_print.c:327 #, c-format msgid "Mod. Time : %s" msgstr "" @@ -1750,8 +1759,8 @@ msgstr "" msgid "Multihop attempted" msgstr "" -#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:59 -#: locale/programs/localedef.c:116 nscd/nscd.c:77 +#: catgets/gencat.c:107 catgets/gencat.c:111 db2/makedb.c:59 +#: locale/programs/localedef.c:112 nscd/nscd.c:80 msgid "NAME" msgstr "" @@ -1765,11 +1774,11 @@ msgstr "" msgid "NIS" msgstr "" -#: nis/ypclnt.c:791 +#: nis/ypclnt.c:801 msgid "NIS client/server version mismatch - can't supply service" msgstr "" -#: nis/ypclnt.c:789 +#: nis/ypclnt.c:799 msgid "NIS map database is bad" msgstr "" @@ -1789,7 +1798,7 @@ msgstr "" msgid "NO OBJECT\n" msgstr "" -#: nscd/nscd.c:81 +#: nscd/nscd.c:84 msgid "NUMBER" msgstr "" @@ -1798,7 +1807,7 @@ msgstr "" msgid "Name : `%s'\n" msgstr "" -#: nscd/nscd.c:88 +#: nscd/nscd.c:94 msgid "Name Service Cache Daemon." msgstr "" @@ -1917,11 +1926,11 @@ msgstr "" msgid "No message of desired type" msgstr "" -#: nis/ypclnt.c:779 +#: nis/ypclnt.c:789 msgid "No more records in map database" msgstr "" -#: posix/regex.c:5521 +#: posix/regex.c:5569 msgid "No previous regular expression" msgstr "" @@ -1965,11 +1974,11 @@ msgstr "" msgid "No such file or directory" msgstr "" -#: nis/ypclnt.c:773 +#: nis/ypclnt.c:783 msgid "No such key in map" msgstr "" -#: nis/ypclnt.c:771 +#: nis/ypclnt.c:781 msgid "No such map in server's domain" msgstr "" @@ -2059,7 +2068,7 @@ msgstr "" msgid "Number of Columns : %d\n" msgstr "" -#: nis/nis_print.c:358 +#: nis/nis_print.c:362 #, c-format msgid "Number of objects : %u\n" msgstr "" @@ -2082,17 +2091,17 @@ msgstr "" msgid "Numerical result out of range" msgstr "" -#: nis/nis_print.c:362 +#: nis/nis_print.c:366 #, c-format msgid "Object #%d:\n" msgstr "" -#: nis/nis_print.c:314 +#: nis/nis_print.c:316 #, c-format msgid "Object Name : %s\n" msgstr "" -#: nis/nis_print.c:324 +#: nis/nis_print.c:328 msgid "Object Type : " msgstr "" @@ -2109,11 +2118,11 @@ msgstr "" msgid "Object with same name exists" msgstr "" -#: timezone/zic.c:1995 +#: timezone/zic.c:2023 msgid "Odd number of quotation marks" msgstr "" -#: nscd/nscd.c:185 +#: nscd/nscd.c:191 nscd/nscd.c:211 nscd/nscd.c:217 msgid "Only root is allowed to use this option!" msgstr "" @@ -2187,15 +2196,15 @@ msgstr "" msgid "Out of streams resources" msgstr "" -#: iconv/iconv_prog.c:59 locale/programs/localedef.c:102 +#: iconv/iconv_prog.c:59 locale/programs/localedef.c:98 msgid "Output control:" msgstr "" -#: elf/sprof.c:76 +#: elf/sprof.c:72 msgid "Output selection:" msgstr "" -#: nis/nis_print.c:316 +#: nis/nis_print.c:318 #, c-format msgid "Owner : %s\n" msgstr "" @@ -2209,7 +2218,7 @@ msgstr "" msgid "Package not installed" msgstr "" -#: nscd/nscd_conf.c:84 +#: nscd/nscd_conf.c:82 #, c-format msgid "Parse error: %s" msgstr "" @@ -2223,17 +2232,17 @@ msgid "Passed object is not the same obj msgstr "" #. TRANS Permission denied; the file permissions do not allow the attempted operation. -#: nis/nis_error.c:38 nis/ypclnt.c:793 +#: nis/nis_error.c:38 nis/ypclnt.c:803 #: stdio-common/../sysdeps/gnu/errlist.c:108 #: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:42 msgid "Permission denied" msgstr "" -#: sysdeps/unix/sysv/linux/siglist.h:64 +#: sysdeps/generic/siglist.h:71 sysdeps/gnu/siglist.h:65 msgid "Power failure" msgstr "" -#: posix/regex.c:1032 +#: posix/regex.c:1058 msgid "Premature end of regular expression" msgstr "" @@ -2241,11 +2250,11 @@ msgstr "" msgid "Print content of database file, one entry a line" msgstr "" -#: nscd/nscd.c:83 +#: nscd/nscd.c:86 msgid "Print current configuration statistic" msgstr "" -#: locale/programs/localedef.c:108 +#: locale/programs/localedef.c:104 msgid "Print more messages" msgstr "" @@ -2261,8 +2270,8 @@ msgstr "" msgid "Probably not found" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:52 -#: sysdeps/unix/sysv/linux/siglist.h:46 +#: stdio-common/../sysdeps/unix/siglist.c:52 sysdeps/generic/siglist.h:53 +#: sysdeps/gnu/siglist.h:47 msgid "Profiling timer expired" msgstr "" @@ -2306,8 +2315,8 @@ msgstr "" msgid "Query illegal for named table" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:28 -#: sysdeps/unix/sysv/linux/siglist.h:24 +#: stdio-common/../sysdeps/unix/siglist.c:28 sysdeps/generic/siglist.h:31 +#: sysdeps/gnu/siglist.h:25 msgid "Quit" msgstr "" @@ -2320,7 +2329,7 @@ msgstr "" msgid "RPC bad procedure for program" msgstr "" -#: nis/ypclnt.c:767 +#: nis/ypclnt.c:777 msgid "RPC failure on NIS operation" msgstr "" @@ -2344,55 +2353,55 @@ msgstr "" msgid "RPC version wrong" msgstr "" -#: sunrpc/clnt_perr.c:215 +#: sunrpc/clnt_perr.c:270 msgid "RPC: (unknown error code)" msgstr "" -#: sunrpc/clnt_perr.c:176 +#: sunrpc/clnt_perr.c:189 msgid "RPC: Authentication error" msgstr "" -#: sunrpc/clnt_perr.c:166 +#: sunrpc/clnt_perr.c:169 msgid "RPC: Can't decode result" msgstr "" -#: sunrpc/clnt_perr.c:164 +#: sunrpc/clnt_perr.c:165 msgid "RPC: Can't encode arguments" msgstr "" -#: sunrpc/clnt_perr.c:196 +#: sunrpc/clnt_perr.c:229 msgid "RPC: Failed (unspecified error)" msgstr "" -#: sunrpc/clnt_perr.c:174 +#: sunrpc/clnt_perr.c:185 msgid "RPC: Incompatible versions of RPC" msgstr "" -#: sunrpc/clnt_perr.c:192 +#: sunrpc/clnt_perr.c:221 msgid "RPC: Port mapper failure" msgstr "" -#: sunrpc/clnt_perr.c:182 +#: sunrpc/clnt_perr.c:201 msgid "RPC: Procedure unavailable" msgstr "" -#: sunrpc/clnt_perr.c:194 +#: sunrpc/clnt_perr.c:225 msgid "RPC: Program not registered" msgstr "" -#: sunrpc/clnt_perr.c:178 +#: sunrpc/clnt_perr.c:193 msgid "RPC: Program unavailable" msgstr "" -#: sunrpc/clnt_perr.c:180 +#: sunrpc/clnt_perr.c:197 msgid "RPC: Program/version mismatch" msgstr "" -#: sunrpc/clnt_perr.c:186 +#: sunrpc/clnt_perr.c:209 msgid "RPC: Remote system error" msgstr "" -#: sunrpc/clnt_perr.c:184 +#: sunrpc/clnt_perr.c:205 msgid "RPC: Server can't decode arguments" msgstr "" @@ -2400,23 +2409,23 @@ msgstr "" msgid "RPC: Success" msgstr "" -#: sunrpc/clnt_perr.c:172 +#: sunrpc/clnt_perr.c:181 msgid "RPC: Timed out" msgstr "" -#: sunrpc/clnt_perr.c:170 +#: sunrpc/clnt_perr.c:177 msgid "RPC: Unable to receive" msgstr "" -#: sunrpc/clnt_perr.c:168 +#: sunrpc/clnt_perr.c:173 msgid "RPC: Unable to send" msgstr "" -#: sunrpc/clnt_perr.c:188 +#: sunrpc/clnt_perr.c:213 msgid "RPC: Unknown host" msgstr "" -#: sunrpc/clnt_perr.c:190 +#: sunrpc/clnt_perr.c:217 msgid "RPC: Unknown protocol" msgstr "" @@ -2429,11 +2438,11 @@ msgstr "" msgid "RTLD_NEXT used in code not dynamically loaded" msgstr "" -#: elf/sprof.c:88 +#: elf/sprof.c:84 msgid "Read and display shared object profiling data" msgstr "" -#: nscd/nscd.c:78 +#: nscd/nscd.c:81 msgid "Read configuration data from NAME" msgstr "" @@ -2448,7 +2457,7 @@ msgstr "" msgid "Real-time signal %d" msgstr "" -#: posix/regex.c:1033 +#: posix/regex.c:1061 msgid "Regular expression too big" msgstr "" @@ -2462,11 +2471,11 @@ msgstr "" msgid "Remote address changed" msgstr "" -#: inet/ruserpass.c:162 +#: inet/ruserpass.c:177 msgid "Remove password or make file unreadable by others." msgstr "" -#: elf/sprof.c:537 +#: elf/sprof.c:533 #, c-format msgid "Reopening shared object `%s' failed" msgstr "" @@ -2475,17 +2484,17 @@ msgstr "" msgid "Replicate :\n" msgstr "" -#: argp/argp-help.c:1642 +#: argp/argp-help.c:1640 #, c-format msgid "Report bugs to %s.\n" msgstr "" -#: catgets/gencat.c:223 db2/makedb.c:229 iconv/iconv_prog.c:280 -#: locale/programs/locale.c:254 locale/programs/localedef.c:390 +#: catgets/gencat.c:224 db2/makedb.c:229 iconv/iconv_prog.c:280 +#: locale/programs/locale.c:254 locale/programs/localedef.c:386 msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n" msgstr "" -#: nis/ypclnt.c:765 +#: nis/ypclnt.c:775 msgid "Request arguments bad" msgstr "" @@ -2509,7 +2518,8 @@ msgstr "" msgid "Resource deadlock avoided" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:54 +#: stdio-common/../sysdeps/unix/siglist.c:54 sysdeps/generic/siglist.h:74 +#: sysdeps/gnu/siglist.h:68 msgid "Resource lost" msgstr "" @@ -2555,7 +2565,7 @@ msgstr "" msgid "Results sent to callback proc" msgstr "" -#: elf/sprof.c:91 +#: elf/sprof.c:87 msgid "SHOBJ [PROFDATA]" msgstr "" @@ -2568,8 +2578,8 @@ msgstr "" msgid "Search Path : %s\n" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:36 -#: sysdeps/unix/sysv/linux/siglist.h:31 +#: stdio-common/../sysdeps/unix/siglist.c:36 sysdeps/generic/siglist.h:38 +#: sysdeps/gnu/siglist.h:32 msgid "Segmentation fault" msgstr "" @@ -2581,11 +2591,11 @@ msgstr "" msgid "Server out of memory" msgstr "" -#: sunrpc/clnt_perr.c:277 +#: sunrpc/clnt_perr.c:335 msgid "Server rejected credential" msgstr "" -#: sunrpc/clnt_perr.c:281 +#: sunrpc/clnt_perr.c:343 msgid "Server rejected verifier" msgstr "" @@ -2597,7 +2607,7 @@ msgstr "" msgid "Set the program name" msgstr "" -#: nscd/nscd.c:82 +#: nscd/nscd.c:85 msgid "Shut the server down" msgstr "" @@ -2627,7 +2637,7 @@ msgstr "" msgid "Sorry. You are not root\n" msgstr "" -#: locale/programs/localedef.c:98 +#: locale/programs/localedef.c:94 msgid "Source definitions are found in FILE" msgstr "" @@ -2636,7 +2646,7 @@ msgstr "" msgid "Srmount error" msgstr "" -#: sysdeps/unix/sysv/linux/siglist.h:59 +#: sysdeps/generic/siglist.h:66 sysdeps/gnu/siglist.h:60 msgid "Stack fault" msgstr "" @@ -2645,39 +2655,36 @@ msgstr "" #. TRANS Repairing this condition usually requires unmounting and remounting #. TRANS the NFS file system on the local host. #: stdio-common/../sysdeps/gnu/errlist.c:506 -msgid "Stale NFS file handle" -msgstr "" - #: stdio-common/../sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c:180 -msgid "Stale NFS file handle)" +msgid "Stale NFS file handle" msgstr "" -#: nscd/nscd.c:81 +#: nscd/nscd.c:84 msgid "Start NUMBER threads" msgstr "" -#: nis/nis_print.c:357 +#: nis/nis_print.c:361 #, c-format msgid "Status : %s\n" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:43 -#: sysdeps/unix/sysv/linux/siglist.h:37 +#: stdio-common/../sysdeps/unix/siglist.c:43 sysdeps/generic/siglist.h:44 +#: sysdeps/gnu/siglist.h:38 msgid "Stopped" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:42 -#: sysdeps/unix/sysv/linux/siglist.h:36 +#: stdio-common/../sysdeps/unix/siglist.c:42 sysdeps/generic/siglist.h:43 +#: sysdeps/gnu/siglist.h:37 msgid "Stopped (signal)" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:46 -#: sysdeps/unix/sysv/linux/siglist.h:40 +#: stdio-common/../sysdeps/unix/siglist.c:46 sysdeps/generic/siglist.h:47 +#: sysdeps/gnu/siglist.h:41 msgid "Stopped (tty input)" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:47 -#: sysdeps/unix/sysv/linux/siglist.h:41 +#: stdio-common/../sysdeps/unix/siglist.c:47 sysdeps/generic/siglist.h:48 +#: sysdeps/gnu/siglist.h:42 msgid "Stopped (tty output)" msgstr "" @@ -2690,16 +2697,16 @@ msgstr "" msgid "Structure needs cleaning" msgstr "" -#: nis/nis_error.c:28 nis/ypclnt.c:763 nis/ypclnt.c:837 posix/regex.c:1018 +#: nis/nis_error.c:28 nis/ypclnt.c:773 nis/ypclnt.c:847 posix/regex.c:1016 #: stdio-common/../sysdeps/gnu/errlist.c:19 msgid "Success" msgstr "" -#: locale/programs/localedef.c:107 +#: locale/programs/localedef.c:103 msgid "Suppress warnings and information messages" msgstr "" -#: locale/programs/localedef.c:96 +#: locale/programs/localedef.c:92 msgid "Symbolic character names defined in FILE" msgstr "" @@ -2711,11 +2718,11 @@ msgstr "" msgid "System information:" msgstr "" -#: nis/ypclnt.c:843 +#: nis/ypclnt.c:853 msgid "System resource allocation failure" msgstr "" -#: locale/programs/localedef.c:385 +#: locale/programs/localedef.c:381 #, c-format msgid "" "System's directory for character maps : %s\n" @@ -2724,10 +2731,18 @@ msgid "" "%s" msgstr "" +#: nscd/nscd.c:87 +msgid "TABLE" +msgstr "" + #: nis/nis_print.c:117 msgid "TABLE\n" msgstr "" +#: nscd/nscd.c:89 +msgid "TABLE,yes" +msgstr "" + #: nis/nis_print.c:262 #, c-format msgid "Table Type : %s\n" @@ -2737,8 +2752,8 @@ msgstr "" msgid "Temporary failure in name resolution" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:40 -#: sysdeps/unix/sysv/linux/siglist.h:34 +#: stdio-common/../sysdeps/unix/siglist.c:40 sysdeps/generic/siglist.h:41 +#: sysdeps/gnu/siglist.h:35 msgid "Terminated" msgstr "" @@ -2752,7 +2767,7 @@ msgstr "" msgid "Text file busy" msgstr "" -#: iconv/iconv_prog.c:550 +#: iconv/iconv_prog.c:578 msgid "" "The following list contain all the coded character sets known. This does\n" "not necessarily mean that all combinations of these names can be used for\n" @@ -2832,12 +2847,12 @@ msgstr "" msgid "Too many users" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:30 -#: sysdeps/unix/sysv/linux/siglist.h:26 +#: stdio-common/../sysdeps/unix/siglist.c:30 sysdeps/generic/siglist.h:33 +#: sysdeps/gnu/siglist.h:27 msgid "Trace/breakpoint trap" msgstr "" -#: posix/regex.c:1023 +#: posix/regex.c:1031 msgid "Trailing backslash" msgstr "" @@ -2864,12 +2879,12 @@ msgstr "" msgid "Transport endpoint is not connected" msgstr "" -#: argp/argp-help.c:1614 +#: argp/argp-help.c:1612 #, c-format msgid "Try `%s --help' or `%s --usage' for more information.\n" msgstr "" -#: inet/rcmd.c:143 +#: inet/rcmd.c:150 #, c-format msgid "Trying %s...\n" msgstr "" @@ -2904,16 +2919,16 @@ msgstr "" msgid "Unknown (type = %d, bits = %d)\n" msgstr "" -#: inet/ruserpass.c:248 +#: inet/ruserpass.c:263 #, c-format msgid "Unknown .netrc keyword %s" msgstr "" -#: nis/ypclnt.c:797 +#: nis/ypclnt.c:807 msgid "Unknown NIS error code" msgstr "" -#: nss/getent.c:505 +#: nss/getent.c:512 #, c-format msgid "Unknown database: %s\n" msgstr "" @@ -2923,7 +2938,7 @@ msgid "Unknown error" msgstr "" #: string/../sysdeps/generic/_strerror.c:48 -#: string/../sysdeps/mach/_strerror.c:86 +#: string/../sysdeps/mach/_strerror.c:87 #: sysdeps/mach/hurd/mips/dl-machine.c:82 msgid "Unknown error " msgstr "" @@ -2936,7 +2951,7 @@ msgstr "" msgid "Unknown object" msgstr "" -#: nscd/nscd_conf.c:181 +#: nscd/nscd_conf.c:179 #, c-format msgid "Unknown option: %s %s %s" msgstr "" @@ -2954,27 +2969,27 @@ msgstr "" msgid "Unknown signal %d" msgstr "" -#: misc/error.c:107 timezone/zic.c:384 +#: misc/error.c:107 timezone/zic.c:386 msgid "Unknown system error" msgstr "" -#: nis/ypclnt.c:845 +#: nis/ypclnt.c:855 msgid "Unknown ypbind error" msgstr "" -#: posix/regex.c:1026 +#: posix/regex.c:1040 msgid "Unmatched ( or \\(" msgstr "" -#: posix/regex.c:1034 +#: posix/regex.c:1064 msgid "Unmatched ) or \\)" msgstr "" -#: posix/regex.c:1025 +#: posix/regex.c:1037 msgid "Unmatched [ or [^" msgstr "" -#: posix/regex.c:1027 +#: posix/regex.c:1043 msgid "Unmatched \\{" msgstr "" @@ -2983,12 +2998,12 @@ msgstr "" msgid "Unrecognized variable `%s'" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:41 -#: sysdeps/unix/sysv/linux/siglist.h:35 +#: stdio-common/../sysdeps/unix/siglist.c:41 sysdeps/generic/siglist.h:42 +#: sysdeps/gnu/siglist.h:36 msgid "Urgent I/O condition" msgstr "" -#: argp/argp-help.c:1571 +#: argp/argp-help.c:1569 msgid "Usage:" msgstr "" @@ -3001,13 +3016,17 @@ msgstr "" msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:55 -#: sysdeps/unix/sysv/linux/siglist.h:48 +#: nscd/nscd.c:89 +msgid "Use separate cache for each user" +msgstr "" + +#: stdio-common/../sysdeps/unix/siglist.c:55 sysdeps/generic/siglist.h:55 +#: sysdeps/gnu/siglist.h:49 msgid "User defined signal 1" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:56 -#: sysdeps/unix/sysv/linux/siglist.h:49 +#: stdio-common/../sysdeps/unix/siglist.c:56 sysdeps/generic/siglist.h:56 +#: sysdeps/gnu/siglist.h:50 msgid "User defined signal 2" msgstr "" @@ -3016,17 +3035,17 @@ msgstr "" msgid "Value too large for defined data type" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:51 -#: sysdeps/unix/sysv/linux/siglist.h:45 +#: stdio-common/../sysdeps/unix/siglist.c:51 sysdeps/generic/siglist.h:52 +#: sysdeps/gnu/siglist.h:46 msgid "Virtual timer expired" msgstr "" -#: timezone/zic.c:1899 +#: timezone/zic.c:1927 msgid "Wild result from command execution" msgstr "" -#: stdio-common/../sysdeps/unix/siglist.c:53 -#: sysdeps/unix/sysv/linux/siglist.h:47 +#: stdio-common/../sysdeps/unix/siglist.c:53 sysdeps/generic/siglist.h:54 +#: sysdeps/gnu/siglist.h:48 msgid "Window changed" msgstr "" @@ -3046,14 +3065,14 @@ msgstr "" msgid "Write names of selected keywords" msgstr "" -#: catgets/gencat.c:110 db2/makedb.c:59 +#: catgets/gencat.c:111 db2/makedb.c:59 msgid "Write output to file NAME" msgstr "" -#: catgets/gencat.c:241 db2/makedb.c:247 elf/sprof.c:365 +#: catgets/gencat.c:242 db2/makedb.c:247 elf/sprof.c:361 #: iconv/iconv_prog.c:299 locale/programs/locale.c:272 -#: locale/programs/localedef.c:409 nscd/nscd.c:228 nss/getent.c:70 -#: posix/getconf.c:629 +#: locale/programs/localedef.c:405 nscd/nscd.c:282 nscd/nscd_nischeck.c:95 +#: nss/getent.c:71 posix/getconf.c:629 #, c-format msgid "Written by %s.\n" msgstr "" @@ -3070,7 +3089,7 @@ msgstr "" msgid "XCHS" msgstr "" -#: nis/ypclnt.c:185 +#: nis/ypclnt.c:171 #, c-format msgid "YPBINDPROC_DOMAIN: %s\n" msgstr "" @@ -3084,7 +3103,7 @@ msgstr "" msgid "You really blew it this time" msgstr "" -#: timezone/zic.c:1063 +#: timezone/zic.c:1089 msgid "Zone continuation line end time is not after end time of previous line" msgstr "" @@ -3092,13 +3111,17 @@ msgstr "" msgid "[FILE...]" msgstr "" -#: locale/programs/charmap.c:481 locale/programs/locfile.c:471 -#: locale/programs/repertoire.c:278 +#: sunrpc/pmap_clnt.c:71 +msgid "__get_myaddress: ioctl (get interface configuration)" +msgstr "" + +#: locale/programs/charmap.c:480 locale/programs/locfile.c:477 +#: locale/programs/repertoire.c:290 #, c-format msgid "`%1$s' definition does not end with `END %1$s'" msgstr "" -#: elf/sprof.c:766 +#: elf/sprof.c:762 #, c-format msgid "`%s' is no correct profile data file for `%s'" msgstr "" @@ -3108,15 +3131,15 @@ msgstr "" msgid "`-1' must be last entry in `%s' field in `%s' category" msgstr "" -#: locale/programs/ld-collate.c:1668 +#: locale/programs/ld-collate.c:1670 msgid "`...' must only be used in `...' and `UNDEFINED' entries" msgstr "" -#: locale/programs/locfile.c:668 +#: locale/programs/locfile.c:674 msgid "`from' expected after first argument to `collating-element'" msgstr "" -#: locale/programs/ld-collate.c:1120 +#: locale/programs/ld-collate.c:1122 msgid "" "`from' string in collation element declaration contains unknown character" msgstr "" @@ -3129,11 +3152,11 @@ msgstr "" msgid "ai_socktype not supported" msgstr "" -#: nscd/nscd.c:121 +#: nscd/nscd.c:127 msgid "already running" msgstr "" -#: locale/programs/charmap.c:352 locale/programs/repertoire.c:152 +#: locale/programs/charmap.c:352 locale/programs/repertoire.c:164 #, c-format msgid "argument to <%s> must be a single character" msgstr "" @@ -3143,28 +3166,28 @@ msgstr "" msgid "argument to `%s' must be a single character" msgstr "" -#: sunrpc/auth_unix.c:321 +#: sunrpc/auth_unix.c:310 msgid "auth_none.c - Fatal marshalling problem" msgstr "" -#: sunrpc/auth_unix.c:116 sunrpc/auth_unix.c:122 sunrpc/auth_unix.c:151 +#: sunrpc/auth_unix.c:105 sunrpc/auth_unix.c:111 sunrpc/auth_unix.c:141 msgid "authunix_create: out of memory\n" msgstr "" #: locale/programs/charmap.c:297 locale/programs/locfile.c:234 -#: locale/programs/locfile.c:261 locale/programs/repertoire.c:144 +#: locale/programs/locfile.c:261 locale/programs/repertoire.c:156 msgid "bad argument" msgstr "" -#: inet/rcmd.c:318 +#: inet/rcmd.c:326 msgid "bad owner" msgstr "" -#: timezone/zic.c:1185 +#: timezone/zic.c:1211 msgid "blank FROM field on Link line" msgstr "" -#: timezone/zic.c:1189 +#: timezone/zic.c:1215 msgid "blank TO field on Link line" msgstr "" @@ -3200,7 +3223,7 @@ msgstr "" msgid "cache_set: victim not found" msgstr "" -#: timezone/zic.c:1726 +#: timezone/zic.c:1752 msgid "can't determine time zone abbreviation to use just after until time" msgstr "" @@ -3209,24 +3232,24 @@ msgstr "" msgid "can't reassign procedure number %d\n" msgstr "" -#: locale/programs/localedef.c:280 +#: locale/programs/localedef.c:276 #, c-format msgid "cannot `stat' locale file `%s'" msgstr "" -#: elf/sprof.c:935 elf/sprof.c:987 +#: elf/sprof.c:931 elf/sprof.c:983 msgid "cannot allocate symbol data" msgstr "" -#: elf/sprof.c:719 elf/sprof.c:777 +#: elf/sprof.c:715 elf/sprof.c:773 msgid "cannot create internal descriptor" msgstr "" -#: elf/sprof.c:417 +#: elf/sprof.c:413 msgid "cannot create internal descriptors" msgstr "" -#: nscd/connections.c:181 +#: nscd/connections.c:183 #, c-format msgid "cannot enable socket to accept connections: %s" msgstr "" @@ -3240,30 +3263,30 @@ msgstr "" msgid "cannot find any C preprocessor (cpp)\n" msgstr "" -#: nscd/connections.c:206 +#: nscd/connections.c:224 #, c-format msgid "cannot handle old request version %d; current version is %d" msgstr "" -#: locale/programs/ld-collate.c:1326 +#: locale/programs/ld-collate.c:1328 #, c-format msgid "cannot insert collation element `%.*s'" msgstr "" -#: locale/programs/ld-collate.c:1505 locale/programs/ld-collate.c:1512 +#: locale/programs/ld-collate.c:1507 locale/programs/ld-collate.c:1514 msgid "cannot insert into result table" msgstr "" -#: locale/programs/ld-collate.c:1177 locale/programs/ld-collate.c:1220 +#: locale/programs/ld-collate.c:1179 locale/programs/ld-collate.c:1222 #, c-format msgid "cannot insert new collating symbol definition: %s" msgstr "" -#: elf/sprof.c:674 +#: elf/sprof.c:670 msgid "cannot load profiling data" msgstr "" -#: inet/rcmd.c:314 +#: inet/rcmd.c:322 msgid "cannot open" msgstr "" @@ -3277,12 +3300,12 @@ msgstr "" msgid "cannot open database file `%s': %s" msgstr "" -#: catgets/gencat.c:272 db2/makedb.c:167 iconv/iconv_prog.c:177 +#: catgets/gencat.c:273 db2/makedb.c:167 iconv/iconv_prog.c:177 #, c-format msgid "cannot open input file `%s'" msgstr "" -#: locale/programs/localedef.c:199 +#: locale/programs/localedef.c:195 #, c-format msgid "cannot open locale definition file `%s'" msgstr "" @@ -3291,22 +3314,22 @@ msgstr "" msgid "cannot open output file" msgstr "" -#: catgets/gencat.c:774 catgets/gencat.c:815 db2/makedb.c:181 +#: catgets/gencat.c:780 catgets/gencat.c:821 db2/makedb.c:181 #, c-format msgid "cannot open output file `%s'" msgstr "" -#: locale/programs/locfile.c:1129 +#: locale/programs/locfile.c:1135 #, c-format msgid "cannot open output file `%s' for category `%s'" msgstr "" -#: nscd/connections.c:163 +#: nscd/connections.c:165 #, c-format msgid "cannot open socket: %s" msgstr "" -#: locale/programs/ld-collate.c:1372 +#: locale/programs/ld-collate.c:1374 msgid "cannot process order specification" msgstr "" @@ -3315,7 +3338,7 @@ msgstr "" msgid "cannot read character map directory `%s'" msgstr "" -#: nscd/connections.c:123 +#: nscd/connections.c:125 msgid "cannot read configuration file; this is fatal" msgstr "" @@ -3333,14 +3356,14 @@ msgstr "" msgid "cannot read locale directory `%s'" msgstr "" -#: locale/programs/localedef.c:304 +#: locale/programs/localedef.c:300 #, c-format msgid "cannot read locale file `%s'" msgstr "" -#: locale/programs/locfile.c:288 locale/programs/locfile.c:306 -#: locale/programs/locfile.c:324 locale/programs/locfile.c:342 -#: locale/programs/locfile.c:360 locale/programs/locfile.c:378 +#: locale/programs/locfile.c:289 locale/programs/locfile.c:308 +#: locale/programs/locfile.c:327 locale/programs/locfile.c:346 +#: locale/programs/locfile.c:365 locale/programs/locfile.c:384 #, c-format msgid "cannot read repertoire map `%s'" msgstr "" @@ -3349,17 +3372,17 @@ msgstr "" msgid "cannot read statistics data" msgstr "" -#: nscd/cache.c:142 nscd/connections.c:149 +#: nscd/cache.c:150 nscd/connections.c:151 #, c-format msgid "cannot stat() file `%s': %s" msgstr "" -#: locale/programs/localedef.c:329 +#: locale/programs/localedef.c:325 #, c-format msgid "cannot write output files to `%s'" msgstr "" -#: nscd/connections.c:242 nscd/connections.c:263 +#: nscd/connections.c:260 nscd/connections.c:281 #, c-format msgid "cannot write result: %s" msgstr "" @@ -3373,40 +3396,50 @@ msgstr "" msgid "cannot write to client" msgstr "" -#: locale/programs/localedef.c:443 +#: locale/programs/localedef.c:439 msgid "category data requested more than once: should not happen" msgstr "" -#: locale/programs/ld-ctype.c:269 +#: locale/programs/ld-ctype.c:278 #, c-format -msgid "character %s'%s' in class `%s' must be in class `%s'" +msgid "character '%s' in class `%s' must be in class `%s'" msgstr "" -#: locale/programs/ld-ctype.c:294 +#: locale/programs/ld-ctype.c:303 #, c-format -msgid "character %s'%s' in class `%s' must not be in class `%s'" +msgid "character '%s' in class `%s' must not be in class `%s'" msgstr "" -#: locale/programs/ld-ctype.c:320 +#: locale/programs/ld-ctype.c:405 msgid "character <SP> not defined in character map" msgstr "" -#: locale/programs/ld-ctype.c:964 locale/programs/ld-ctype.c:1029 -#: locale/programs/ld-ctype.c:1040 locale/programs/ld-ctype.c:1051 -#: locale/programs/ld-ctype.c:1062 locale/programs/ld-ctype.c:1073 -#: locale/programs/ld-ctype.c:1084 locale/programs/ld-ctype.c:1113 -#: locale/programs/ld-ctype.c:1124 locale/programs/ld-ctype.c:1165 -#: locale/programs/ld-ctype.c:1194 locale/programs/ld-ctype.c:1206 +#: locale/programs/ld-ctype.c:355 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must be in class `%s'" +msgstr "" + +#: locale/programs/ld-ctype.c:380 +#, c-format +msgid "character L'%s' (index %Zd) in class `%s' must not be in class `%s'" +msgstr "" + +#: locale/programs/ld-ctype.c:1107 locale/programs/ld-ctype.c:1183 +#: locale/programs/ld-ctype.c:1196 locale/programs/ld-ctype.c:1209 +#: locale/programs/ld-ctype.c:1222 locale/programs/ld-ctype.c:1235 +#: locale/programs/ld-ctype.c:1248 locale/programs/ld-ctype.c:1279 +#: locale/programs/ld-ctype.c:1292 locale/programs/ld-ctype.c:1343 +#: locale/programs/ld-ctype.c:1374 locale/programs/ld-ctype.c:1386 #, c-format msgid "character `%s' not defined while needed as default value" msgstr "" -#: locale/programs/ld-ctype.c:825 +#: locale/programs/ld-ctype.c:967 #, c-format msgid "character class `%s' already defined" msgstr "" -#: locale/programs/ld-ctype.c:857 +#: locale/programs/ld-ctype.c:999 #, c-format msgid "character map `%s' already defined" msgstr "" @@ -3424,7 +3457,7 @@ msgstr "" msgid "clnttcp_create: out of memory\n" msgstr "" -#: sunrpc/clnt_udp.c:124 sunrpc/clnt_udp.c:134 +#: sunrpc/clnt_udp.c:125 sunrpc/clnt_udp.c:135 msgid "clntudp_create: out of memory\n" msgstr "" @@ -3432,22 +3465,22 @@ msgstr "" msgid "clntunix_create: out of memory\n" msgstr "" -#: locale/programs/ld-collate.c:1341 +#: locale/programs/ld-collate.c:1343 #, c-format msgid "collation element `%.*s' appears more than once: ignore line" msgstr "" -#: locale/programs/ld-collate.c:1359 +#: locale/programs/ld-collate.c:1361 #, c-format msgid "collation symbol `%.*s' appears more than once: ignore line" msgstr "" -#: locale/programs/locfile.c:652 +#: locale/programs/locfile.c:658 #, c-format msgid "collation symbol expected after `%s'" msgstr "" -#: inet/rcmd.c:136 +#: inet/rcmd.c:143 #, c-format msgid "connect to address %s: " msgstr "" @@ -3461,7 +3494,7 @@ msgstr "" msgid "conversion from `%s' to `%s' not supported" msgstr "" -#: iconv/iconv_prog.c:326 +#: iconv/iconv_prog.c:328 iconv/iconv_prog.c:353 msgid "conversion stopped due to problem in writing the output" msgstr "" @@ -3474,7 +3507,7 @@ msgstr "" msgid "couldn't register prog %d vers %d\n" msgstr "" -#: nss/getent.c:49 +#: nss/getent.c:50 msgid "database [key ...]" msgstr "" @@ -3502,11 +3535,11 @@ msgstr "" msgid "duplicate character name `%s'" msgstr "" -#: locale/programs/ld-collate.c:1152 +#: locale/programs/ld-collate.c:1154 msgid "duplicate collating element definition" msgstr "" -#: locale/programs/ld-collate.c:1299 +#: locale/programs/ld-collate.c:1301 #, c-format msgid "duplicate definition for character `%.*s'" msgstr "" @@ -3515,20 +3548,20 @@ msgstr "" msgid "duplicate key" msgstr "" -#: catgets/gencat.c:388 +#: catgets/gencat.c:389 msgid "duplicate set definition" msgstr "" -#: timezone/zic.c:978 +#: timezone/zic.c:1004 #, c-format msgid "duplicate zone name %s (file \"%s\", line %d)" msgstr "" -#: catgets/gencat.c:551 +#: catgets/gencat.c:556 msgid "duplicated message identifier" msgstr "" -#: catgets/gencat.c:524 +#: catgets/gencat.c:528 msgid "duplicated message number" msgstr "" @@ -3536,7 +3569,7 @@ msgstr "" msgid "empty char string" msgstr "" -#: locale/programs/ld-collate.c:1712 +#: locale/programs/ld-collate.c:1714 msgid "empty weight name: line ignored" msgstr "" @@ -3564,10 +3597,15 @@ msgstr "" msgid "encoding of original text" msgstr "" -#: locale/programs/ld-collate.c:1431 +#: locale/programs/ld-collate.c:1433 msgid "end point of ellipsis range is bigger then start" msgstr "" +#: nscd/connections.c:357 nscd/connections.c:444 +#, c-format +msgid "error getting callers id: %s" +msgstr "" + #: iconv/iconv_prog.c:193 #, c-format msgid "error while closing input `%s'" @@ -3577,40 +3615,40 @@ msgstr "" msgid "error while closing output file" msgstr "" -#: elf/sprof.c:710 +#: elf/sprof.c:706 msgid "error while closing the profiling data file" msgstr "" -#: locale/programs/ld-collate.c:1160 +#: locale/programs/ld-collate.c:1162 msgid "error while inserting collation element into hash table" msgstr "" -#: locale/programs/ld-collate.c:1172 +#: locale/programs/ld-collate.c:1174 msgid "error while inserting to hash table" msgstr "" -#: iconv/iconv_prog.c:389 iconv/iconv_prog.c:420 +#: iconv/iconv_prog.c:417 iconv/iconv_prog.c:448 msgid "error while reading the input" msgstr "" -#: locale/programs/locfile.c:595 +#: locale/programs/locfile.c:601 msgid "expect string argument for `copy'" msgstr "" -#: timezone/zic.c:868 +#: timezone/zic.c:894 msgid "expected continuation line not found" msgstr "" -#: elf/sprof.c:408 +#: elf/sprof.c:404 #, c-format msgid "failed to load shared object `%s'" msgstr "" -#: elf/sprof.c:604 +#: elf/sprof.c:600 msgid "failed to load symbol data" msgstr "" -#: elf/sprof.c:702 +#: elf/sprof.c:698 msgid "failed to mmap the profiling data file" msgstr "" @@ -3618,7 +3656,7 @@ msgstr "" msgid "failed to start conversion processing" msgstr "" -#: locale/programs/locfile.c:1154 +#: locale/programs/locfile.c:1160 #, c-format msgid "failure while writing data for category `%s'" msgstr "" @@ -3638,11 +3676,11 @@ msgstr "" msgid "file `%s' already exists and may be overwritten\n" msgstr "" -#: locale/programs/locfile.c:677 +#: locale/programs/locfile.c:683 msgid "from-value of `collating-element' must be a string" msgstr "" -#: inet/rcmd.c:316 +#: inet/rcmd.c:324 msgid "fstat failed" msgstr "" @@ -3672,11 +3710,11 @@ msgid "" "garbage at end of stopping date in string %d in `era' field in category `%s'" msgstr "" -#: elf/sprof.c:81 +#: elf/sprof.c:77 msgid "generate call graph" msgstr "" -#: elf/sprof.c:80 +#: elf/sprof.c:76 msgid "generate flat profile with counts and ticks" msgstr "" @@ -3684,32 +3722,32 @@ msgstr "" msgid "get_myaddress: ioctl (get interface configuration)" msgstr "" -#: nss/getent.c:53 +#: nss/getent.c:54 msgid "getent - get entries from administrative database." msgstr "" -#: nscd/connections.c:201 +#: nscd/connections.c:219 #, c-format msgid "handle_request: request received (Version = %d)" msgstr "" -#: timezone/zic.c:613 +#: timezone/zic.c:638 msgid "hard link failed, symbolic link used" msgstr "" -#: inet/rcmd.c:322 +#: inet/rcmd.c:330 msgid "hard linked somewhere" msgstr "" -#: timezone/zic.c:1162 +#: timezone/zic.c:1188 msgid "illegal CORRECTION field on Leap line" msgstr "" -#: timezone/zic.c:1166 +#: timezone/zic.c:1192 msgid "illegal Rolling/Stationary field on Leap line" msgstr "" -#: locale/programs/ld-collate.c:1784 +#: locale/programs/ld-collate.c:1786 msgid "illegal character constant in string" msgstr "" @@ -3717,7 +3755,7 @@ msgstr "" msgid "illegal character in file: " msgstr "" -#: locale/programs/ld-collate.c:1127 +#: locale/programs/ld-collate.c:1129 msgid "illegal collation element" msgstr "" @@ -3733,7 +3771,7 @@ msgstr "" msgid "illegal escape sequence at end of string" msgstr "" -#: iconv/iconv_prog.c:342 +#: iconv/iconv_prog.c:370 #, c-format msgid "illegal input sequence at position %ld" msgstr "" @@ -3752,7 +3790,7 @@ msgstr "" msgid "illegal number for offset in string %d in `era' field in category `%s'" msgstr "" -#: catgets/gencat.c:361 catgets/gencat.c:438 +#: catgets/gencat.c:362 catgets/gencat.c:439 msgid "illegal set number" msgstr "" @@ -3766,17 +3804,17 @@ msgstr "" msgid "illegal stopping date in string %d in `era' field in category `%s'" msgstr "" -#: locale/programs/ld-ctype.c:831 +#: locale/programs/ld-ctype.c:973 #, c-format msgid "implementation limit: no more than %d character classes allowed" msgstr "" -#: locale/programs/ld-ctype.c:863 +#: locale/programs/ld-ctype.c:1005 #, c-format msgid "implementation limit: no more than %d character maps allowed" msgstr "" -#: iconv/iconv_prog.c:346 +#: iconv/iconv_prog.c:374 msgid "incomplete character or shift sequence at end of buffer" msgstr "" @@ -3784,89 +3822,89 @@ msgstr "" msgid "incorrectly formatted file" msgstr "" -#: timezone/zic.c:825 +#: timezone/zic.c:851 msgid "input line of unknown type" msgstr "" -#: iconv/iconv_prog.c:350 +#: iconv/iconv_prog.c:378 msgid "internal error (illegal descriptor)" msgstr "" -#: timezone/zic.c:1788 +#: timezone/zic.c:1814 msgid "internal error - addtype called with bad isdst" msgstr "" -#: timezone/zic.c:1796 +#: timezone/zic.c:1822 msgid "internal error - addtype called with bad ttisgmt" msgstr "" -#: timezone/zic.c:1792 +#: timezone/zic.c:1818 msgid "internal error - addtype called with bad ttisstd" msgstr "" -#: locale/programs/ld-ctype.c:307 +#: locale/programs/ld-ctype.c:315 locale/programs/ld-ctype.c:392 #, c-format msgid "internal error in %s, line %u" msgstr "" -#: timezone/zic.c:1034 +#: timezone/zic.c:1060 msgid "invalid UTC offset" msgstr "" -#: timezone/zic.c:1037 +#: timezone/zic.c:1063 msgid "invalid abbreviation format" msgstr "" -#: timezone/zic.c:1127 timezone/zic.c:1339 timezone/zic.c:1353 +#: timezone/zic.c:1153 timezone/zic.c:1365 timezone/zic.c:1379 msgid "invalid day of month" msgstr "" -#: timezone/zic.c:1291 +#: timezone/zic.c:1317 msgid "invalid ending year" msgstr "" -#: timezone/zic.c:1099 +#: timezone/zic.c:1125 msgid "invalid leaping year" msgstr "" -#: elf/dl-open.c:168 +#: elf/dl-open.c:223 msgid "invalid mode for dlopen()" msgstr "" -#: timezone/zic.c:1114 timezone/zic.c:1217 +#: timezone/zic.c:1140 timezone/zic.c:1243 msgid "invalid month name" msgstr "" -#: timezone/zic.c:933 +#: timezone/zic.c:959 msgid "invalid saved time" msgstr "" -#: timezone/zic.c:1266 +#: timezone/zic.c:1292 msgid "invalid starting year" msgstr "" -#: timezone/zic.c:1143 timezone/zic.c:1246 +#: timezone/zic.c:1169 timezone/zic.c:1272 msgid "invalid time of day" msgstr "" -#: timezone/zic.c:1344 +#: timezone/zic.c:1370 msgid "invalid weekday name" msgstr "" -#: nscd/connections.c:388 +#: nscd/connections.c:460 #, c-format msgid "key length in request too long: %Zd" msgstr "" -#: locale/programs/ld-collate.c:1424 +#: locale/programs/ld-collate.c:1426 msgid "line after ellipsis must contain character definition" msgstr "" -#: locale/programs/ld-collate.c:1403 +#: locale/programs/ld-collate.c:1405 msgid "line before ellipsis does not contain definition for character constant" msgstr "" -#: timezone/zic.c:805 +#: timezone/zic.c:831 msgid "line too long" msgstr "" @@ -3874,24 +3912,24 @@ msgstr "" msgid "list all known coded character sets" msgstr "" -#: locale/programs/localedef.c:274 +#: locale/programs/localedef.c:270 #, c-format msgid "locale file `%s', used in `copy' statement, not found" msgstr "" -#: inet/rcmd.c:307 +#: inet/rcmd.c:315 msgid "lstat failed" msgstr "" -#: catgets/gencat.c:619 +#: catgets/gencat.c:625 msgid "malformed line ignored" msgstr "" -#: elf/sprof.c:554 +#: elf/sprof.c:550 msgid "mapping of section header string table failed" msgstr "" -#: elf/sprof.c:544 +#: elf/sprof.c:540 msgid "mapping of section headers failed" msgstr "" @@ -3904,8 +3942,8 @@ msgid "memory clobbered past end of allo msgstr "" #: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176 -#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1451 -#: locale/programs/ld-collate.c:1480 locale/programs/locfile.c:1082 +#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1453 +#: locale/programs/ld-collate.c:1482 locale/programs/locfile.c:1088 #: locale/programs/xmalloc.c:70 login/programs/database.c:62 #: login/programs/database.c:79 login/programs/database.c:95 #: malloc/obstack.c:471 posix/getconf.c:682 @@ -3916,7 +3954,7 @@ msgstr "" msgid "memory is consistent, library is buggy\n" msgstr "" -#: locale/programs/ld-time.c:370 +#: locale/programs/ld-time.c:373 #, c-format msgid "missing era format in string %d in `era' field in category `%s'" msgstr "" @@ -3926,7 +3964,7 @@ msgstr "" msgid "missing era name in string %d in `era' field in category `%s'" msgstr "" -#: timezone/zic.c:928 +#: timezone/zic.c:954 msgid "nameless rule" msgstr "" @@ -3934,35 +3972,35 @@ msgstr "" msgid "neither original nor target encoding specified" msgstr "" -#: nis/nss_nisplus/nisplus-publickey.c:262 -#: nis/nss_nisplus/nisplus-publickey.c:268 -#: nis/nss_nisplus/nisplus-publickey.c:327 -#: nis/nss_nisplus/nisplus-publickey.c:336 +#: nis/nss_nisplus/nisplus-publickey.c:280 +#: nis/nss_nisplus/nisplus-publickey.c:286 +#: nis/nss_nisplus/nisplus-publickey.c:345 +#: nis/nss_nisplus/nisplus-publickey.c:354 #, c-format msgid "netname2user: (nis+ lookup): %s\n" msgstr "" -#: nis/nss_nisplus/nisplus-publickey.c:281 +#: nis/nss_nisplus/nisplus-publickey.c:299 #, c-format msgid "netname2user: DES entry for %s in directory %s not unique" msgstr "" -#: nis/nss_nisplus/nisplus-publickey.c:349 +#: nis/nss_nisplus/nisplus-publickey.c:367 #, c-format msgid "netname2user: LOCAL entry for %s in directory %s not unique" msgstr "" -#: nis/nss_nisplus/nisplus-publickey.c:194 +#: nis/nss_nisplus/nisplus-publickey.c:206 #, c-format msgid "netname2user: missing group id list in `%s'." msgstr "" -#: nis/nss_nisplus/nisplus-publickey.c:299 +#: nis/nss_nisplus/nisplus-publickey.c:317 #, c-format msgid "netname2user: principal name `%s' too long" msgstr "" -#: nis/nss_nisplus/nisplus-publickey.c:356 +#: nis/nss_nisplus/nisplus-publickey.c:374 msgid "netname2user: should not have uid 0" msgstr "" @@ -3971,7 +4009,7 @@ msgstr "" msgid "never registered prog %d\n" msgstr "" -#: locale/programs/repertoire.c:238 +#: locale/programs/repertoire.c:250 msgid "no <Uxxxx> or <Uxxxxxxxx> value given" msgstr "" @@ -3980,7 +4018,7 @@ msgstr "" msgid "no correct regular expression for field `%s' in category `%s': %s" msgstr "" -#: timezone/zic.c:2115 +#: timezone/zic.c:2143 msgid "no day in month matches rule" msgstr "" @@ -3988,33 +4026,33 @@ msgstr "" msgid "no definition of `UNDEFINED'" msgstr "" -#: elf/sprof.c:276 +#: elf/sprof.c:272 #, c-format msgid "" "no filename for profiling data given and shared object `%s' has no soname" msgstr "" -#: locale/programs/locfile.c:609 +#: locale/programs/locfile.c:615 msgid "no other keyword shall be specified when `copy' is used" msgstr "" -#: locale/programs/localedef.c:335 +#: locale/programs/localedef.c:331 msgid "no output file produced because warning were issued" msgstr "" -#: locale/programs/locfile.c:283 locale/programs/locfile.c:301 -#: locale/programs/locfile.c:319 locale/programs/locfile.c:337 -#: locale/programs/locfile.c:355 locale/programs/locfile.c:373 +#: locale/programs/locfile.c:283 locale/programs/locfile.c:302 +#: locale/programs/locfile.c:321 locale/programs/locfile.c:340 +#: locale/programs/locfile.c:359 locale/programs/locfile.c:378 msgid "no repertoire map specified: cannot proceed" msgstr "" -#: locale/programs/charmap.c:400 locale/programs/charmap.c:550 -#: locale/programs/charmap.c:629 locale/programs/repertoire.c:199 +#: locale/programs/charmap.c:400 locale/programs/charmap.c:549 +#: locale/programs/charmap.c:628 locale/programs/repertoire.c:211 msgid "no symbolic name given" msgstr "" -#: locale/programs/charmap.c:465 locale/programs/charmap.c:596 -#: locale/programs/charmap.c:662 locale/programs/repertoire.c:261 +#: locale/programs/charmap.c:464 locale/programs/charmap.c:595 +#: locale/programs/charmap.c:661 locale/programs/repertoire.c:273 msgid "no symbolic name given for end of range" msgstr "" @@ -4023,7 +4061,7 @@ msgstr "" msgid "no weight defined for symbol `%s'" msgstr "" -#: inet/rcmd.c:309 +#: inet/rcmd.c:317 msgid "not regular file" msgstr "" @@ -4039,7 +4077,7 @@ msgstr "" msgid "nscd not running!\n" msgstr "" -#: locale/programs/charmap.c:514 +#: locale/programs/charmap.c:513 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" msgstr "" @@ -4055,7 +4093,7 @@ msgstr "" msgid "pmap_getmaps rpc problem" msgstr "" -#: inet/rcmd.c:179 +#: inet/rcmd.c:186 msgid "poll: protocol failure in circuit setup\n" msgstr "" @@ -4063,7 +4101,7 @@ msgstr "" msgid "preprocessor error" msgstr "" -#: elf/sprof.c:78 +#: elf/sprof.c:74 msgid "print list of count paths and their number of use" msgstr "" @@ -4076,7 +4114,7 @@ msgstr "" msgid "problems while reading `%s'" msgstr "" -#: elf/sprof.c:691 +#: elf/sprof.c:687 #, c-format msgid "profiling data file `%s' does not match shared object `%s'" msgstr "" @@ -4098,16 +4136,16 @@ msgstr "" msgid "program %lu version %lu ready and waiting\n" msgstr "" -#: inet/rcmd.c:176 +#: inet/rcmd.c:183 #, c-format msgid "rcmd: poll (setting up stderr): %m\n" msgstr "" -#: inet/rcmd.c:110 +#: inet/rcmd.c:117 msgid "rcmd: socket: All ports in use\n" msgstr "" -#: inet/rcmd.c:166 +#: inet/rcmd.c:173 #, c-format msgid "rcmd: write (setting up stderr): %m\n" msgstr "" @@ -4116,11 +4154,11 @@ msgstr "" msgid "registerrpc: out of memory\n" msgstr "" -#: timezone/zic.c:1849 +#: timezone/zic.c:1875 msgid "repeated leap second moment" msgstr "" -#: locale/programs/repertoire.c:95 +#: locale/programs/repertoire.c:107 #, c-format msgid "repertoire map file `%s' not found" msgstr "" @@ -4157,39 +4195,39 @@ msgstr "" msgid "rpcinfo: can't contact portmapper" msgstr "" -#: timezone/zic.c:718 timezone/zic.c:720 +#: timezone/zic.c:744 timezone/zic.c:746 msgid "same rule name in multiple files" msgstr "" -#: nscd/connections.c:400 +#: nscd/connections.c:472 #, c-format msgid "short read while reading request key: %s" msgstr "" -#: nscd/connections.c:377 +#: nscd/connections.c:430 #, c-format msgid "short read while reading request: %s" msgstr "" -#: nscd/grpcache.c:191 nscd/hstcache.c:278 nscd/pwdcache.c:188 +#: nscd/grpcache.c:191 nscd/hstcache.c:270 nscd/pwdcache.c:189 #, c-format msgid "short write in %s: %s" msgstr "" -#: inet/rcmd.c:197 +#: inet/rcmd.c:204 msgid "socket: protocol failure in circuit setup\n" msgstr "" -#: locale/programs/locfile.c:730 +#: locale/programs/locfile.c:736 msgid "sorting order `forward' and `backward' are mutually exclusive" msgstr "" -#: locale/programs/ld-collate.c:1584 locale/programs/ld-collate.c:1630 +#: locale/programs/ld-collate.c:1586 locale/programs/ld-collate.c:1632 msgid "" "specification of sorting weight for collation symbol does not make sense" msgstr "" -#: timezone/zic.c:789 +#: timezone/zic.c:815 msgid "standard input" msgstr "" @@ -4202,15 +4240,15 @@ msgstr "" msgid "starting date is illegal in string %d in `era' field in category `%s'" msgstr "" -#: timezone/zic.c:1300 +#: timezone/zic.c:1326 msgid "starting year greater than ending year" msgstr "" -#: timezone/zic.c:1272 timezone/zic.c:1297 +#: timezone/zic.c:1298 timezone/zic.c:1323 msgid "starting year too high to be represented" msgstr "" -#: timezone/zic.c:1270 timezone/zic.c:1295 +#: timezone/zic.c:1296 timezone/zic.c:1321 msgid "starting year too low to be represented" msgstr "" @@ -4267,28 +4305,28 @@ msgstr "" msgid "svcunix_create: out of memory\n" msgstr "" -#: locale/programs/ld-collate.c:1075 locale/programs/ld-collate.c:1203 +#: locale/programs/ld-collate.c:1077 locale/programs/ld-collate.c:1205 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates element " "definition" msgstr "" -#: locale/programs/ld-collate.c:1212 +#: locale/programs/ld-collate.c:1214 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates other symbol " "definition" msgstr "" -#: locale/programs/ld-collate.c:1084 +#: locale/programs/ld-collate.c:1086 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates symbol " "definition" msgstr "" -#: locale/programs/ld-collate.c:1066 locale/programs/ld-collate.c:1194 +#: locale/programs/ld-collate.c:1068 locale/programs/ld-collate.c:1196 #, c-format msgid "" "symbol for multicharacter collating element `%.*s' duplicates symbolic name " @@ -4296,78 +4334,78 @@ msgid "" msgstr "" #: locale/programs/charmap.c:399 locale/programs/charmap.c:433 -#: locale/programs/charmap.c:463 locale/programs/charmap.c:549 -#: locale/programs/charmap.c:595 locale/programs/charmap.c:628 -#: locale/programs/charmap.c:660 +#: locale/programs/charmap.c:462 locale/programs/charmap.c:548 +#: locale/programs/charmap.c:594 locale/programs/charmap.c:627 +#: locale/programs/charmap.c:659 #, c-format msgid "syntax error in %s definition: %s" msgstr "" -#: locale/programs/locfile.c:750 +#: locale/programs/locfile.c:756 msgid "syntax error in `order_start' directive" msgstr "" -#: locale/programs/locfile.c:492 +#: locale/programs/locfile.c:498 msgid "syntax error in character class definition" msgstr "" -#: locale/programs/locfile.c:550 +#: locale/programs/locfile.c:556 msgid "syntax error in character conversion definition" msgstr "" -#: locale/programs/locfile.c:792 +#: locale/programs/locfile.c:798 msgid "syntax error in collating order definition" msgstr "" -#: locale/programs/locfile.c:642 +#: locale/programs/locfile.c:648 msgid "syntax error in collation definition" msgstr "" -#: locale/programs/locfile.c:465 +#: locale/programs/locfile.c:471 msgid "syntax error in definition of LC_CTYPE category" msgstr "" -#: locale/programs/locfile.c:408 +#: locale/programs/locfile.c:414 msgid "syntax error in definition of new character class" msgstr "" -#: locale/programs/locfile.c:418 +#: locale/programs/locfile.c:424 msgid "syntax error in definition of new character map" msgstr "" -#: locale/programs/locfile.c:1003 +#: locale/programs/locfile.c:1009 msgid "syntax error in message locale definition" msgstr "" -#: locale/programs/locfile.c:914 +#: locale/programs/locfile.c:920 msgid "syntax error in monetary locale definition" msgstr "" -#: locale/programs/locfile.c:941 +#: locale/programs/locfile.c:947 msgid "syntax error in numeric locale definition" msgstr "" -#: locale/programs/locfile.c:852 +#: locale/programs/locfile.c:858 msgid "syntax error in order specification" msgstr "" #: locale/programs/charmap.c:280 locale/programs/charmap.c:296 -#: locale/programs/repertoire.c:143 +#: locale/programs/repertoire.c:155 #, c-format msgid "syntax error in prolog: %s" msgstr "" -#: locale/programs/repertoire.c:198 locale/programs/repertoire.c:237 -#: locale/programs/repertoire.c:260 +#: locale/programs/repertoire.c:210 locale/programs/repertoire.c:249 +#: locale/programs/repertoire.c:272 #, c-format msgid "syntax error in repertoire map definition: %s" msgstr "" -#: locale/programs/locfile.c:979 +#: locale/programs/locfile.c:985 msgid "syntax error in time locale definition" msgstr "" -#: locale/programs/locfile.c:385 +#: locale/programs/locfile.c:391 msgid "syntax error: not inside a locale definition section" msgstr "" @@ -4375,15 +4413,15 @@ msgstr "" msgid "target encoding not specified using `-t'" msgstr "" -#: catgets/gencat.c:390 catgets/gencat.c:526 catgets/gencat.c:553 +#: catgets/gencat.c:391 catgets/gencat.c:530 catgets/gencat.c:559 msgid "this is the first definition" msgstr "" -#: timezone/zic.c:1132 +#: timezone/zic.c:1158 msgid "time before zero" msgstr "" -#: timezone/zic.c:1140 timezone/zic.c:2015 timezone/zic.c:2034 +#: timezone/zic.c:1166 timezone/zic.c:2043 timezone/zic.c:2062 msgid "time overflow" msgstr "" @@ -4399,23 +4437,23 @@ msgstr "" msgid "too many character classes defined" msgstr "" -#: timezone/zic.c:1843 +#: timezone/zic.c:1869 msgid "too many leap seconds" msgstr "" -#: timezone/zic.c:1815 +#: timezone/zic.c:1841 msgid "too many local time types" msgstr "" -#: timezone/zic.c:1769 +#: timezone/zic.c:1795 msgid "too many transitions?!" msgstr "" -#: locale/programs/ld-collate.c:1639 +#: locale/programs/ld-collate.c:1641 msgid "too many weights" msgstr "" -#: timezone/zic.c:2138 +#: timezone/zic.c:2166 msgid "too many, or too long, time zone abbreviations" msgstr "" @@ -4428,15 +4466,15 @@ msgstr "" msgid "trouble replying to prog %d\n" msgstr "" -#: locale/programs/ld-collate.c:1395 +#: locale/programs/ld-collate.c:1397 msgid "two lines in a row containing `...' are not allowed" msgstr "" -#: timezone/zic.c:1307 +#: timezone/zic.c:1333 msgid "typed single year" msgstr "" -#: iconv/iconv_prog.c:406 +#: iconv/iconv_prog.c:434 msgid "unable to allocate buffer for input" msgstr "" @@ -4448,48 +4486,48 @@ msgstr "" msgid "undefined" msgstr "" -#: locale/programs/charmap.c:701 locale/programs/charmap.c:712 +#: locale/programs/charmap.c:700 locale/programs/charmap.c:711 #, c-format msgid "unknown character `%s'" msgstr "" #: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213 #: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235 -#: locale/programs/ld-time.c:718 +#: locale/programs/ld-time.c:700 #, c-format msgid "unknown character in field `%s' of category `%s'" msgstr "" -#: locale/programs/locfile.c:715 +#: locale/programs/locfile.c:721 msgid "unknown collation directive" msgstr "" -#: catgets/gencat.c:487 +#: catgets/gencat.c:488 #, c-format msgid "unknown directive `%s': line ignored" msgstr "" -#: iconv/iconv_prog.c:353 +#: iconv/iconv_prog.c:381 #, c-format msgid "unknown iconv() error %d" msgstr "" -#: catgets/gencat.c:466 +#: catgets/gencat.c:467 #, c-format msgid "unknown set `%s'" msgstr "" -#: locale/programs/ld-collate.c:1379 locale/programs/ld-collate.c:1574 -#: locale/programs/ld-collate.c:1749 +#: locale/programs/ld-collate.c:1381 locale/programs/ld-collate.c:1576 +#: locale/programs/ld-collate.c:1751 #, c-format msgid "unknown symbol `%.*s': line ignored" msgstr "" -#: timezone/zic.c:761 +#: timezone/zic.c:787 msgid "unruly zone" msgstr "" -#: catgets/gencat.c:971 +#: catgets/gencat.c:977 msgid "unterminated message" msgstr "" @@ -4505,7 +4543,7 @@ msgstr "" msgid "unterminated symbolic name" msgstr "" -#: locale/programs/ld-collate.c:1701 +#: locale/programs/ld-collate.c:1703 msgid "unterminated weight name" msgstr "" @@ -4518,11 +4556,11 @@ msgstr "" msgid "usage: %s infile\n" msgstr "" -#: timezone/zic.c:2081 +#: timezone/zic.c:2109 msgid "use of 2/29 in non leap-year" msgstr "" -#: locale/programs/charmap.c:522 locale/programs/charmap.c:576 +#: locale/programs/charmap.c:521 locale/programs/charmap.c:575 #, c-format msgid "value for %s must be an integer" msgstr "" @@ -4557,28 +4595,28 @@ msgstr "" msgid "values for field `%s' in category `%s' must be smaller than 127" msgstr "" -#: timezone/zic.c:433 +#: timezone/zic.c:435 msgid "warning: " msgstr "" -#: nscd/connections.c:368 +#: nscd/connections.c:421 #, c-format msgid "while accepting connection: %s" msgstr "" -#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:142 +#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:143 msgid "while allocating cache entry" msgstr "" -#: nscd/cache.c:86 +#: nscd/cache.c:88 msgid "while allocating hash table entry" msgstr "" -#: nscd/grpcache.c:99 nscd/hstcache.c:109 nscd/pwdcache.c:105 +#: nscd/grpcache.c:99 nscd/hstcache.c:111 nscd/pwdcache.c:106 msgid "while allocating key copy" msgstr "" -#: catgets/gencat.c:1001 +#: catgets/gencat.c:1007 msgid "while opening old catalog file" msgstr "" @@ -4590,7 +4628,7 @@ msgstr "" msgid "while reading database" msgstr "" -#: elf/sprof.c:683 +#: elf/sprof.c:679 msgid "while stat'ing profiling data file" msgstr "" @@ -4602,31 +4640,31 @@ msgstr "" msgid "write incomplete" msgstr "" -#: inet/rcmd.c:320 +#: inet/rcmd.c:328 msgid "writeable by other than owner" msgstr "" -#: db2/makedb.c:124 nscd/nscd.c:114 nss/getent.c:392 +#: db2/makedb.c:124 nscd/nscd.c:120 nscd/nscd_nischeck.c:64 nss/getent.c:399 msgid "wrong number of arguments" msgstr "" -#: timezone/zic.c:1090 +#: timezone/zic.c:1116 msgid "wrong number of fields on Leap line" msgstr "" -#: timezone/zic.c:1181 +#: timezone/zic.c:1207 msgid "wrong number of fields on Link line" msgstr "" -#: timezone/zic.c:924 +#: timezone/zic.c:950 msgid "wrong number of fields on Rule line" msgstr "" -#: timezone/zic.c:994 +#: timezone/zic.c:1020 msgid "wrong number of fields on Zone continuation line" msgstr "" -#: timezone/zic.c:952 +#: timezone/zic.c:978 msgid "wrong number of fields on Zone line" msgstr "" @@ -4634,14 +4672,14 @@ msgstr "" msgid "xdr_reference: out of memory\n" msgstr "" -#: sunrpc/xdr_rec.c:151 sunrpc/xdr_rec.c:166 +#: sunrpc/xdr_rec.c:150 sunrpc/xdr_rec.c:165 msgid "xdrrec_create: out of memory\n" msgstr "" -#: nis/ypclnt.c:884 +#: nis/ypclnt.c:894 msgid "yp_update: cannot convert host to netname\n" msgstr "" -#: nis/ypclnt.c:896 +#: nis/ypclnt.c:906 msgid "yp_update: cannot get server address\n" msgstr "" Binary files glibc-2.1.2/po/pl.mo and glibc-2.1.3/po/pl.mo differ diff -durpN glibc-2.1.2/po/pl.po glibc-2.1.3/po/pl.po --- glibc-2.1.2/po/pl.po Fri Apr 11 02:37:35 1997 +++ glibc-2.1.3/po/pl.po Wed Feb 16 14:15:12 2000 @@ -1,76 +1,260 @@ -# Polish translation for GNU libc-2.0.3 -# Copyright (C) 1996 Free Software Foundation, Inc. -# Pawe� Krawczyk <kravietz@ceti.com.pl>, 1996-97. +# Polish translation for GNU libc-2.1.2 +# Copyright (C) 1996, 97, 98, 99 Free Software Foundation, Inc. +# Pawe� Krawczyk <kravietz@ceti.pl>, 1996,97,98,99. # msgid "" msgstr "" -"Project-Id-Version: libc 2.0.3\n" -"POT-Creation-Date: 1997-03-30 19:08+0200\n" -"PO-Revision-Date: 1997-04-08 09:36+0200\n" -"Last-Translator: Pawe� Krawczyk <kravietz@ceti.com.pl>\n" +"Project-Id-Version: libc 2.1.2\n" +"POT-Creation-Date: 1998-11-28 09:29-0800\n" +"PO-Revision-Date: 1999-09-11 22:25+02:00\n" +"Last-Translator: Pawe� Krawczyk <kravietz@ceti.pl>\n" "Language-Team: Polish <pl@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-2\n" "Content-Transfer-Encoding: 8-bit\n" +#: nis/nis_print.c:273 +msgid "\t\tAccess Rights : " +msgstr "\t\tPrawa dost�pu : " + +#: nis/nis_print.c:271 +msgid "\t\tAttributes : " +msgstr "\t\tAtrybuty : " + +#: sunrpc/rpc_main.c:1416 +#, c-format +msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" +msgstr "\t%s [a-bkCLNTM][-Dnazwa[=warto��]] [-i wielko��] [-I [-K sekundy]] [-Y �cie�ka] plik_we\n" + +#: sunrpc/rpc_main.c:1418 +#, c-format +msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" +msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o plik_wy] [plik_we]\n" + +#: sunrpc/rpc_main.c:1421 +#, c-format +msgid "\t%s [-n netid]* [-o outfile] [infile]\n" +msgstr "\t%s [-s id_sieci]* [-o plik_wy] [plik_we]\n" + +#: sunrpc/rpc_main.c:1420 +#, c-format +msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" +msgstr "\t%s [-s typ_sieci]* [-o plik_wy] [plik_we]\n" + +#: nis/nis_print.c:235 +msgid "\tAccess rights: " +msgstr "\tPrawa dost�pu: " + +#: nis/nis_print.c:293 +#, c-format +msgid "\tEntry data of type %s\n" +msgstr "\tDane rekordu typu %s\n" + +#: nis/nis_print.c:171 +#, c-format +msgid "\tName : %s\n" +msgstr "\tNazwa :%s\n" + +#: nis/nis_print.c:172 +msgid "\tPublic Key : " +msgstr "\tKlucz publiczny : " + +#: nis/nis_print.c:234 +#, c-format +msgid "\tType : %s\n" +msgstr "\tTyp : %s\n" + +#: nis/nis_print.c:201 +#, c-format +msgid "\tUniversal addresses (%u)\n" +msgstr "\tAdresy uniwersalne (%u)\n" + +#: nis/nis_print.c:269 +#, c-format +msgid "\t[%d]\tName : %s\n" +msgstr "\t[%d]\tNazwa : %s\n" + +#: nis/nis_print.c:296 +#, c-format +msgid "\t[%u] - [%u bytes] " +msgstr "\t[%u] - [%u bajt�w] " + +#: nscd/nscd_stat.c:153 +msgid "" +"\n" +"%s cache:\n" +"\n" +"%15s cache is enabled\n" +"%15Zd suggested size\n" +"%15ld seconds time to live for positive entries\n" +"%15ld seconds time to live for negative entries\n" +"%15ld cache hits on positive entries\n" +"%15ld cache hits on negative entries\n" +"%15ld cache misses on positive entries\n" +"%15ld cache misses on negative entries\n" +"%15ld%% cache hit rate\n" +"%15s check /etc/%s for changes\n" +msgstr "" +"\n" +"cache %s:\n" +"\n" +"%15s cache jest w��czony\n" +"%15Zd zalecany rozmiar\n" +"%15ld sekund czasu przez kt�ry b�d� utrzymywane wpisy pozytywne\n" +"%15ld sekund czasu przez kt�ry b�d� utrzymywane wpisy negatywne\n" +"%15ld trafionych wpis�w pozytywnych\n" +"%15ld trafionych wpis�w negatywnych\n" +"%15ld nietrafiownych wpis�w pozytywnych\n" +"%15ld nietrafionych wpis�w negatywnych\n" +"%15ld%% procent trafie�\n" +"%15s sprawd� zmiany w /etc/%s\n" + +#: nis/nis_print.c:251 +msgid "\nGroup Members :\n" +msgstr "\nCz�onkowie grupy :\n" + +#: nis/nis_print.c:320 +msgid "\nTime to Live : " +msgstr "\nCzas �ycia : " + # collation symbol... # collation element... dlaczego 'element ��cz�cy' ??? -pk # -#: sunrpc/rpcinfo.c:612 +#: sunrpc/rpcinfo.c:679 msgid " rpcinfo -b prognum versnum\n" msgstr " rpcinfo -b nr_programu nr_wersji\n" -#: sunrpc/rpcinfo.c:613 +#: sunrpc/rpcinfo.c:680 msgid " rpcinfo -d prognum versnum\n" msgstr " rpcinfo -d nr_programu nr_wersji\n" -#: sunrpc/rpcinfo.c:611 +#: sunrpc/rpcinfo.c:678 msgid " rpcinfo -p [ host ]\n" msgstr " rpcinfo -p [ host ]\n" -#: sunrpc/rpcinfo.c:610 +#: sunrpc/rpcinfo.c:676 msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n" msgstr " rpcinfo [ -n nr_portu ] -t host nr_programu [ nr_wersji ]\n" -#: sunrpc/rpcinfo.c:517 +#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147 +msgid " no" +msgstr " nie" + +#: nscd/nscd_stat.c:145 nscd/nscd_stat.c:147 +msgid " yes" +msgstr " tak" + +#: nis/nis_print.c:344 +#, c-format +msgid " Data Length = %u\n" +msgstr " Rozmiar danych = %u\n" + +# XXX nie-czlonkowie brzmi glupio -PK +#: nis/nis_print_group_entry.c:121 +msgid " Explicit members:\n" +msgstr " Cz�onkowie zadeklarowani:\n" + +#: nis/nis_print_group_entry.c:145 nis/nis_print_group_entry.c:161 +msgid " Explicit nonmembers:\n" +msgstr " Nie-cz�onkowie zadeklarowani:\n" + +#: nis/nis_print_group_entry.c:129 +msgid " Implicit members:\n" +msgstr " Cz�onkowie domniemani:\n" + +#: nis/nis_print_group_entry.c:153 +msgid " Implicit nonmembers:\n" +msgstr " Nie-cz�onkowie domniemani:\n" + +#: nis/nis_print_group_entry.c:126 +msgid " No explicit members\n" +msgstr " Brak zadeklarowanych cz�onk�w\n" + +#: nis/nis_print_group_entry.c:150 +msgid " No explicit nonmembers\n" +msgstr " Brak zadeklarowanych nie-cz�onk�w\n" + +#: nis/nis_print_group_entry.c:134 +msgid " No implicit members\n" +msgstr " Brak domniemanych cz�onk�w\n" + +#: nis/nis_print_group_entry.c:158 +msgid " No implicit nonmembers\n" +msgstr " Brak domniemanych nie-cz�onk�w\n" + +#: nis/nis_print_group_entry.c:142 +msgid " No recursive members\n" +msgstr " Brak rekursywnych cz�onk�w\n" + +#: nis/nis_print_group_entry.c:166 +msgid " No recursive nonmembers\n" +msgstr " Brak rekursywnych nie-cz�onk�w\n" + +#: nis/nis_print_group_entry.c:137 +msgid " Recursive members:\n" +msgstr " Cz�onkowie rekursywni:\n" + +#: sunrpc/rpcinfo.c:574 msgid " program vers proto port\n" msgstr " program wer. proto port\n" -#: time/zic.c:419 +#: argp/argp-help.c:1571 +msgid " or: " +msgstr " lub: " + +#: timezone/zic.c:421 #, c-format msgid " (rule from \"%s\", line %d)" msgstr " (regu�a z \"%s\", linia %d)" -#: locale/programs/ld-collate.c:363 locale/programs/ld-ctype.c:1242 +#: argp/argp-help.c:1583 +msgid " [OPTION...]" +msgstr " [OPCJA...]" + +#: locale/programs/ld-collate.c:370 locale/programs/ld-ctype.c:1291 msgid " done\n" -msgstr " wykonano\n" +msgstr " zako�czone\n" -#: time/zic.c:416 +#: timezone/zic.c:418 #, c-format msgid "\"%s\", line %d: %s" msgstr "\"%s\", linia %d: %s" -#: time/zic.c:943 +#: timezone/zic.c:958 #, c-format msgid "\"Zone %s\" line and -l option are mutually exclusive" msgstr "Linia \"Zone %s\" i opcja -l wykluczaj� si� wzajemnie" -#: time/zic.c:951 +#: timezone/zic.c:966 #, c-format msgid "\"Zone %s\" line and -p option are mutually exclusive" msgstr "Linia \"Zone %s\" i opcja -p wykluczaj� si� wzajemnie" -#: time/zic.c:754 +#: sunrpc/rpc_main.c:1401 +msgid "\"infile\" is required for template generation flags.\n" +msgstr "flagi generowania szablon�w wymagaj� podania \"pliku_we\".\n" + +#: argp/argp-help.c:210 +#, c-format +msgid "%.*s: ARGP_HELP_FMT parameter requires a value" +msgstr "%.*s: parametr ARGP_HELP_FMT wymaga podania warto�ci" + +#: argp/argp-help.c:219 +#, c-format +msgid "%.*s: Unknown ARGP_HELP_FMT parameter" +msgstr "%.*s: Nieznany parametr ARGP_HELP_FMT" + +#: timezone/zic.c:768 #, c-format msgid "%s in ruleless zone" -msgstr "%s w strefie bez regu�" +msgstr "%s w strefie dla kt�rej nie zdefiniowano regu�" -#: assert/assert.c:46 +#: assert/assert.c:51 #, c-format msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n" msgstr "%s%s%s:%u: %s%sWarunek `%s' nie zosta� spe�niony.\n" -#: assert/assert-perr.c:47 +#: assert/assert-perr.c:52 #, c-format msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n" msgstr "%s%s%s:%u %s%sNiespodziewany b��d: %s.\n" @@ -80,112 +264,134 @@ msgstr "%s%s%s:%u %s%sNiespodziewany b�� msgid "%s%sUnknown signal %d\n" msgstr "%s%sNieznany sygna� %d\n" -#: time/zic.c:2172 +#: timezone/zic.c:2201 #, c-format msgid "%s: %d did not sign extend correctly\n" msgstr "%s: %d niepoprawnie rozszerzy� znak\n" -#: locale/programs/charmap.c:176 +#: locale/programs/charmap.c:261 #, c-format msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n" msgstr "%s: <mb_cur_max> musi by� wi�kszy ni� <mb_cur_min>\n" -#: time/zic.c:1443 +#: sunrpc/rpc_main.c:422 +#, c-format +msgid "%s: C preprocessor failed with exit code %d\n" +msgstr "%s: preprocesor C zako�czy� prac� z b��dem %d\n" + +#: sunrpc/rpc_main.c:419 +#, c-format +msgid "%s: C preprocessor failed with signal %d\n" +msgstr "%s: preprocesor C zako�czy� prac� z sygna�em %d\n" + +#: timezone/zic.c:1469 #, c-format msgid "%s: Can't create %s: %s\n" msgstr "%s: Nie mog� stworzy� %s: %s\n" -#: time/zic.c:2150 +#: timezone/zic.c:2179 #, c-format msgid "%s: Can't create directory %s: %s\n" msgstr "%s: Nie mog� stworzy� katalogu %s: %s\n" -#: time/zic.c:608 +#: timezone/zic.c:620 #, c-format msgid "%s: Can't link from %s to %s: %s\n" msgstr "%s: Nie mog� dowi�za� %s do %s: %s\n" -#: time/zic.c:780 +#: timezone/zic.c:794 #, c-format msgid "%s: Can't open %s: %s\n" msgstr "%s: Nie mog� otworzy� %s: %s\n" -#: time/zic.c:1433 +#: timezone/zic.c:1459 #, c-format msgid "%s: Can't remove %s: %s\n" msgstr "%s: Usuni�cie %s jest niemo�liwe: %s\n" -#: time/zic.c:849 +#: timezone/zic.c:863 #, c-format msgid "%s: Error closing %s: %s\n" msgstr "%s: B��d przy zamykaniu %s: %s\n" -#: time/zic.c:842 +#: timezone/zic.c:856 #, c-format msgid "%s: Error reading %s\n" msgstr "%s: B��d odczytu %s\n" -#: time/zic.c:1507 +#: timezone/zic.c:1535 #, c-format msgid "%s: Error writing %s\n" msgstr "%s: B��d zapisu %s\n" -#: time/zdump.c:266 +#: timezone/zdump.c:266 #, c-format msgid "%s: Error writing standard output " msgstr "%s: B��d zapisu na standardowe wyj�cie " -#: time/zic.c:827 +#: timezone/zic.c:841 #, c-format msgid "%s: Leap line in non leap seconds file %s\n" msgstr "%s: linia Leap nie znajduje si� w pliku sekund przest�pnych %s\n" -#: time/zic.c:357 +#: timezone/zic.c:359 #, c-format msgid "%s: Memory exhausted: %s\n" msgstr "%s: Brak pami�ci: %s\n" -#: time/zic.c:522 +#: timezone/zic.c:524 #, c-format msgid "%s: More than one -L option specified\n" msgstr "%s: Podano wi�cej ni� jedn� opcj� -L\n" -#: time/zic.c:482 +#: timezone/zic.c:484 #, c-format msgid "%s: More than one -d option specified\n" msgstr "%s: Podano wi�cej ni� jedn� opcj� -d\n" -#: time/zic.c:492 +#: timezone/zic.c:494 #, c-format msgid "%s: More than one -l option specified\n" msgstr "%s: Podano wi�cej ni� jedn� opcj� -l\n" -#: time/zic.c:502 +#: timezone/zic.c:504 #, c-format msgid "%s: More than one -p option specified\n" msgstr "%s: Podano wi�cej ni� jedn� opcj� -p\n" -#: time/zic.c:512 +#: timezone/zic.c:514 #, c-format msgid "%s: More than one -y option specified\n" msgstr "%s: Podano wi�cej ni� jedn� opcj� -y\n" -#: time/zic.c:1872 +#: argp/argp-parse.c:640 +#, c-format +msgid "%s: Too many arguments\n" +msgstr "%s : Za du�o argument�w\n" + +#: login/programs/database.c:129 +#, c-format +msgid "%s: cannot get modification time" +msgstr "%s: sprawdzenie czasu modyfikacji jest niemo�liwe" + +#: timezone/zic.c:1900 #, c-format msgid "%s: command was '%s', result was %d\n" msgstr "%s: polecenie `%s' zwr�ci�o %d\n" -#: locale/programs/charmap.c:593 locale/programs/locfile.c:900 +# state machine = finite state machine = +# automat sko�czony -PK +#: locale/programs/charmap.c:677 locale/programs/locfile.c:1008 #, c-format msgid "%s: error in state machine" -msgstr "%s: b��d w funkcji stanu" +msgstr "%s: b��d w automacie sko�czonym" -#: posix/getopt.c:783 +#: posix/getopt.c:784 #, c-format msgid "%s: illegal option -- %c\n" msgstr "%s: niew�a�ciwa opcja -- %c\n" -#: posix/getopt.c:786 +#: posix/getopt.c:787 #, c-format msgid "%s: invalid option -- %c\n" msgstr "%s: b��dna opcja -- %c\n" @@ -195,12 +401,12 @@ msgstr "%s: b��dna opcja -- %c\n" msgid "%s: option `%c%s' doesn't allow an argument\n" msgstr "%s: opcja `%c%s' nie mo�e mie� argument�w\n" -#: posix/getopt.c:678 +#: posix/getopt.c:677 #, c-format msgid "%s: option `%s' is ambiguous\n" msgstr "%s: opcja `%s' jest niejednoznaczna\n" -#: posix/getopt.c:724 posix/getopt.c:897 +#: posix/getopt.c:725 posix/getopt.c:898 #, c-format msgid "%s: option `%s' requires an argument\n" msgstr "%s: opcja `%s' musi mie� argument\n" @@ -210,105 +416,133 @@ msgstr "%s: opcja `%s' musi mie� argumen msgid "%s: option `--%s' doesn't allow an argument\n" msgstr "%s: opcja `--%s' nie mo�e mie� argument�w\n" -#: posix/getopt.c:881 +#: posix/getopt.c:882 #, c-format msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: opcja `-W %s' nie mo�e mie� argument�w\n" -#: posix/getopt.c:863 +#: posix/getopt.c:864 #, c-format msgid "%s: option `-W %s' is ambiguous\n" msgstr "%s: opcja `-W %s' jest niejednoznaczna\n" -#: posix/getopt.c:816 posix/getopt.c:946 +#: posix/getopt.c:817 posix/getopt.c:947 #, c-format msgid "%s: option requires an argument -- %c\n" msgstr "%s: opcja musi mie� argument -- %c\n" -#: time/zic.c:834 time/zic.c:1246 time/zic.c:1266 +#: sunrpc/rpc_main.c:287 +#, c-format +msgid "%s: output would overwrite %s\n" +msgstr "%s: wyj�cie nadpisze %s\n" + +#: timezone/zic.c:848 timezone/zic.c:1262 timezone/zic.c:1287 #, c-format msgid "%s: panic: Invalid l_value %d\n" msgstr "%s: panika: B��dna l-warto�� %d\n" -#: locale/programs/charmap.c:600 +#: locale/programs/charmap.c:684 locale/programs/repertoire.c:289 #, c-format msgid "%s: premature end of file" msgstr "%s: przedwczesny koniec pliku" -#: posix/getopt.c:757 +#: sunrpc/rpc_main.c:294 +#, c-format +msgid "%s: unable to open " +msgstr "%s: otwarcie jest niemo�liwe " + +#: posix/getopt.c:758 #, c-format msgid "%s: unrecognized option `%c%s'\n" msgstr "%s: nieznana opcja `%c%s'\n" -#: posix/getopt.c:753 +#: posix/getopt.c:754 #, c-format msgid "%s: unrecognized option `--%s'\n" msgstr "%s: nieznana opcja `--%s'\n" -#: time/zic.c:441 +#: timezone/zic.c:443 #, c-format msgid "" -"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d " -"directory ]\n" +"%s: usage is %s [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] [ -d directory ]\n" "\t[ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n" msgstr "" "%s: sk�adnia: %s [ -s ] [ -v ] [ -l czas_lokalny ] [ -p regu�y_POSIX ]\n" "\t[ -d katalog ] [ -L sek_przest�pne ] [ -y yearistype ]\n" "\t[ plik ... ]\n" -#: time/zdump.c:174 +#: timezone/zdump.c:174 #, c-format msgid "%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n" msgstr "%s: sk�adnia: %s [ -v ] [ -c rok ] nazwa_strefy...\n" -#: sunrpc/clnt_perr.c:125 +#: sunrpc/rpc_main.c:307 +#, c-format +msgid "%s: while writing output: " +msgstr "%s: podczas zapisywania na wyj�cie: " + +#: argp/argp-parse.c:164 +msgid "(PROGRAM ERROR) No version known!?" +msgstr "(B��D PROGRAMU) Nieznana wersja!?" + +#: argp/argp-parse.c:781 +msgid "(PROGRAM ERROR) Option should have been recognized!?" +msgstr "(B��D PROGRAMU) Opcja powinna zosta� rozpoznana?!" + +#: nis/nis_print.c:129 +msgid "(Unknown object)\n" +msgstr "(Nieznany obiekt)\n" + +#: sunrpc/clnt_perr.c:124 #, c-format msgid "(unknown authentication error - %d)" msgstr "(nieznany b��d autoryzacji - %d)" -#: sunrpc/rpcinfo.c:555 +#: sunrpc/rpcinfo.c:613 msgid "(unknown)" msgstr "(nieznany)" -#: catgets/gencat.c:254 +#: elf/sprof.c:574 +#, c-format +msgid "*** The file `%s' is stripped: no detailed analysis possible\n" +msgstr "*** Symbole zosta�y usuni�te z pliku `%s', dok�adna analiza jest niemo�liwa\n" + +#: catgets/gencat.c:266 msgid "*standard input*" msgstr "*standardowe wej�cie*" -#: stdio-common/../sysdeps/gnu/errlist.c:766 +#: catgets/gencat.c:120 +msgid "" +"-o OUTPUT-FILE [INPUT-FILE]...\n" +"[OUTPUT-FILE [INPUT-FILE]...]" +msgstr "" +"-o PLIK-WY [PLIK-WE]...\n" +"[PLIK-WY [PLIK-WE]...]" + +#: stdio-common/../sysdeps/gnu/errlist.c:778 msgid ".lib section in a.out corrupted" msgstr "sekcja .lib w a.out jest uszkodzona" -#: inet/rcmd.c:363 -msgid ".rhosts fstat failed" -msgstr "fstat pliku .rhosts nieudane" - -#: inet/rcmd.c:359 -msgid ".rhosts lstat failed" -msgstr "lstat pliku .rhosts nieudane" - -#: inet/rcmd.c:361 -msgid ".rhosts not regular file" -msgstr ".rhosts nie jest zwyk�ym plikiem" - -#: inet/rcmd.c:367 -msgid ".rhosts writeable by other than owner" -msgstr ".rhosts zapisywalny nie tylko przez w�a�ciciela" - -#: sunrpc/clnt_perr.c:112 sunrpc/clnt_perr.c:133 +#: sunrpc/clnt_perr.c:110 sunrpc/clnt_perr.c:131 #, c-format msgid "; low version = %lu, high version = %lu" msgstr "; wersja poboczna = %lu, wersja g��wna = %lu" -#: sunrpc/clnt_perr.c:119 +#: sunrpc/clnt_perr.c:117 msgid "; why = " msgstr "; bo = " -#: locale/programs/ld-ctype.c:331 +#: locale/programs/charset.c:98 +#, c-format +msgid "<%s> and <%s> are illegal names for range" +msgstr "<%s> i <%s> nie s� niepoprawnymi nazwami dla przedzia�u" + +#: locale/programs/ld-ctype.c:342 #, c-format msgid "<SP> character must not be in class `%s'" msgstr "znak <SP> nie mo�e znajdowa� si� w klasie `%s'" -#: locale/programs/ld-ctype.c:321 +#: locale/programs/ld-ctype.c:330 #, c-format msgid "<SP> character not in class `%s'" msgstr "znak <SP> nie jest w klasie `%s'" @@ -316,7 +550,7 @@ msgstr "znak <SP> nie jest w klasie `%s' #. TRANS The experienced user will know what is wrong. #. TRANS @c This error code is a joke. Its perror text is part of the joke. #. TRANS @c Don't change it. -#: stdio-common/../sysdeps/gnu/errlist.c:591 +#: stdio-common/../sysdeps/gnu/errlist.c:603 msgid "?" msgstr "?" @@ -324,26 +558,34 @@ msgstr "?" msgid "Aborted" msgstr "Przerwane" -#: stdio-common/../sysdeps/gnu/errlist.c:762 +#: nis/nis_print.c:318 +msgid "Access Rights : " +msgstr "Prawa dost�pu : " + +#: stdio-common/../sysdeps/gnu/errlist.c:774 msgid "Accessing a corrupted shared library" -msgstr "U�ycie uszkodzonej biblioteki dzielonej" +msgstr "Pr�ba u�ycia uszkodzonej biblioteki dzielonej" #. TRANS The requested socket address is already in use. @xref{Socket Addresses}. -#: stdio-common/../sysdeps/gnu/errlist.c:354 +#: stdio-common/../sysdeps/gnu/errlist.c:366 msgid "Address already in use" msgstr "Adres jest ju� w u�yciu" +#: posix/../sysdeps/posix/gai_strerror.c:30 +msgid "Address family for hostname not supported" +msgstr "Rodzina adres�w dla tej nazwy hosta nie jest obs�ugiwana" + #. TRANS The address family specified for a socket is not supported; it is #. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}. -#: stdio-common/../sysdeps/gnu/errlist.c:349 +#: stdio-common/../sysdeps/gnu/errlist.c:361 msgid "Address family not supported by protocol" msgstr "Rodzina adres�w nie obs�ugiwana przez protok��" -#: stdio-common/../sysdeps/gnu/errlist.c:730 +#: stdio-common/../sysdeps/gnu/errlist.c:742 msgid "Advertise error" msgstr "B��d podczas og�aszania" -#: stdio-common/../sysdeps/unix/siglist.c:43 +#: stdio-common/../sysdeps/unix/siglist.c:39 #: sysdeps/unix/sysv/linux/siglist.h:33 msgid "Alarm clock" msgstr "Budzik" @@ -352,198 +594,270 @@ msgstr "Budzik" #. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a #. TRANS File}) occupy too much memory space. This condition never arises in the #. TRANS GNU system. -#: stdio-common/../sysdeps/gnu/errlist.c:57 +#: stdio-common/../sysdeps/gnu/errlist.c:69 msgid "Argument list too long" msgstr "Lista argument�w za d�uga" -#: stdio-common/../sysdeps/gnu/errlist.c:770 +#: nis/nis_error.c:65 +msgid "Attempt to remove a non-empty table" +msgstr "Pr�ba skasowania tablicy z zawarto�ci�" + +#: stdio-common/../sysdeps/gnu/errlist.c:782 msgid "Attempting to link in too many shared libraries" msgstr "Pr�ba ��czenia ze zbyt wieloma bibliotekami dzielonymi" -#: sunrpc/clnt_perr.c:276 +#: sunrpc/clnt_perr.c:273 msgid "Authentication OK" -msgstr "Autoryzacja OK" +msgstr "Uwierzytelnienie OK" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:549 +#: stdio-common/../sysdeps/gnu/errlist.c:561 msgid "Authentication error" -msgstr "B��d autoryzacji" +msgstr "B��d uwierzytelnienia" + +#: nis/nis_print.c:105 +msgid "BOGUS OBJECT\n" +msgstr "NIEISTNIEJ�CY OBIEKT\n" #. TRANS Bad address; an invalid pointer was detected. #. TRANS In the GNU system, this error never happens; you get a signal instead. -#: stdio-common/../sysdeps/gnu/errlist.c:102 +#: stdio-common/../sysdeps/gnu/errlist.c:114 msgid "Bad address" msgstr "B��dny adres" #. TRANS Bad file descriptor; for example, I/O on a descriptor that has been #. TRANS closed or reading from a descriptor open only for writing (or vice #. TRANS versa). -#: stdio-common/../sysdeps/gnu/errlist.c:70 +#: stdio-common/../sysdeps/gnu/errlist.c:82 msgid "Bad file descriptor" msgstr "B��dny deskryptor pliku" -#: stdio-common/../sysdeps/gnu/errlist.c:718 +#: stdio-common/../sysdeps/gnu/errlist.c:730 msgid "Bad font file format" msgstr "B��dny format pliku czcionek" -#: stdio-common/../sysdeps/gnu/errlist.c:610 +#: stdio-common/../sysdeps/gnu/errlist.c:622 msgid "Bad message" msgstr "B��dny komunikat" -#: stdio-common/../sysdeps/unix/siglist.c:41 +#: stdio-common/../sysdeps/unix/siglist.c:37 #: sysdeps/unix/sysv/linux/siglist.h:56 msgid "Bad system call" msgstr "B��dne wywo�anie systemowe" +#: posix/../sysdeps/posix/gai_strerror.c:32 +msgid "Bad value for ai_flags" +msgstr "B��dna warto�� dla ai_flags" + +#: locale/programs/localedef.c:104 +msgid "Be strictly POSIX conform" +msgstr "Przestrzegaj �ci�le POSIX" + +#: nis/nis_print.c:301 +msgid "Binary data\n" +msgstr "Dane binarne\n" + #. TRANS A file that isn't a block special file was given in a situation that #. TRANS requires one. For example, trying to mount an ordinary file as a file #. TRANS system in Unix gives this error. -#: stdio-common/../sysdeps/gnu/errlist.c:109 +#: stdio-common/../sysdeps/gnu/errlist.c:121 msgid "Block device required" msgstr "Wymagane urz�dzenie blokowe" -#: sunrpc/pmap_rmt.c:338 -msgid "Broadcast select problem" -msgstr "Problem przy wyborze transmisji" +#: sunrpc/pmap_rmt.c:347 +msgid "Broadcast poll problem" +msgstr "Problem podczas pr�by rozg�aszania" #. TRANS Broken pipe; there is no process reading from the other end of a pipe. #. TRANS Every library function that returns this error code also generates a #. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled #. TRANS or blocked. Thus, your program will never actually see @code{EPIPE} #. TRANS unless it has handled or blocked @code{SIGPIPE}. -#: stdio-common/../sysdeps/gnu/errlist.c:222 -#: stdio-common/../sysdeps/unix/siglist.c:42 +#: stdio-common/../sysdeps/gnu/errlist.c:234 +#: stdio-common/../sysdeps/unix/siglist.c:38 #: sysdeps/unix/sysv/linux/siglist.h:32 msgid "Broken pipe" msgstr "Przerwany potok" -#: stdio-common/../sysdeps/unix/siglist.c:39 +#: stdio-common/../sysdeps/unix/siglist.c:35 #: sysdeps/unix/sysv/linux/siglist.h:30 msgid "Bus error" msgstr "B��d szyny" +#: nis/nis_print.c:45 +msgid "CDS" +msgstr "CDS" + +#: stdio-common/../sysdeps/unix/siglist.c:49 #: sysdeps/unix/sysv/linux/siglist.h:43 msgid "CPU time limit exceeded" msgstr "Przekroczony limit czasu procesora" -#: stdio-common/../sysdeps/gnu/errlist.c:758 +#: nis/nis_error.c:32 +msgid "Cache expired" +msgstr "Dezaktualizacja bufora cache" + +#: stdio-common/../sysdeps/gnu/errlist.c:770 msgid "Can not access a needed shared library" msgstr "Brak dost�pu do wymaganej biblioteki dzielonej" -#: nis/ypclnt.c:695 +#: nis/ypclnt.c:769 msgid "Can't bind to server which serves this domain" msgstr "Po��czenie z serwerem dla tej domeny jest niemo�liwe" -#: nis/ypclnt.c:707 +#: nis/ypclnt.c:781 msgid "Can't communicate with portmapper" msgstr "Komunikacja z portmapperem jest niemo�liwa" -#: nis/ypclnt.c:709 +#: nis/ypclnt.c:783 msgid "Can't communicate with ypbind" msgstr "Komunikacja z ypbind jest niemo�liwa" -#: nis/ypclnt.c:711 +#: nis/ypclnt.c:785 msgid "Can't communicate with ypserv" msgstr "Komunikacja z ypserv jest niemo�liwa" #. TRANS No memory available. The system cannot allocate more virtual memory #. TRANS because its capacity is full. -#: stdio-common/../sysdeps/gnu/errlist.c:91 +#: stdio-common/../sysdeps/gnu/errlist.c:103 msgid "Cannot allocate memory" -msgstr "Zarezerwowanie pami�ci niemo�liwe" +msgstr "Brak pami�ci do alokacji" #. TRANS The requested socket address is not available; for example, you tried #. TRANS to give a socket a name that doesn't match the local host name. #. TRANS @xref{Socket Addresses}. -#: stdio-common/../sysdeps/gnu/errlist.c:361 +#: stdio-common/../sysdeps/gnu/errlist.c:373 msgid "Cannot assign requested address" -msgstr "Przypisanie ��danego adresu niemo�liwe" +msgstr "Przypisanie ��danego adresu jest niemo�liwe" -#: sunrpc/pmap_rmt.c:255 +#: sunrpc/pmap_rmt.c:264 msgid "Cannot create socket for broadcast rpc" msgstr "Stworzenie gniazda dla transmisji rpc niemo�liwe" -#: stdio-common/../sysdeps/gnu/errlist.c:774 +#: stdio-common/../sysdeps/gnu/errlist.c:786 msgid "Cannot exec a shared library directly" msgstr "Bezpo�rednie uruchomienie biblioteki dzielonej jest niemo�liwe" -#: sunrpc/pmap_rmt.c:350 +#: sunrpc/rpc_main.c:1406 +msgid "Cannot have more than one file generation flag!\n" +msgstr "Nie mo�na poda� wi�cej ni� jednej flagi generowania pliku!\n" + +#: sunrpc/pmap_rmt.c:360 msgid "Cannot receive reply to broadcast" -msgstr "Brak odpowiedzi na transmisj�" +msgstr "Brak odpowiedzi na rozg�aszanie" -#: sunrpc/pmap_clnt.c:79 +#: sunrpc/pmap_clnt.c:74 msgid "Cannot register service" -msgstr "Zarejestrowanie us�ugi niemo�liwe" +msgstr "Zarejestrowanie us�ugi jest niemo�liwe" #. TRANS The socket has already been shut down. -#: stdio-common/../sysdeps/gnu/errlist.c:422 +#: stdio-common/../sysdeps/gnu/errlist.c:434 msgid "Cannot send after transport endpoint shutdown" -msgstr "Wysy�anie po zamkni�ciu gniazda niemo�liwe" +msgstr "Wysy�anie po zamkni�ciu gniazda jest niemo�liwe" -#: sunrpc/pmap_rmt.c:313 +#: sunrpc/pmap_rmt.c:322 msgid "Cannot send broadcast packet" msgstr "Wys�anie pakietu transmisji niemo�liwe" -#: sunrpc/pmap_rmt.c:261 +#: sunrpc/pmap_rmt.c:271 msgid "Cannot set socket option SO_BROADCAST" -msgstr "Ustawienie opcji gniazda SO_BROADCAST niemo�liwe" +msgstr "Ustawienie opcji gniazda SO_BROADCAST jest niemo�liwe" -#: stdio-common/../sysdeps/gnu/errlist.c:658 +#: sunrpc/rpc_main.c:1193 +msgid "Cannot specify more than one input file!\n" +msgstr "Mo�na poda� tylko jeden plik wej�ciowy!\n" + +#: sunrpc/rpc_main.c:1363 +msgid "Cannot use netid flag with inetd flag!\n" +msgstr "Nie mo�na u�ywa� flagi netid z flag� inetd!\n" + +#: sunrpc/rpc_main.c:1375 +msgid "Cannot use netid flag without TIRPC!\n" +msgstr "Flagi netid mo�na u�ywa� tylko z TIRPC!\n" + +#: sunrpc/rpc_main.c:1382 +msgid "Cannot use table flags with newstyle!\n" +msgstr "Nowa sk�adnia opcji nie pozwala na u�ywanie flagi table!\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:670 msgid "Channel number out of range" msgstr "Numer kana�u poza zakresem" -#: stdio-common/../sysdeps/unix/siglist.c:49 +#: nis/nis_print.c:264 +#, c-format +msgid "Character Separator : %c\n" +msgstr "Separator znak�w : %c\n" + +#: stdio-common/../sysdeps/unix/siglist.c:45 #: sysdeps/unix/sysv/linux/siglist.h:39 msgid "Child exited" -msgstr "Proces potomny zako�czy� prac�" +msgstr "Potomek zako�czy� prac�" -#: sunrpc/clnt_perr.c:286 +#: sunrpc/clnt_perr.c:283 msgid "Client credential too weak" -msgstr "Wiarygodno�� klienta zbyt ma�a" +msgstr "Wierzytelno�� klienta jest zbyt ma�a" -#: stdio-common/../sysdeps/gnu/errlist.c:738 +#: nis/nis_print.c:266 +msgid "Columns :\n" +msgstr "Kolmny :\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:750 msgid "Communication error on send" msgstr "B��d komunikacji podczas wysy�ania" +#: locale/programs/localedef.c:112 +msgid "Compile locale specification" +msgstr "Skompiluj specyfikacj� lokalizacji" + #. TRANS Go home and have a glass of warm, dairy-fresh milk. -#: stdio-common/../sysdeps/gnu/errlist.c:601 +#: stdio-common/../sysdeps/gnu/errlist.c:613 msgid "Computer bought the farm" -msgstr "Komputer kupi� gospodarstwo" +msgstr "Komputer wyjecha� na wakacje" -#: locale/programs/ld-ctype.c:1204 +#: locale/programs/ld-ctype.c:1253 msgid "Computing table size for character classes might take a while..." msgstr "Obliczanie rozmiaru tablicy klas znak�w mo�e chwil� potrwa�..." -#: locale/programs/ld-collate.c:329 +#: locale/programs/ld-collate.c:336 msgid "Computing table size for collation information might take a while..." msgstr "Obliczanie rozmiaru tablicy sortowania mo�e chwil� potrwa�..." #. TRANS A remote host refused to allow the network connection (typically because #. TRANS it is not running the requested service). -#: stdio-common/../sysdeps/gnu/errlist.c:439 +#: stdio-common/../sysdeps/gnu/errlist.c:451 msgid "Connection refused" -msgstr "Odmowa po��czenia" +msgstr "Po��czenie odrzucone" #. TRANS A network connection was closed for reasons outside the control of the #. TRANS local host, such as by the remote machine rebooting or an unrecoverable #. TRANS protocol violation. -#: stdio-common/../sysdeps/gnu/errlist.c:389 +#: stdio-common/../sysdeps/gnu/errlist.c:401 msgid "Connection reset by peer" msgstr "Po��czenie zerwane przez drug� stron�" #. TRANS A socket operation with a specified timeout received no response during #. TRANS the timeout period. -#: stdio-common/../sysdeps/gnu/errlist.c:433 +#: stdio-common/../sysdeps/gnu/errlist.c:445 msgid "Connection timed out" -msgstr "Po��czenie nie doczekane" +msgstr "Przekroczony czas oczekiwania na po��czenie" -#: stdio-common/../sysdeps/unix/siglist.c:48 +#: stdio-common/../sysdeps/unix/siglist.c:44 #: sysdeps/unix/sysv/linux/siglist.h:38 msgid "Continued" msgstr "Kontynuacja" -#: catgets/gencat.c:169 db/makedb.c:120 locale/programs/locale.c:187 -#: locale/programs/localedef.c:180 +#: iconv/iconv_prog.c:66 +msgid "Convert encoding of given files from one encoding to another." +msgstr "Konwertuje podanych plik�w mi�dzy r��nymi metodami kodowania." + +#: db2/makedb.c:58 +msgid "Convert key to lower case" +msgstr "Konwertuj klucz na ma�e znaki" + +#: catgets/gencat.c:236 db2/makedb.c:242 elf/sprof.c:359 +#: iconv/iconv_prog.c:294 locale/programs/locale.c:267 +#: locale/programs/localedef.c:403 nscd/nscd.c:223 nss/getent.c:65 +#: posix/getconf.c:624 #, c-format msgid "" "Copyright (C) %s Free Software Foundation, Inc.\n" @@ -551,28 +865,70 @@ msgid "" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" "Copyright (C) %s Free Software Foundation, Inc.\n" -"Oprogramowanie darmowe. Warunki kopiowania zamieszczone s� w kodzie " -"�r�d�owym.\n" -"Nie podlega �adnej gwarancji, nawet gwarancji przydatno�ci do " -"jakiegokolwiek\n" +"Oprogramowanie darmowe. Warunki kopiowania zamieszczone s� w kodzie �r�d�owym.\n" +"Nie podlega �adnej gwarancji, nawet gwarancji przydatno�ci do jakiegokolwiek\n" "zastosowania lub sprzeda�y.\n" -#: stdio-common/../sysdeps/unix/siglist.c:53 -msgid "Cputime limit exceeded" -msgstr "Przekroczenie limitu czasu procesora" +#: nscd/nscd_conf.c:167 +#, c-format +msgid "Could not create log file \"%s\"" +msgstr "Stworzenie pliku dziennika \"%s\" jest niemo�liwe" -#: nis/ypclnt.c:721 +#: catgets/gencat.c:107 +msgid "Create C header file NAME containing symbol definitions" +msgstr "Tworzy plik nag��wkowy C o nazwie NAZWA zawieraj�cy definicje symboli" + +#: locale/programs/localedef.c:103 +msgid "Create output even if warning messages were issued" +msgstr "brak pliku wyj�ciowego - wyst�pi�y ostrze�enia" + +#: db2/makedb.c:68 +msgid "Create simple DB database from textual input." +msgstr "Tworzy prost� baz� DB z wej�cia tekstowego." + +#: nis/nis_print.c:322 +#, c-format +msgid "Creation Time : %s" +msgstr "Czas stworzenia : %s" + +#: nis/nss_nisplus/nisplus-publickey.c:89 +#: nis/nss_nisplus/nisplus-publickey.c:159 +#, c-format +msgid "DES entry for netname %s not unique\n" +msgstr "Pozycja DES dla sieci %s nie jest unikalna\n" + +#: nis/nis_print.c:111 +msgid "DIRECTORY\n" +msgstr "KATALOG\n" + +#: nis/nis_print.c:41 +msgid "DNANS" +msgstr "DNANS" + +#: nis/nis_print.c:37 +msgid "DNS" +msgstr "DNS" + +#: nis/nis_error.c:51 +msgid "Database for table does not exist" +msgstr "Brak bazy danych dla tej tabeli" + +#: nis/ypclnt.c:795 msgid "Database is busy" msgstr "Baza danych jest zaj�ta" +#: nis/nis_print.c:225 +msgid "Default Access rights :\n" +msgstr "Domy�lne prawa dost�pu :\n" + #. TRANS No default destination address was set for the socket. You get this #. TRANS error when you try to transmit data over a connectionless socket, #. TRANS without first specifying a destination for the data with @code{connect}. -#: stdio-common/../sysdeps/gnu/errlist.c:417 +#: stdio-common/../sysdeps/gnu/errlist.c:429 msgid "Destination address required" -msgstr "Wymagany adres docelowy" +msgstr "Wymagany jest adres docelowy" -#: stdio-common/../sysdeps/gnu/errlist.c:638 +#: stdio-common/../sysdeps/gnu/errlist.c:650 msgid "Device not a stream" msgstr "Urz�dzenie nie jest strumieniem" @@ -581,126 +937,255 @@ msgstr "Urz�dzenie nie jest strumieniem" #. TRANS This can mean that the device file was installed incorrectly, or that #. TRANS the physical device is missing or not correctly attached to the #. TRANS computer. -#: stdio-common/../sysdeps/gnu/errlist.c:49 +#: stdio-common/../sysdeps/gnu/errlist.c:61 msgid "Device not configured" msgstr "Urz�dzenie nie jest skonfigurowane" #. TRANS Resource busy; a system resource that can't be shared is already in use. #. TRANS For example, if you try to delete a file that is the root of a currently #. TRANS mounted filesystem, you get this error. -#: stdio-common/../sysdeps/gnu/errlist.c:116 +#: stdio-common/../sysdeps/gnu/errlist.c:128 msgid "Device or resource busy" msgstr "Urz�dzenie lub zasoby s� zaj�te" +#: nis/nis_print.c:179 +#, c-format +msgid "Diffie-Hellmann (%d bits)\n" +msgstr "Diffie-Hellmann (%d bit�w)\n" + +#: nis/nis_print.c:315 +#, c-format +msgid "Directory : %s\n" +msgstr "Katalog : %s\n" + #. TRANS Directory not empty, where an empty directory was expected. Typically, #. TRANS this error occurs when you are trying to delete a directory. -#: stdio-common/../sysdeps/gnu/errlist.c:468 +#: stdio-common/../sysdeps/gnu/errlist.c:480 msgid "Directory not empty" msgstr "Katalog nie jest pusty" #. TRANS The user's disk quota was exceeded. -#: stdio-common/../sysdeps/gnu/errlist.c:486 +#: stdio-common/../sysdeps/gnu/errlist.c:498 msgid "Disc quota exceeded" msgstr "Przekroczony limit dyskowy" -#: nis/ypclnt.c:767 +#: nscd/nscd.c:80 +msgid "Do not fork and display messages on the current tty" +msgstr "Nie pracuje w tle i wy�wietla komunikaty na bie��cy terminal" + +#: db2/makedb.c:61 +msgid "Do not print messages while building database" +msgstr "Nie wy�wietla komunikat�w podczas budowania bazy danych" + +#: catgets/gencat.c:109 +msgid "Do not use existing catalog, force new output file" +msgstr "Zamiast do istniej�cego katalogu zapisuje do nowego pliku" + +#: nis/ypclnt.c:841 msgid "Domain not bound" msgstr "Domena nie zosta�a zwi�zana" -#: stdio-common/../sysdeps/unix/siglist.c:36 +#: stdio-common/../sysdeps/unix/siglist.c:32 #: sysdeps/unix/sysv/linux/siglist.h:53 msgid "EMT trap" msgstr "pu�apka EMT" -#: sunrpc/clnt_perr.c:254 -#, c-format -msgid "Error %d" -msgstr "B��d %d" +#: nis/nis_print.c:120 +msgid "ENTRY\n" +msgstr "POZYCJA\n" -#: string/../sysdeps/mach/_strerror.c:52 +#: nis/nis_print.c:299 +msgid "Encrypted data\n" +msgstr "Zaszyfrowane dane\n" + +#: nis/nis_error.c:52 +msgid "Entry/Table type mismatch" +msgstr "Typy wpisu/tablicy nie pasuj� do siebie" + +#: nis/nis_error.c:56 +msgid "Error in RPC subsystem" +msgstr "B��d w podsystemie RPM" + +#: nis/nis_error.c:66 +msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?" +msgstr "Znalezienie pliku startowego NIS+ jest niemo�liwe. Czy NIS+ jest zainstalowany?" + +#: string/../sysdeps/mach/_strerror.c:56 +#: sysdeps/mach/hurd/mips/dl-machine.c:67 msgid "Error in unknown error system: " msgstr "B��d w nieznanym systemie b��d�w: " +#: nis/nis_error.c:59 +msgid "Error while talking to callback proc" +msgstr "Wyst�pi� b��d podczas odwo�ania do callbacka" + #: inet/ruserpass.c:161 msgid "Error: .netrc file is readable by others." msgstr "B��d: plik .netrc mo�e by� czytany przez ka�dego." -#: stdio-common/../sysdeps/gnu/errlist.c:698 +#: stdio-common/../sysdeps/gnu/errlist.c:710 msgid "Exchange full" msgstr "Przepe�niona wymiana" #. TRANS Invalid executable file format. This condition is detected by the #. TRANS @code{exec} functions; see @ref{Executing a File}. -#: stdio-common/../sysdeps/gnu/errlist.c:63 +#: stdio-common/../sysdeps/gnu/errlist.c:75 msgid "Exec format error" msgstr "B��dny format pliku wykonywalnego" -#: locale/programs/localedef.c:216 +#: locale/programs/localedef.c:190 msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'" msgstr "PRZERWANIE: system nie definiuje `_POSIX2_LOCALEDEF'" -#: sunrpc/clnt_perr.c:290 +#: locale/programs/localedef.c:99 +msgid "FILE contains mapping from symbolic names to UCS4 values" +msgstr "PLIK zawiera odwzorowania nazw symbolicznych na warto�ci UCS4" + +#: sunrpc/clnt_perr.c:287 msgid "Failed (unspecified error)" msgstr "Nieudane (nieustalony b��d)" -#: stdio-common/../sysdeps/gnu/errlist.c:750 +#: stdio-common/../sysdeps/gnu/errlist.c:762 msgid "File descriptor in bad state" msgstr "Deskryptor pliku w z�ym stanie" #. TRANS File exists; an existing file was specified in a context where it only #. TRANS makes sense to specify a new file. -#: stdio-common/../sysdeps/gnu/errlist.c:122 +#: stdio-common/../sysdeps/gnu/errlist.c:134 msgid "File exists" msgstr "Plik istnieje" -#: stdio-common/../sysdeps/gnu/errlist.c:714 +#: stdio-common/../sysdeps/gnu/errlist.c:726 msgid "File locking deadlock error" -msgstr "B��d zakleszczenia podczas blokowania pliku" +msgstr "Podczas blokowania pliku wyst�pi�o zakleszczenie" #. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for #. TRANS Files}) or host name too long (in @code{gethostname} or #. TRANS @code{sethostname}; @pxref{Host Identification}). -#: stdio-common/../sysdeps/gnu/errlist.c:452 +#: stdio-common/../sysdeps/gnu/errlist.c:464 msgid "File name too long" msgstr "Za d�uga nazwa pliku" +#: stdio-common/../sysdeps/unix/siglist.c:50 #: sysdeps/unix/sysv/linux/siglist.h:44 msgid "File size limit exceeded" msgstr "Przekroczony limit wielko�ci pliku" #. TRANS File too big; the size of a file would be larger than allowed by the system. -#: stdio-common/../sysdeps/gnu/errlist.c:190 +#: stdio-common/../sysdeps/gnu/errlist.c:202 msgid "File too large" msgstr "Plik jest za du�y" -#: stdio-common/../sysdeps/unix/siglist.c:54 -msgid "Filesize limit exceeded" -msgstr "Przekroczenie limitu wielko�ci pliku" +#: nis/nis_error.c:37 +msgid "First/Next chain broken" +msgstr "�a�cuch pierwszy/nast�pny jest uszkodzony" -#: stdio-common/../sysdeps/unix/siglist.c:37 +#: stdio-common/../sysdeps/unix/siglist.c:33 #: sysdeps/unix/sysv/linux/siglist.h:28 msgid "Floating point exception" msgstr "B��d w obliczeniach zmiennoprzecinkowych" +#: nis/nis_error.c:67 +msgid "Full resync required for directory" +msgstr "Katalog wymaga powt�rzenia pe�nej synchronizacji" + #. TRANS Function not implemented. Some functions have commands or options defined #. TRANS that might not be supported in all implementations, and this is the kind #. TRANS of error you get if you request them and they are not supported. -#: stdio-common/../sysdeps/gnu/errlist.c:561 +#: stdio-common/../sysdeps/gnu/errlist.c:573 msgid "Function not implemented" -msgstr "Funkcja niezaimplementowana" +msgstr "Niezaimplementowana funkcja" + +#: nis/nis_print.c:114 +msgid "GROUP\n" +msgstr "GRUPA\n" + +#: argp/argp-help.c:231 +#, c-format +msgid "Garbage in ARGP_HELP_FMT: %s" +msgstr "B��dne dane w ARGP_HELP_FMT: %s" + +#: catgets/gencat.c:115 +msgid "" +"Generate message catalog.\\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" +"is -, output is written to standard output.\n" +msgstr "" +"Generuje katalog komunikat�w.\n" +"Je�li PLIK-WE to -, dane s� czytane ze standardowego wej�cia. Je�li PLIK-WY\n" +"to -, dane s� zapisywane na standardowe wyj�cie.\n" + +#: nis/nis_error.c:36 +msgid "Generic system error" +msgstr "B��d systemowy" + +#: locale/programs/locale.c:75 +msgid "Get locale-specific information." +msgstr "Wy�wietla dane dotycz�ce lokalizacji." + +#: argp/argp-parse.c:88 +msgid "Give a short usage message" +msgstr "Wy�wietla kr�tkie informacje o sk�adni polecenia" + +#: argp/argp-parse.c:87 +msgid "Give this help list" +msgstr "Wy�wietla ten tekst pomocy" #. TRANS This error code has no purpose. -#: stdio-common/../sysdeps/gnu/errlist.c:606 +#: stdio-common/../sysdeps/gnu/errlist.c:618 msgid "Gratuitous error" msgstr "Nieoczekiwany b��d" -#: stdio-common/../sysdeps/unix/siglist.c:30 +#: nis/nis_print.c:317 +#, c-format +msgid "Group : %s\n" +msgstr "Grupa : %s\n" + +#: nis/nis_print.c:248 +msgid "Group Flags :" +msgstr "Flagi grupy :" + +#: nis/nis_print_group_entry.c:113 +#, c-format +msgid "Group entry for \"%s.%s\" group:\n" +msgstr "Wpis dla grupy \"%s.%s\":\n" + +#: argp/argp-parse.c:91 +msgid "Hang for SECS seconds (default 3600)" +msgstr "Czekaj przez SEK sekund (domy�lnie 3600)" + +#: stdio-common/../sysdeps/unix/siglist.c:26 #: sysdeps/unix/sysv/linux/siglist.h:22 msgid "Hangup" msgstr "Roz��czenie" +#: nscd/grpcache.c:238 +#, c-format +msgid "Haven't found \"%d\" in group cache!" +msgstr "Nie znaleziono \"%d\" w pami�ci podr�cznej grup!" + +#: nscd/pwdcache.c:235 +#, c-format +msgid "Haven't found \"%d\" in password cache!" +msgstr "Nie znaleziono \"%d\" w pami�ci podr�cznej hase�!" + +#: nscd/grpcache.c:210 +#, c-format +msgid "Haven't found \"%s\" in group cache!" +msgstr "Nie znaleziono \"%s\" w pami�ci podr�cznej grup!" + +#: nscd/hstcache.c:297 nscd/hstcache.c:328 nscd/hstcache.c:359 +#: nscd/hstcache.c:390 +#, c-format +msgid "Haven't found \"%s\" in hosts cache!" +msgstr "Nie znaleziono \"%s\" w pami�ci podr�cznej host�w!" + +#: nscd/pwdcache.c:207 +#, c-format +msgid "Haven't found \"%s\" in password cache!" +msgstr "Nie znaleziono \"%s\" w pami�ci podr�cznej hase�!" + #. TRANS The remote host for a requested network connection is down. -#: stdio-common/../sysdeps/gnu/errlist.c:457 +#: stdio-common/../sysdeps/gnu/errlist.c:469 msgid "Host is down" msgstr "Host nie odpowiada" @@ -708,29 +1193,44 @@ msgstr "Host nie odpowiada" msgid "Host name lookup failure" msgstr "Odnalezienie nazwy hosta jest niemo�liwe" -#: stdio-common/../sysdeps/unix/siglist.c:52 +#: stdio-common/../sysdeps/unix/siglist.c:48 #: sysdeps/unix/sysv/linux/siglist.h:42 msgid "I/O possible" msgstr "We/Wy dozwolone" -#: stdio-common/../sysdeps/unix/siglist.c:35 +#: db2/makedb.c:71 +msgid "" +"INPUT-FILE OUTPUT-FILE\n" +"-o OUTPUT-FILE INPUT-FILE\n" +"-u INPUT-FILE" +msgstr "" +"PLIK-WE PLIK-WY\n" +"-o PLIK-WY PLIK-WE\n" +"-u PLIK-WE" + +#: stdio-common/../sysdeps/unix/siglist.c:31 msgid "IOT trap" msgstr "pu�apka IOT" -#: stdio-common/../sysdeps/gnu/errlist.c:614 +#: nis/nis_print.c:35 +msgid "IVY" +msgstr "IVY" + +#: stdio-common/../sysdeps/gnu/errlist.c:626 msgid "Identifier removed" msgstr "Identyfikator zosta� usuni�ty" +#: stdio-common/../sysdeps/unix/siglist.c:29 #: sysdeps/unix/sysv/linux/siglist.h:25 -msgid "Illegal Instruction" -msgstr "Nieznana Instrukcja" - -#: stdio-common/../sysdeps/unix/siglist.c:33 msgid "Illegal instruction" msgstr "B��dna instrukcja" +#: nis/nis_error.c:61 +msgid "Illegal object type for operation" +msgstr "B��dny typ obiektu dla tej operacji" + #. TRANS Invalid seek operation (such as on a pipe). -#: stdio-common/../sysdeps/gnu/errlist.c:201 +#: stdio-common/../sysdeps/gnu/errlist.c:213 msgid "Illegal seek" msgstr "B��dne przesuni�cie" @@ -739,13 +1239,13 @@ msgstr "B��dne przesuni�cie" #. TRANS #. TRANS On some systems @code{chmod} returns this error if you try to set the #. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}. -#: stdio-common/../sysdeps/gnu/errlist.c:544 +#: stdio-common/../sysdeps/gnu/errlist.c:556 msgid "Inappropriate file type or format" msgstr "Niew�a�ciwy typ lub format pliku" #. TRANS Inappropriate I/O control operation, such as trying to set terminal #. TRANS modes on an ordinary file. -#: stdio-common/../sysdeps/gnu/errlist.c:176 +#: stdio-common/../sysdeps/gnu/errlist.c:188 msgid "Inappropriate ioctl for device" msgstr "Niew�a�ciwy dost�p do urz�dzenia" @@ -755,7 +1255,7 @@ msgstr "Niew�a�ciwy dost�p do urz�dzenia #. TRANS error because functions such as @code{read} and @code{write} translate #. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control}, #. TRANS for information on process groups and these signals. -#: stdio-common/../sysdeps/gnu/errlist.c:577 +#: stdio-common/../sysdeps/gnu/errlist.c:589 msgid "Inappropriate operation for background process" msgstr "Dzia�anie niedopuszczalne dla procesu w tle" @@ -763,20 +1263,32 @@ msgstr "Dzia�anie niedopuszczalne dla pr msgid "Information request" msgstr "��danie informacji" +#: iconv/iconv_prog.c:57 +msgid "Information:" +msgstr "Informacja:" + +#: locale/programs/localedef.c:94 +msgid "Input Files:" +msgstr "Pliki wej�ciowe:" + +#: iconv/iconv_prog.c:54 +msgid "Input/Output format specification:" +msgstr "Specyfikacja formatu wej�cia/wyj�cia:" + #. TRANS Input/output error; usually used for physical read or write errors. -#: stdio-common/../sysdeps/gnu/errlist.c:40 +#: stdio-common/../sysdeps/gnu/errlist.c:52 msgid "Input/output error" msgstr "B��d wej�cia/wyj�cia" -#: nis/ypclnt.c:701 +#: nis/ypclnt.c:775 msgid "Internal NIS error" msgstr "B��d wewn�trzny NIS" -#: nis/ypclnt.c:765 +#: nis/ypclnt.c:839 msgid "Internal ypbind error" msgstr "B��d wewn�trzny ypbind" -#: stdio-common/../sysdeps/unix/siglist.c:31 +#: stdio-common/../sysdeps/unix/siglist.c:27 #: sysdeps/unix/sysv/linux/siglist.h:23 msgid "Interrupt" msgstr "Przerwanie" @@ -788,325 +1300,537 @@ msgstr "Przerwanie" #. TRANS You can choose to have functions resume after a signal that is handled, #. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted #. TRANS Primitives}. -#: stdio-common/../sysdeps/gnu/errlist.c:35 +#: stdio-common/../sysdeps/gnu/errlist.c:47 msgid "Interrupted system call" msgstr "Przerwane wywo�anie systemowe" -#: stdio-common/../sysdeps/gnu/errlist.c:654 +#: stdio-common/../sysdeps/gnu/errlist.c:666 msgid "Interrupted system call should be restarted" msgstr "Nale�y wznowi� przerwane wywo�anie systemowe" +#: nis/nis_error.c:44 +msgid "Invalid Object for operation" +msgstr "B��dny obiekt dla tej operacji" + #. TRANS Invalid argument. This is used to indicate various kinds of problems #. TRANS with passing the wrong argument to a library function. -#: stdio-common/../sysdeps/gnu/errlist.c:152 +#: stdio-common/../sysdeps/gnu/errlist.c:164 msgid "Invalid argument" msgstr "Z�y argument" -#: posix/regex.c:960 +#: posix/regex.c:1018 msgid "Invalid back reference" msgstr "B��dny odno�nik wstecz" -#: posix/regex.c:958 +#: posix/regex.c:1016 msgid "Invalid character class name" msgstr "B��dna nazwa klasy znaku" -#: sunrpc/clnt_perr.c:278 +#: sunrpc/clnt_perr.c:275 msgid "Invalid client credential" msgstr "B��dne uwierzytelnienie klienta" -#: sunrpc/clnt_perr.c:282 +#: sunrpc/clnt_perr.c:279 msgid "Invalid client verifier" msgstr "B��dny weryfikator klienta" -#: posix/regex.c:957 +#: posix/regex.c:1015 msgid "Invalid collation character" msgstr "B��dny znak sortowany" -#: posix/regex.c:964 +#: posix/regex.c:1022 msgid "Invalid content of \\{\\}" msgstr "B��dna zawarto�� \\{\\}" #. TRANS An attempt to make an improper link across file systems was detected. #. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but #. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}). -#: stdio-common/../sysdeps/gnu/errlist.c:129 +#: stdio-common/../sysdeps/gnu/errlist.c:141 msgid "Invalid cross-device link" msgstr "B��dne dowi�zanie mi�dzy urz�dzeniami" -#: stdio-common/../sysdeps/gnu/errlist.c:690 +#: stdio-common/../sysdeps/gnu/errlist.c:702 msgid "Invalid exchange" msgstr "B��dna wymiana" #. TRANS While decoding a multibyte character the function came along an invalid #. TRANS or an incomplete sequence of bytes or the given wide character is invalid. -#: stdio-common/../sysdeps/gnu/errlist.c:567 +#: stdio-common/../sysdeps/gnu/errlist.c:579 msgid "Invalid or incomplete multibyte or wide character" msgstr "B��dny lub niepe�ny znak wielobajtowy" -#: posix/regex.c:967 +#: posix/regex.c:1025 msgid "Invalid preceding regular expression" msgstr "B��dne poprzedzaj�ce wyra�enie regularne" -#: posix/regex.c:965 +#: posix/regex.c:1023 msgid "Invalid range end" msgstr "B��dny koniec zakresu" -#: posix/regex.c:956 +#: posix/regex.c:1014 msgid "Invalid regular expression" msgstr "B��dne wyra�enie regularne" -#: stdio-common/../sysdeps/gnu/errlist.c:706 +#: stdio-common/../sysdeps/gnu/errlist.c:718 msgid "Invalid request code" msgstr "Z�y kod ��dania" -#: stdio-common/../sysdeps/gnu/errlist.c:694 +#: stdio-common/../sysdeps/gnu/errlist.c:706 msgid "Invalid request descriptor" msgstr "B��dny deskryptor ��dania" -#: sunrpc/clnt_perr.c:288 +#: sunrpc/clnt_perr.c:285 msgid "Invalid server verifier" msgstr "B��dny weryfikator serwera" -#: stdio-common/../sysdeps/gnu/errlist.c:710 +#: stdio-common/../sysdeps/gnu/errlist.c:722 msgid "Invalid slot" msgstr "B��dny kana�" #. TRANS File is a directory; you cannot open a directory for writing, #. TRANS or create or remove hard links to it. -#: stdio-common/../sysdeps/gnu/errlist.c:146 +#: stdio-common/../sysdeps/gnu/errlist.c:158 msgid "Is a directory" msgstr "Jest katalogiem" -#: stdio-common/../sysdeps/gnu/errlist.c:794 +#: stdio-common/../sysdeps/gnu/errlist.c:806 msgid "Is a named type file" msgstr "Jest plikiem nazwanym" -#: stdio-common/../sysdeps/unix/siglist.c:38 +#: nis/nis_print.c:187 +msgid "Kerberos.\n" +msgstr "Kerberos.\n" + +#: stdio-common/../sysdeps/unix/siglist.c:34 #: sysdeps/unix/sysv/linux/siglist.h:29 msgid "Killed" msgstr "Unicestwiony" -#: stdio-common/../sysdeps/gnu/errlist.c:686 +#: nis/nis_print.c:123 +msgid "LINK\n" +msgstr "DOWI�ZANIE\n" + +#: nis/nis_local_names.c:125 +#, c-format +msgid "LOCAL entry for UID %d in directory %s not unique\n" +msgstr "Wpis LOKALNY dla UID %d w katalogu %s nie jest unikalny\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:698 msgid "Level 2 halted" msgstr "Poziom 2 zatrzymany" -#: stdio-common/../sysdeps/gnu/errlist.c:662 +#: stdio-common/../sysdeps/gnu/errlist.c:674 msgid "Level 2 not synchronized" msgstr "Poziom 2 brak synchronizacji" -#: stdio-common/../sysdeps/gnu/errlist.c:666 +#: stdio-common/../sysdeps/gnu/errlist.c:678 msgid "Level 3 halted" msgstr "Poziom 3 zatrzymany" -#: stdio-common/../sysdeps/gnu/errlist.c:670 +#: stdio-common/../sysdeps/gnu/errlist.c:682 msgid "Level 3 reset" msgstr "Poziom 3 wyzerowany" -#: stdio-common/../sysdeps/gnu/errlist.c:626 +#: nis/nis_error.c:53 +msgid "Link Points to illegal name" +msgstr "Dowi�zanie wskazuje na b��dn� nazw�" + +#: stdio-common/../sysdeps/gnu/errlist.c:638 msgid "Link has been severed" msgstr "Po��czenie zosta�o przerwane" -#: stdio-common/../sysdeps/gnu/errlist.c:674 +#: stdio-common/../sysdeps/gnu/errlist.c:686 msgid "Link number out of range" msgstr "Numer dowi�zania poza zakresem" -#: nis/ypclnt.c:713 +#: nis/nis_print.c:282 +msgid "Linked Object Type : " +msgstr "Typ dowi�zanego obiektu : " + +#: nis/nis_print.c:284 +#, c-format +msgid "Linked to : %s\n" +msgstr "Dowi�zany do : %s\n" + +#: nis/ypclnt.c:787 msgid "Local domain name not set" msgstr "Lokalna domena nie jest ustawiona" -#: nis/ypclnt.c:703 +#: nis/ypclnt.c:777 msgid "Local resource allocation failure" msgstr "Wyst�pi� b��d podczas przydzielania lokalnych zasob�w" -#: stdio-common/../sysdeps/gnu/errlist.c:722 +#: stdio-common/../sysdeps/gnu/errlist.c:734 msgid "Machine is not on the network" msgstr "Maszyna nie znajduje si� w tej sieci" -#: posix/regex.c:966 +#: nis/nis_error.c:45 +msgid "Malformed Name, or illegal name" +msgstr "Zniekszta�cona lub b��dna nazwa" + +#: argp/argp-help.c:1182 +msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options." +msgstr "Argumenty obowi�zkowe lub opcjonalne dla d�ugich opcji s� r�wnie� obowi�zkowe lub lokalne dla odpowiednich kr�tkich opcji." + +#: nis/nis_print.c:168 +msgid "Master Server :\n" +msgstr "Serwer nadrz�dny :\n" + +#: nis/nis_error.c:75 +msgid "Master server busy, full dump rescheduled." +msgstr "Serwer nadrz�dny jest zaj�ty, pe�ny zrzut danych przesuni�ty na p��niej." + +#: posix/../sysdeps/posix/gai_strerror.c:35 +msgid "Memory allocation failure" +msgstr "Wyst�pi� b��d przydzielania pami�ci" + +#: posix/regex.c:1024 msgid "Memory exhausted" msgstr "Pami�� wyczerpana" #. TRANS The size of a message sent on a socket was larger than the supported #. TRANS maximum size. -#: stdio-common/../sysdeps/gnu/errlist.c:305 +#: stdio-common/../sysdeps/gnu/errlist.c:317 msgid "Message too long" msgstr "Komunikat za d�ugi" +#: nis/nis_error.c:57 +msgid "Missing or malformed attribute" +msgstr "Brakuj�cy lub b��dny atrybut" + +#: nis/nis_print.c:323 +#, c-format +msgid "Mod. Time : %s" +msgstr "Modyfikacja : %s" + +#: nis/nis_error.c:50 +msgid "Modification failed" +msgstr "Modyfikacja nie powiod�a si�" + +#: nis/nis_error.c:63 +msgid "Modify operation failed" +msgstr "Operacja modyfikacji nie powiod�a si�" + +#: locale/programs/locale.c:68 +msgid "Modify output format:" +msgstr "Modyfikuje format wyj�ciowy:" + # wydaje mi sie ze tu chodzi o wyczerpanie TTL i stad 'zbyt' -PK -#: stdio-common/../sysdeps/gnu/errlist.c:618 +#: stdio-common/../sysdeps/gnu/errlist.c:630 msgid "Multihop attempted" msgstr "Pr�ba przej�cia przez zbyt wiele ruter�w" -#: nis/ypclnt.c:717 +#: catgets/gencat.c:106 catgets/gencat.c:110 db2/makedb.c:59 +#: locale/programs/localedef.c:115 nscd/nscd.c:77 +msgid "NAME" +msgstr "NAZWA" + +#: locale/programs/locale.c:78 +msgid "" +"NAME\n" +"[-a|-m]" +msgstr "" +"NAZWA\n" +"[-a|-m]" + +#: nis/nis_print.c:31 +msgid "NIS" +msgstr "NIS" + +#: nis/ypclnt.c:791 msgid "NIS client/server version mismatch - can't supply service" msgstr "Niezgodno�� wersji mi�dzy klientem i serwerem NIS - us�uga niemo�liwa" -#: nis/ypclnt.c:715 -msgid "NIS map data base is bad" +#: nis/ypclnt.c:789 +msgid "NIS map database is bad" msgstr "Mapa NIS zawiera b��dy" -#: stdio-common/../sysdeps/gnu/errlist.c:746 +#: nis/nis_error.c:68 +msgid "NIS+ operation failed" +msgstr "Operacja NIS+ nie powiod�a si�" + +#: nis/nis_error.c:33 +msgid "NIS+ servers unreachable" +msgstr "Serwery NIS+ s� niedost�pne" + +#: nis/nis_error.c:69 +msgid "NIS+ service is unavailable or not installed" +msgstr "Us�uga NIS+ jest niedost�pna lub nie zosta�a zainstalowana" + +#: nis/nis_print.c:108 +msgid "NO OBJECT\n" +msgstr "BRAK OBIEKTU\n" + +#: nscd/nscd.c:81 +msgid "NUMBER" +msgstr "LICZBA" + +#: nis/nis_print.c:162 +#, c-format +msgid "Name : '%s'\n" +msgstr "Nazwa : '%s'\n" + +# XXX moze zostawic oryginal albo zrobic ladniej -PK +#: nscd/nscd.c:88 +msgid "Name Service Cache Daemon." +msgstr "Demon buforuj�cy us�ugi odwzorowania nazw." + +#: nis/nis_error.c:40 +msgid "Name not served by this server" +msgstr "Nazwa nie jest obs�ugiwana przez ten serwer" + +#: stdio-common/../sysdeps/gnu/errlist.c:758 msgid "Name not unique on network" -msgstr "Istnieje ju� taka nazwa w sieci" +msgstr "Nazwa nie jest unikalna w sieci" + +#: posix/../sysdeps/posix/gai_strerror.c:37 +msgid "Name or service not known" +msgstr "Ta nazwa lub us�uga jest nieznana" + +#: nis/nis_error.c:49 +msgid "Name/entry isn't unique" +msgstr "Nazwa/zapis nie jest unikalny" + +#: nis/nis_error.c:58 +msgid "Named object is not searchable" +msgstr "Wskazany obiekt nie mo�e by� przeszukiwany" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:554 +#: stdio-common/../sysdeps/gnu/errlist.c:566 msgid "Need authenticator" -msgstr "Wymagana autoryzacja" +msgstr "Wymagane uwierzytelnienie" #. TRANS A network connection was reset because the remote host crashed. -#: stdio-common/../sysdeps/gnu/errlist.c:377 +#: stdio-common/../sysdeps/gnu/errlist.c:389 msgid "Network dropped connection on reset" msgstr "Sie� przerwa�a po��czenie po resecie" #. TRANS A socket operation failed because the network was down. -#: stdio-common/../sysdeps/gnu/errlist.c:366 +#: stdio-common/../sysdeps/gnu/errlist.c:378 msgid "Network is down" msgstr "Sie� nie dzia�a" #. TRANS A socket operation failed because the subnet containing the remote host #. TRANS was unreachable. -#: stdio-common/../sysdeps/gnu/errlist.c:372 +#: stdio-common/../sysdeps/gnu/errlist.c:384 msgid "Network is unreachable" msgstr "Sie� jest niedost�pna" -#: stdio-common/../sysdeps/gnu/errlist.c:682 +#: stdio-common/../sysdeps/gnu/errlist.c:694 msgid "No CSI structure available" msgstr "Struktura CSI niedost�pna" -#: stdio-common/../sysdeps/gnu/errlist.c:790 +#: stdio-common/../sysdeps/gnu/errlist.c:802 msgid "No XENIX semaphores available" msgstr "Brak dost�pnych semafor�w XENIXowych" +#: posix/../sysdeps/posix/gai_strerror.c:36 +msgid "No address associated with hostname" +msgstr "Brak adresu zwi�zanego z nazw� hosta" + #: resolv/herror.c:77 msgid "No address associated with name" msgstr "Brak adresu zwi�zanego z nazw�" -#: stdio-common/../sysdeps/gnu/errlist.c:702 +#: stdio-common/../sysdeps/gnu/errlist.c:714 msgid "No anode" msgstr "Brak anody" #. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this #. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the #. TRANS other from network operations. -#: stdio-common/../sysdeps/gnu/errlist.c:396 +#: stdio-common/../sysdeps/gnu/errlist.c:408 msgid "No buffer space available" msgstr "Brak miejsca w buforze" #. TRANS There are no child processes. This error happens on operations that are #. TRANS supposed to manipulate child processes, when there aren't any processes #. TRANS to manipulate. -#: stdio-common/../sysdeps/gnu/errlist.c:77 +#: stdio-common/../sysdeps/gnu/errlist.c:89 msgid "No child processes" msgstr "Brak proces�w potomnych" -#: stdio-common/../sysdeps/gnu/errlist.c:622 +#: stdio-common/../sysdeps/gnu/errlist.c:634 msgid "No data available" msgstr "Brak danych" +#: nis/nis_error.c:73 +msgid "No file space on server" +msgstr "Brak miejsca na serwerze" + #. TRANS No locks available. This is used by the file locking facilities; see #. TRANS @ref{File Locks}. This error is never generated by the GNU system, but #. TRANS it can result from an operation to an NFS server running another #. TRANS operating system. -#: stdio-common/../sysdeps/gnu/errlist.c:535 +#: stdio-common/../sysdeps/gnu/errlist.c:547 msgid "No locks available" msgstr "Brak dost�pnych blokad" -#: posix/regex.c:955 +#: posix/regex.c:1013 msgid "No match" msgstr "Nic nie pasuje" -#: stdio-common/../sysdeps/gnu/errlist.c:630 +#: stdio-common/../sysdeps/gnu/errlist.c:814 +msgid "No medium found" +msgstr "Brak medium" + +#: stdio-common/../sysdeps/gnu/errlist.c:642 msgid "No message of desired type" msgstr "Brak komunikatu o po��danym typie" -#: nis/ypclnt.c:705 +#: nis/ypclnt.c:779 msgid "No more records in map database" msgstr "Nie ma wi�cej rekord�w w mapie" -#: posix/regex.c:5324 +#: posix/regex.c:5515 msgid "No previous regular expression" msgstr "Brak wyra�enia regularnego" -#: sunrpc/rpcinfo.c:515 +#: sunrpc/rpcinfo.c:570 msgid "No remote programs registered.\n" msgstr "Brak zarejestrowanych zdalnych program�w.\n" #. TRANS The remote host for a requested network connection is not reachable. -#: stdio-common/../sysdeps/gnu/errlist.c:462 +#: stdio-common/../sysdeps/gnu/errlist.c:474 msgid "No route to host" msgstr "Brak drogi do systemu" #. TRANS No space left on device; write operation on a file failed because the #. TRANS disk is full. -#: stdio-common/../sysdeps/gnu/errlist.c:196 +#: stdio-common/../sysdeps/gnu/errlist.c:208 msgid "No space left on device" msgstr "Brak miejsca na urz�dzeniu" +#. TRANS The wrong type of device was given to a function that expects a +#. TRANS particular sort of device. +#: stdio-common/../sysdeps/gnu/errlist.c:147 +msgid "No such device" +msgstr "Nie ma takiego urz�dzenia" + #. TRANS No such file or directory. This is a ``file doesn't exist'' error #. TRANS for ordinary files that are referenced in contexts where they are #. TRANS expected to already exist. -#: stdio-common/../sysdeps/gnu/errlist.c:19 +#: stdio-common/../sysdeps/gnu/errlist.c:31 msgid "No such file or directory" msgstr "Nie ma takiego pliku ani katalogu" -#: nis/ypclnt.c:699 +#: nis/ypclnt.c:773 msgid "No such key in map" msgstr "Brak takiego klucza w mapie" -#: nis/ypclnt.c:697 +#: nis/ypclnt.c:771 msgid "No such map in server's domain" msgstr "Nie ma takiej mapy w domenie serwera" #. TRANS No process matches the specified process ID. -#: stdio-common/../sysdeps/gnu/errlist.c:24 +#: stdio-common/../sysdeps/gnu/errlist.c:36 msgid "No such process" msgstr "Nie ma takiego procesu" -#: stdio-common/../sysdeps/gnu/errlist.c:786 +#: nis/nis_error.c:60 +msgid "Non NIS+ namespace encountered" +msgstr "Napotkano nazwy nie nale��ce do przestrzeni NIS+" + +#: posix/../sysdeps/posix/gai_strerror.c:33 +msgid "Non-recoverable failure in name resolution" +msgstr "Wyst�pi� krytyczny b��d w odwzorowaniu nazw" + +#: nis/nis_print.c:176 +msgid "None.\n" +msgstr "Brak.\n" + +#: nis/nis_error.c:48 +msgid "Not Found, no such name" +msgstr "Nie znaleziono, brak takiej nazwy" + +#: stdio-common/../sysdeps/gnu/errlist.c:798 msgid "Not a XENIX named type file" msgstr "To nie jest nazwanego pliku w wersji XENIXa" #. TRANS A file that isn't a directory was specified when a directory is required. -#: stdio-common/../sysdeps/gnu/errlist.c:140 +#: stdio-common/../sysdeps/gnu/errlist.c:152 msgid "Not a directory" msgstr "To nie jest katalog" +#: nis/nis_error.c:30 +msgid "Not found" +msgstr "Nie znaleziono" + +#: nis/nis_error.c:43 +msgid "Not master server for this domain" +msgstr "To nie jest serwer nadrz�dny dla tej domeny" + +#: nis/nis_error.c:39 +msgid "Not owner" +msgstr "To nie jest w�a�ciciel" + +#: nis/nis_print.c:263 +#, c-format +msgid "Number of Columns : %d\n" +msgstr "Liczba kolumn : %d\n" + +#: nis/nis_print.c:358 +#, c-format +msgid "Number of objects : %u\n" +msgstr "L. obiekt�w : %u\n" + #. TRANS Domain error; used by mathematical functions when an argument value does #. TRANS not fall into the domain over which the function is defined. -#: stdio-common/../sysdeps/gnu/errlist.c:228 +#: stdio-common/../sysdeps/gnu/errlist.c:240 msgid "Numerical argument out of domain" msgstr "Argument numeryczny poza zakresem" #. TRANS Range error; used by mathematical functions when the result value is #. TRANS not representable because of overflow or underflow. -#: stdio-common/../sysdeps/gnu/errlist.c:234 +#: stdio-common/../sysdeps/gnu/errlist.c:246 msgid "Numerical result out of range" msgstr "Wynik numeryczny poza zakresem" +#: nis/nis_print.c:362 +#, c-format +msgid "Object #%d:\n" +msgstr "Obiekt #%d:\n" + +#: nis/nis_print.c:314 +#, c-format +msgid "Object Name : %s\n" +msgstr "Nazwa obiektu : %s\n" + +#: nis/nis_print.c:324 +msgid "Object Type : " +msgstr "Typ obiektu : " + # to imho jest bardziej zrozumiale - zwlaszcza ze to sie czasem zdarza # jak sie uruchomi mountd bez -r -PK #. TRANS An attempt was made to NFS-mount a remote file system with a file name that #. TRANS already specifies an NFS-mounted file. #. TRANS (This is an error on some operating systems, but we expect it to work #. TRANS properly on the GNU system, making this error code impossible.) -#: stdio-common/../sysdeps/gnu/errlist.c:502 +#: stdio-common/../sysdeps/gnu/errlist.c:514 msgid "Object is remote" msgstr "Zdalny obiekt jest obiektem podmontowanym przez NFS" -#: time/zic.c:1966 +#: nis/nis_error.c:42 +msgid "Object with same name exists" +msgstr "Istnieje ju� obiekt o tej nazwie" + +#: timezone/zic.c:1995 msgid "Odd number of quotation marks" msgstr "Nieparzysta liczba cudzys�ow�w" +#: nscd/nscd.c:185 +msgid "Only root is allowed to use this option!" +msgstr "Tylko root mo�e u�ywa� tej opcji!" + #. TRANS An operation is already in progress on an object that has non-blocking #. TRANS mode selected. -#: stdio-common/../sysdeps/gnu/errlist.c:294 +#: stdio-common/../sysdeps/gnu/errlist.c:306 msgid "Operation already in progress" msgstr "Operacja jest ju� wykonywana" #. TRANS Operation not permitted; only the owner of the file (or other resource) #. TRANS or processes with special privileges can perform the operation. -#: stdio-common/../sysdeps/gnu/errlist.c:12 +#: stdio-common/../sysdeps/gnu/errlist.c:24 msgid "Operation not permitted" msgstr "Operacja niedozwolona" @@ -1116,16 +1840,10 @@ msgstr "Operacja niedozwolona" #. TRANS error can happen for many calls when the object does not support the #. TRANS particular operation; it is a generic indication that the server knows #. TRANS nothing to do for that call. -#: stdio-common/../sysdeps/gnu/errlist.c:338 +#: stdio-common/../sysdeps/gnu/errlist.c:350 msgid "Operation not supported" msgstr "Operacja nie obs�ugiwana" -#. TRANS The wrong type of device was given to a function that expects a -#. TRANS particular sort of device. -#: stdio-common/../sysdeps/gnu/errlist.c:135 -msgid "Operation not supported by device" -msgstr "Operacja nie obs�ugiwana przez urz�dzenie" - #. TRANS An operation that cannot complete immediately was initiated on an object #. TRANS that has non-blocking mode selected. Some functions that must always #. TRANS block (such as @code{connect}; @pxref{Connecting}) never return @@ -1134,7 +1852,7 @@ msgstr "Operacja nie obs�ugiwana przez u #. TRANS the object before the call completes return @code{EALREADY}. You can #. TRANS use the @code{select} function to find out when the pending operation #. TRANS has completed; @pxref{Waiting for I/O}. -#: stdio-common/../sysdeps/gnu/errlist.c:288 +#: stdio-common/../sysdeps/gnu/errlist.c:300 msgid "Operation now in progress" msgstr "Operacja jest w�a�nie wykonywana" @@ -1143,213 +1861,304 @@ msgstr "Operacja jest w�a�nie wykonywana #. TRANS #. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a #. TRANS separate error code. -#: stdio-common/../sysdeps/gnu/errlist.c:276 +#: stdio-common/../sysdeps/gnu/errlist.c:288 msgid "Operation would block" msgstr "Operacja spowoduje blokad�" -#: stdio-common/../sysdeps/gnu/errlist.c:634 +#: stdio-common/../sysdeps/gnu/errlist.c:646 msgid "Out of streams resources" msgstr "Brak dodatkowych strumieni" -#: stdio-common/../sysdeps/gnu/errlist.c:726 +#: iconv/iconv_prog.c:59 locale/programs/localedef.c:101 +msgid "Output control:" +msgstr "Kontrola wyj�cia:" + +#: elf/sprof.c:76 +msgid "Output selection:" +msgstr "Wyb�r wyj�cia:" + +#: nis/nis_print.c:316 +#, c-format +msgid "Owner : %s\n" +msgstr "W�a�ciciel : %s\n" + +#: nis/nis_print.c:126 +msgid "PRIVATE\n" +msgstr "PRYWATNY\n" + +#: stdio-common/../sysdeps/gnu/errlist.c:738 msgid "Package not installed" -msgstr "Pakiet nie zosta� zainstalowany" +msgstr "Pakiet nie jest zainstalowany" + +#: nscd/nscd_conf.c:84 +#, c-format +msgid "Parse error: %s" +msgstr "B��d parsowania: %s" + +#: nis/nis_error.c:54 +msgid "Partial Success" +msgstr "Cz��ciowy sukces" + +#: nis/nis_error.c:62 +msgid "Passed object is not the same object on server" +msgstr "Uzyskany obiekt nie jest taki sam jak obiekt na serwerze" #. TRANS Permission denied; the file permissions do not allow the attempted operation. -#: nis/ypclnt.c:719 stdio-common/../sysdeps/gnu/errlist.c:96 +#: nis/nis_error.c:38 nis/ypclnt.c:793 +#: stdio-common/../sysdeps/gnu/errlist.c:108 msgid "Permission denied" -msgstr "Odmowa dost�pu" +msgstr "Brak dost�pu" #: sysdeps/unix/sysv/linux/siglist.h:64 msgid "Power failure" msgstr "Awaria zasilania" -#: posix/regex.c:968 +#: posix/regex.c:1026 msgid "Premature end of regular expression" msgstr "Niespodziewany koniec wyra�enia regularnego" -#: stdio-common/../sysdeps/unix/siglist.c:56 +#: db2/makedb.c:63 +msgid "Print content of database file, one entry a line" +msgstr "Wy�wietla rekordy bazy linijka po linijce" + +#: nscd/nscd.c:83 +msgid "Print current configuration statistic" +msgstr "Wy�wietla aktualne statystyki konfiguracji" + +#: locale/programs/localedef.c:107 +msgid "Print more messages" +msgstr "Wy�wietla wi�cej komunikat�w" + +#: argp/argp-parse.c:148 +msgid "Print program version" +msgstr "Wy�wietla wersj� programu" + +#: nis/nis_error.c:29 +msgid "Probable success" +msgstr "Prawdopodobnie sukces" + +#: nis/nis_error.c:31 +msgid "Probably not found" +msgstr "Prawdopodobnie nie znaleziony" + +#: stdio-common/../sysdeps/unix/siglist.c:52 #: sysdeps/unix/sysv/linux/siglist.h:46 msgid "Profiling timer expired" msgstr "Koniec stopera profiluj�cego" -#: stdio-common/../sysdeps/gnu/errlist.c:678 +#: stdio-common/../sysdeps/gnu/errlist.c:690 msgid "Protocol driver not attached" msgstr "Sterownik protoko�u nie jest pod��czony" -#: stdio-common/../sysdeps/gnu/errlist.c:646 +#: stdio-common/../sysdeps/gnu/errlist.c:658 msgid "Protocol error" msgstr "B��d protoko�u" #. TRANS The socket communications protocol family you requested is not supported. -#: stdio-common/../sysdeps/gnu/errlist.c:343 +#: stdio-common/../sysdeps/gnu/errlist.c:355 msgid "Protocol family not supported" msgstr "Nie obs�ugiwana rodzina protoko��w" #. TRANS You specified a socket option that doesn't make sense for the #. TRANS particular protocol being used by the socket. @xref{Socket Options}. -#: stdio-common/../sysdeps/gnu/errlist.c:316 +#: stdio-common/../sysdeps/gnu/errlist.c:328 msgid "Protocol not available" msgstr "Protok�� niedost�pny" #. TRANS The socket domain does not support the requested communications protocol -#. TRANS (perhaps because the requested protocol is completely invalid.) +#. TRANS (perhaps because the requested protocol is completely invalid). #. TRANS @xref{Creating a Socket}. -#: stdio-common/../sysdeps/gnu/errlist.c:323 +#: stdio-common/../sysdeps/gnu/errlist.c:335 msgid "Protocol not supported" msgstr "Protok�� nie obs�ugiwany" #. TRANS The socket type does not support the requested communications protocol. -#: stdio-common/../sysdeps/gnu/errlist.c:310 +#: stdio-common/../sysdeps/gnu/errlist.c:322 msgid "Protocol wrong type for socket" msgstr "Typ protoko�u nie pasuje do gniazda" -#: stdio-common/../sysdeps/unix/siglist.c:32 +#: nis/nis_error.c:64 +msgid "Query illegal for named table" +msgstr "B��dne zapytanie dla podanej tablicy" + +# XXX -PK +#: stdio-common/../sysdeps/unix/siglist.c:28 #: sysdeps/unix/sysv/linux/siglist.h:24 msgid "Quit" msgstr "Wyj�cie" -#: stdio-common/../sysdeps/gnu/errlist.c:742 +#: stdio-common/../sysdeps/gnu/errlist.c:754 msgid "RFS specific error" msgstr "B��d RFS" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:527 +#: stdio-common/../sysdeps/gnu/errlist.c:539 msgid "RPC bad procedure for program" msgstr "RPC z�a procedura dla programu" -#: nis/ypclnt.c:693 +#: nis/ypclnt.c:767 msgid "RPC failure on NIS operation" msgstr "B��d RPC podczas operacji NIS" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:517 +#: stdio-common/../sysdeps/gnu/errlist.c:529 msgid "RPC program not available" msgstr "RPC program niedost�pny" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:522 +#: stdio-common/../sysdeps/gnu/errlist.c:534 msgid "RPC program version wrong" msgstr "RPC z�a wersja programu" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:507 +#: stdio-common/../sysdeps/gnu/errlist.c:519 msgid "RPC struct is bad" msgstr "RPC b��dna struktura" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:512 +#: stdio-common/../sysdeps/gnu/errlist.c:524 msgid "RPC version wrong" msgstr "RPC z�a wersja" -#: sunrpc/clnt_perr.c:217 +#: sunrpc/clnt_perr.c:215 msgid "RPC: (unknown error code)" msgstr "RPC: (nieznany kod b��du)" -#: sunrpc/clnt_perr.c:179 +#: sunrpc/clnt_perr.c:176 msgid "RPC: Authentication error" msgstr "RPC: B��d uwierzytelniania" -#: sunrpc/clnt_perr.c:169 +#: sunrpc/clnt_perr.c:166 msgid "RPC: Can't decode result" msgstr "RPC: Nie mog� zdekodowa� wyniku" -#: sunrpc/clnt_perr.c:167 +#: sunrpc/clnt_perr.c:164 msgid "RPC: Can't encode arguments" msgstr "RPC: Nie mog� zakodowa� argument�w" -#: sunrpc/clnt_perr.c:199 +#: sunrpc/clnt_perr.c:196 msgid "RPC: Failed (unspecified error)" msgstr "RPC: Nieudane (niesprecyzowany b��d)" -#: sunrpc/clnt_perr.c:177 +#: sunrpc/clnt_perr.c:174 msgid "RPC: Incompatible versions of RPC" msgstr "RPC: Niekompatybilne wersje RPC" -#: sunrpc/clnt_perr.c:195 +#: sunrpc/clnt_perr.c:192 msgid "RPC: Port mapper failure" msgstr "RPC: Awaria portmappera" -#: sunrpc/clnt_perr.c:185 +#: sunrpc/clnt_perr.c:182 msgid "RPC: Procedure unavailable" msgstr "RPC: Niedost�pna procedura" -#: sunrpc/clnt_perr.c:197 +#: sunrpc/clnt_perr.c:194 msgid "RPC: Program not registered" msgstr "RPC: Niezarejestrowany program" -#: sunrpc/clnt_perr.c:181 +#: sunrpc/clnt_perr.c:178 msgid "RPC: Program unavailable" msgstr "RPC: Niedost�pny program" -#: sunrpc/clnt_perr.c:183 +#: sunrpc/clnt_perr.c:180 msgid "RPC: Program/version mismatch" msgstr "RPC: Niezgodno�� programu/wersji" -#: sunrpc/clnt_perr.c:189 +#: sunrpc/clnt_perr.c:186 msgid "RPC: Remote system error" msgstr "RPC: B��d w odleg�ym systemie" -#: sunrpc/clnt_perr.c:187 +#: sunrpc/clnt_perr.c:184 msgid "RPC: Server can't decode arguments" msgstr "RPC: Serwer nie mo�e zdekodowa� argument�w" -#: sunrpc/clnt_perr.c:165 +#: sunrpc/clnt_perr.c:162 msgid "RPC: Success" msgstr "RPC: Sukces" -#: sunrpc/clnt_perr.c:175 +#: sunrpc/clnt_perr.c:172 msgid "RPC: Timed out" msgstr "RPC: Czas oczekiwania przekroczony" -#: sunrpc/clnt_perr.c:173 +#: sunrpc/clnt_perr.c:170 msgid "RPC: Unable to receive" msgstr "RPC: Niemo�liwy odbi�r" -#: sunrpc/clnt_perr.c:171 +#: sunrpc/clnt_perr.c:168 msgid "RPC: Unable to send" msgstr "RPC: Niemo�liwe wysy�anie" -#: sunrpc/clnt_perr.c:191 +#: sunrpc/clnt_perr.c:188 msgid "RPC: Unknown host" msgstr "RPC: Nieznany host" -#: sunrpc/clnt_perr.c:193 +#: sunrpc/clnt_perr.c:190 msgid "RPC: Unknown protocol" msgstr "RCP: Nieznany protok��" -#: elf/dlsym.c:49 +#: nis/nis_print.c:184 +#, c-format +msgid "RSA (%d bits)\n" +msgstr "RSA (%d bit�w)\n" + +#: elf/dlsym.c:59 elf/dlvsym.c:62 msgid "RTLD_NEXT used in code not dynamically loaded" msgstr "RTLD_NEXT wyst�pi�o w kodzie nie �adowanym dynamicznie" +#: elf/sprof.c:88 +msgid "Read and display shared object profiling data" +msgstr "Czyta i wy�wietla dane profiluj�ce obiektu dzielonego" + +#: nscd/nscd.c:78 +msgid "Read configuration data from NAME" +msgstr "Czyta konfiguracj� z pliku NAZWA" + #. TRANS An attempt was made to modify something on a read-only file system. -#: stdio-common/../sysdeps/gnu/errlist.c:206 +#: stdio-common/../sysdeps/gnu/errlist.c:218 msgid "Read-only file system" msgstr "System plik�w wy��cznie do odczytu" -#: posix/regex.c:969 +#: string/strsignal.c:66 +#, c-format +msgid "Real-time signal %d" +msgstr "Sygna� w czasie rzeczywistym %d" + +#: posix/regex.c:1027 msgid "Regular expression too big" msgstr "Wyra�enie regularne jest za du�e" -#: stdio-common/../sysdeps/gnu/errlist.c:798 +#: stdio-common/../sysdeps/gnu/errlist.c:810 msgid "Remote I/O error" msgstr "B��d we/wy w odleg�ym systemie" -#: stdio-common/../sysdeps/gnu/errlist.c:754 +#: stdio-common/../sysdeps/gnu/errlist.c:766 msgid "Remote address changed" -msgstr "Zmieni� si� odleg�y adres" +msgstr "Zmieni� si� adres drugiego ko�ca" #: inet/ruserpass.c:162 msgid "Remove password or make file unreadable by others." msgstr "Usu� has�o lub uczy� plik niedost�pnym dla innych" -#: catgets/gencat.c:224 db/makedb.c:227 locale/programs/locale.c:257 -#: locale/programs/localedef.c:412 -msgid "Report bugs using the `glibcbug' script to <bugs@gnu.ai.mit.edu>.\n" -msgstr "" -"B��dy zg�aszaj za pomoc� skryptu `glibcbug' na adres <bugs@gnu.ai.mit.edu>.\n" +#: elf/sprof.c:537 +#, c-format +msgid "Reopening shared object `%s' failed" +msgstr "Nie powiod�o si� ponowne otwarcie dzielonego obiektu `%s'" -#: nis/ypclnt.c:691 +#: nis/nis_print.c:170 +msgid "Replicate :\n" +msgstr "Replikacja :\n" + +#: argp/argp-help.c:1638 +#, c-format +msgid "Report bugs to %s.\n" +msgstr "Prosimy zg�asza� b��dy na adres %s.\n" + +#: catgets/gencat.c:223 db2/makedb.c:229 iconv/iconv_prog.c:280 +#: locale/programs/locale.c:254 locale/programs/localedef.c:389 +msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n" +msgstr "Prosimy zg�asza� b��dy za pomoc� skryptu `glibcbug' na adres <bugs@gnu.org>.\n" + +#: nis/ypclnt.c:765 msgid "Request arguments bad" msgstr "Argumenty ��dania s� b��dne" @@ -1365,11 +2174,11 @@ msgstr "B��d wewn�trzny resolvera" #. TRANS deadlock situation. The system does not guarantee that it will notice #. TRANS all such situations. This error means you got lucky and the system #. TRANS noticed; it might just hang. @xref{File Locks}, for an example. -#: stdio-common/../sysdeps/gnu/errlist.c:85 +#: stdio-common/../sysdeps/gnu/errlist.c:97 msgid "Resource deadlock avoided" msgstr "Unikni�to zakleszczenia zasob�w" -#: stdio-common/../sysdeps/unix/siglist.c:58 +#: stdio-common/../sysdeps/unix/siglist.c:54 msgid "Resource lost" msgstr "Zasoby zosta�y stracone" @@ -1387,7 +2196,7 @@ msgstr "Zasoby zosta�y stracone" #. TRANS connect (whatever the operation). You can use @code{select} to find out #. TRANS when the operation will be possible; @pxref{Waiting for I/O}. #. TRANS -#. TRANS @strong{Portability Note:} In older Unix many systems, this condition +#. TRANS @strong{Portability Note:} In many older Unix systems, this condition #. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code #. TRANS different from @code{EAGAIN}. To make your program portable, you should #. TRANS check for both codes and treat them the same. @@ -1402,43 +2211,89 @@ msgstr "Zasoby zosta�y stracone" #. TRANS so usually an interactive program should report the error to the user #. TRANS and return to its command loop. #. TRANS @end itemize -#: stdio-common/../sysdeps/gnu/errlist.c:267 +#: stdio-common/../sysdeps/gnu/errlist.c:279 msgid "Resource temporarily unavailable" msgstr "Zasoby chwilowo niedost�pne" -#: stdio-common/../sysdeps/unix/siglist.c:40 +# XXX callback? -PK +#: nis/nis_error.c:47 +msgid "Results Sent to callback proc" +msgstr "Wyniki zosta�y wys�ane do procedury callbacka" + +#: elf/sprof.c:91 +msgid "SHOBJ [PROFDATA]" +msgstr "OBJ_DZIEL [DANE_PROF]" + +#: nis/nis_print.c:33 +msgid "SUNYP" +msgstr "SUNYP" + +#: nis/nis_print.c:265 +#, c-format +msgid "Search Path : %s\n" +msgstr "�cie�ka przeszukiwania : %s\n" + +#: stdio-common/../sysdeps/unix/siglist.c:36 #: sysdeps/unix/sysv/linux/siglist.h:31 msgid "Segmentation fault" msgstr "Naruszenie ochrony pami�ci" -#: sunrpc/clnt_perr.c:280 +#: nis/nis_error.c:35 +msgid "Server busy, try again" +msgstr "Serwer zaj�ty, spr�buj ponownie" + +#: nis/nis_error.c:41 +msgid "Server out of memory" +msgstr "Brak pami�ci dla serwera" + +#: sunrpc/clnt_perr.c:277 msgid "Server rejected credential" -msgstr "Serwer odm�wi� uwierzytelnienia" +msgstr "Serwer odrzuci� wierzytelno��" -#: sunrpc/clnt_perr.c:284 +#: sunrpc/clnt_perr.c:281 msgid "Server rejected verifier" -msgstr "Serwer odm�wi� weryfikacji" +msgstr "Serwer odrzuci� weryfikacj�" -#: stdio-common/../sysdeps/unix/siglist.c:29 +#: posix/../sysdeps/posix/gai_strerror.c:38 +msgid "Servname not supported for ai_socktype" +msgstr "Nazwa nie obs�ugiwana dla ai_socktype" + +#: argp/argp-parse.c:89 +msgid "Set the program name" +msgstr "Okre�la nazw� programu" + +#: nscd/nscd.c:82 +msgid "Shut the server down" +msgstr "Ko�czy prac� serwera" + +#: stdio-common/../sysdeps/unix/siglist.c:25 msgid "Signal 0" msgstr "Sygna� 0" #. TRANS A file that isn't a socket was specified when a socket is required. -#: stdio-common/../sysdeps/gnu/errlist.c:299 +#: stdio-common/../sysdeps/gnu/errlist.c:311 msgid "Socket operation on non-socket" -msgstr "Operacja typu gniazda na obiekcie kt�ry nie jest gniazdem" +msgstr "Operacja na obiekcie, kt�ry nie jest gniazdem" #. TRANS The socket type is not supported. -#: stdio-common/../sysdeps/gnu/errlist.c:328 +#: stdio-common/../sysdeps/gnu/errlist.c:340 msgid "Socket type not supported" msgstr "Nie obs�ugiwany typ gniazda" #. TRANS A network connection was aborted locally. -#: stdio-common/../sysdeps/gnu/errlist.c:382 +#: stdio-common/../sysdeps/gnu/errlist.c:394 msgid "Software caused connection abort" msgstr "Oprogramowanie spowodowa�o przerwanie po��czenia" -#: stdio-common/../sysdeps/gnu/errlist.c:734 +#: sunrpc/rpcinfo.c:658 +msgid "Sorry. You are not root\n" +msgstr "Niestety nie jeste� rootem\n" + +#: locale/programs/localedef.c:97 +msgid "Source definitions are found in FILE" +msgstr "Definicje �r�d�owe znajduj� si� w PLIKU" + +#: stdio-common/../sysdeps/gnu/errlist.c:746 msgid "Srmount error" msgstr "B��d srmount" @@ -1450,48 +2305,101 @@ msgstr "B��d stosu" #. TRANS system which is due to file system rearrangements on the server host. #. TRANS Repairing this condition usually requires unmounting and remounting #. TRANS the NFS file system on the local host. -#: stdio-common/../sysdeps/gnu/errlist.c:494 +#: stdio-common/../sysdeps/gnu/errlist.c:506 msgid "Stale NFS file handle" msgstr "Nieaktualny uchwyt pliku NFS" -#: stdio-common/../sysdeps/unix/siglist.c:47 +#: nscd/nscd.c:81 +msgid "Start NUMBER threads" +msgstr "Uruchamia LICZB� w�tk�w" + +#: nis/nis_print.c:357 +#, c-format +msgid "Status : %s\n" +msgstr "Stan : %s\n" + +#: stdio-common/../sysdeps/unix/siglist.c:43 #: sysdeps/unix/sysv/linux/siglist.h:37 msgid "Stopped" msgstr "Zatrzymany" -#: stdio-common/../sysdeps/unix/siglist.c:46 +#: stdio-common/../sysdeps/unix/siglist.c:42 #: sysdeps/unix/sysv/linux/siglist.h:36 msgid "Stopped (signal)" msgstr "Zatrzymany (sygna�)" -#: stdio-common/../sysdeps/unix/siglist.c:50 +#: stdio-common/../sysdeps/unix/siglist.c:46 #: sysdeps/unix/sysv/linux/siglist.h:40 msgid "Stopped (tty input)" msgstr "Zatrzymany (wej�cie z tty)" -#: stdio-common/../sysdeps/unix/siglist.c:51 +#: stdio-common/../sysdeps/unix/siglist.c:47 #: sysdeps/unix/sysv/linux/siglist.h:41 msgid "Stopped (tty output)" msgstr "Zatrzymany (wyj�cie na tty)" -#: stdio-common/../sysdeps/gnu/errlist.c:778 +#: stdio-common/../sysdeps/gnu/errlist.c:790 msgid "Streams pipe error" msgstr "B��d potoku biblioteki strumieni" -#: stdio-common/../sysdeps/gnu/errlist.c:782 +#: stdio-common/../sysdeps/gnu/errlist.c:794 msgid "Structure needs cleaning" msgstr "Struktura wymaga wyczyszczenia" -#: nis/ypclnt.c:689 nis/ypclnt.c:763 posix/regex.c:954 -#: stdio-common/../sysdeps/gnu/errlist.c:7 +#: nis/nis_error.c:28 nis/ypclnt.c:763 nis/ypclnt.c:837 posix/regex.c:1012 +#: stdio-common/../sysdeps/gnu/errlist.c:19 msgid "Success" msgstr "Sukces" -#: nis/ypclnt.c:769 +#: locale/programs/localedef.c:106 +msgid "Suppress warnings and information messages" +msgstr "Nie wy�wietla ostrze�e� i informacji" + +#: locale/programs/localedef.c:96 +msgid "Symbolic character names defined in FILE" +msgstr "Nazwy symboliczne znak�w s� zdefiniowane w PLIKU" + +#: posix/../sysdeps/posix/gai_strerror.c:40 +msgid "System error" +msgstr "B��d systemowy" + +#: locale/programs/locale.c:63 +msgid "System information:" +msgstr "Informacja o systemie:" + +#: nis/ypclnt.c:843 msgid "System resource allocation failure" msgstr "Wyst�pi� b��d podczas przydzielania zasob�w systemowych" -#: stdio-common/../sysdeps/unix/siglist.c:44 +# wyjatkowo nieladne tlumaczenia repertoire i locale -PK +# XXX +#: locale/programs/localedef.c:384 +#, c-format +msgid "" +"System's directory for character maps : %s\n" +" repertoire maps: %s\n" +" locale path : %s\n" +"%s" +msgstr "" +"Katalog systemowy map znak�w : %s\n" +" map repertuar�w : %s\n" +" �cie�ka lokalizacji: %s\n" +"%s" + +#: nis/nis_print.c:117 +msgid "TABLE\n" +msgstr "TABLICA\n" + +#: nis/nis_print.c:262 +#, c-format +msgid "Table Type : %s\n" +msgstr "Typ tablicy : %s\n" + +#: posix/../sysdeps/posix/gai_strerror.c:31 +msgid "Temporary failure in name resolution" +msgstr "Odwzorowanie nazwy jest chwilowo niemo�liwe" + +#: stdio-common/../sysdeps/unix/siglist.c:40 #: sysdeps/unix/sysv/linux/siglist.h:34 msgid "Terminated" msgstr "Zako�czony" @@ -1501,26 +2409,55 @@ msgstr "Zako�czony" #. TRANS debugger to run a program is considered having it open for writing and #. TRANS will cause this error. (The name stands for ``text file busy''.) This #. TRANS is not an error in the GNU system; the text is copied as necessary. -#: stdio-common/../sysdeps/gnu/errlist.c:185 +#: stdio-common/../sysdeps/gnu/errlist.c:197 msgid "Text file busy" msgstr "Plik wykonywalny zaj�ty" -#: stdio-common/../sysdeps/gnu/errlist.c:650 +#: iconv/iconv_prog.c:536 +msgid "" +"The following list contain all the coded character sets known. This does\n" +"not necessarily mean that all combinations of these names can be used for\n" +"the FROM and TO command line parameters. One coded character set can be\n" +"listed with several different names (aliases).\n" +" Some of the names are no plain strings but instead regular expressions and\n" +"they match a variety of names which can be given as parameters to the\n" +"program.\n" +"\n" +" " +msgstr "" +"Poni�sza lista zawiera wszystkie zakodowane zestawy znak�w. Nie oznacza to,\n" +"�e wszystkie kombinacje zestaw�w mog� by� u�ywane jako parametry OD i DO. Jeden\n" +"zestaw znak�w mo�e znajdowa� si� na li�cie pod wieloma nazwami (aliasami).\n" +" Niekt�re nazwy nie s� zwyk�ymi napisami, tylko wyra�eniami regularnymi\n" +"pasuj�cymi do okre�lonego zbioru nazw. One tak�e mog� by� u�ywane jako\n" +"parametry programu.\n" +"\n" +" " + +#: nis/nis_print.c:223 +msgid "Time to live : " +msgstr "Czas �ycia : " + +#: stdio-common/../sysdeps/gnu/errlist.c:662 msgid "Timer expired" -msgstr "Stoper wyczerpany" +msgstr "Koniec stopera" + +#: nis/nis_error.c:55 +msgid "Too Many Attributes" +msgstr "Za du�o atrybut�w" #. TRANS Too many levels of symbolic links were encountered in looking up a file name. #. TRANS This often indicates a cycle of symbolic links. -#: stdio-common/../sysdeps/gnu/errlist.c:445 +#: stdio-common/../sysdeps/gnu/errlist.c:457 msgid "Too many levels of symbolic links" -msgstr "Za du�o poziom�w dowi�za�" +msgstr "Za du�o wzajemnych symlink�w" #. TRANS Too many links; the link count of a single file would become too large. #. TRANS @code{rename} can cause this error if the file being renamed already has #. TRANS as many links as it can take (@pxref{Renaming Files}). -#: stdio-common/../sysdeps/gnu/errlist.c:213 +#: stdio-common/../sysdeps/gnu/errlist.c:225 msgid "Too many links" -msgstr "Za du�o dowi�za�" +msgstr "Za du�o link�w" #. TRANS The current process has too many files open and can't open any more. #. TRANS Duplicate descriptors do count toward this limit. @@ -1529,90 +2466,126 @@ msgstr "Za du�o dowi�za�" #. TRANS limit that can usually be increased. If you get this error, you might #. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited; #. TRANS @pxref{Limits on Resources}. -#: stdio-common/../sysdeps/gnu/errlist.c:163 +#: stdio-common/../sysdeps/gnu/errlist.c:175 msgid "Too many open files" msgstr "Za du�o otwartych plik�w" #. TRANS There are too many distinct file openings in the entire system. Note #. TRANS that any number of linked channels count as just one file opening; see #. TRANS @ref{Linked Channels}. This error never occurs in the GNU system. -#: stdio-common/../sysdeps/gnu/errlist.c:170 +#: stdio-common/../sysdeps/gnu/errlist.c:182 msgid "Too many open files in system" msgstr "Za du�o otwartych plik�w w systemie" #. TRANS This means that the per-user limit on new process would be exceeded by #. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on #. TRANS the @code{RLIMIT_NPROC} limit. -#: stdio-common/../sysdeps/gnu/errlist.c:475 +#: stdio-common/../sysdeps/gnu/errlist.c:487 msgid "Too many processes" msgstr "Za du�o proces�w" #. TRANS ??? -#: stdio-common/../sysdeps/gnu/errlist.c:427 +#: stdio-common/../sysdeps/gnu/errlist.c:439 msgid "Too many references: cannot splice" msgstr "Za du�o odniesie�: dowi�zanie niemo�liwe" #. TRANS The file quota system is confused because there are too many users. #. TRANS @c This can probably happen in a GNU system when using NFS. -#: stdio-common/../sysdeps/gnu/errlist.c:481 +#: stdio-common/../sysdeps/gnu/errlist.c:493 msgid "Too many users" msgstr "Za du�o u�ytkownik�w" -#: stdio-common/../sysdeps/unix/siglist.c:34 -msgid "Trace/BPT trap" -msgstr "Pu�apka debuggera/BPT" - +#: stdio-common/../sysdeps/unix/siglist.c:30 #: sysdeps/unix/sysv/linux/siglist.h:26 msgid "Trace/breakpoint trap" msgstr "Pu�apka debuggera/breakpoint" -#: posix/regex.c:959 +#: posix/regex.c:1017 msgid "Trailing backslash" msgstr "Ko�cz�cy znak `\\'" #. TRANS In the GNU system, opening a file returns this error when the file is #. TRANS translated by a program and the translator program dies while starting #. TRANS up, before it has connected to the file. -#: stdio-common/../sysdeps/gnu/errlist.c:584 +#: stdio-common/../sysdeps/gnu/errlist.c:596 msgid "Translator died" msgstr "Translator przerwa� prac�" #. TRANS You tried to connect a socket that is already connected. #. TRANS @xref{Connecting}. -#: stdio-common/../sysdeps/gnu/errlist.c:402 +#: stdio-common/../sysdeps/gnu/errlist.c:414 msgid "Transport endpoint is already connected" -msgstr "Drugi koniec ma ju� po��czenie" +msgstr "Drugi koniec jest ju� po��czony" #. TRANS The socket is not connected to anything. You get this error when you #. TRANS try to transmit data over a socket, without first specifying a #. TRANS destination for the data. For a connectionless socket (for datagram #. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead. -#: stdio-common/../sysdeps/gnu/errlist.c:410 +#: stdio-common/../sysdeps/gnu/errlist.c:422 msgid "Transport endpoint is not connected" msgstr "Drugi koniec nie jest po��czony" -#: catgets/gencat.c:208 db/makedb.c:209 locale/programs/locale.c:241 -#: locale/programs/localedef.c:393 +#: argp/argp-help.c:1610 #, c-format -msgid "Try `%s --help' for more information.\n" -msgstr "Napisz `%s --help' by uzyska� pomoc.\n" +msgid "Try `%s --help' or `%s --usage' for more information.\n" +msgstr "Napisz `%s --help' lub `%s --usage' by uzyska� wi�cej informacji.\n" -#: inet/rcmd.c:137 +#: inet/rcmd.c:143 #, c-format msgid "Trying %s...\n" msgstr "Pr�buj� %s...\n" -#: inet/ruserpass.c:246 +#: nis/nis_print.c:163 +#, c-format +msgid "Type : %s\n" +msgstr "Typ : %s\n" + +#: nis/nis_print.c:47 +msgid "UNKNOWN" +msgstr "NIEZNANY" + +#: nis/nis_error.c:72 +msgid "Unable to authenticate NIS+ client" +msgstr "Uwierzytelnienie klienta NIS+ jest niemo�liwe" + +#: nis/nis_error.c:71 +msgid "Unable to authenticate NIS+ server" +msgstr "Uwierzytelnienie serwera NIS+ jest niemo�liwe" + +#: nis/nis_error.c:46 +msgid "Unable to create callback" +msgstr "Utworzenie procedury callbacka nie jest mo�liwe" + +#: nis/nis_error.c:74 +msgid "Unable to create process on server" +msgstr "Uruchomienie nowego procesu na serwerze jest niemo�liwe" + +#: nis/nis_print.c:190 +#, c-format +msgid "Unknown (type = %d, bits = %d)\n" +msgstr "Nieznany (typ = %d, bity = %d)\n" + +#: inet/ruserpass.c:248 #, c-format msgid "Unknown .netrc keyword %s" -msgstr "Nieznane s�owo kluczowe .netrc %s" +msgstr "Nieznane s�owo kluczowe w .netrc %s" -#: nis/ypclnt.c:723 +#: nis/ypclnt.c:797 msgid "Unknown NIS error code" msgstr "Nieznany kod b��du NIS" -#: string/../sysdeps/generic/_strerror.c:44 -#: string/../sysdeps/mach/_strerror.c:67 +#: nss/getent.c:505 +#, c-format +msgid "Unknown database: %s\n" +msgstr "Nieznana baza `%s'\n" + +#: posix/../sysdeps/posix/gai_strerror.c:51 +msgid "Unknown error" +msgstr "Nieznany b��d" + +#: string/../sysdeps/generic/_strerror.c:48 +#: string/../sysdeps/mach/_strerror.c:86 +#: sysdeps/mach/hurd/mips/dl-machine.c:82 msgid "Unknown error " msgstr "Nieznany b��d " @@ -1620,1151 +2593,1499 @@ msgstr "Nieznany b��d " msgid "Unknown host" msgstr "Nieznany host" +#: nis/nis_error.c:34 +msgid "Unknown object" +msgstr "Nieznany obiekt" + +#: nscd/nscd_conf.c:181 +#, c-format +msgid "Unknown option: %s %s %s" +msgstr "Nieznana opcja: %s %s %s" + #: resolv/herror.c:120 msgid "Unknown resolver error" -msgstr "Nieznany b��d resolvera" +msgstr "Nieznany b��d biblioteki odwzoruj�cej nazwy" #: resolv/herror.c:76 msgid "Unknown server error" msgstr "Nieznany b��d serwera" -#: string/strsignal.c:41 +#: string/strsignal.c:70 #, c-format msgid "Unknown signal %d" msgstr "Nieznany sygna� %d" -#: misc/error.c:100 +#: misc/error.c:107 msgid "Unknown system error" msgstr "Nieznany b��d systemowy" -#: nis/ypclnt.c:771 +#: nis/ypclnt.c:845 msgid "Unknown ypbind error" msgstr "Nieznany b��d ypbind" -#: posix/regex.c:962 +#: posix/regex.c:1020 msgid "Unmatched ( or \\(" msgstr "Niesparowane ( lub \\(" -#: posix/regex.c:970 +#: posix/regex.c:1028 msgid "Unmatched ) or \\)" msgstr "Niesparowane ) lub \\)" -#: posix/regex.c:961 +#: posix/regex.c:1019 msgid "Unmatched [ or [^" msgstr "Niesparowane [ lub [^" -#: posix/regex.c:963 +#: posix/regex.c:1021 msgid "Unmatched \\{" msgstr "Niesparowane \\{" -#: posix/getconf.c:260 +#: posix/getconf.c:692 #, c-format msgid "Unrecognized variable `%s'" msgstr "Nierozpoznana zmienna `%s'" -#: stdio-common/../sysdeps/unix/siglist.c:45 +#: stdio-common/../sysdeps/unix/siglist.c:41 #: sysdeps/unix/sysv/linux/siglist.h:35 msgid "Urgent I/O condition" msgstr "Nag�y wypadek I/O" -#: catgets/gencat.c:212 -#, c-format -msgid "" -"Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n" -" %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n" -"Mandatory arguments to long options are mandatory for short options too.\n" -" -H, --header create C header file containing symbol definitions\n" -" -h, --help display this help and exit\n" -" --new do not use existing catalog, force new output file\n" -" -o, --output=NAME write output to file NAME\n" -" -V, --version output version information and exit\n" -"If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" -"is -, output is written to standard output.\n" -msgstr "" -"Sk�adnia: %s [OPCJA]... -o PLIK_WYJ�CIOWY [PLIK_WEJ�CIOWY]...\n" -" %s [OPCJA]... [PLIK_WYJ�CIOWY [PLIK_WEJ�CIOWY]...]\n" -"Obowi�zkowe argumenty d�ugich form opcji s� wymagane tak�e dla kr�tkich " -"form.\n" -" -H, --header stw�rz nag��wek C zawieraj�cy definicje symboli\n" -" -h, --help wy�wietl ten tekst pomocy i zako�cz prac�\n" -" --new nie u�ywaj istniej�cego katalogu, wymu� nowy plik " -"wyj�ciowy\n" -" -o, --output=PLIK zapisz wynik do PLIKu\n" -" -V, --version wy�wietl wersj� programi i zako�cz prac�.\n" -"Je�li PLIKIEM_WEJ�CIOWYM jest `-', dane s� czytane ze standardowego " -"wej�cia.\n" -"Je�li PLIKIEM_WYJ�CIOWYM jest `-', wyniki s� wypisywane na standardowe " -"wyj�cie.\n" - -#: db/makedb.c:213 -#, c-format -msgid "" -"Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n" -" %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n" -" %s [OPTION]... -u INPUT-FILE\n" -"Mandatory arguments to long options are mandatory for short options too.\n" -" -f, --fold-case convert key to lower case\n" -" -h, --help display this help and exit\n" -" -o, --output=NAME write output to file NAME\n" -" --quiet don't print messages while building database\n" -" -u, --undo print content of database file, one entry a line\n" -" -V, --version output version information and exit\n" -"If INPUT-FILE is -, input is read from standard input.\n" -msgstr "" -"Sk�adnia: %s PLIK_WEJ�CIOWY PLIK_WYJ�CIOWE\n" -" %s [OPCJA]... -o PLIK_WYJ�CIOWY PLIK_WEJ�CIOWY\n" -" %s [OPCJA]... -u PLIK_WEJ�CIOWY\n" -"Obowi�zkowe argumenty d�ugich form opcji s� wymagane tak�e dla kr�tkich " -"form.\n" -" -f, --fold-case zamien litery w kluczu na ma�e\n" -" -h, --help wy�wietl ten tekst pomocy i zako�cz prac�\n" -" -o, --output=PLIK zapisz wynik do pliku PLIK\n" -" --quiet nie wy�wietlaj komunikat�w podczas tworzenia bazy " -"danych\n" -" -u, --undo wy�wietl zawarto�� bazy, po jednym rekordzie w linii\n" -" -V, --version wy�wietl wersj� programi i zako�cz prac�.\n" -"Je�li PLIKIEM_WEJ�CIOWYM jest `-', dane s� czytane ze standardowego " -"wej�cia.\n" - -#: locale/programs/localedef.c:397 -#, c-format -msgid "" -"Usage: %s [OPTION]... name\n" -"Mandatory arguments to long options are mandatory for short options too.\n" -" -c, --force create output even if warning messages were " -"issued\n" -" -h, --help display this help and exit\n" -" -f, --charmap=FILE symbolic character names defined in FILE\n" -" -i, --inputfile=FILE source definitions are found in FILE\n" -" -u, --code-set-name=NAME specify code set for mapping ISO 10646 elements\n" -" -v, --verbose print more messages\n" -" -V, --version output version information and exit\n" -" --posix be strictly POSIX conform\n" -"\n" -"System's directory for character maps: %s\n" -" locale files : %s\n" -msgstr "" -"U�ycie: %s [OPCJA]... nazwa\n" -"Argumenty wymagane dla d�ugich opcji s� wymagane tak�e dla kr�tkich form.\n" -" -c, --force utw�rz wynik nawet je�li pojawi�y si� " -"ostrze�enia\n" -" -h, --help wy�wietl ten tekst pomocy i zako�cz prac�\n" -" -f, --charmap=PLIK symboliczne nazwy znak�w zdefiniowane w PLIKu\n" -" -i, --inputfile=PLIK definicje �r�d�owe pobierz z PLIKu\n" -" -u, --code-set-name=NAZWA nazwa zbioru kod�w do mapowania element�w ISO " -"10646\n" -" -v, --verbose wy�wietlaj wi�cej informacji\n" -" -V, --version wy�wietl wersj� programu i zako�cz prac�\n" -" --posix zachowaj �cis�� zgodno�� ze standardem POSIX\n" -"\n" -"Systemowy katalog tablic znakowych: %s\n" -" pliki lokalizacyjne: %s\n" - -#: locale/programs/locale.c:245 -#, c-format -msgid "" -"Usage: %s [OPTION]... name\n" -"Mandatory arguments to long options are mandatory for short options too.\n" -" -h, --help display this help and exit\n" -" -V, --version output version information and exit\n" -"\n" -" -a, --all-locales write names of available locales\n" -" -m, --charmaps write names of available charmaps\n" -"\n" -" -c, --category-name write names of selected categories\n" -" -k, --keyword-name write names of selected keywords\n" -msgstr "" -"U�ycie: %s [OPCJA]... nazwa\n" -"Argumenty wymagane dla d�ugich opcji s� wymagane tak�e dla kr�tkich form.\n" -" -h, --help wy�wietl ten tekst pomocy i zako�cz\n" -" -V, --version wy�wietl wersj� programu i zako�cz\n" -"\n" -" -a, --all-locales wypisz nazwy dost�pnych lokalizacji\n" -" -m, --charmaps wypisz nazwy dost�pnych map znakowych\n" -"\n" -" -c, --category-name wypisz nazwy wybranych kategorii\n" -" -k, --keyword-name wypisz nazwy wybranych s��w kluczowych\n" +#: argp/argp-help.c:1567 +msgid "Usage:" +msgstr "Sk�adnia:" -#: posix/getconf.c:200 +#: posix/getconf.c:604 #, c-format msgid "Usage: %s variable_name [pathname]\n" -msgstr "Sk�adnie: %s nazwa_zmiennej [�cie�ka]\n" +msgstr "Sk�adnia: %s nazwa_zmiennej [�cie�ka]\n" -#: sunrpc/rpcinfo.c:609 +#: sunrpc/rpcinfo.c:674 msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n" msgstr "Sk�adnia: rpcinfo [ -n nr_portu ] -u host nr_programu [ nr_wersji ]\n" -#: stdio-common/../sysdeps/unix/siglist.c:59 +#: stdio-common/../sysdeps/unix/siglist.c:55 #: sysdeps/unix/sysv/linux/siglist.h:48 msgid "User defined signal 1" msgstr "Sygna� u�ytkownika 1" -#: stdio-common/../sysdeps/unix/siglist.c:60 +#: stdio-common/../sysdeps/unix/siglist.c:56 #: sysdeps/unix/sysv/linux/siglist.h:49 msgid "User defined signal 2" msgstr "Sygna� u�ytkownika 2" -#: stdio-common/../sysdeps/gnu/errlist.c:642 +#: stdio-common/../sysdeps/gnu/errlist.c:654 msgid "Value too large for defined data type" msgstr "Warto�� za du�a dla zdefiniowanego typu danych" -#: stdio-common/../sysdeps/unix/siglist.c:55 +#: stdio-common/../sysdeps/unix/siglist.c:51 #: sysdeps/unix/sysv/linux/siglist.h:45 msgid "Virtual timer expired" msgstr "Wirtualny stoper wyczerpany" -#: time/zic.c:1871 +#: timezone/zic.c:1899 msgid "Wild result from command execution" msgstr "Osobliwy wynik wykonania polecenia" -#: stdio-common/../sysdeps/unix/siglist.c:57 +#: stdio-common/../sysdeps/unix/siglist.c:53 #: sysdeps/unix/sysv/linux/siglist.h:47 msgid "Window changed" msgstr "Okno zmienione" -# czy 'zapisany przez' (program, procedure) czy 'napisany przez' (kogos)? -PK -#: catgets/gencat.c:174 db/makedb.c:125 locale/programs/locale.c:192 -#: locale/programs/localedef.c:185 +#: locale/programs/locale.c:67 +msgid "Write names of available charmaps" +msgstr "Wy�wietla nazwy dost�pnych map znak�w" + +#: locale/programs/locale.c:65 +msgid "Write names of available locales" +msgstr "Wy�wietla nazwy dost�pnych lokalizacji" + +#: locale/programs/locale.c:69 +msgid "Write names of selected categories" +msgstr "Wy�wietla nazwy wybranych kategorii" + +#: locale/programs/locale.c:70 +msgid "Write names of selected keywords" +msgstr "Wy�wietla nazwy wybranych s��w kluczowych" + +#: catgets/gencat.c:110 db2/makedb.c:59 +msgid "Write output to file NAME" +msgstr "Zapisuje wyniki do pliku NAZWA" + +# w %s wchodzi nazwisko autora danego programu/procedury -PK +#: catgets/gencat.c:241 db2/makedb.c:247 elf/sprof.c:365 +#: iconv/iconv_prog.c:299 locale/programs/locale.c:272 +#: locale/programs/localedef.c:408 nscd/nscd.c:228 nss/getent.c:70 +#: posix/getconf.c:629 #, c-format msgid "Written by %s.\n" msgstr "Autor: %s.\n" -#: nis/ypclnt.c:142 -msgid "YPBINDPROC_DOMAIN: Internal error\n" -msgstr "YPBINDPROC_DOMAIN: B��d wewn�trzny\n" +#: stdio-common/../sysdeps/gnu/errlist.c:818 +msgid "Wrong medium type" +msgstr "Niew�a�ciwy typ medium" -#: nis/ypclnt.c:146 -#, c-format -msgid "YPBINDPROC_DOMAIN: No server for domain %s\n" -msgstr "YPBINDPROC_DOMAIN: Brak serwera dla domeny %s\n" +#: nis/nis_print.c:39 +msgid "X500" +msgstr "X500" -#: nis/ypclnt.c:150 -msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n" -msgstr "YPBINDPROC_DOMAIN: Wyst�pi� b��d podczas przydzielania zasob�w\n" +#: nis/nis_print.c:43 +msgid "XCHS" +msgstr "XCHS" -#: nis/ypclnt.c:154 -msgid "YPBINDPROC_DOMAIN: Unknown error\n" -msgstr "YPBINDPROC_DOMAIN: Nieznany b��d\n" +#: nis/ypclnt.c:185 +#, c-format +msgid "YPBINDPROC_DOMAIN: %s\n" +msgstr "YPBINDPROC_DOMAIN: %s\n" + +#: nis/nis_error.c:70 +msgid "Yes, 42 is the meaning of life" +msgstr "Tak, 42 jest odpowiedzi� na pytanie o sens �ycia" #. TRANS You did @strong{what}? -#: stdio-common/../sysdeps/gnu/errlist.c:596 +#: stdio-common/../sysdeps/gnu/errlist.c:608 msgid "You really blew it this time" msgstr "Tym razem da�e� popali�" -#: time/zic.c:1048 +#: timezone/zic.c:1063 msgid "Zone continuation line end time is not after end time of previous line" msgstr "Koniec czasu nie znajduje si� po ko�cu czasu poprzedniej linii" -#: locale/programs/charmap.c:397 locale/programs/locfile.c:363 +#: iconv/iconv_prog.c:70 +msgid "[FILE...]" +msgstr "[PLIK...]" + +#: locale/programs/charmap.c:481 locale/programs/locfile.c:471 +#: locale/programs/repertoire.c:278 #, c-format msgid "`%1$s' definition does not end with `END %1$s'" msgstr "definicja `%1$s' musi ko�czy� si� wyra�eniem `END %1$s'" -#: locale/programs/ld-monetary.c:359 locale/programs/ld-numeric.c:190 +#: elf/sprof.c:766 +#, c-format +msgid "`%s' is no correct profile data file for `%s'" +msgstr "`%s' nie zawiera poprawnych danych profiluj�cych dla `%s'" + +#: locale/programs/ld-monetary.c:369 locale/programs/ld-numeric.c:193 #, c-format msgid "`-1' must be last entry in `%s' field in `%s' category" msgstr "`-1' musi by� ostatnim elementem w polu `%s' kategorii `%s'" -#: locale/programs/ld-collate.c:1655 +#: locale/programs/ld-collate.c:1666 msgid "`...' must only be used in `...' and `UNDEFINED' entries" msgstr "`...' mo�e by� u�yte wy��cznie dla `...' i `UNDEFINED'" -#: locale/programs/locfile.c:560 +#: locale/programs/locfile.c:668 msgid "`from' expected after first argument to `collating-element'" msgstr "`from' spodziewane po pierwszym argumencie `collate-element'" -#: locale/programs/ld-collate.c:1112 -msgid "" -"`from' string in collation element declaration contains unknown character" +#: locale/programs/ld-collate.c:1118 +msgid "`from' string in collation element declaration contains unknown character" msgstr "�a�cuch `from' w deklaracji elementu sortowania zawiera nieznany znak" -#: locale/programs/charmap.c:267 +#: posix/../sysdeps/posix/gai_strerror.c:34 +msgid "ai_family not supported" +msgstr "Nie obs�ugiwana rodzina protoko��w" + +#: posix/../sysdeps/posix/gai_strerror.c:39 +msgid "ai_socktype not supported" +msgstr "Nie obs�ugiwany typ gniazda" + +#: nscd/nscd.c:121 +msgid "already running" +msgstr "jest ju� uruchomiony" + +#: locale/programs/charmap.c:352 locale/programs/repertoire.c:152 #, c-format msgid "argument to <%s> must be a single character" msgstr "argument <%s> musi by� pojedynczym znakiem" -#: locale/programs/locfile.c:237 +#: locale/programs/locfile.c:240 #, c-format msgid "argument to `%s' must be a single character" msgstr "argument `%s' musi by� pojedynczym znakiem" -#: sunrpc/auth_unix.c:323 +#: sunrpc/auth_unix.c:321 msgid "auth_none.c - Fatal marshalling problem" msgstr "auth_none.c - Problem z prze��czaniem" -#: inet/rcmd.c:365 -msgid "bad .rhosts owner" -msgstr "nieodpowiedni w�a�ciciel .rhosts" +#: sunrpc/auth_unix.c:116 sunrpc/auth_unix.c:122 sunrpc/auth_unix.c:151 +msgid "authunix_create: out of memory\n" +msgstr "authunix_create: brak pami�ci\n" -#: locale/programs/charmap.c:212 locale/programs/locfile.c:231 +#: locale/programs/charmap.c:297 locale/programs/locfile.c:234 +#: locale/programs/locfile.c:261 locale/programs/repertoire.c:144 msgid "bad argument" msgstr "b��dny argument" -#: time/zic.c:1170 +#: inet/rcmd.c:318 +msgid "bad owner" +msgstr "nieodpowiedni w�a�ciciel" + +#: timezone/zic.c:1185 msgid "blank FROM field on Link line" msgstr "puste pole FROM w linii Link" -#: time/zic.c:1174 +#: timezone/zic.c:1189 msgid "blank TO field on Link line" msgstr "puste pole TO w linii Link" -#: malloc/mcheck.c:191 -msgid "block freed twice" -msgstr "blok zwalniany dwa razy" +#: malloc/mcheck.c:208 +msgid "block freed twice\n" +msgstr "blok zwalniany dwa razy\n" -#: malloc/mcheck.c:194 -msgid "bogus mcheck_status, library is buggy" -msgstr "b��dny mcheck_status, biblioteka zawiera b��dy" +#: malloc/mcheck.c:211 +msgid "bogus mcheck_status, library is buggy\n" +msgstr "b��dny mcheck_status, biblioteka zawiera b��dy\n" -#: sunrpc/pmap_rmt.c:179 +#: sunrpc/pmap_rmt.c:185 msgid "broadcast: ioctl (get interface configuration)" msgstr "transmisja: ioctl (info o konfiguracji interfejsu)" -#: sunrpc/pmap_rmt.c:186 +#: sunrpc/pmap_rmt.c:194 msgid "broadcast: ioctl (get interface flags)" msgstr "transmisja: ioctl (info o flagach interjesu)" -#: sunrpc/svc_udp.c:402 +#: login/programs/request.c:167 +msgid "buffer overflow" +msgstr "przepe�nienie bufora" + +#: sunrpc/svc_udp.c:446 +msgid "cache_set: could not allocate new rpc_buffer" +msgstr "cache_set: przydzielenie nowego rpc_buffer jest niemo�liwe" + +#: sunrpc/svc_udp.c:440 +msgid "cache_set: victim alloc failed" +msgstr "cache_set: przydzielenie pami�ci dla nowego wpisu jest niemo�liwe" + +#: sunrpc/svc_udp.c:429 msgid "cache_set: victim not found" -msgstr "cache_set: brak ofiary" +msgstr "cache_set: nie znaleziono wpisu mo�liwego do powt�rnego wykorzystania" # jak ladnie przetlumaczyc ten until time? -PK -#: time/zic.c:1698 +#: timezone/zic.c:1726 msgid "can't determine time zone abbreviation to use just after until time" msgstr "okre�lenie skr�tu strefy czasowej po ko�cu przedzia�u czasu jest niemo�liwe" -#: sunrpc/svc_simple.c:64 +#: sunrpc/svc_simple.c:75 #, c-format msgid "can't reassign procedure number %d\n" msgstr "przypisanie procedury nr %d jest niemo�liwe\n" -#: locale/programs/localedef.c:291 +#: locale/programs/localedef.c:279 #, c-format msgid "cannot `stat' locale file `%s'" -msgstr "otwarcie pliku lokalizacji `%s' jest niemo�liwe" +msgstr "znalezienie pliku lokalizacji `%s' jest niemo�liwe" + +#: elf/sprof.c:935 elf/sprof.c:987 +msgid "cannot allocate symbol data" +msgstr "przydzielenie pami�ci dla symboli jest niemo�liwe" + +#: elf/sprof.c:719 elf/sprof.c:777 +msgid "cannot create internal descriptor" +msgstr "stworzenie wewn�trznego deskryptora jest niemo�liwe" + +#: elf/sprof.c:417 +msgid "cannot create internal descriptors" +msgstr "stworzenie wewn�trznego deskryptora jest niemo�liwe" + +#: nscd/connections.c:180 +#, c-format +msgid "cannot enable socket to accept connections: %s" +msgstr "otwarcie gniazda do przyjmowania po��cze� jest niemo�liwe: %s" + +#: sunrpc/rpc_main.c:342 +#, c-format +msgid "cannot find C preprocessor: %s \n" +msgstr "odnalezienie preprocesora C jest niemo�liwe: %s \n" + +#: sunrpc/rpc_main.c:350 +msgid "cannot find any C preprocessor (cpp)\n" +msgstr "odnalezienie preprocesora C (cpp) jest niemo�liwe\n" + +#: nscd/connections.c:205 +#, c-format +msgid "cannot handle old request version %d; current version is %d" +msgstr "obs�uga ��da� w starej wersji %d nie jest mo�liwa; aktualna wersja to %d" # collation = sortowanie czy laczenie??? -PK -#: locale/programs/ld-collate.c:1317 +#: locale/programs/ld-collate.c:1324 #, c-format msgid "cannot insert collation element `%.*s'" msgstr "wstawienie elementu sortowania `%.*s' jest niemo�liwe" -#: locale/programs/ld-collate.c:1496 locale/programs/ld-collate.c:1501 +#: locale/programs/ld-collate.c:1503 locale/programs/ld-collate.c:1510 msgid "cannot insert into result table" msgstr "wstawienie do tablicy wynik�w jest niemo�liwe" -#: locale/programs/ld-collate.c:1169 locale/programs/ld-collate.c:1211 +#: locale/programs/ld-collate.c:1175 locale/programs/ld-collate.c:1218 #, c-format msgid "cannot insert new collating symbol definition: %s" msgstr "wstawienie definicji nowego symbolu sortowania niemo�liwe: %s" -#: db/makedb.c:161 +#: elf/sprof.c:674 +msgid "cannot load profiling data" +msgstr "za�adowanie danych do profilowania jest niemo�liwe" + +#: inet/rcmd.c:314 +msgid "cannot open" +msgstr "otwarcie jest niemo�liwe" + +#: sysdeps/unix/sysv/linux/lddlibc4.c:64 +#, c-format +msgid "cannot open `%s'" +msgstr "otwarcie `%s' jest niemo�liwe" + +#: db2/makedb.c:146 #, c-format msgid "cannot open database file `%s': %s" msgstr "otwarcie pliku bazy danych `%s' jest niemo�liwe: %s" -#: catgets/gencat.c:260 db/makedb.c:180 +#: catgets/gencat.c:272 db2/makedb.c:167 iconv/iconv_prog.c:177 #, c-format msgid "cannot open input file `%s'" msgstr "otwarcie wej�ciowego pliku `%s' niemo�liwe" -#: locale/programs/localedef.c:224 +#: locale/programs/localedef.c:198 #, c-format msgid "cannot open locale definition file `%s'" msgstr "otwarcie pliku definicji lokalnych `%s' niemo�liwe" -#: catgets/gencat.c:765 catgets/gencat.c:806 db/makedb.c:189 +#: iconv/iconv_prog.c:155 +msgid "cannot open output file" +msgstr "otwarcie wyj�ciowego pliku jest niemo�liwe" + +#: catgets/gencat.c:774 catgets/gencat.c:815 db2/makedb.c:181 #, c-format msgid "cannot open output file `%s'" msgstr "otwarcie wyj�ciowego pliku `%s' niemo�liwe" -#: locale/programs/locfile.c:1008 +#: locale/programs/locfile.c:1129 #, c-format msgid "cannot open output file `%s' for category `%s'" msgstr "otwarcie wyj�ciowego pliku `%s' dla kategorii `%s' niemo�liwe" -#: locale/programs/ld-collate.c:1363 +#: nscd/connections.c:162 +#, c-format +msgid "cannot open socket: %s" +msgstr "otwarcie gniazda jest niemo�liwe: %s" + +#: locale/programs/ld-collate.c:1370 msgid "cannot process order specification" msgstr "przetwarzanie specyfikacji kolejno�ci jest niemo�liwe" -#: locale/programs/locale.c:304 +#: locale/programs/locale.c:449 #, c-format msgid "cannot read character map directory `%s'" msgstr "odczyt katalogu mapy znak�w `%s' niemo�liwy" -#: locale/programs/locale.c:279 +#: nscd/connections.c:122 +msgid "cannot read configuration file; this is fatal" +msgstr "przeczytanie pliku konfiguracyjnego jest niemo�liwe: koniec pracy" + +#: login/programs/request.c:91 +msgid "cannot read from client" +msgstr "odczyt danych od klienta jest niemo�liwy" + +#: sysdeps/unix/sysv/linux/lddlibc4.c:68 +#, c-format +msgid "cannot read header from `%s'" +msgstr "przeczytanie nag��wka z `%s' jest niemo�liwe" + +#: locale/programs/locale.c:306 #, c-format msgid "cannot read locale directory `%s'" msgstr "odczyt katalogu lokalizacji %s' jest niemo�liwy" -#: locale/programs/localedef.c:313 +#: locale/programs/localedef.c:303 #, c-format msgid "cannot read locale file `%s'" msgstr "odczyt pliku lokalizacji `%s' niemo�liwy" -#: locale/programs/localedef.c:338 +#: locale/programs/locfile.c:288 locale/programs/locfile.c:306 +#: locale/programs/locfile.c:324 locale/programs/locfile.c:342 +#: locale/programs/locfile.c:360 locale/programs/locfile.c:378 +#, c-format +msgid "cannot read repertoire map `%s'" +msgstr "odczytanie mapy repertuar�w `%s' jest niemo�liwe" + +#: nscd/nscd_stat.c:127 +msgid "cannot read statistics data" +msgstr "odczytanie danych statystycznych jest niemo�liwe" + +#: nscd/cache.c:141 nscd/connections.c:148 +#, c-format +msgid "cannot stat() file `%s': %s" +msgstr "znalezienie pliku bazy danych `%s' jest niemo�liwe: %s" + +#: locale/programs/localedef.c:328 #, c-format msgid "cannot write output files to `%s'" -msgstr "zapis plik�w wyj�ciowych do `%s' niemo�liwy" +msgstr "zapisanie plik�w wyj�ciowych do `%s' jest niemo�liwe" -#: locale/programs/localedef.c:381 +#: nscd/connections.c:229 nscd/connections.c:250 +#, c-format +msgid "cannot write result: %s" +msgstr "zapisanie wyniku jest niemo�liwe: %s" + +#: nscd/nscd_stat.c:86 +#, c-format +msgid "cannot write statistics: %s" +msgstr "zapisanie statystyk jest niemo�liwe: %s" + +#: login/programs/request.c:120 +msgid "cannot write to client" +msgstr "zwracanie odpowiedzi klientowi jest niemo�liwe" + +#: locale/programs/localedef.c:442 msgid "category data requested more than once: should not happen" msgstr "wielokrotne ��danie kategorii danych: nie powinno wyst�pi�" -#: locale/programs/ld-ctype.c:266 +#: locale/programs/ld-ctype.c:269 #, c-format msgid "character %s'%s' in class `%s' must be in class `%s'" msgstr "znak %s'%s' z klasy`%s' musi by� w klasie `%s'" -#: locale/programs/ld-ctype.c:291 +#: locale/programs/ld-ctype.c:294 #, c-format msgid "character %s'%s' in class `%s' must not be in class `%s'" msgstr "znak %s'%s' z klasy `%s' nie mo�e by� w klasie `%s'" -#: locale/programs/ld-ctype.c:313 +#: locale/programs/ld-ctype.c:320 msgid "character <SP> not defined in character map" msgstr "znak <SP> nie zdefiniowany w tablicy znak�w" -#: locale/programs/ld-ctype.c:944 locale/programs/ld-ctype.c:1007 -#: locale/programs/ld-ctype.c:1015 locale/programs/ld-ctype.c:1023 -#: locale/programs/ld-ctype.c:1031 locale/programs/ld-ctype.c:1039 -#: locale/programs/ld-ctype.c:1047 locale/programs/ld-ctype.c:1073 -#: locale/programs/ld-ctype.c:1081 locale/programs/ld-ctype.c:1119 -#: locale/programs/ld-ctype.c:1146 locale/programs/ld-ctype.c:1157 +#: locale/programs/ld-ctype.c:964 locale/programs/ld-ctype.c:1029 +#: locale/programs/ld-ctype.c:1040 locale/programs/ld-ctype.c:1051 +#: locale/programs/ld-ctype.c:1062 locale/programs/ld-ctype.c:1073 +#: locale/programs/ld-ctype.c:1084 locale/programs/ld-ctype.c:1113 +#: locale/programs/ld-ctype.c:1124 locale/programs/ld-ctype.c:1165 +#: locale/programs/ld-ctype.c:1194 locale/programs/ld-ctype.c:1206 #, c-format msgid "character `%s' not defined while needed as default value" msgstr "znak `%s', wymagany jako domy�lny, nie zosta� zdefiniowany" -#: locale/programs/ld-ctype.c:806 +#: locale/programs/ld-ctype.c:825 #, c-format msgid "character class `%s' already defined" msgstr "klasa znak�w `%s' jest ju� zdefiniowana" -#: locale/programs/ld-ctype.c:838 +#: locale/programs/ld-ctype.c:857 #, c-format msgid "character map `%s' already defined" msgstr "tablica znak�w `%s' jest ju� zdefiniowana" -#: locale/programs/charmap.c:76 +#: locale/programs/charmap.c:83 #, c-format msgid "character map file `%s' not found" msgstr "nie znaleziono pliku tablicy znak�w `%s'" -#: sunrpc/clnt_raw.c:106 +#: sunrpc/clnt_raw.c:110 msgid "clnt_raw.c - Fatal header serialization error." msgstr "clnt_raw.c - Krytyczny b��d serializacji nag��wka." -#: locale/programs/ld-collate.c:1332 +#: sunrpc/clnt_tcp.c:125 sunrpc/clnt_tcp.c:133 +msgid "clnttcp_create: out of memory\n" +msgstr "clnttcp_create: brak pami�ci\n" + +#: sunrpc/clnt_udp.c:124 sunrpc/clnt_udp.c:134 +msgid "clntudp_create: out of memory\n" +msgstr "clntudp_create: brak pami�ci\n" + +#: sunrpc/clnt_unix.c:123 sunrpc/clnt_unix.c:131 +msgid "clntunix_create: out of memory\n" +msgstr "clntunix_create: brak pami�ci\n" + +#: locale/programs/ld-collate.c:1339 #, c-format msgid "collation element `%.*s' appears more than once: ignore line" msgstr "element sortowania `%.*s' wyst�pi� wielokrotnie: linia pomini�ta" -#: locale/programs/ld-collate.c:1350 +#: locale/programs/ld-collate.c:1357 #, c-format msgid "collation symbol `%.*s' appears more than once: ignore line" msgstr "element sortowania `%.*s' wyst�pi� wielokrotnie: linia pomini�ta" -#: locale/programs/locfile.c:544 +#: locale/programs/locfile.c:652 #, c-format msgid "collation symbol expected after `%s'" msgstr "oczekiwano symbolu sortowania po `%s'" -#: inet/rcmd.c:130 +#: inet/rcmd.c:136 #, c-format msgid "connect to address %s: " msgstr "po��czenie do adresu %s: " -#: sunrpc/svc_simple.c:70 +#: sunrpc/rpc_scan.c:115 +msgid "constant or identifier expected" +msgstr "spodziewana sta�a lub identyfikator" + +#: iconv/iconv_prog.c:144 +#, c-format +msgid "conversion from `%s' to `%s' not supported" +msgstr "konwersja z `%s' do `%s' nie jest obs�ugiwana" + +#: iconv/iconv_prog.c:326 +msgid "conversion stopped due to problem in writing the output" +msgstr "konwersja zosta�a przerwana poniewa� wyst�pi�y problemy z zapisaniem wynik�w" + +#: sunrpc/svc_simple.c:83 msgid "couldn't create an rpc server\n" msgstr "stworzenie serwera rpc niemo�liwe\n" -#: sunrpc/svc_simple.c:77 +#: sunrpc/svc_simple.c:91 #, c-format msgid "couldn't register prog %d vers %d\n" msgstr "rejestracja prog %d wer. %d niemo�liwa\n" -#: locale/programs/charmap.c:86 +#: nss/getent.c:49 +msgid "database [key ...]" +msgstr "baza [klucz ...]" + +#: locale/programs/charmap.c:170 #, c-format msgid "default character map file `%s' not found" msgstr "nie znaleziono domy�lnej tablicy znak�w `%s'" -#: locale/programs/ld-time.c:154 +#: locale/programs/ld-time.c:163 #, c-format -msgid "" -"direction flag in string %d in `era' field in category `%s' is not '+' nor " -"'-'" +msgid "direction flag in string %d in `era' field in category `%s' is not '+' nor '-'" msgstr "" "znacznik kierunku w �a�cuchu %d w polu `era' w kategorii `%s' nie jest '+'\n" "lub '-'" -#: locale/programs/ld-time.c:164 +#: locale/programs/ld-time.c:174 #, c-format -msgid "" -"direction flag in string %d in `era' field in category `%s' is not a single " -"character" +msgid "direction flag in string %d in `era' field in category `%s' is not a single character" msgstr "" "znacznik kierunku w �a�cuchu %d w polu `era' w kategorii `%s' nie jest\n" "pojedynczym znakiem" -#: locale/programs/charset.c:87 locale/programs/charset.c:132 +#: locale/programs/charset.c:64 locale/programs/charset.c:118 #, c-format msgid "duplicate character name `%s'" msgstr "dwukrotne wyst�pienie nazwy znaku `%s'" -#: locale/programs/ld-collate.c:1144 +#: locale/programs/ld-collate.c:1150 msgid "duplicate collating element definition" msgstr "podw�jna definicja elementu sortowania" -#: locale/programs/ld-collate.c:1290 +#: locale/programs/ld-collate.c:1297 #, c-format msgid "duplicate definition for character `%.*s'" msgstr "wielokrotna definicja znaku `%.*s'" -#: db/makedb.c:311 +#: db2/makedb.c:328 msgid "duplicate key" msgstr "dwukrotne wyst�pienie klucza" -#: catgets/gencat.c:379 +#: catgets/gencat.c:388 msgid "duplicate set definition" msgstr "podw�jna definicja zbioru" -#: time/zic.c:963 +#: timezone/zic.c:978 #, c-format msgid "duplicate zone name %s (file \"%s\", line %d)" msgstr "podw�jna nazwa strefy %s (plik \"%s\", linia %d)" -#: catgets/gencat.c:542 +#: catgets/gencat.c:551 msgid "duplicated message identifier" msgstr "podw�jny identyfikator komunikatu" -#: catgets/gencat.c:515 +#: catgets/gencat.c:524 msgid "duplicated message number" msgstr "podw�jny numer komunikatu" -#: locale/programs/ld-collate.c:1699 +#: sunrpc/rpc_scan.c:382 +msgid "empty char string" +msgstr "pusty napis" + +#: locale/programs/ld-collate.c:1710 msgid "empty weight name: line ignored" msgstr "pusta nazwa wagi: linia zignorowana" -#: sunrpc/svc_udp.c:348 +#: sunrpc/svc_udp.c:372 msgid "enablecache: cache already enabled" msgstr "enablecache: bufor jest ju� aktywny" -#: sunrpc/svc_udp.c:353 +#: sunrpc/svc_udp.c:378 msgid "enablecache: could not allocate cache" msgstr "enablecache: niemo�liwa alokacja bufora" -#: sunrpc/svc_udp.c:360 +#: sunrpc/svc_udp.c:386 msgid "enablecache: could not allocate cache data" msgstr "enablecache: niemo�liwa alokacja danych bufora" -#: sunrpc/svc_udp.c:366 +#: sunrpc/svc_udp.c:393 msgid "enablecache: could not allocate cache fifo" msgstr "enablecache: niemo�liwa alokacja kolejki dla bufora" +#: iconv/iconv_prog.c:56 +msgid "encoding for output" +msgstr "kodowanie wynik�w" + +#: iconv/iconv_prog.c:55 +msgid "encoding of original text" +msgstr "kodowanie oryginalnego tekstu" + # ellipsis = wyrzutnia jezykowa - sprawdzilem. nawet pamietam ze cos takiego # istnieje ze szkoly, ale za cholere nie pamietam co to jest ;) -PK -#: locale/programs/ld-collate.c:1422 +#: locale/programs/ld-collate.c:1429 msgid "end point of ellipsis range is bigger then start" msgstr "koniec zakresu wyrzutni wi�kszy niz pocz�tek" -#: locale/programs/ld-collate.c:1152 +#: iconv/iconv_prog.c:193 +#, c-format +msgid "error while closing input `%s'" +msgstr "wyst�pi� b��d podczas zamykania wej�cia `%s'" + +#: iconv/iconv_prog.c:239 +msgid "error while closing output file" +msgstr "wyst�pi� b��d podczas zamykania pliku wyj�ciowego" + +#: elf/sprof.c:710 +msgid "error while closing the profiling data file" +msgstr "wyst�pi� b��d podczas zamykania pliku z danymi profiluj�cymi" + +#: locale/programs/ld-collate.c:1158 msgid "error while inserting collation element into hash table" msgstr "b��d podczas wstawiania elementu sortowanego do tablicy mieszaj�cej" -#: locale/programs/ld-collate.c:1164 +#: locale/programs/ld-collate.c:1170 msgid "error while inserting to hash table" msgstr "b��d podczas wstawiania do tablicy mieszaj�cej" -#: locale/programs/locfile.c:487 +#: iconv/iconv_prog.c:389 iconv/iconv_prog.c:420 +msgid "error while reading the input" +msgstr "wyst�pi� b��d podczas czytania danych wej�ciowych" + +#: locale/programs/locfile.c:595 msgid "expect string argument for `copy'" msgstr "spodziewanym argumentem dla `copy' jest �a�cuch" -#: time/zic.c:854 +#: timezone/zic.c:868 msgid "expected continuation line not found" msgstr "brak spodziewanej linii kontynuacji" -#: locale/programs/locfile.c:1032 +#: elf/sprof.c:408 +#, c-format +msgid "failed to load shared object `%s'" +msgstr "Nie powiod�o si� za�adowanie dzielonego obiektu `%s'" + +#: elf/sprof.c:604 +msgid "failed to load symbol data" +msgstr "Nie uda�o si� za�adowa� danych o symbolach" + +#: elf/sprof.c:702 +msgid "failed to mmap the profiling data file" +msgstr "Nie uda� si� mmap danych profiluj�cych" + +#: iconv/iconv_prog.c:147 +msgid "failed to start conversion processing" +msgstr "Nie uda�o si� rozpocz�� konwersji" + +#: locale/programs/locfile.c:1154 #, c-format msgid "failure while writing data for category `%s'" msgstr "niepowodzenie przy zapisie danych kategorii `%s'" -#: nis/ypclnt.c:187 +#: nis/nis_call.c:155 msgid "fcntl: F_SETFD" msgstr "fcntl: F_SETFD" -#: locale/programs/ld-monetary.c:155 locale/programs/ld-numeric.c:95 +#: locale/programs/ld-monetary.c:163 locale/programs/ld-numeric.c:98 #, c-format msgid "field `%s' in category `%s' not defined" msgstr "pole `%s' w kategorii `%s' nie jest zdefiniowane" -#: locale/programs/ld-messages.c:81 locale/programs/ld-messages.c:102 +#: locale/programs/ld-messages.c:86 locale/programs/ld-messages.c:110 #, c-format msgid "field `%s' in category `%s' undefined" msgstr "pole `%s' w kategorii `%s' nie jest zdefiniowane" -#: locale/programs/locfile.c:569 +#: sunrpc/rpc_main.c:1148 +#, c-format +msgid "file '%s' already exists and may be overwritten\n" +msgstr "plik '%s' ju� istnieje i mo�e zosta� nadpisany\n" + +#: locale/programs/locfile.c:677 msgid "from-value of `collating-element' must be a string" msgstr "argument from-value definicji `collating-element' musi by� �a�cuchem" -#: locale/programs/linereader.c:328 +#: inet/rcmd.c:316 +msgid "fstat failed" +msgstr "fstat nie powi�d� si�" + +#: locale/programs/linereader.c:333 msgid "garbage at end of character code specification" msgstr "�mieci na ko�cu specyfikacji kodu znaku" -#: locale/programs/linereader.c:214 +#: locale/programs/linereader.c:219 msgid "garbage at end of number" msgstr "�mieci na ko�cu liczby" -#: locale/programs/ld-time.c:183 +#: locale/programs/ld-time.c:195 #, c-format -msgid "" -"garbage at end of offset value in string %d in `era' field in category `%s'" -msgstr "" -"�mieci na ko�cu warto�ci offset w �a�cuchu %d w polu `era' w kategorii `%s'" +msgid "garbage at end of offset value in string %d in `era' field in category `%s'" +msgstr "�mieci na ko�cu warto�ci offset w �a�cuchu %d w polu `era' w kategorii `%s'" -#: locale/programs/ld-time.c:238 +#: locale/programs/ld-time.c:252 #, c-format -msgid "" -"garbage at end of starting date in string %d in `era' field in category `%s'" -msgstr "" -"�mieci na ko�cu pierwszej daty w �a�cuchu %d w polu `era' w kategorii `%s'" +msgid "garbage at end of starting date in string %d in `era' field in category `%s'" +msgstr "�mieci na ko�cu pierwszej daty w �a�cuchu %d w polu `era' w kategorii `%s'" -#: locale/programs/ld-time.c:311 +#: locale/programs/ld-time.c:328 #, c-format -msgid "" -"garbage at end of stopping date in string %d in `era' field in category `%s'" -msgstr "" -"�mieci na ko�cu drugiej daty w �a�cuchu %d w polu `era' w kategorii `%s'" +msgid "garbage at end of stopping date in string %d in `era' field in category `%s'" +msgstr "�mieci na ko�cu drugiej daty w �a�cuchu %d w polu `era' w kategorii `%s'" -#: sunrpc/get_myaddr.c:73 +#: elf/sprof.c:81 +msgid "generate call graph" +msgstr "generuje wykres odwo�a�" + +#: elf/sprof.c:80 +msgid "generate flat profile with counts and ticks" +msgstr "generuje prosty profil z licznikami i czasami" + +#: sunrpc/get_myaddr.c:77 msgid "get_myaddress: ioctl (get interface configuration)" msgstr "get_myaddress: ioctl (informacja o konfiguracji interfejsu)" -#: time/zic.c:1147 +#: nss/getent.c:53 +msgid "getent - get entries from administrative database." +msgstr "getent - wy�wietla wpisy z bazy administracyjnej." + +#: nscd/connections.c:200 +#, c-format +msgid "handle_request: request received (Version = %d)" +msgstr "handle_request: odebrano ��danie (Wersja = %d)" + +#: timezone/zic.c:613 +msgid "hard link failed, symbolic link used" +msgstr "stworzenie dowi�zania nie powiod�o si�, u�yto symlinka" + +#: inet/rcmd.c:322 +msgid "hard linked somewhere" +msgstr "gdzie� dowi�zany" + +#: timezone/zic.c:1162 msgid "illegal CORRECTION field on Leap line" msgstr "b��dne pole CORRECTION w linii Leap" -#: time/zic.c:1151 +#: timezone/zic.c:1166 msgid "illegal Rolling/Stationary field on Leap line" msgstr "b��dne ple Rolling/Stationary w linii Leap" -#: locale/programs/ld-collate.c:1770 +#: locale/programs/ld-collate.c:1782 msgid "illegal character constant in string" msgstr "b��dna sta�a znakowa w �a�cuchu" -#: locale/programs/ld-collate.c:1119 +#: sunrpc/rpc_scan.c:311 +msgid "illegal character in file: " +msgstr "b��dn znak w pliku: " + +#: locale/programs/ld-collate.c:1125 msgid "illegal collation element" msgstr "b��dny element sortowania" -#: locale/programs/charmap.c:196 +#: locale/programs/charmap.c:281 msgid "illegal definition" msgstr "niepoprawna definicja" -#: locale/programs/charmap.c:349 +#: locale/programs/charmap.c:434 msgid "illegal encoding given" msgstr "niepoprawne kodowanie" -#: locale/programs/linereader.c:546 +#: locale/programs/linereader.c:551 msgid "illegal escape sequence at end of string" msgstr "niepoprawna sekwencja escape na ko�cu �a�cucha" -#: locale/programs/charset.c:101 +#: iconv/iconv_prog.c:342 +#, c-format +msgid "illegal input sequence at position %ld" +msgstr "b��dna sekwencja wej�ciowa na pozycji %ld" + +#: locale/programs/charset.c:78 msgid "illegal names for character range" msgstr "niepoprawne nazwy dla zakresu znak�w" -#: locale/programs/ld-time.c:176 +#: sunrpc/rpc_main.c:462 +#, c-format +msgid "illegal nettype :'%s'\n" +msgstr "b��dny typ sieci :'%s'\n" + +#: locale/programs/ld-time.c:187 #, c-format msgid "illegal number for offset in string %d in `era' field in category `%s'" -msgstr "" -"nieprawid�owa warto�� offset w �a�cuchu %d w polu `era' w kategorii `%s'" +msgstr "nieprawid�owa warto�� offset w �a�cuchu %d w polu `era' w kategorii `%s'" -#: catgets/gencat.c:352 catgets/gencat.c:429 +#: catgets/gencat.c:361 catgets/gencat.c:438 msgid "illegal set number" msgstr "b��dny numer zbioru" -#: locale/programs/ld-time.c:230 +#: locale/programs/ld-time.c:243 #, c-format msgid "illegal starting date in string %d in `era' field in category `%s'" -msgstr "" -"nieprawid�owa pierwsza data w �a�cuchu %d w polu `era' w kategorii `%s'" +msgstr "nieprawid�owa pierwsza data w �a�cuchu %d w polu `era' w kategorii `%s'" -#: locale/programs/ld-time.c:303 +#: locale/programs/ld-time.c:319 #, c-format msgid "illegal stopping date in string %d in `era' field in category `%s'" msgstr "nieprawid�owa druga data w �a�cuchu %d w polu `era' w kategorii `%s'" -#: locale/programs/ld-ctype.c:812 +#: locale/programs/ld-ctype.c:831 #, c-format msgid "implementation limit: no more than %d character classes allowed" msgstr "ograniczenie implementacji: dozwolone maksymalnie %d klas znak�w" -#: locale/programs/ld-ctype.c:844 +#: locale/programs/ld-ctype.c:863 #, c-format msgid "implementation limit: no more than %d character maps allowed" msgstr "ograniczenie implementacji: dozwolone maksymalnie %d map znak�w" -#: db/makedb.c:163 +#: iconv/iconv_prog.c:346 +msgid "incomplete character or shift sequence at end of buffer" +msgstr "na ko�cu bufora wyst�pi� niekompletny znak lub sekwencja steruj�ca" + +#: db2/makedb.c:148 msgid "incorrectly formatted file" msgstr "nieprawid�owy format pliku" -#: time/zic.c:811 +#: timezone/zic.c:825 msgid "input line of unknown type" msgstr "nieznany typ linii wej�ciowej" -#: time/zic.c:1760 +#: iconv/iconv_prog.c:350 +msgid "internal error (illegal descriptor)" +msgstr "b��d wewn�trzny (nieprawid�owy deskryptor)" + +#: timezone/zic.c:1788 msgid "internal error - addtype called with bad isdst" msgstr "b��d wewn�trzny - addtype wywo�ane ze b��dnym isdst" -#: time/zic.c:1768 +#: timezone/zic.c:1796 msgid "internal error - addtype called with bad ttisgmt" msgstr "b��d wewn�trzny - addtype wywo�ane ze b��dnym ttisgmt" -#: time/zic.c:1764 +#: timezone/zic.c:1792 msgid "internal error - addtype called with bad ttisstd" msgstr "b��d wewn�trzny - addtype wywo�ane ze b��dnym ttisstd" -#: locale/programs/ld-ctype.c:304 +#: locale/programs/ld-ctype.c:307 #, c-format msgid "internal error in %s, line %u" msgstr "b��d wewn�trzny w %s, linia %u" -#: time/zic.c:1019 -msgid "invalid GMT offset" -msgstr "nieprawid�owe przesuni�cie GMT" +#: timezone/zic.c:1034 +msgid "invalid UTC offset" +msgstr "nieprawid�owe przesuni�cie UTC" -#: time/zic.c:1022 +#: timezone/zic.c:1037 msgid "invalid abbreviation format" msgstr "nieprawid�owy format skr�tu" -#: time/zic.c:1112 time/zic.c:1313 time/zic.c:1327 +#: timezone/zic.c:1127 timezone/zic.c:1339 timezone/zic.c:1353 msgid "invalid day of month" msgstr "nieprawid�owy dzie� miesi�ca" -#: time/zic.c:1270 +#: timezone/zic.c:1291 msgid "invalid ending year" msgstr "nieprawid�owy rok ko�cowy" -#: time/zic.c:1084 +#: timezone/zic.c:1099 msgid "invalid leaping year" msgstr "nieprawid�owy rok przest�pny" -#: time/zic.c:1099 time/zic.c:1202 +#: elf/dl-open.c:159 +msgid "invalid mode for dlopen()" +msgstr "b��dny typ dla dlopen()" + +#: timezone/zic.c:1114 timezone/zic.c:1217 msgid "invalid month name" msgstr "nieprawid�owy miesi�c" -#: time/zic.c:918 +#: timezone/zic.c:933 msgid "invalid saved time" msgstr "b��dny czas oszcz�dno�ci" -#: time/zic.c:1250 +#: timezone/zic.c:1266 msgid "invalid starting year" msgstr "nieprawid�owy rok pocz�tkowy" -#: time/zic.c:1128 time/zic.c:1230 +#: timezone/zic.c:1143 timezone/zic.c:1246 msgid "invalid time of day" msgstr "nieprawid�owa pora dnia" -#: time/zic.c:1318 +#: timezone/zic.c:1344 msgid "invalid weekday name" msgstr "nieprawid�owy dzie� tygodnia" -#: locale/programs/ld-collate.c:1415 +#: nscd/connections.c:375 +#, c-format +msgid "key length in request too long: %Zd" +msgstr "d�ugo�� klucza w ��daniu jest za du�a: %Zd" + +#: locale/programs/ld-collate.c:1422 msgid "line after ellipsis must contain character definition" msgstr "linia za wyrzutni� musi zawiera� definicj� znaku" -#: locale/programs/ld-collate.c:1394 +#: locale/programs/ld-collate.c:1401 msgid "line before ellipsis does not contain definition for character constant" msgstr "linia przed wyrzutni� nie mo�e zawiera� definicji sta�ej znakowej" -#: time/zic.c:791 +#: timezone/zic.c:805 msgid "line too long" msgstr "za d�uga linia" -#: locale/programs/localedef.c:285 +#: iconv/iconv_prog.c:58 +msgid "list all known coded character sets" +msgstr "wy�wietla wszystkie znane zestawy znak�w" + +#: locale/programs/localedef.c:273 #, c-format msgid "locale file `%s', used in `copy' statement, not found" msgstr "brak pliku lokalizacji `%s' u�ytego w wyra�eniu `copy'" -#: catgets/gencat.c:610 +#: inet/rcmd.c:307 +msgid "lstat failed" +msgstr "nieudany lstat" + +#: catgets/gencat.c:619 msgid "malformed line ignored" msgstr "b��dna linia zosta�a pomini�ta" -#: malloc/mcheck.c:185 -msgid "memory clobbered before allocated block" -msgstr "znikn��a pami�� przed przydzielonym blokiem" +#: elf/sprof.c:554 +msgid "mapping of section header string table failed" +msgstr "nie powiod�o si� odwzorowanie tablicy nag��wk�w sekcji" -#: malloc/mcheck.c:188 -msgid "memory clobbered past end of allocated block" -msgstr "znikn��a pami�� za ko�cem przydzielonego bloku" +#: elf/sprof.c:544 +msgid "mapping of section headers failed" +msgstr "nie powiod�o si� odwzorowanie nag��wk�w sekcji" -#: locale/programs/ld-collate.c:167 locale/programs/ld-collate.c:173 -#: locale/programs/ld-collate.c:177 locale/programs/ld-collate.c:1442 -#: locale/programs/ld-collate.c:1471 locale/programs/locfile.c:962 -#: locale/programs/xmalloc.c:68 posix/getconf.c:250 +#: malloc/mcheck.c:202 +msgid "memory clobbered before allocated block\n" +msgstr "pami�� zosta�a uszkodzona przed przydzielonym blokiem\n" + +#: malloc/mcheck.c:205 +msgid "memory clobbered past end of allocated block\n" +msgstr "pami�� zosta�a uszkodzona za przydzielonym blokiem\n" + +#: locale/programs/ld-collate.c:170 locale/programs/ld-collate.c:176 +#: locale/programs/ld-collate.c:180 locale/programs/ld-collate.c:1449 +#: locale/programs/ld-collate.c:1478 locale/programs/locfile.c:1082 +#: locale/programs/xmalloc.c:70 login/programs/database.c:62 +#: login/programs/database.c:79 login/programs/database.c:95 +#: posix/getconf.c:682 msgid "memory exhausted" msgstr "pami�� zosta�a wyczerpana" -#: malloc/obstack.c:462 +#: malloc/obstack.c:471 msgid "memory exhausted\n" msgstr "pami�� zosta�a wyczerpana\n" -#: malloc/mcheck.c:182 -msgid "memory is consistent, library is buggy" -msgstr "pami�� jest zwarta, biblioteka zawiera b��dy" +#: malloc/mcheck.c:199 +msgid "memory is consistent, library is buggy\n" +msgstr "pami�� jest zwarta, biblioteka zawiera b��dy\n" -#: locale/programs/ld-time.c:350 +#: locale/programs/ld-time.c:370 #, c-format msgid "missing era format in string %d in `era' field in category `%s'" msgstr "brak formatu ery w �a�cuchu %d w polu `era' w kategorii `%s'" -#: locale/programs/ld-time.c:339 +#: locale/programs/ld-time.c:358 #, c-format msgid "missing era name in string %d in `era' field in category `%s'" msgstr "brak nazwy ery w �a�cuchu %d w polu `era' w kategorii `%s'" -#: time/zic.c:913 +#: timezone/zic.c:928 msgid "nameless rule" msgstr "bezimienna regu�a" -#: sunrpc/svc_simple.c:140 +#: iconv/iconv_prog.c:133 +msgid "neither original nor target encoding specified" +msgstr "nie podano kodowania �r�d�owego ani docelowego" + +#: nis/nss_nisplus/nisplus-publickey.c:262 +#: nis/nss_nisplus/nisplus-publickey.c:268 +#: nis/nss_nisplus/nisplus-publickey.c:327 +#: nis/nss_nisplus/nisplus-publickey.c:336 +#, c-format +msgid "netname2user: (nis+ lookup): %s\n" +msgstr "netname2user: (odwzorowanie nis+): %s\n" + +#: nis/nss_nisplus/nisplus-publickey.c:281 +#, c-format +msgid "netname2user: DES entry for %s in directory %s not unique" +msgstr "netname2user: wpis DES dla %s w katalogu %s nie jest unikalny" + +#: nis/nss_nisplus/nisplus-publickey.c:349 +#, c-format +msgid "netname2user: LOCAL entry for %s in directory %s not unique" +msgstr "netname2user: wpis LOKALNY dla %s w katalogu %s nie jest unikalny" + +#: nis/nss_nisplus/nisplus-publickey.c:194 +#, c-format +msgid "netname2user: missing group id list in '%s'." +msgstr "netname2user: brak listy identyfikator�w grup w '%s'." + +# XXX principal = nadzorca, troche lame -PK +#: nis/nss_nisplus/nisplus-publickey.c:299 +#, c-format +msgid "netname2user: principal name '%s' too long" +msgstr "name2user: nazwa nadzorcy '%s' jest zbyt d�uga" + +#: nis/nss_nisplus/nisplus-publickey.c:356 +msgid "netname2user: should not have uid 0" +msgstr "netname2user: UID 0 nie powinien wyst�pi�" + +#: sunrpc/svc_simple.c:158 #, c-format msgid "never registered prog %d\n" msgstr "program %d nie by� nigdy zarejestrowany\n" -#: locale/programs/ld-messages.c:95 locale/programs/ld-messages.c:116 +#: locale/programs/repertoire.c:238 +msgid "no <Uxxxx> or <Uxxxxxxxx> value given" +msgstr "nie podano �adnych warto�ci <Uxxxx> lub <Uxxxxxxxx>" + +#: locale/programs/ld-messages.c:101 locale/programs/ld-messages.c:125 #, c-format msgid "no correct regular expression for field `%s' in category `%s': %s" -msgstr "" -"brak poprawnego wyra�enia regularnego dla pola `%s' w kategorii `%s': %s" +msgstr "brak poprawnego wyra�enia regularnego dla pola `%s' w kategorii `%s': %s" -#: time/zic.c:2086 +#: timezone/zic.c:2115 msgid "no day in month matches rule" msgstr "�aden z dni miesi�ca nie pasuje do regu�y" -#: locale/programs/ld-collate.c:260 +#: locale/programs/ld-collate.c:267 msgid "no definition of `UNDEFINED'" msgstr "brak definicji `UNDEFINED'" -#: locale/programs/locfile.c:501 +#: elf/sprof.c:276 +#, c-format +msgid "no filename for profiling data given and shared object `%s' has no soname" +msgstr "nie podano nazwy pliku dla danych profiluj�cych a obiekt dzielony `%s' nie ma soname" + +#: locale/programs/locfile.c:609 msgid "no other keyword shall be specified when `copy' is used" msgstr "�adne s�owo kluczowe nie powinno wyst�powa� razem z `copy'" -#: locale/programs/localedef.c:344 +#: locale/programs/localedef.c:334 msgid "no output file produced because warning were issued" msgstr "brak pliku wyj�ciowego - wyst�pi�y ostrze�enia" -#: locale/programs/charmap.c:315 locale/programs/charmap.c:466 -#: locale/programs/charmap.c:545 +# XXX repertoire -PK +#: locale/programs/locfile.c:283 locale/programs/locfile.c:301 +#: locale/programs/locfile.c:319 locale/programs/locfile.c:337 +#: locale/programs/locfile.c:355 locale/programs/locfile.c:373 +msgid "no repertoire map specified: cannot proceed" +msgstr "nie podano �adnej mapy repertuar�w: kontynuacja niemo�liwa" + +#: locale/programs/charmap.c:400 locale/programs/charmap.c:550 +#: locale/programs/charmap.c:629 locale/programs/repertoire.c:199 msgid "no symbolic name given" msgstr "brak nazwy symbolicznej" -#: locale/programs/charmap.c:380 locale/programs/charmap.c:512 -#: locale/programs/charmap.c:578 +#: locale/programs/charmap.c:465 locale/programs/charmap.c:596 +#: locale/programs/charmap.c:662 locale/programs/repertoire.c:261 msgid "no symbolic name given for end of range" msgstr "brak nazwy symbolicznej dla ko�ca zakresu" -#: locale/programs/ld-collate.c:244 +#: locale/programs/ld-collate.c:249 #, c-format msgid "no weight defined for symbol `%s'" msgstr "brak definicji wagi dla symbolu `%s'" -#: locale/programs/charmap.c:430 +#: inet/rcmd.c:309 +msgid "not regular file" +msgstr "nie jest zwyk�ym plikiem" + +#: nscd/nscd_stat.c:130 +#, c-format +msgid "" +"nscd configuration:\n" +"\n" +"%15d server debug level\n" +msgstr "" +"konfiguracja nscd:\n" +"\n" +"%15d poziom komunikat�w diagnostycznych\n" + +#: nscd/nscd_stat.c:104 +msgid "nscd not running!\n" +msgstr "nscd nie jest uruchomiony!\n" + +#: locale/programs/charmap.c:514 msgid "only WIDTH definitions are allowed to follow the CHARMAP definition" msgstr "po definicji CHARMAP mog� wyst�powa� tylko definicje WIDTH" -#: db/makedb.c:327 +#: iconv/iconv_prog.c:135 +msgid "original encoding not specified using `-f'" +msgstr "nie podano kodowania �r�d�owego w opcji `-f'" + +#: iconv/iconv_prog.c:60 +msgid "output file" +msgstr "plik wynikowy" + +#: sunrpc/pm_getmaps.c:73 +msgid "pmap_getmaps rpc problem" +msgstr "problem rpc pmap_getmaps" + +#: inet/rcmd.c:179 +msgid "poll: protocol failure in circuit setup\n" +msgstr "poll: b��d protoko�u podczas zestawiania p�tli\n" + +#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533 +msgid "preprocessor error" +msgstr "b��d preprocesora" + +# XXX poprawic -PK +#: elf/sprof.c:78 +msgid "print list of count paths and their number of use" +msgstr "wy�wietla list� �cie�ek zliczania i ich numery" + +#: iconv/iconv_prog.c:61 +msgid "print progress information" +msgstr "wy�wietla informacje o post�pie konwersji" + +#: db2/makedb.c:345 #, c-format msgid "problems while reading `%s'" msgstr "wyst�pi�y problemy podczas czytania `%s'" -#: sunrpc/rpcinfo.c:222 sunrpc/rpcinfo.c:350 +#: elf/sprof.c:691 +#, c-format +msgid "profiling data file `%s' does not match shared object `%s'" +msgstr "dane profiluj�ce w pliku `%s' nie pasuj� do obiektu dzielonego `%s'" + +#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383 #, c-format msgid "program %lu is not available\n" msgstr "program %lu jest niedost�pny\n" -#: sunrpc/rpcinfo.c:245 sunrpc/rpcinfo.c:282 sunrpc/rpcinfo.c:371 -#: sunrpc/rpcinfo.c:408 sunrpc/rpcinfo.c:429 sunrpc/rpcinfo.c:462 +#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333 +#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476 +#: sunrpc/rpcinfo.c:510 #, c-format msgid "program %lu version %lu is not available\n" msgstr "program %lu wersja %lu jest niedost�pny\n" -#: sunrpc/rpcinfo.c:466 +#: sunrpc/rpcinfo.c:515 #, c-format msgid "program %lu version %lu ready and waiting\n" msgstr "program %lu wersja %lu gotowy i oczekuje\n" -#: inet/rcmd.c:172 +#: inet/rcmd.c:176 #, c-format -msgid "rcmd: select (setting up stderr): %m\n" -msgstr "rcmd: select (podczas ustawiania stderr): %m\n" +msgid "rcmd: poll (setting up stderr): %m\n" +msgstr "rcmd: poll (podczas ustawiania stderr): %m\n" -#: inet/rcmd.c:104 +#: inet/rcmd.c:110 msgid "rcmd: socket: All ports in use\n" msgstr "rcmd: socket: Wszystkie porty zaj�te\n" -#: inet/rcmd.c:160 +#: inet/rcmd.c:166 #, c-format msgid "rcmd: write (setting up stderr): %m\n" msgstr "rcmd: write (podczas ustawiania stderr): %m\n" -#: sunrpc/svc_simple.c:83 +#: sunrpc/svc_simple.c:98 msgid "registerrpc: out of memory\n" msgstr "registerrpc: brak pami�ci\n" -#: time/zic.c:1821 +#: timezone/zic.c:1849 msgid "repeated leap second moment" msgstr "powt�rzone sekundy przest�pne" -#: sunrpc/rpcinfo.c:659 +#: locale/programs/repertoire.c:95 +#, c-format +msgid "repertoire map file `%s' not found" +msgstr "nie znaleziono pliku mapy repertuar�w `%s'" + +#: sunrpc/rpc_main.c:1117 +msgid "rpcgen: arglist coding error\n" +msgstr "rpcgen: b��dne kodowanie arglist\n" + +#: sunrpc/rpc_main.c:1105 +msgid "rpcgen: too many defines\n" +msgstr "rpcgen: za du�o definicji\n" + +#: sunrpc/rpcinfo.c:732 #, c-format msgid "rpcinfo: %s is unknown host\n" msgstr "rpcinfo: nieznany host %s\n" -#: sunrpc/rpcinfo.c:626 +#: sunrpc/rpcinfo.c:695 #, c-format msgid "rpcinfo: %s is unknown service\n" msgstr "rpcinfo: nieznana us�uga %s\n" -#: sunrpc/rpcinfo.c:600 +#: sunrpc/rpcinfo.c:665 #, c-format msgid "rpcinfo: Could not delete registration for prog %s version %s\n" msgstr "rpcinfo: Nie mog� usun�� rejestracji prog %s wer. %s\n" -#: sunrpc/rpcinfo.c:576 +#: sunrpc/rpcinfo.c:637 #, c-format msgid "rpcinfo: broadcast failed: %s\n" msgstr "rpcinfo: rozg�aszanie nieudane: %s\n" -#: sunrpc/rpcinfo.c:505 +#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563 msgid "rpcinfo: can't contact portmapper" msgstr "rpcinfo: kontakt z portmapperem niemo�liwy" -#: sunrpc/rpcinfo.c:510 -msgid "rpcinfo: can't contact portmapper: " -msgstr "rpcinfo: kontakt z portmapperem niemo�liwy: " - -#: time/zic.c:704 time/zic.c:706 +#: timezone/zic.c:718 timezone/zic.c:720 msgid "same rule name in multiple files" msgstr "ta sama nazwa nazwa regu�y w r��nych plikach" -#: inet/rcmd.c:175 -msgid "select: protocol failure in circuit setup\n" -msgstr "select: b��d protoko�u podczas ustawiania\n" +#: nscd/connections.c:387 +#, c-format +msgid "short read while reading request key: %s" +msgstr "brak danych podczas czytania klucza ��dania: %s" -#: inet/rcmd.c:193 +#: nscd/connections.c:364 +#, c-format +msgid "short read while reading request: %s" +msgstr "brak danych podczas czytania ��dania: `%s'" + +#: nscd/grpcache.c:191 nscd/hstcache.c:278 nscd/pwdcache.c:188 +#, c-format +msgid "short write in %s: %s" +msgstr "b��d zapisu w %s: %s" + +#: inet/rcmd.c:197 msgid "socket: protocol failure in circuit setup\n" msgstr "socket: protok�� zawi�d� podczas konfiguracji po��czenia\n" -#: locale/programs/locfile.c:622 +#: locale/programs/locfile.c:730 msgid "sorting order `forward' and `backward' are mutually exclusive" msgstr "porz�dki sortowania `forward' i `backward' wykluczaj� si� wzajemnie" -#: locale/programs/ld-collate.c:1571 locale/programs/ld-collate.c:1617 -msgid "" -"specification of sorting weight for collation symbol does not make sense" +#: locale/programs/ld-collate.c:1582 locale/programs/ld-collate.c:1628 +msgid "specification of sorting weight for collation symbol does not make sense" msgstr "specyfikacja wagi dla elementu sortowania nie ma sensu" -#: time/zic.c:775 +#: timezone/zic.c:789 msgid "standard input" msgstr "standardowe wej�cie" -#: time/zdump.c:268 +#: timezone/zdump.c:268 msgid "standard output" msgstr "standardowe wyj�cie" -#: locale/programs/ld-time.c:257 +#: locale/programs/ld-time.c:272 #, c-format msgid "starting date is illegal in string %d in `era' field in category `%s'" -msgstr "" -"nieprawid�owa pierwsza data w �a�cuchu %d w polu `era' w kategorii `%s'" +msgstr "nieprawid�owa pierwsza data w �a�cuchu %d w polu `era' w kategorii `%s'" -#: time/zic.c:1274 +#: timezone/zic.c:1300 msgid "starting year greater than ending year" msgstr "pierwszy rok jest p��niejszy ni� drugi" -#: locale/programs/ld-time.c:330 +#: timezone/zic.c:1272 timezone/zic.c:1297 +msgid "starting year too high to be represented" +msgstr "pierwszy rok jest zbyt du�y" + +#: timezone/zic.c:1270 timezone/zic.c:1295 +msgid "starting year too low to be represented" +msgstr "pierwszy rok jest zbyt ma�y" + +#: locale/programs/ld-time.c:348 #, c-format msgid "stopping date is illegal in string %d in `era' field in category `%s'" msgstr "nieprawid�owa druga data w �a�cuchu %d w polu `era' w kategorii `%s'" -#: sunrpc/svc_tcp.c:201 sunrpc/svc_tcp.c:206 +#: sunrpc/svc_run.c:81 +msgid "svc_run: - select failed" +msgstr "svc_run - b��d select" + +#: sunrpc/svc_tcp.c:160 +msgid "svc_tcp.c - cannot getsockname or listen" +msgstr "svc_tcp.c - wykonanie getsockname lub listen niemo�liwe" + +#: sunrpc/svc_tcp.c:145 +msgid "svc_tcp.c - tcp socket creation problem" +msgstr "svc_tcp.c - problemy przy tworzeniu gniazda tcp" + +#: sunrpc/svc_tcp.c:209 sunrpc/svc_tcp.c:215 msgid "svc_tcp: makefd_xprt: out of memory\n" msgstr "svc_tcp: makefd_xprt: brak pami�ci\n" -#: sunrpc/svc_tcp.c:149 -msgid "svctcp_.c - cannot getsockname or listen" -msgstr "svctcp_.c - wykonanie getsockname lub listen niemo�liwe" +#: sunrpc/svc_unix.c:135 +msgid "svc_unix.c - AF_UNIX socket creation problem" +msgstr "svc_unix.c - problemy przy tworzeniu gniazda AF_UNIX" -#: sunrpc/svc_tcp.c:136 -msgid "svctcp_.c - udp socket creation problem" -msgstr "svctcp_.c - problemy przy tworzeniu gniazda udp" +#: sunrpc/svc_unix.c:151 +msgid "svc_unix.c - cannot getsockname or listen" +msgstr "svc_unix.c - wykonanie getsockname lub listen niemo�liwe" -#: sunrpc/svc_tcp.c:156 sunrpc/svc_tcp.c:163 +#: sunrpc/svc_unix.c:201 sunrpc/svc_unix.c:207 +msgid "svc_unix: makefd_xprt: out of memory\n" +msgstr "svc_unix: makefd_xprt: brak pami�ci\n" + +#: sunrpc/svc_tcp.c:168 sunrpc/svc_tcp.c:176 msgid "svctcp_create: out of memory\n" msgstr "svctcp_create: brak pami�ci\n" -#: sunrpc/svc_udp.c:123 +#: sunrpc/svc_udp.c:135 msgid "svcudp_create - cannot getsockname" msgstr "svcudp_create - wykonanie getsockname niemo�liwe" -#: sunrpc/svc_udp.c:111 +#: sunrpc/svc_udp.c:143 sunrpc/svc_udp.c:149 sunrpc/svc_udp.c:155 +msgid "svcudp_create: out of memory\n" +msgstr "svcudp_create: brak pami�ci\n" + +#: sunrpc/svc_udp.c:121 msgid "svcudp_create: socket creation problem" msgstr "svcudp_create: problemy przy tworzeniu gniazda" -#: locale/programs/ld-collate.c:1194 +#: sunrpc/svc_unix.c:160 sunrpc/svc_unix.c:168 +msgid "svcunix_create: out of memory\n" +msgstr "svcunix_create: brak pami�ci\n" + +#: locale/programs/ld-collate.c:1201 #, c-format -msgid "" -"symbol for multicharacter collating element `%.*s' duplicates element " -"definition" -msgstr "" -"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " -"definicj� tego elementu" +msgid "symbol for multicharacter collating element `%.*s' duplicates element definition" +msgstr "symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela definicj� tego elementu" -#: locale/programs/ld-collate.c:1067 +#: locale/programs/ld-collate.c:1073 #, c-format -msgid "" -"symbol for multicharacter collating element `%.*s' duplicates other element " -"definition" -msgstr "" -"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " -"definicj� innego elementu" +msgid "symbol for multicharacter collating element `%.*s' duplicates other element definition" +msgstr "symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela definicj� innego elementu" -#: locale/programs/ld-collate.c:1203 +#: locale/programs/ld-collate.c:1210 #, c-format -msgid "" -"symbol for multicharacter collating element `%.*s' duplicates other symbol " -"definition" -msgstr "" -"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " -"definicj� innego symbolu" +msgid "symbol for multicharacter collating element `%.*s' duplicates other symbol definition" +msgstr "symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela definicj� innego symbolu" -#: locale/programs/ld-collate.c:1076 +#: locale/programs/ld-collate.c:1082 #, c-format -msgid "" -"symbol for multicharacter collating element `%.*s' duplicates symbol " -"definition" -msgstr "" -"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " -"definicj� tego symbolu" +msgid "symbol for multicharacter collating element `%.*s' duplicates symbol definition" +msgstr "symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela definicj� tego symbolu" -#: locale/programs/ld-collate.c:1058 locale/programs/ld-collate.c:1185 +#: locale/programs/ld-collate.c:1064 locale/programs/ld-collate.c:1192 #, c-format -msgid "" -"symbol for multicharacter collating element `%.*s' duplicates symbolic name " -"in charset" -msgstr "" -"symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela " -"nazw� symboliczn� z zestawu znak�w" +msgid "symbol for multicharacter collating element `%.*s' duplicates symbolic name in charset" +msgstr "symbol zarezerwowany dla wieloznakowego elementu sortowania `%.*s' powiela nazw� symboliczn� z zestawu znak�w" -#: locale/programs/charmap.c:314 locale/programs/charmap.c:348 -#: locale/programs/charmap.c:378 locale/programs/charmap.c:465 -#: locale/programs/charmap.c:511 locale/programs/charmap.c:544 -#: locale/programs/charmap.c:576 +#: locale/programs/charmap.c:399 locale/programs/charmap.c:433 +#: locale/programs/charmap.c:463 locale/programs/charmap.c:549 +#: locale/programs/charmap.c:595 locale/programs/charmap.c:628 +#: locale/programs/charmap.c:660 #, c-format msgid "syntax error in %s definition: %s" msgstr "b��d sk�adniowy w definicji %s: %s" -#: locale/programs/locfile.c:642 +#: locale/programs/locfile.c:750 msgid "syntax error in `order_start' directive" msgstr "b��d sk�adniowy w dyrektywie `order_start'" -#: locale/programs/locfile.c:384 +#: locale/programs/locfile.c:492 msgid "syntax error in character class definition" msgstr "b��d sk�adniowy definicji klasy znak�w" -#: locale/programs/locfile.c:442 +#: locale/programs/locfile.c:550 msgid "syntax error in character conversion definition" msgstr "b��d sk�adniowy w definicji konwersji znaku" -#: locale/programs/locfile.c:684 +#: locale/programs/locfile.c:792 msgid "syntax error in collating order definition" msgstr "b��d sk�adniowy w definicji kolejno�ci sortowania" -#: locale/programs/locfile.c:534 +#: locale/programs/locfile.c:642 msgid "syntax error in collation definition" msgstr "b��d sk�adniowy w definicji sortowania" -#: locale/programs/locfile.c:357 +#: locale/programs/locfile.c:465 msgid "syntax error in definition of LC_CTYPE category" msgstr "b��d sk�adniowy w definicji kategorii LC_CTYPE" -#: locale/programs/locfile.c:300 +#: locale/programs/locfile.c:408 msgid "syntax error in definition of new character class" msgstr "b��d sk�adniowy w definicji nowej klasy znak�w" -#: locale/programs/locfile.c:310 +#: locale/programs/locfile.c:418 msgid "syntax error in definition of new character map" msgstr "b��d sk�adniowy w definicji nowej mapy znak�w" -#: locale/programs/locfile.c:895 +#: locale/programs/locfile.c:1003 msgid "syntax error in message locale definition" msgstr "b��d sk�adniowy w definicji lokalnych komunikat�w" -#: locale/programs/locfile.c:806 +#: locale/programs/locfile.c:914 msgid "syntax error in monetary locale definition" msgstr "b��d sk�adniowy w definicji lokalnej waluty" -#: locale/programs/locfile.c:833 +#: locale/programs/locfile.c:941 msgid "syntax error in numeric locale definition" msgstr "b��d sk�adniowy w lokalnej definicji numerycznej" -#: locale/programs/locfile.c:744 +#: locale/programs/locfile.c:852 msgid "syntax error in order specification" msgstr "b��d sk�adniowy w specyfikacji kolejno�ci" -#: locale/programs/charmap.c:195 locale/programs/charmap.c:211 +#: locale/programs/charmap.c:280 locale/programs/charmap.c:296 +#: locale/programs/repertoire.c:143 #, c-format msgid "syntax error in prolog: %s" msgstr "b��d sk�adniowy w prologu: %s" -#: locale/programs/locfile.c:871 +#: locale/programs/repertoire.c:198 locale/programs/repertoire.c:237 +#: locale/programs/repertoire.c:260 +#, c-format +msgid "syntax error in repertoire map definition: %s" +msgstr "b��d sk�adniowy w definicji mapy repertuaru: %s" + +#: locale/programs/locfile.c:979 msgid "syntax error in time locale definition" msgstr "b��d sk�adniowy w lokalnej definicji czasu" -#: locale/programs/locfile.c:277 +#: locale/programs/locfile.c:385 msgid "syntax error: not inside a locale definition section" msgstr "b��d sk�adniowy: nie wewn�trz sekcji definicji lokalnych" -#: catgets/gencat.c:381 catgets/gencat.c:517 catgets/gencat.c:544 +#: iconv/iconv_prog.c:137 +msgid "target encoding not specified using `-t'" +msgstr "nie podano docelowego kodowania w `-t'" + +#: catgets/gencat.c:390 catgets/gencat.c:526 catgets/gencat.c:553 msgid "this is the first definition" msgstr "to pierwsza definicja" -#: time/zic.c:1117 +#: timezone/zic.c:1132 msgid "time before zero" msgstr "czas przed zerem" -#: time/zic.c:1125 time/zic.c:1986 time/zic.c:2005 +#: timezone/zic.c:1140 timezone/zic.c:2015 timezone/zic.c:2034 msgid "time overflow" msgstr "przepe�nienie czasu" -#: locale/programs/charset.c:44 +#: locale/programs/charmap.c:443 msgid "too few bytes in character encoding" msgstr "za ma�o bajt�w w kodzie znaku" -#: locale/programs/charset.c:46 +#: locale/programs/charmap.c:445 msgid "too many bytes in character encoding" msgstr "za du�o bajt�w w kodzie znaku" -#: locale/programs/locales.h:72 +#: locale/programs/locales.h:92 msgid "too many character classes defined" msgstr "zdefiniowane zbyt wiele klas znak�w" -#: time/zic.c:1815 +#: timezone/zic.c:1843 msgid "too many leap seconds" msgstr "za du�o sekund przest�pnych" -#: time/zic.c:1787 +#: timezone/zic.c:1815 msgid "too many local time types" msgstr "za du�o lokalnych typ�w czasu" -#: time/zic.c:1741 +#: timezone/zic.c:1769 msgid "too many transitions?!" msgstr "za duzo konwersji?!" -#: locale/programs/ld-collate.c:1626 +#: locale/programs/ld-collate.c:1637 msgid "too many weights" msgstr "za du�o wag" -#: time/zic.c:2109 +#: timezone/zic.c:2138 msgid "too many, or too long, time zone abbreviations" msgstr "za d�ugie lub za du�o skr�t�w stref czasowych" @@ -2772,296 +4093,456 @@ msgstr "za d�ugie lub za du�o skr�t�w st msgid "trailing garbage at end of line" msgstr "�miecie na ko�cu linii" -#: sunrpc/svc_simple.c:132 +#: sunrpc/svc_simple.c:150 #, c-format msgid "trouble replying to prog %d\n" msgstr "problem przy odpowiadaniu programowi %d\n" -#: locale/programs/ld-collate.c:1386 +#: locale/programs/ld-collate.c:1393 msgid "two lines in a row containing `...' are not allowed" msgstr "dwie kolejne linie zawieraj�ce `...' nie s� dozwolone" -#: time/zic.c:1281 +#: timezone/zic.c:1307 msgid "typed single year" msgstr "podany pojedy�czy rok" -#: posix/getconf.c:239 +#: iconv/iconv_prog.c:406 +msgid "unable to allocate buffer for input" +msgstr "przydzielenie bufora dla danych wej�ciowych by�o niemo�liwe" + +#: nis/nis_callback.c:187 +msgid "unable to free arguments" +msgstr "zwolnienie argument�w nie powiod�o si�" + +#: posix/getconf.c:654 posix/getconf.c:670 msgid "undefined" -msgstr "nieokre�lone" +msgstr "niezdefiniowana" -#: locale/programs/charmap.c:617 locale/programs/charmap.c:628 +#: locale/programs/charmap.c:701 locale/programs/charmap.c:712 #, c-format msgid "unknown character `%s'" msgstr "nieznany znak `%s'" -#: locale/programs/ld-messages.c:193 locale/programs/ld-messages.c:204 -#: locale/programs/ld-messages.c:215 locale/programs/ld-messages.c:226 -#: locale/programs/ld-time.c:698 +#: locale/programs/ld-messages.c:202 locale/programs/ld-messages.c:213 +#: locale/programs/ld-messages.c:224 locale/programs/ld-messages.c:235 +#: locale/programs/ld-time.c:718 #, c-format msgid "unknown character in field `%s' of category `%s'" msgstr "nieznany znak w polu `%s' kategorii `%s'" -#: locale/programs/locfile.c:607 +#: locale/programs/locfile.c:715 msgid "unknown collation directive" msgstr "nieznana dyrektywa sortuj�ca" -#: catgets/gencat.c:478 +#: catgets/gencat.c:487 #, c-format msgid "unknown directive `%s': line ignored" msgstr "nieznana dyrektywa `%s': linia zignorowana" -#: catgets/gencat.c:457 +#: iconv/iconv_prog.c:353 +#, c-format +msgid "unknown iconv() error %d" +msgstr "nieznany b��d iconv() %d" + +#: catgets/gencat.c:466 #, c-format msgid "unknown set `%s'" msgstr "nieznany zestaw `%s'" -#: locale/programs/ld-collate.c:1370 locale/programs/ld-collate.c:1561 -#: locale/programs/ld-collate.c:1735 +#: locale/programs/ld-collate.c:1377 locale/programs/ld-collate.c:1572 +#: locale/programs/ld-collate.c:1747 #, c-format msgid "unknown symbol `%.*s': line ignored" msgstr "nieznany symbol `%.*s': linia zignorowana" -#: time/zic.c:747 +#: timezone/zic.c:761 msgid "unruly zone" msgstr "strefa bez regu�" -#: catgets/gencat.c:962 +#: catgets/gencat.c:971 msgid "unterminated message" msgstr "niezako�czony komunikat" -#: locale/programs/linereader.c:515 locale/programs/linereader.c:550 +#: locale/programs/linereader.c:520 locale/programs/linereader.c:555 msgid "unterminated string" msgstr "niezako�czony �a�cuch" -#: locale/programs/linereader.c:385 +#: sunrpc/rpc_scan.c:350 sunrpc/rpc_scan.c:376 +msgid "unterminated string constant" +msgstr "niezako�czony napis" + +#: locale/programs/linereader.c:390 msgid "unterminated symbolic name" msgstr "niezako�czona nazwa symboliczna" -#: locale/programs/ld-collate.c:1688 +#: locale/programs/ld-collate.c:1699 msgid "unterminated weight name" msgstr "niezako�czona nazwa wagi" -#: locale/programs/charset.c:119 +#: locale/programs/charset.c:104 msgid "upper limit in range is not smaller then lower limit" msgstr "g�rna granica zakresu nie jest mniejsza ni� dolna" -#: time/zic.c:2052 +#: sunrpc/rpc_main.c:1415 +#, c-format +msgid "usage: %s infile\n" +msgstr "sk�adnia: %s plik_we\n" + +#: timezone/zic.c:2081 msgid "use of 2/29 in non leap-year" msgstr "u�ycie 2/29 w roku nieprzest�pnym" -#: locale/programs/charmap.c:438 locale/programs/charmap.c:492 +#: locale/programs/charmap.c:522 locale/programs/charmap.c:576 #, c-format msgid "value for %s must be an integer" msgstr "warto�� %s musi by� liczb� ca�kowit�" -#: locale/programs/charmap.c:233 +#: locale/programs/charmap.c:318 #, c-format msgid "value for <%s> must lie between 1 and 4" msgstr "warto�� <%s> musi by� z zakresu 1 do 4" -#: locale/programs/ld-monetary.c:149 locale/programs/ld-numeric.c:89 +#: locale/programs/ld-monetary.c:157 locale/programs/ld-numeric.c:92 #, c-format msgid "value for field `%s' in category `%s' must not be the empty string" msgstr "warto�� pola `%s' w kategorii `%s' nie mo�e by� pustym �a�cuchem" -#: locale/programs/charmap.c:245 +#: locale/programs/charmap.c:330 msgid "value of <mb_cur_max> must be greater than the value of <mb_cur_min>" msgstr "warto�� <mb_cur_max> musi by� wi�ksza ni� warto�� <mb_cur_min>" -#: locale/programs/ld-monetary.c:139 -msgid "" -"value of field `int_curr_symbol' in category `LC_MONETARY' does not " -"correspond to a valid name in ISO 4217" -msgstr "" -"zawarto�� pola `int_curr_symbol' w kategorii `LC_MONETARY' nie jest zgodna z " -"nazwami ISO 4217" +#: locale/programs/ld-monetary.c:147 +msgid "value of field `int_curr_symbol' in category `LC_MONETARY' does not correspond to a valid name in ISO 4217" +msgstr "zawarto�� pola `int_curr_symbol' w kategorii `LC_MONETARY' nie jest zgodna z nazwami ISO 4217" -#: locale/programs/ld-monetary.c:133 -msgid "" -"value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" -msgstr "" -"zawarto�� pola `int_curr_symbol' w kategorii `LC_MONETARY' ma z�� d�ugo��" +#: locale/programs/ld-monetary.c:139 +msgid "value of field `int_curr_symbol' in category `LC_MONETARY' has wrong length" +msgstr "zawarto�� pola `int_curr_symbol' w kategorii `LC_MONETARY' ma z�� d�ugo��" -#: locale/programs/ld-monetary.c:371 locale/programs/ld-numeric.c:199 +#: locale/programs/ld-monetary.c:383 locale/programs/ld-numeric.c:207 #, c-format msgid "values for field `%s' in category `%s' must be smaller than 127" msgstr "warto�ci pola `%s' w kategorii `%s' musz� by� mniejsze ni� 127" -#: locale/programs/ld-monetary.c:367 +#: nscd/connections.c:355 #, c-format -msgid "values for field `%s' in category `%s' must not be zero" -msgstr "warto�ci pola `%s' w kategorii `%s' nie mog� by� zerowe" +msgid "while accepting connection: %s" +msgstr "podczas przyjmowania po��czenia: %s" -#: login/utmp_file.c:84 -msgid "while opening UTMP file" -msgstr "podczas otwierania pliku UTMP" +#: nscd/grpcache.c:149 nscd/hstcache.c:168 nscd/pwdcache.c:142 +msgid "while allocating cache entry" +msgstr "podczas dokonywania wpisu do pami�ci podr�cznej" -#: catgets/gencat.c:989 +#: nscd/cache.c:85 +msgid "while allocating hash table entry" +msgstr "b��d podczas wstawiania do tablicy mieszaj�cej" + +#: nscd/grpcache.c:99 nscd/hstcache.c:109 nscd/pwdcache.c:105 +msgid "while allocating key copy" +msgstr "podczas tworzenia kopii klucza" + +#: catgets/gencat.c:1001 msgid "while opening old catalog file" msgstr "podczas otwierania starego katalogu" -#: db/makedb.c:354 +#: locale/programs/locale.c:346 +msgid "while preparing output" +msgstr "podczas przygotowywania wynik�w" + +#: db2/makedb.c:365 db2/makedb.c:382 msgid "while reading database" msgstr "podczas czytania bazy" -#: db/makedb.c:316 -msgid "while writing data base file" +#: elf/sprof.c:683 +msgid "while stat'ing profiling data file" +msgstr "podczas szukania pliku z danymi profiluj�cymi" + +#: db2/makedb.c:334 +msgid "while writing database file" msgstr "podczas zapisywania pliku bazy" -#: db/makedb.c:142 +#: nscd/nscd_stat.c:115 +msgid "write incomplete" +msgstr "zapis nie by� kompletny" + +#: inet/rcmd.c:320 +msgid "writeable by other than owner" +msgstr "zapisywalny nie tylko przez w�a�ciciela" + +#: db2/makedb.c:124 nscd/nscd.c:114 nss/getent.c:392 msgid "wrong number of arguments" msgstr "z�a liczba argument�w" -#: time/zic.c:1075 +#: timezone/zic.c:1090 msgid "wrong number of fields on Leap line" msgstr "z�a liczba p�l w linii Leap" -#: time/zic.c:1166 +#: timezone/zic.c:1181 msgid "wrong number of fields on Link line" msgstr "z�a liczba p�l w linii Link" -#: time/zic.c:909 +#: timezone/zic.c:924 msgid "wrong number of fields on Rule line" msgstr "z�a liczba p�l w linii Rule" -#: time/zic.c:979 +#: timezone/zic.c:994 msgid "wrong number of fields on Zone continuation line" msgstr "z�a liczba p�l w linii kontynuacji Zone" -#: time/zic.c:937 +#: timezone/zic.c:952 msgid "wrong number of fields on Zone line" msgstr "z�a liczba p�l w linii Zone" -#: nis/ypclnt.c:811 +#: sunrpc/xdr_ref.c:84 +msgid "xdr_reference: out of memory\n" +msgstr "xdr_reference: brak pami�ci\n" + +#: sunrpc/xdr_rec.c:151 sunrpc/xdr_rec.c:166 +msgid "xdrrec_create: out of memory\n" +msgstr "xdrrec_create: brak pami�ci\n" + +#: nis/ypclnt.c:884 msgid "yp_update: cannot convert host to netname\n" msgstr "yp_update: konwersja nazwy hosta na nazw� sieci jest niemo�liwa\n" -#: nis/ypclnt.c:823 +#: nis/ypclnt.c:896 msgid "yp_update: cannot get server address\n" msgstr "yp_update: uzyskanie adresu serwera jest niemo�liwe\n" -msgid " %s [-c | -h | -l | -m] [-o outfile] [infile]\n" -msgstr " %s [-c | -h | -l | -m] [-o plik_wy] [plik_we]\n" +#~ msgid "Cputime limit exceeded" +#~ msgstr "Przekroczenie limitu czasu procesora" -msgid " %s [-s udp|tcp]* [-o outfile] [infile]\n" -msgstr " %s [-s udp|tcp]* [-o plik_wy] [plik_we]\n" +#~ msgid "Error %d" +#~ msgstr "B��d %d" -msgid "%s, line %d: " -msgstr "%s, linia %d: " +#~ msgid "Filesize limit exceeded" +#~ msgstr "Przekroczenie limitu wielko�ci pliku" -msgid "%s: output would overwrite %s\n" -msgstr "%s: wyj�cie nadpisze %s\n" +#~ msgid "Illegal Instruction" +#~ msgstr "Nieznana Instrukcja" -msgid "%s: unable to open " -msgstr "%s: otwarcie jest niemo�liwe " +#~ msgid "Trace/BPT trap" +#~ msgstr "Pu�apka debuggera/BPT" -msgid "Reserved error 82" -msgstr "Zarezerwowany b��d 82" +#~ msgid "" +#~ "Usage: %s [OPTION]... -o OUTPUT-FILE [INPUT-FILE]...\n" +#~ " %s [OPTION]... [OUTPUT-FILE [INPUT-FILE]...]\n" +#~ "Mandatory arguments to long options are mandatory for short options too.\n" +#~ " -H, --header create C header file containing symbol definitions\n" +#~ " -h, --help display this help and exit\n" +#~ " --new do not use existing catalog, force new output file\n" +#~ " -o, --output=NAME write output to file NAME\n" +#~ " -V, --version output version information and exit\n" +#~ "If INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n" +#~ "is -, output is written to standard output.\n" +#~ msgstr "" +#~ "Sk�adnia: %s [OPCJA]... -o PLIK_WYJ�CIOWY [PLIK_WEJ�CIOWY]...\n" +#~ " %s [OPCJA]... [PLIK_WYJ�CIOWY [PLIK_WEJ�CIOWY]...]\n" +#~ "Obowi�zkowe argumenty d�ugich form opcji s� wymagane tak�e dla kr�tkich form.\n" +#~ " -H, --header stw�rz nag��wek C zawieraj�cy definicje symboli\n" +#~ " -h, --help wy�wietl ten tekst pomocy i zako�cz prac�\n" +#~ " --new nie u�ywaj istniej�cego katalogu, wymu� nowy plik wyj�ciowy\n" +#~ " -o, --output=PLIK zapisz wynik do PLIKu\n" +#~ " -V, --version wy�wietl wersj� programi i zako�cz prac�.\n" +#~ "Je�li PLIKIEM_WEJ�CIOWYM jest `-', dane s� czytane ze standardowego wej�cia.\n" +#~ "Je�li PLIKIEM_WYJ�CIOWYM jest `-', wyniki s� wypisywane na standardowe wyj�cie.\n" -msgid "Reserved error 83" -msgstr "Zarezerwowany b��d 83" +#~ msgid "" +#~ "Usage: %s [OPTION]... INPUT-FILE OUTPUT-FILE\n" +#~ " %s [OPTION]... -o OUTPUT-FILE INPUT-FILE\n" +#~ " %s [OPTION]... -u INPUT-FILE\n" +#~ "Mandatory arguments to long options are mandatory for short options too.\n" +#~ " -f, --fold-case convert key to lower case\n" +#~ " -h, --help display this help and exit\n" +#~ " -o, --output=NAME write output to file NAME\n" +#~ " --quiet don't print messages while building database\n" +#~ " -u, --undo print content of database file, one entry a line\n" +#~ " -V, --version output version information and exit\n" +#~ "If INPUT-FILE is -, input is read from standard input.\n" +#~ msgstr "" +#~ "Sk�adnia: %s PLIK_WEJ�CIOWY PLIK_WYJ�CIOWE\n" +#~ " %s [OPCJA]... -o PLIK_WYJ�CIOWY PLIK_WEJ�CIOWY\n" +#~ " %s [OPCJA]... -u PLIK_WEJ�CIOWY\n" +#~ "Obowi�zkowe argumenty d�ugich form opcji s� wymagane tak�e dla kr�tkich form.\n" +#~ " -f, --fold-case zamien litery w kluczu na ma�e\n" +#~ " -h, --help wy�wietl ten tekst pomocy i zako�cz prac�\n" +#~ " -o, --output=PLIK zapisz wynik do pliku PLIK\n" +#~ " --quiet nie wy�wietlaj komunikat�w podczas tworzenia bazy danych\n" +#~ " -u, --undo wy�wietl zawarto�� bazy, po jednym rekordzie w linii\n" +#~ " -V, --version wy�wietl wersj� programi i zako�cz prac�.\n" +#~ "Je�li PLIKIEM_WEJ�CIOWYM jest `-', dane s� czytane ze standardowego wej�cia.\n" -msgid "Reserved error 84" -msgstr "Zarezerwowany b��d 84" +#~ msgid "" +#~ "Usage: %s [OPTION]... name\n" +#~ "Mandatory arguments to long options are mandatory for short options too.\n" +#~ " -c, --force create output even if warning messages were issued\n" +#~ " -h, --help display this help and exit\n" +#~ " -f, --charmap=FILE symbolic character names defined in FILE\n" +#~ " -i, --inputfile=FILE source definitions are found in FILE\n" +#~ " -u, --code-set-name=NAME specify code set for mapping ISO 10646 elements\n" +#~ " -v, --verbose print more messages\n" +#~ " -V, --version output version information and exit\n" +#~ " --posix be strictly POSIX conform\n" +#~ "\n" +#~ "System's directory for character maps: %s\n" +#~ " locale files : %s\n" +#~ msgstr "" +#~ "U�ycie: %s [OPCJA]... nazwa\n" +#~ "Argumenty wymagane dla d�ugich opcji s� wymagane tak�e dla kr�tkich form.\n" +#~ " -c, --force utw�rz wynik nawet je�li pojawi�y si� ostrze�enia\n" +#~ " -h, --help wy�wietl ten tekst pomocy i zako�cz prac�\n" +#~ " -f, --charmap=PLIK symboliczne nazwy znak�w zdefiniowane w PLIKu\n" +#~ " -i, --inputfile=PLIK definicje �r�d�owe pobierz z PLIKu\n" +#~ " -u, --code-set-name=NAZWA nazwa zbioru kod�w do mapowania element�w ISO 10646\n" +#~ " -v, --verbose wy�wietlaj wi�cej informacji\n" +#~ " -V, --version wy�wietl wersj� programu i zako�cz prac�\n" +#~ " --posix zachowaj �cis�� zgodno�� ze standardem POSIX\n" +#~ "\n" +#~ "Systemowy katalog tablic znakowych: %s\n" +#~ " pliki lokalizacyjne: %s\n" -msgid "Reserved error 85" -msgstr "Zarezerwowany b��d 85" +#~ msgid "" +#~ "Usage: %s [OPTION]... name\n" +#~ "Mandatory arguments to long options are mandatory for short options too.\n" +#~ " -h, --help display this help and exit\n" +#~ " -V, --version output version information and exit\n" +#~ "\n" +#~ " -a, --all-locales write names of available locales\n" +#~ " -m, --charmaps write names of available charmaps\n" +#~ "\n" +#~ " -c, --category-name write names of selected categories\n" +#~ " -k, --keyword-name write names of selected keywords\n" +#~ msgstr "" +#~ "U�ycie: %s [OPCJA]... nazwa\n" +#~ "Argumenty wymagane dla d�ugich opcji s� wymagane tak�e dla kr�tkich form.\n" +#~ " -h, --help wy�wietl ten tekst pomocy i zako�cz\n" +#~ " -V, --version wy�wietl wersj� programu i zako�cz\n" +#~ "\n" +#~ " -a, --all-locales wypisz nazwy dost�pnych lokalizacji\n" +#~ " -m, --charmaps wypisz nazwy dost�pnych map znakowych\n" +#~ "\n" +#~ " -c, --category-name wypisz nazwy wybranych kategorii\n" +#~ " -k, --keyword-name wypisz nazwy wybranych s��w kluczowych\n" -msgid "Reserved error 86" -msgstr "Zarezerwowany b��d 86" +#~ msgid "YPBINDPROC_DOMAIN: Internal error\n" +#~ msgstr "YPBINDPROC_DOMAIN: B��d wewn�trzny\n" -msgid "Reserved error 87" -msgstr "Zarezerwowany b��d 87" +#~ msgid "YPBINDPROC_DOMAIN: No server for domain %s\n" +#~ msgstr "YPBINDPROC_DOMAIN: Brak serwera dla domeny %s\n" -msgid "Reserved error 88" -msgstr "Zarezerwowany b��d 88" +#~ msgid "YPBINDPROC_DOMAIN: Resource allocation failure\n" +#~ msgstr "YPBINDPROC_DOMAIN: Wyst�pi� b��d podczas przydzielania zasob�w\n" -msgid "Reserved error 89" -msgstr "Zarezerwowany b��d 89" +#~ msgid "rpcinfo: can't contact portmapper: " +#~ msgstr "rpcinfo: kontakt z portmapperem niemo�liwy: " -msgid "Reserved error 90" -msgstr "Zarezerwowany b��d 90" +#~ msgid "values for field `%s' in category `%s' must not be zero" +#~ msgstr "warto�ci pola `%s' w kategorii `%s' nie mog� by� zerowe" -msgid "Reserved error 91" -msgstr "Zarezerwowany b��d 91" +#~ msgid "while opening UTMP file" +#~ msgstr "podczas otwierania pliku UTMP" -msgid "Reserved error 92" -msgstr "Zarezerwowany b��d 92" +#~ msgid "%s, line %d: " +#~ msgstr "%s, linia %d: " -msgid "Reserved error 93" -msgstr "Zarezerwowany b��d 93" +#~ msgid "Reserved error 82" +#~ msgstr "Zarezerwowany b��d 82" -msgid "Reserved error 94" -msgstr "Zarezerwowany b��d 94" +#~ msgid "Reserved error 83" +#~ msgstr "Zarezerwowany b��d 83" -msgid "Reserved error 95" -msgstr "Zarezerwowany b��d 95" +#~ msgid "Reserved error 84" +#~ msgstr "Zarezerwowany b��d 84" -msgid "Reserved error 96" -msgstr "Zarezerwowany b��d 96" +#~ msgid "Reserved error 85" +#~ msgstr "Zarezerwowany b��d 85" -msgid "Reserved error 97" -msgstr "Zarezerwowany b��d 97" +#~ msgid "Reserved error 86" +#~ msgstr "Zarezerwowany b��d 86" -msgid "Reserved error 98" -msgstr "Zarezerwowany b��d 98" +#~ msgid "Reserved error 87" +#~ msgstr "Zarezerwowany b��d 87" -msgid "Reserved error 99" -msgstr "Zarezerwowany b��d 99" +#~ msgid "Reserved error 88" +#~ msgstr "Zarezerwowany b��d 88" -msgid "Too many levels of remote in path" -msgstr "Za du�o poziom�w zagnie�d�enia w �cie�ce" +#~ msgid "Reserved error 89" +#~ msgstr "Zarezerwowany b��d 89" -msgid "array declaration expected" -msgstr "spodziewana deklaracja tablicy" +#~ msgid "Reserved error 90" +#~ msgstr "Zarezerwowany b��d 90" -msgid "constant or identifier expected" -msgstr "spodziewana sta�a lub identyfikator" +#~ msgid "Reserved error 91" +#~ msgstr "Zarezerwowany b��d 91" -msgid "couldn't do tcp_create\n" -msgstr "wykonanie tcp_create jest niemo�liwe\n" +#~ msgid "Reserved error 92" +#~ msgstr "Zarezerwowany b��d 92" -msgid "couldn't do udp_create\n" -msgstr "wykonanie udp_create jest niemo�liwe\n" +#~ msgid "Reserved error 93" +#~ msgstr "Zarezerwowany b��d 93" -msgid "definition keyword expected" -msgstr "spodziewane s�owo kluczowe definition" +#~ msgid "Reserved error 94" +#~ msgstr "Zarezerwowany b��d 94" -msgid "expected '%s'" -msgstr "spodziewane '%s'" +#~ msgid "Reserved error 95" +#~ msgstr "Zarezerwowany b��d 95" -msgid "expected '%s' or '%s'" -msgstr "spodziewane '%s' lub '%s'" +#~ msgid "Reserved error 96" +#~ msgstr "Zarezerwowany b��d 96" -msgid "expected '%s', '%s' or '%s'" -msgstr "spodziewane '%s', '%s' lub '%s'" +#~ msgid "Reserved error 97" +#~ msgstr "Zarezerwowany b��d 97" -msgid "expected type specifier" -msgstr "spodziewany specyfikator typu" +#~ msgid "Reserved error 98" +#~ msgstr "Zarezerwowany b��d 98" -msgid "illegal result type" -msgstr "b��dny typ wyniku" +#~ msgid "Reserved error 99" +#~ msgstr "Zarezerwowany b��d 99" -msgid "no array-of-pointer declarations -- use typedef" -msgstr "brak deklaracji tablicy wska�nik�w - u�yj typedef" +#~ msgid "Too many levels of remote in path" +#~ msgstr "Za du�o poziom�w zagnie�d�enia w �cie�ce" -msgid "portmap CALLIT: cannot fork.\n" -msgstr "portmap CALLIT: nie mog� rozwidli� procesu\n" +#~ msgid "array declaration expected" +#~ msgstr "spodziewana deklaracja tablicy" -msgid "portmap cannot create socket" -msgstr "portmap nie mo�e stworzy� gniazda" +#~ msgid "couldn't do tcp_create\n" +#~ msgstr "wykonanie tcp_create jest niemo�liwe\n" -msgid "run_svc returned unexpectedly\n" -msgstr "run_svc powr�ci� niespodziewanie\n" +#~ msgid "couldn't do udp_create\n" +#~ msgstr "wykonanie udp_create jest niemo�liwe\n" -msgid "unknown signal" -msgstr "nieznany sygna�" +#~ msgid "definition keyword expected" +#~ msgstr "spodziewane s�owo kluczowe definition" -msgid "usage: %s infile\n" -msgstr "sk�adnia: %s plik_we\n" +#~ msgid "expected '%s'" +#~ msgstr "spodziewane '%s'" -msgid "variable-length array declaration expected" -msgstr "spodziewana tablica o zmiennej d�ugo�ci" +#~ msgid "expected '%s' or '%s'" +#~ msgstr "spodziewane '%s' lub '%s'" -msgid "voids allowed only inside union and program definitions" -msgstr "typ void dozwolony tylko w unii i definicjach program�w" +#~ msgid "expected '%s', '%s' or '%s'" +#~ msgstr "spodziewane '%s', '%s' lub '%s'" + +#~ msgid "expected type specifier" +#~ msgstr "spodziewany specyfikator typu" + +#~ msgid "no array-of-pointer declarations -- use typedef" +#~ msgstr "brak deklaracji tablicy wska�nik�w - u�yj typedef" + +#~ msgid "portmap CALLIT: cannot fork.\n" +#~ msgstr "portmap CALLIT: nie mog� rozwidli� procesu\n" + +#~ msgid "portmap cannot create socket" +#~ msgstr "portmap nie mo�e stworzy� gniazda" + +#~ msgid "run_svc returned unexpectedly\n" +#~ msgstr "run_svc powr�ci� niespodziewanie\n" + +#~ msgid "unknown signal" +#~ msgstr "nieznany sygna�" + +#~ msgid "variable-length array declaration expected" +#~ msgstr "spodziewana tablica o zmiennej d�ugo�ci" + +#~ msgid "voids allowed only inside union and program definitions" +#~ msgstr "typ void dozwolony tylko w unii i definicjach program�w" diff -durpN glibc-2.1.2/posix/TESTS glibc-2.1.3/posix/TESTS --- glibc-2.1.2/posix/TESTS Thu Dec 10 01:55:48 1998 +++ glibc-2.1.3/posix/TESTS Thu Jan 20 17:40:24 2000 @@ -54,10 +54,10 @@ 0:ab|cd:abcd 0:()ef:def 0:()*:- -1:*a:- -0:^*:- -0:$*:- -1:(*)b:- +2:*a:- +2:^*:- +2:$*:- +2:(*)b:- 1:$b:b 2:a\:- 0:a\(b:a(b diff -durpN glibc-2.1.2/posix/Versions glibc-2.1.3/posix/Versions --- glibc-2.1.2/posix/Versions Mon Sep 6 12:32:48 1999 +++ glibc-2.1.3/posix/Versions Tue Dec 21 15:51:42 1999 @@ -88,4 +88,8 @@ libc { # functions used in other libraries __libc_fork; __vfork; } + GLIBC_2.1.3 { + # For the cancelation wrappers. + __libc_pread; __libc_pread64; __libc_pwrite; __libc_pwrite64; + } } diff -durpN glibc-2.1.2/posix/bits/posix2_lim.h glibc-2.1.3/posix/bits/posix2_lim.h --- glibc-2.1.2/posix/bits/posix2_lim.h Fri Jun 20 19:23:57 1997 +++ glibc-2.1.3/posix/bits/posix2_lim.h Thu Jan 20 17:40:24 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1996, 2000 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 @@ -90,12 +90,11 @@ #ifndef LINE_MAX #define LINE_MAX _POSIX2_LINE_MAX #endif -#ifndef RE_DUP_MAX -#define RE_DUP_MAX _POSIX2_RE_DUP_MAX -#endif #ifndef CHARCLASS_NAME_MAX #define CHARCLASS_NAME_MAX _POSIX2_CHARCLASS_NAME_MAX #endif +/* This value is defined like this in regex.h. */ +#define RE_DUP_MAX (0x7fff) #endif /* bits/posix2_lim.h */ diff -durpN glibc-2.1.2/posix/fnmatch.c glibc-2.1.3/posix/fnmatch.c --- glibc-2.1.2/posix/fnmatch.c Wed Apr 28 15:26:43 1999 +++ glibc-2.1.3/posix/fnmatch.c Tue Jan 25 20:50:33 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 96, 97, 98, 99 Free Software Foundation, Inc. +/* Copyright (C) 1991-1993, 1996-1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. This library is free software; you can redistribute it and/or @@ -204,9 +204,31 @@ internal_fnmatch (const char *pattern, c if (c == '\0') /* The wildcard(s) is/are the last element of the pattern. If the name is a file name and contains another slash - this does mean it cannot match. */ - return ((flags & FNM_FILE_NAME) && strchr (n, '/') != NULL - ? FNM_NOMATCH : 0); + this does mean it cannot match. If the FNM_LEADING_DIR + flag is set and exactly one slash is following, we have + a match. */ + { + int result = (flags & FNM_FILE_NAME) == 0 ? 0 : FNM_NOMATCH; + + if (flags & FNM_FILE_NAME) + { + const char *slashp = strchr (n, '/'); + + if (flags & FNM_LEADING_DIR) + { + if (slashp != NULL + && strchr (slashp + 1, '/') == NULL) + result = 0; + } + else + { + if (slashp == NULL) + result = 0; + } + } + + return result; + } else { const char *endp; @@ -368,8 +390,9 @@ internal_fnmatch (const char *pattern, c return FNM_NOMATCH; else { + c = FOLD (c); normal_bracket: - if (FOLD (c) == fn) + if (c == fn) goto matched; cold = c; @@ -378,14 +401,26 @@ internal_fnmatch (const char *pattern, c if (c == '-' && *p != ']') { /* It is a range. */ + char lo[2]; + char fc[2]; unsigned char cend = *p++; if (!(flags & FNM_NOESCAPE) && cend == '\\') cend = *p++; if (cend == '\0') return FNM_NOMATCH; - if (cold <= fn && fn <= FOLD (cend)) - goto matched; + lo[0] = cold; + lo[1] = '\0'; + fc[0] = fn; + fc[1] = '\0'; + if (strcoll (lo, fc) <= 0) + { + char hi[2]; + hi[0] = FOLD (cend); + hi[1] = '\0'; + if (strcoll (fc, hi) <= 0) + goto matched; + } c = *p++; } diff -durpN glibc-2.1.2/posix/getopt.c glibc-2.1.3/posix/getopt.c --- glibc-2.1.2/posix/getopt.c Wed Apr 28 15:27:28 1999 +++ glibc-2.1.3/posix/getopt.c Tue Feb 15 10:59:27 2000 @@ -3,7 +3,7 @@ "Keep this file name-space clean" means, talk to drepper@gnu.org before changing it! - Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99 + Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or @@ -517,6 +517,10 @@ _getopt_internal (argc, argv, optstring, int *longind; int long_only; { + int print_errors = opterr; + if (optstring[0] == ':') + print_errors = 0; + optarg = NULL; if (optind == 0 || !__getopt_initialized) @@ -673,7 +677,7 @@ _getopt_internal (argc, argv, optstring, if (ambig && !exact) { - if (opterr) + if (print_errors) fprintf (stderr, _("%s: option `%s' is ambiguous\n"), argv[0], argv[optind]); nextchar += strlen (nextchar); @@ -694,7 +698,7 @@ _getopt_internal (argc, argv, optstring, optarg = nameend + 1; else { - if (opterr) + if (print_errors) { if (argv[optind - 1][1] == '-') /* --option */ @@ -720,7 +724,7 @@ _getopt_internal (argc, argv, optstring, optarg = argv[optind++]; else { - if (opterr) + if (print_errors) fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); @@ -747,7 +751,7 @@ _getopt_internal (argc, argv, optstring, if (!long_only || argv[optind][1] == '-' || my_index (optstring, *nextchar) == NULL) { - if (opterr) + if (print_errors) { if (argv[optind][1] == '-') /* --option */ @@ -777,7 +781,7 @@ _getopt_internal (argc, argv, optstring, if (temp == NULL || c == ':') { - if (opterr) + if (print_errors) { if (posixly_correct) /* 1003.2 specifies the format of this message. */ @@ -811,7 +815,7 @@ _getopt_internal (argc, argv, optstring, } else if (optind == argc) { - if (opterr) + if (print_errors) { /* 1003.2 specifies the format of this message. */ fprintf (stderr, _("%s: option requires an argument -- %c\n"), @@ -860,7 +864,7 @@ _getopt_internal (argc, argv, optstring, } if (ambig && !exact) { - if (opterr) + if (print_errors) fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), argv[0], argv[optind]); nextchar += strlen (nextchar); @@ -878,7 +882,7 @@ _getopt_internal (argc, argv, optstring, optarg = nameend + 1; else { - if (opterr) + if (print_errors) fprintf (stderr, _("\ %s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name); @@ -893,7 +897,7 @@ _getopt_internal (argc, argv, optstring, optarg = argv[optind++]; else { - if (opterr) + if (print_errors) fprintf (stderr, _("%s: option `%s' requires an argument\n"), argv[0], argv[optind - 1]); @@ -940,12 +944,12 @@ _getopt_internal (argc, argv, optstring, } else if (optind == argc) { - if (opterr) + if (print_errors) { /* 1003.2 specifies the format of this message. */ fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); + _("%s: option requires an argument -- %c\n"), + argv[0], c); } optopt = c; if (optstring[0] == ':') diff -durpN glibc-2.1.2/posix/glob.h glibc-2.1.3/posix/glob.h --- glibc-2.1.2/posix/glob.h Tue Dec 8 05:11:39 1998 +++ glibc-2.1.3/posix/glob.h Tue Feb 22 23:02:59 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 95, 96, 97, 98, 2000 Free Software Foundation, Inc. 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 @@ -49,6 +49,9 @@ extern "C" { #ifndef __size_t # if defined __GNUC__ && __GNUC__ >= 2 typedef __SIZE_TYPE__ __size_t; +# ifdef _XOPEN_SOURCE +typedef __SIZE_TYPE__ size_t; +# endif # else /* This is a guess. */ typedef unsigned long int __size_t; diff -durpN glibc-2.1.2/posix/regex.c glibc-2.1.3/posix/regex.c --- glibc-2.1.2/posix/regex.c Mon Aug 23 10:38:07 1999 +++ glibc-2.1.3/posix/regex.c Tue Feb 22 23:02:59 2000 @@ -2,7 +2,7 @@ version 0.12. (Implements POSIX draft P1003.2/D11.2, except for some of the internationalization features.) - Copyright (C) 1993, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc. + Copyright (C) 1993-1999, 2000 Free Software Foundation, Inc. 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 @@ -164,46 +164,6 @@ char *realloc (); # define SWITCH_ENUM_CAST(x) (x) # endif -/* How many characters in the character set. */ -# define CHAR_SET_SIZE 256 - -# ifdef SYNTAX_TABLE - -extern char *re_syntax_table; - -# else /* not SYNTAX_TABLE */ - -static char re_syntax_table[CHAR_SET_SIZE]; - -static void -init_syntax_once () -{ - register int c; - static int done; - - if (done) - return; - - bzero (re_syntax_table, sizeof re_syntax_table); - - for (c = 'a'; c <= 'z'; c++) - re_syntax_table[c] = Sword; - - for (c = 'A'; c <= 'Z'; c++) - re_syntax_table[c] = Sword; - - for (c = '0'; c <= '9'; c++) - re_syntax_table[c] = Sword; - - re_syntax_table['_'] = Sword; - - done = 1; -} - -# endif /* not SYNTAX_TABLE */ - -# define SYNTAX(c) re_syntax_table[c] - #endif /* not emacs */ /* Get the interface, including the syntax bits. */ @@ -276,6 +236,43 @@ init_syntax_once () # define SIGN_EXTEND_CHAR(c) ((((unsigned char) (c)) ^ 128) - 128) #endif +#ifndef emacs +/* How many characters in the character set. */ +# define CHAR_SET_SIZE 256 + +# ifdef SYNTAX_TABLE + +extern char *re_syntax_table; + +# else /* not SYNTAX_TABLE */ + +static char re_syntax_table[CHAR_SET_SIZE]; + +static void +init_syntax_once () +{ + register int c; + static int done = 0; + + if (done) + return; + bzero (re_syntax_table, sizeof re_syntax_table); + + for (c = 0; c < CHAR_SET_SIZE; ++c) + if (ISALNUM (c)) + re_syntax_table[c] = Sword; + + re_syntax_table['_'] = Sword; + + done = 1; +} + +# endif /* not SYNTAX_TABLE */ + +# define SYNTAX(c) re_syntax_table[((c) & 0xFF)] + +#endif /* emacs */ + /* Should we use malloc or alloca? If REGEX_MALLOC is not defined, we use `alloca' instead of `malloc'. This is because using malloc in re_search* or re_match* could cause memory leaks when C-g is used in @@ -1766,7 +1763,7 @@ typedef struct { if (p != pend) \ { \ PATFETCH (c); \ - while (ISDIGIT (c)) \ + while ('0' <= c && c <= '9') \ { \ if (num < 0) \ num = 0; \ @@ -2622,7 +2619,7 @@ regex_compile (pattern, size, syntax, bu if (p == pend) { - if (syntax & RE_NO_BK_BRACES) + if (!(syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) goto unfetch_interval; else FREE_STACK_RETURN (REG_EBRACE); @@ -2633,7 +2630,12 @@ regex_compile (pattern, size, syntax, bu if (c == ',') { GET_UNSIGNED_NUMBER (upper_bound); - if (upper_bound < 0) upper_bound = RE_DUP_MAX; + if ((!(syntax & RE_NO_BK_BRACES) && c != '\\') + || ((syntax & RE_NO_BK_BRACES) && c != '}')) + FREE_STACK_RETURN (REG_BADBR); + + if (upper_bound < 0) + upper_bound = RE_DUP_MAX; } else /* Interval such as `{1}' => match exactly once. */ @@ -2642,7 +2644,7 @@ regex_compile (pattern, size, syntax, bu if (lower_bound < 0 || upper_bound > RE_DUP_MAX || lower_bound > upper_bound) { - if (syntax & RE_NO_BK_BRACES) + if (!(syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) goto unfetch_interval; else FREE_STACK_RETURN (REG_BADBR); @@ -2657,7 +2659,7 @@ regex_compile (pattern, size, syntax, bu if (c != '}') { - if (syntax & RE_NO_BK_BRACES) + if (!(syntax & RE_INTERVALS) && (syntax & RE_NO_BK_BRACES)) goto unfetch_interval; else FREE_STACK_RETURN (REG_BADBR); @@ -3139,40 +3141,43 @@ compile_range (p_ptr, pend, translate, s unsigned this_char; const char *p = *p_ptr; - unsigned int range_start, range_end; + reg_errcode_t ret; + char range_start[2]; + char range_end[2]; + char ch[2]; if (p == pend) return REG_ERANGE; - /* Even though the pattern is a signed `char *', we need to fetch - with unsigned char *'s; if the high bit of the pattern character - is set, the range endpoints will be negative if we fetch using a - signed char *. - - We also want to fetch the endpoints without translating them; the + /* Fetch the endpoints without translating them; the appropriate translation is done in the bit-setting loop below. */ - /* The SVR4 compiler on the 3B2 had trouble with unsigned const char *. */ - range_start = ((const unsigned char *) p)[-2]; - range_end = ((const unsigned char *) p)[0]; + range_start[0] = p[-2]; + range_start[1] = '\0'; + range_end[0] = p[0]; + range_end[1] = '\0'; /* Have to increment the pointer into the pattern string, so the caller isn't still at the ending character. */ (*p_ptr)++; - /* If the start is after the end, the range is empty. */ - if (range_start > range_end) - return syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR; + /* Report an error if the range is empty and the syntax prohibits this. */ + ret = syntax & RE_NO_EMPTY_RANGES ? REG_ERANGE : REG_NOERROR; /* Here we see why `this_char' has to be larger than an `unsigned - char' -- the range is inclusive, so if `range_end' == 0xff - (assuming 8-bit characters), we would otherwise go into an infinite - loop, since all characters <= 0xff. */ - for (this_char = range_start; this_char <= range_end; this_char++) + char' -- we would otherwise go into an infinite loop, since all + characters <= 0xff. */ + ch[1] = '\0'; + for (this_char = 0; this_char <= (unsigned char) -1; ++this_char) { - SET_LIST_BIT (TRANSLATE (this_char)); + ch[0] = this_char; + if (strcoll (range_start, ch) <= 0 && strcoll (ch, range_end) <= 0) + { + SET_LIST_BIT (TRANSLATE (this_char)); + ret = REG_NOERROR; + } } - return REG_NOERROR; + return ret; } /* re_compile_fastmap computes a ``fastmap'' for the compiled pattern in @@ -4836,11 +4841,11 @@ re_match_2_internal (bufp, string1, size /* We win if the first character of the loop is not part of the charset. */ if ((re_opcode_t) p1[3] == exactn - && ! ((int) p2[1] * BYTEWIDTH > (int) p1[5] - && (p2[2 + p1[5] / BYTEWIDTH] - & (1 << (p1[5] % BYTEWIDTH))))) - { - p[-3] = (unsigned char) pop_failure_jump; + && ! ((int) p2[1] * BYTEWIDTH > (int) p1[5] + && (p2[2 + p1[5] / BYTEWIDTH] + & (1 << (p1[5] % BYTEWIDTH))))) + { + p[-3] = (unsigned char) pop_failure_jump; DEBUG_PRINT1 (" No match => pop_failure_jump.\n"); } @@ -5711,7 +5716,7 @@ regcomp (preg, pattern, cflags) buffer. */ if (re_compile_fastmap (preg) == -2) { - /* Some error occured while computing the fastmap, just forget + /* Some error occurred while computing the fastmap, just forget about it. */ free (preg->fastmap); preg->fastmap = NULL; diff -durpN glibc-2.1.2/posix/regex.h glibc-2.1.3/posix/regex.h --- glibc-2.1.2/posix/regex.h Tue Dec 8 08:10:42 1998 +++ glibc-2.1.3/posix/regex.h Thu Jan 20 17:40:24 2000 @@ -1,6 +1,6 @@ /* Definitions for data structures and routines for the regular expression library, version 0.12. - Copyright (C) 1985,89,90,91,92,93,95,96,97,98 Free Software Foundation, Inc. + Copyright (C) 1985,1989-1993,1995-1998,2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. @@ -221,10 +221,10 @@ extern reg_syntax_t re_syntax_options; (_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS) #define RE_SYNTAX_POSIX_EXTENDED \ - (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ - | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ - | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ - | RE_UNMATCHED_RIGHT_PAREN_ORD) + (_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \ + | RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \ + | RE_NO_BK_PARENS | RE_NO_BK_VBAR \ + | RE_CONTEXT_INVALID_OPS | RE_UNMATCHED_RIGHT_PAREN_ORD) /* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */ diff -durpN glibc-2.1.2/posix/sys/types.h glibc-2.1.3/posix/sys/types.h --- glibc-2.1.2/posix/sys/types.h Tue May 18 01:36:24 1999 +++ glibc-2.1.3/posix/sys/types.h Tue Feb 22 23:02:59 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,94,95,96,97,98,99, 2000 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 @@ -49,8 +49,9 @@ typedef __ino64_t ino_t; # endif # define ino_t ino_t #endif -#ifdef __USE_LARGEFILE64 +#if defined __USE_LARGEFILE64 && !defined ino64_t typedef __ino64_t ino64_t; +# define ino64_t ino64_t #endif #ifndef dev_t diff -durpN glibc-2.1.2/posix/testcases.h glibc-2.1.3/posix/testcases.h --- glibc-2.1.2/posix/testcases.h Thu Dec 10 02:50:22 1998 +++ glibc-2.1.3/posix/testcases.h Thu Jan 20 17:40:24 2000 @@ -54,10 +54,10 @@ {0, "ab|cd", "abcd"}, {0, "()ef", "def"}, {0, "()*", "-"}, - {1, "*a", "-"}, - {0, "^*", "-"}, - {0, "$*", "-"}, - {1, "(*)b", "-"}, + {2, "*a", "-"}, + {2, "^*", "-"}, + {2, "$*", "-"}, + {2, "(*)b", "-"}, {1, "$b", "b"}, {2, "a\\", "-"}, {0, "a\\(b", "a(b"}, diff -durpN glibc-2.1.2/posix/unistd.h glibc-2.1.3/posix/unistd.h --- glibc-2.1.2/posix/unistd.h Thu Jul 15 18:13:51 1999 +++ glibc-2.1.3/posix/unistd.h Tue Feb 22 23:02:59 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999, 2000 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 @@ -809,8 +809,8 @@ extern int sync __P ((void)); /* Return the number of bytes in a page. This is the system's page size, which is not necessarily the same as the hardware page size. */ -extern int __getpagesize __P ((void)); -extern int getpagesize __P ((void)); +extern int __getpagesize __P ((void)) __attribute__ ((__const__)); +extern int getpagesize __P ((void)) __attribute__ ((__const__)); /* Truncate FILE to LENGTH bytes. */ diff -durpN glibc-2.1.2/posix/wordexp.c glibc-2.1.3/posix/wordexp.c --- glibc-2.1.2/posix/wordexp.c Wed Jul 7 11:57:58 1999 +++ glibc-2.1.3/posix/wordexp.c Thu Feb 24 11:19:02 2000 @@ -174,8 +174,8 @@ w_addword (wordexp_t *pwordexp, char *wo if (new_wordv != NULL) { pwordexp->we_wordv = new_wordv; - pwordexp->we_wordv[pwordexp->we_wordc++] = word; - pwordexp->we_wordv[pwordexp->we_wordc] = NULL; + pwordexp->we_wordv[pwordexp->we_offs + pwordexp->we_wordc++] = word; + pwordexp->we_wordv[pwordexp->we_offs + pwordexp->we_wordc] = NULL; return 0; } @@ -299,35 +299,51 @@ parse_tilde (char **word, size_t *word_l uid_t uid; struct passwd pwd, *tpwd; int buflen = 1000; - char* buffer = __alloca (buflen); + char* home; + char* buffer; int result; - uid = __getuid (); - - while ((result = __getpwuid_r (uid, &pwd, buffer, buflen, &tpwd)) != 0 - && errno == ERANGE) - { - buflen += 1000; - buffer = __alloca (buflen); - } + /* POSIX.2 says ~ expands to $HOME and if HOME is unset the + results are unspecified. We do a lookup on the uid if + HOME is unset. */ - if (result == 0 && tpwd != NULL && pwd.pw_dir != NULL) + home = getenv ("HOME"); + if (home != NULL) { - *word = w_addstr (*word, word_length, max_length, pwd.pw_dir); + *word = w_addstr (*word, word_length, max_length, home); if (*word == NULL) return WRDE_NOSPACE; } else { - *word = w_addchar (*word, word_length, max_length, '~'); - if (*word == NULL) - return WRDE_NOSPACE; + uid = __getuid (); + buffer = __alloca (buflen); + + while ((result = __getpwuid_r (uid, &pwd, buffer, buflen, &tpwd)) != 0 + && errno == ERANGE) + { + buflen += 1000; + buffer = __alloca (buflen); + } + + if (result == 0 && tpwd != NULL && pwd.pw_dir != NULL) + { + *word = w_addstr (*word, word_length, max_length, pwd.pw_dir); + if (*word == NULL) + return WRDE_NOSPACE; + } + else + { + *word = w_addchar (*word, word_length, max_length, '~'); + if (*word == NULL) + return WRDE_NOSPACE; + } } } else { /* Look up user name in database to get home directory */ - char *user = __strndup (&words[1 + *offset], i - *offset); + char *user = __strndup (&words[1 + *offset], i - (1 + *offset)); struct passwd pwd, *tpwd; int buflen = 1000; char* buffer = __alloca (buflen); @@ -806,6 +822,44 @@ parse_arith (char **word, size_t *word_l return WRDE_SYNTAX; } +/* Function called by child process in exec_comm() */ +static void +internal_function +exec_comm_child (char *comm, int *fildes, int showerr, int noexec) +{ + const char *args[4] = { _PATH_BSHELL, "-c", comm, NULL }; + + /* Execute the command, or just check syntax? */ + if (noexec) + args[1] = "-nc"; + + /* Redirect output. */ + __dup2 (fildes[1], 1); + __close (fildes[1]); + + /* Redirect stderr to /dev/null if we have to. */ + if (showerr == 0) + { + int fd; + __close (2); + fd = __open (_PATH_DEVNULL, O_WRONLY); + if (fd >= 0 && fd != 2) + { + __dup2 (fd, 2); + __close (fd); + } + } + + /* Make sure the subshell doesn't field-split on our behalf. */ + unsetenv ("IFS"); + + __close (fildes[0]); + __execve (_PATH_BSHELL, (char *const *) args, __environ); + + /* Bad. What now? */ + abort (); +} + /* Function to execute a command and retrieve the results */ /* pwordexp contains NULL if field-splitting is forbidden */ static int @@ -818,6 +872,8 @@ exec_comm (char *comm, char **word, size int bufsize = 128; int buflen; int i; + int status = 0; + size_t maxnewlines = 0; char *buffer; pid_t pid; @@ -838,36 +894,7 @@ exec_comm (char *comm, char **word, size } if (pid == 0) - { - /* Child */ - const char *args[4] = { _PATH_BSHELL, "-c", comm, NULL }; - - /* Redirect output. */ - __dup2 (fildes[1], 1); - __close (fildes[1]); - - /* Redirect stderr to /dev/null if we have to. */ - if ((flags & WRDE_SHOWERR) == 0) - { - int fd; - __close (2); - fd = __open (_PATH_DEVNULL, O_WRONLY); - if (fd >= 0 && fd != 2) - { - __dup2 (fd, 2); - __close (fd); - } - } - - /* Make sure the subshell doesn't field-split on our behalf. */ - unsetenv ("IFS"); - - __close (fildes[0]); - __execve (_PATH_BSHELL, (char *const *) args, __environ); - - /* Bad. What now? */ - abort (); - } + exec_comm_child(comm, fildes, (flags & WRDE_SHOWERR), 0); /* Parent */ @@ -875,18 +902,20 @@ exec_comm (char *comm, char **word, size buffer = __alloca (bufsize); if (!pwordexp) - { /* Quoted - no field splitting */ - + /* Quoted - no field splitting */ + { while (1) { if ((buflen = __read (fildes[0], buffer, bufsize)) < 1) { - if (__waitpid (pid, NULL, WNOHANG) == 0) + if (__waitpid (pid, &status, WNOHANG) == 0) continue; if ((buflen = __read (fildes[0], buffer, bufsize)) < 1) break; } + maxnewlines += buflen; + *word = w_addmem (*word, word_length, max_length, buffer, buflen); if (*word == NULL) goto no_space; @@ -900,15 +929,16 @@ exec_comm (char *comm, char **word, size * 0 when searching for first character in a field not IFS white space * 1 when copying the text of a field * 2 when searching for possible non-whitespace IFS + * 3 when searching for non-newline after copying field */ while (1) { if ((buflen = __read (fildes[0], buffer, bufsize)) < 1) { - if (__waitpid (pid, NULL, WNOHANG) == 0) + if (__waitpid (pid, &status, WNOHANG) == 0) continue; - if ((__read (fildes[0], buffer, bufsize)) < 1) + if ((buflen = __read (fildes[0], buffer, bufsize)) < 1) break; } @@ -938,29 +968,64 @@ exec_comm (char *comm, char **word, size } else { - /* Current character is IFS white space */ + if (buffer[i] == '\n') + { + /* Current character is (IFS) newline */ - /* If not copying a field, ignore it */ - if (copying != 1) - continue; + /* If copying a field, this is the end of it, + but maybe all that's left is trailing newlines. + So start searching for a non-newline. */ + if (copying == 1) + copying = 3; - /* End of field (search for non-ws IFS afterwards) */ - copying = 2; + continue; + } + else + { + /* Current character is IFS white space, but + not a newline */ + + /* If not either copying a field or searching + for non-newline after a field, ignore it */ + if (copying != 1 && copying != 3) + continue; + + /* End of field (search for non-ws IFS afterwards) */ + copying = 2; + } } - /* First IFS white space, or IFS non-whitespace. + /* First IFS white space (non-newline), or IFS non-whitespace. * Delimit the field. Nulls are converted by w_addword. */ if (w_addword (pwordexp, *word) == WRDE_NOSPACE) goto no_space; *word = w_newword (word_length, max_length); + + maxnewlines = 0; /* fall back round the loop.. */ } else { /* Not IFS character */ + + if (copying == 3) + { + /* Nothing but (IFS) newlines since the last field, + so delimit it here before starting new word */ + if (w_addword (pwordexp, *word) == WRDE_NOSPACE) + goto no_space; + + *word = w_newword (word_length, max_length); + } + copying = 1; + if (buffer[i] == '\n') /* happens if newline not in IFS */ + maxnewlines++; + else + maxnewlines = 0; + *word = w_addchar (*word, word_length, max_length, buffer[i]); if (*word == NULL) @@ -970,8 +1035,11 @@ exec_comm (char *comm, char **word, size } } - /* Bash chops off trailing newlines, which seems sensible. */ - while (*word_length > 0 && (*word)[*word_length - 1] == '\n') + /* Chop off trailing newlines (required by POSIX.2) */ + /* Ensure we don't go back further than the beginning of the + substitution (i.e. remove maxnewlines bytes at most) */ + while (maxnewlines-- != 0 && + *word_length > 0 && (*word)[*word_length - 1] == '\n') { (*word)[--*word_length] = '\0'; @@ -986,6 +1054,26 @@ exec_comm (char *comm, char **word, size } __close (fildes[0]); + + /* Check for syntax error (re-execute but with "-n" flag) */ + if (buflen < 1 && status != 0) + { + if ((pid = __fork ()) < 0) + { + /* Bad */ + return WRDE_NOSPACE; + } + + if (pid == 0) + { + fildes[0] = fildes[1] = -1; + exec_comm_child(comm, fildes, 0, 1); + } + + if (__waitpid (pid, &status, 0) == pid && status != 0) + return WRDE_SYNTAX; + } + return 0; no_space: @@ -2109,7 +2197,6 @@ wordfree (wordexp_t *pwordexp) int wordexp (const char *words, wordexp_t *pwordexp, int flags) { - size_t wordv_offset; size_t words_offset; size_t word_length; size_t max_length; @@ -2117,42 +2204,41 @@ wordexp (const char *words, wordexp_t *p int error; char *ifs; char ifs_white[4]; - char **old_wordv = pwordexp->we_wordv; - size_t old_wordc = (flags & WRDE_REUSE) ? pwordexp->we_wordc : 0; + wordexp_t old_word = *pwordexp; if (flags & WRDE_REUSE) { /* Minimal implementation of WRDE_REUSE for now */ wordfree (pwordexp); - old_wordv = NULL; + old_word.we_wordv = NULL; } - if (flags & WRDE_DOOFFS) + if ((flags & WRDE_APPEND) == 0) { - pwordexp->we_wordv = calloc (1 + pwordexp->we_offs, sizeof (char *)); - if (pwordexp->we_wordv == NULL) + pwordexp->we_wordc = 0; + + if (flags & WRDE_DOOFFS) { - error = WRDE_NOSPACE; - goto do_error; + pwordexp->we_wordv = calloc (1 + pwordexp->we_offs, sizeof (char *)); + if (pwordexp->we_wordv == NULL) + { + error = WRDE_NOSPACE; + goto do_error; + } } - } - else - { - pwordexp->we_wordv = calloc (1, sizeof (char *)); - if (pwordexp->we_wordv == NULL) + else { - error = WRDE_NOSPACE; - goto do_error; - } + pwordexp->we_wordv = calloc (1, sizeof (char *)); + if (pwordexp->we_wordv == NULL) + { + error = WRDE_NOSPACE; + goto do_error; + } - pwordexp->we_offs = 0; + pwordexp->we_offs = 0; + } } - if ((flags & WRDE_APPEND) == 0) - pwordexp->we_wordc = 0; - - wordv_offset = pwordexp->we_offs + pwordexp->we_wordc; - /* Find out what the field separators are. * There are two types: whitespace and non-whitespace. */ @@ -2236,6 +2322,14 @@ wordexp (const char *words, wordexp_t *p if (error) goto do_error; + if (!word_length) + { + error = w_addword (pwordexp, NULL); + + if (error) + return error; + } + break; case '\'': @@ -2246,6 +2340,14 @@ wordexp (const char *words, wordexp_t *p if (error) goto do_error; + if (!word_length) + { + error = w_addword (pwordexp, NULL); + + if (error) + return error; + } + break; case '~': @@ -2317,7 +2419,7 @@ wordexp (const char *words, wordexp_t *p do_error: /* Error: * free memory used (unless error is WRDE_NOSPACE), and - * set we_wordc and wd_wordv back to what they were. + * set pwordexp members back to what they were. */ if (word != NULL) @@ -2326,8 +2428,9 @@ do_error: if (error == WRDE_NOSPACE) return WRDE_NOSPACE; - wordfree (pwordexp); - pwordexp->we_wordv = old_wordv; - pwordexp->we_wordc = old_wordc; + if ((flags & WRDE_APPEND) == 0) + wordfree (pwordexp); + + *pwordexp = old_word; return error; } diff -durpN glibc-2.1.2/resolv/gethnamaddr.c glibc-2.1.3/resolv/gethnamaddr.c --- glibc-2.1.2/resolv/gethnamaddr.c Sun Sep 6 16:43:26 1998 +++ glibc-2.1.3/resolv/gethnamaddr.c Mon Oct 25 15:23:46 1999 @@ -55,7 +55,7 @@ #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)gethostnamadr.c 8.1 (Berkeley) 6/4/93"; -static char rcsid[] = "$Id: gethnamaddr.c,v 1.29 1998/09/06 23:43:26 drepper Exp $"; +static char rcsid[] = "$Id: gethnamaddr.c,v 1.29.2.2 1999/10/25 22:23:46 drepper Exp $"; #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> @@ -424,6 +424,10 @@ getanswer(answer, anslen, qname, qtype) buflen -= nn; } + /* XXX: when incrementing bp, we have to decrement + * buflen by the same amount --okir */ + buflen -= sizeof(align) - ((u_long)bp % sizeof(align)); + bp += sizeof(align) - ((u_long)bp % sizeof(align)); if (bp + n >= &hostbuf[sizeof hostbuf]) { @@ -625,7 +629,8 @@ gethostbyname2(name, af) struct hostent * gethostbyaddr(addr, len, af) const char *addr; /* XXX should have been def'd as u_char! */ - int len, af; + size_t len; + int af; { const u_char *uaddr = (const u_char *)addr; static const u_char mapped[] = { 0,0, 0,0, 0,0, 0,0, 0,0, 0xff,0xff }; diff -durpN glibc-2.1.2/resolv/netdb.h glibc-2.1.3/resolv/netdb.h --- glibc-2.1.2/resolv/netdb.h Sun Feb 14 12:07:07 1999 +++ glibc-2.1.3/resolv/netdb.h Tue Dec 21 15:51:43 1999 @@ -113,7 +113,7 @@ extern struct hostent *gethostent __P (( /* Return entry from host data base which address match ADDR with length LEN and type TYPE. */ -extern struct hostent *gethostbyaddr __P ((__const char *__addr, int __len, +extern struct hostent *gethostbyaddr __P ((__const char *__addr, size_t __len, int __type)); /* Return entry from host data base for host with NAME. */ @@ -135,7 +135,7 @@ extern int gethostent_r __P ((struct hos struct hostent **__restrict __result, int *__restrict __h_errnop)); -extern int gethostbyaddr_r __P ((__const char *__restrict __addr, int __len, +extern int gethostbyaddr_r __P ((__const char *__restrict __addr, size_t __len, int __type, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, @@ -155,12 +155,6 @@ extern int gethostbyname2_r __P ((__cons int *__restrict __h_errnop)); #endif /* misc */ - -/* Return entry from host data base for host with NAME. AF must be - set to the desired address type (either `AF_INET' or `AF_INET6'). - FLAGS is some combination of the following AI_* values. */ -extern struct hostent *getnodebyname __P ((__const char *__name, int __af, - int __flags)); #define AI_V4MAPPED 1 /* IPv4-mapped addresses are acceptable. */ #define AI_ALL 2 /* Return both IPv4 and IPv6 addresses. */ diff -durpN glibc-2.1.2/resolv/nss_dns/dns-host.c glibc-2.1.3/resolv/nss_dns/dns-host.c --- glibc-2.1.2/resolv/nss_dns/dns-host.c Sun Aug 15 13:23:18 1999 +++ glibc-2.1.3/resolv/nss_dns/dns-host.c Mon Sep 13 10:32:06 1999 @@ -163,7 +163,7 @@ _nss_dns_gethostbyname2_r (const char *n if (n < 0) { *h_errnop = h_errno; - *errnop = errno; + *errnop = *h_errnop == TRY_AGAIN ? EAGAIN : ENOENT; return errno == ECONNREFUSED ? NSS_STATUS_UNAVAIL : NSS_STATUS_NOTFOUND; } @@ -342,6 +342,7 @@ getanswer_r (const querybuf *answer, int name_ok = res_dnok; break; default: + *errnop = ENOENT; return NSS_STATUS_UNAVAIL; /* XXX should be abort(); */ } @@ -356,6 +357,7 @@ getanswer_r (const querybuf *answer, int if (qdcount != 1) { *h_errnop = NO_RECOVERY; + *errnop = ENOENT; return NSS_STATUS_UNAVAIL; } @@ -390,6 +392,7 @@ getanswer_r (const querybuf *answer, int if (n >= MAXHOSTNAMELEN) { *h_errnop = NO_RECOVERY; + *errnop = ENOENT; return NSS_STATUS_TRYAGAIN; } result->h_name = bp; @@ -660,5 +663,6 @@ getanswer_r (const querybuf *answer, int } no_recovery: *h_errnop = NO_RECOVERY; + *errnop = ENOENT; return NSS_STATUS_TRYAGAIN; } diff -durpN glibc-2.1.2/rt/Makefile glibc-2.1.3/rt/Makefile --- glibc-2.1.2/rt/Makefile Sat Mar 20 09:16:38 1999 +++ glibc-2.1.3/rt/Makefile Tue Dec 21 15:51:44 1999 @@ -35,7 +35,7 @@ include ../Makeconfig ifeq ($(have-thread-library),yes) -tests := tst-aio +tests := tst-aio tst-aio64 extra-libs := librt extra-libs-others := $(extra-libs) @@ -51,6 +51,8 @@ $(objpfx)librt.so: $(common-objpfx)libc. ifeq (yes,$(build-shared)) $(objpfx)tst-aio: $(objpfx)librt.so $(shared-thread-library) +$(objpfx)tst-aio64: $(objpfx)librt.so $(shared-thread-library) else $(objpfx)tst-aio: $(objpfx)librt.a $(static-thread-library) -endif \ No newline at end of file +$(objpfx)tst-aio64: $(objpfx)librt.a $(static-thread-library) +endif diff -durpN glibc-2.1.2/rt/aio.h glibc-2.1.3/rt/aio.h --- glibc-2.1.2/rt/aio.h Fri Dec 4 12:54:31 1998 +++ glibc-2.1.3/rt/aio.h Tue Dec 21 15:51:44 1999 @@ -57,7 +57,8 @@ struct aiocb char __unused[32]; }; -/* The same for the 64bit offsets. */ +/* The same for the 64bit offsets. Please note that the members aio_fildes + to __return_value have to be the same in aiocb and aiocb64. */ #ifdef __USE_LARGEFILE64 struct aiocb64 { @@ -69,6 +70,7 @@ struct aiocb64 struct sigevent aio_sigevent; /* Signal number and value. */ /* Internal members. */ + struct aiocb *__next_prio; int __abs_prio; int __policy; int __error_code; @@ -172,7 +174,7 @@ extern int __REDIRECT (aio_write, __P (( extern int __REDIRECT (lio_listio, __P ((int __mode, - struct aiocb *__const __restrict __list[], + struct aiocb *__const __list[], int __nent, struct sigevent *__restrict __sig)), lio_listio64); @@ -186,13 +188,13 @@ extern int __REDIRECT (aio_cancel, __P ( aio_cancel64); extern int __REDIRECT (aio_suspend, - __P ((__const struct aiocb *__const __restrict __list[], + __P ((__const struct aiocb *__const __list[], int __nent, __const struct timespec *__restrict __timeout)), aio_suspend64); -extern int __REDIRECT (aio_fsync __P ((int __operation, - struct aiocb *__aiocbp)), +extern int __REDIRECT (aio_fsync, __P ((int __operation, + struct aiocb *__aiocbp)), aio_fsync64); # else diff -durpN glibc-2.1.2/rt/aio_misc.c glibc-2.1.3/rt/aio_misc.c --- glibc-2.1.2/rt/aio_misc.c Sun Aug 15 13:25:16 1999 +++ glibc-2.1.3/rt/aio_misc.c Fri Feb 11 15:49:58 2000 @@ -1,5 +1,5 @@ /* Handle general operations. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -124,7 +124,7 @@ get_elem (void) if (new_row == NULL) return NULL; - pool[new_size / ENTRIES_PER_ROW] = new_row; + pool[new_size / ENTRIES_PER_ROW - 1] = new_row; } /* Put all the new entries in the freelist. */ diff -durpN glibc-2.1.2/rt/tst-aio64.c glibc-2.1.3/rt/tst-aio64.c --- glibc-2.1.2/rt/tst-aio64.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/rt/tst-aio64.c Sat Dec 18 14:56:39 1999 @@ -0,0 +1,196 @@ +/* Tests for 64bit AIO in librt. + Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. + + 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. */ + +#define _LARGEFILE_SOURCE 1 +#include <aio.h> +#include <errno.h> +#include <error.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <sys/stat.h> + + +/* Prototype for our test function. */ +extern void do_prepare (int argc, char *argv[]); +extern int do_test (int argc, char *argv[]); + +/* We have a preparation function. */ +#define PREPARE do_prepare + +/* We might need a bit longer timeout. */ +#define TIMEOUT 20 /* sec */ + +/* This defines the `main' function and some more. */ +#include <test-skeleton.c> + + +/* These are for the temporary file we generate. */ +char *name; +int fd; + +void +do_prepare (int argc, char *argv[]) +{ + char name_len; + + name_len = strlen (test_dir); + name = malloc (name_len + sizeof ("/aioXXXXXX")); + mempcpy (mempcpy (name, test_dir, name_len), + "/aioXXXXXX", sizeof ("/aioXXXXXX")); + add_temp_file (name); + + /* Open our test file. */ + fd = mkstemp (name); + if (fd == -1) + error (EXIT_FAILURE, errno, "cannot open test file `%s'", name); +} + + +int +test_file (const void *buf, size_t size, int fd, const char *msg) +{ + struct stat st; + char tmp[size]; + + errno = 0; + if (fstat (fd, &st) < 0) + { + error (0, errno, "%s: failed stat", msg); + return 1; + } + + if (st.st_size != size) + { + error (0, errno, "%s: wrong size: %lu, should be %lu", + msg, (unsigned long int) st.st_size, (unsigned long int) size); + return 1; + } + + if (pread (fd, tmp, size, 0) != size) + { + error (0, errno, "%s: failed stat", msg); + return 1; + } + + if (memcmp (buf, tmp, size) != 0) + { + error (0, errno, "%s: failed comparison", msg); + return 1; + } + + printf ("%s test ok\n", msg); + + return 0; +} + + +void +do_wait (struct aiocb64 **cbp, size_t nent) +{ + int go_on; + do + { + size_t cnt; + + aio_suspend64 ((const struct aiocb64 *const *) cbp, nent, NULL); + go_on = 0; + for (cnt = 0; cnt < nent; ++cnt) + if (cbp[cnt] != NULL && aio_error64 (cbp[cnt]) == EINPROGRESS) + go_on = 1; + else + cbp[cnt] = NULL; + } + while (go_on); +} + + +int +do_test (int argc, char *argv[]) +{ + struct aiocb64 cbs[10]; + struct aiocb64 *cbp[10]; + char buf[1000]; + size_t cnt; + int result = 0; + + /* Preparation. */ + for (cnt = 0; cnt < 10; ++cnt) + { + cbs[cnt].aio_fildes = fd; + cbs[cnt].aio_reqprio = 0; + cbs[cnt].aio_buf = memset (&buf[cnt * 100], '0' + cnt, 100); + cbs[cnt].aio_nbytes = 100; + cbs[cnt].aio_offset = cnt * 100; + cbs[cnt].aio_sigevent.sigev_notify = SIGEV_NONE; + + cbp[cnt] = &cbs[cnt]; + } + + /* First a simple test. */ + for (cnt = 10; cnt > 0; ) + aio_write64 (cbp[--cnt]); + /* Wait 'til the results are there. */ + do_wait (cbp, 10); + /* Test this. */ + result |= test_file (buf, sizeof (buf), fd, "aio_write"); + + /* Read now as we've written it. */ + memset (buf, '\0', sizeof (buf)); + /* Issue the commands. */ + for (cnt = 10; cnt > 0; ) + { + --cnt; + cbp[cnt] = &cbs[cnt]; + aio_read64 (cbp[cnt]); + } + /* Wait 'til the results are there. */ + do_wait (cbp, 10); + /* Test this. */ + for (cnt = 0; cnt < 1000; ++cnt) + if (buf[cnt] != '0' + (cnt / 100)) + { + result = 1; + error (0, 0, "comparison failed for aio_read test"); + break; + } + + if (cnt == 1000) + puts ("aio_read test ok"); + + /* Remove the test file contents. */ + if (ftruncate64 (fd, 0) < 0) + { + error (0, errno, "ftruncate failed\n"); + result = 1; + } + + /* Test lio_listio. */ + for (cnt = 0; cnt < 10; ++cnt) + { + cbs[cnt].aio_lio_opcode = LIO_WRITE; + cbp[cnt] = &cbs[cnt]; + } + /* Issue the command. */ + lio_listio64 (LIO_WAIT, cbp, 10, NULL); + /* ...and immediately test it since we started it in wait mode. */ + result |= test_file (buf, sizeof (buf), fd, "lio_listio (write)"); + + return result; +} diff -durpN glibc-2.1.2/scripts/config.guess glibc-2.1.3/scripts/config.guess --- glibc-2.1.2/scripts/config.guess Mon Jan 25 10:10:28 1999 +++ glibc-2.1.3/scripts/config.guess Mon Oct 25 13:23:27 1999 @@ -1,6 +1,7 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright (C) 1992, 93, 94, 95, 96, 97, 1998 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999 +# Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -23,7 +24,7 @@ # Written by Per Bothner <bothner@cygnus.com>. # The master version of this file is at the FSF in /home/gd/gnu/lib. -# Please send patches to the Autoconf mailing list <autoconf@gnu.org>. +# Please send patches to <autoconf-patches@gnu.org>. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and @@ -36,6 +37,20 @@ # (but try to keep the structure clean). # +# Use $HOST_CC if defined. $CC may point to a cross-compiler +if test x"$CC_FOR_BUILD" = x; then + if test x"$HOST_CC" != x; then + CC_FOR_BUILD="$HOST_CC" + else + if test x"$CC" != x; then + CC_FOR_BUILD="$CC" + else + CC_FOR_BUILD=cc + fi + fi +fi + + # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 8/24/94.) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then @@ -78,7 +93,7 @@ main: ret \$31,(\$26),1 .end main EOF - ${CC-cc} $dummy.s -o $dummy 2>/dev/null + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then ./$dummy case "$?" in @@ -100,7 +115,13 @@ EOF esac fi rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr [[A-Z]] [[a-z]]` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + exit 0 ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix exit 0 ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 @@ -135,6 +156,9 @@ EOF wgrisc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit 0 ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit 0;; @@ -144,7 +168,7 @@ EOF SR2?01:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit 0;; - Pyramid*:OSx*:*:*|MIS*:OSx*:*:*|MIS*:SMP_DC-OSx*:*:*) + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 @@ -203,6 +227,32 @@ EOF atari*:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit 0 ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit 0 ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit 0 ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit 0 ;; sun3*:NetBSD:*:*) echo m68k-sun-netbsd${UNAME_RELEASE} exit 0 ;; @@ -236,12 +286,16 @@ EOF VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit 0 ;; - 2020:CLIX:*:*) + 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit 0 ;; mips:*:*:UMIPS | mips:*:*:RISCos) sed 's/^ //' << EOF >$dummy.c - int main (argc, argv) int argc; char **argv; { +#ifdef __cplusplus + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); @@ -256,7 +310,7 @@ EOF exit (-1); } EOF - ${CC-cc} $dummy.c -o $dummy \ + $CC_FOR_BUILD $dummy.c -o $dummy \ && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy @@ -277,15 +331,18 @@ EOF AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \ - -o ${TARGET_BINARY_INTERFACE}x = x ] ; then + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then echo m88k-dg-dgux${UNAME_RELEASE} - else + else echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} fi - else echo i586-dg-dgux${UNAME_RELEASE} - fi exit 0 ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 @@ -322,7 +379,7 @@ EOF exit(0); } EOF - ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo rs6000-ibm-aix3.2.5 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then @@ -370,7 +427,7 @@ EOF case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/6?? | 9000/7?? | 9000/80[24] | 9000/8?[13679] | 9000/892 ) + 9000/[678][0-9][0-9]) sed 's/^ //' << EOF >$dummy.c #include <stdlib.h> #include <unistd.h> @@ -402,7 +459,7 @@ EOF exit (0); } EOF - (${CC-cc} $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` + (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` rm -f $dummy.c $dummy esac HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` @@ -434,7 +491,7 @@ EOF exit (0); } EOF - ${CC-cc} $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy echo unknown-hitachi-hiuxwe2 exit 0 ;; @@ -444,6 +501,9 @@ EOF 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit 0 ;; + *9??*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit 0 ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit 0 ;; @@ -460,6 +520,9 @@ EOF parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit 0 ;; + hppa*:OpenBSD:*:*) + echo hppa-unknown-openbsd + exit 0 ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit 0 ;; @@ -493,13 +556,13 @@ EOF echo t90-cray-unicos${UNAME_RELEASE} exit 0 ;; CRAY*T3E:*:*:*) - echo t3e-cray-unicosmk${UNAME_RELEASE} + echo alpha-cray-unicosmk${UNAME_RELEASE} exit 0 ;; CRAY-2:*:*:*) echo cray2-cray-unicos exit 0 ;; F300:UNIX_System_V:*:*) - FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit 0 ;; @@ -512,20 +575,26 @@ EOF hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; i?86:BSD/386:*:* | i?86:BSD/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit 0 ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit 0 ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit 0 ;; *:FreeBSD:*:*) + if test -x /usr/bin/objformat; then + if test "elf" = "`/usr/bin/objformat`"; then + echo ${UNAME_MACHINE}-unknown-freebsdelf`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` + exit 0 + fi + fi echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit 0 ;; *:NetBSD:*:*) - echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` exit 0 ;; *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` @@ -536,6 +605,15 @@ EOF i*:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit 0 ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i386-pc-interix + exit 0 ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit 0 ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit 0 ;; @@ -546,16 +624,11 @@ EOF echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit 0 ;; *:Linux:*:*) - # uname on the ARM produces all sorts of strangeness, and we need to - # filter it out. - case "$UNAME_MACHINE" in - armv*) ;; - arm* | sa110*) UNAME_MACHINE="arm" ;; - esac # The BFD linker knows what the default object file format is, so - # first see if it will tell us. - ld_help_string=`ld --help 2>&1` + # first see if it will tell us. cd to the root directory to prevent + # problems with other programs or directories called `ld' in the path. + ld_help_string=`cd /; ld --help 2>&1` ld_supported_emulations=`echo $ld_help_string \ | sed -ne '/supported emulations:/!d s/[ ][ ]*/ /g @@ -563,12 +636,70 @@ EOF s/ .*// p'` case "$ld_supported_emulations" in - i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;; - i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;; - sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;; - elf32ppc) echo "powerpc-unknown-linux-gnu" ; exit 0 ;; + *ia64) + echo "${UNAME_MACHINE}-unknown-linux" + exit 0 + ;; + i?86linux) + echo "${UNAME_MACHINE}-pc-linux-gnuaout" + exit 0 + ;; + i?86coff) + echo "${UNAME_MACHINE}-pc-linux-gnucoff" + exit 0 + ;; + sparclinux) + echo "${UNAME_MACHINE}-unknown-linux-gnuaout" + exit 0 + ;; + armlinux) + echo "${UNAME_MACHINE}-unknown-linux-gnuaout" + exit 0 + ;; + elf32arm*) + echo "${UNAME_MACHINE}-unknown-linux-gnu" + exit 0 + ;; + armelf_linux*) + echo "${UNAME_MACHINE}-unknown-linux-gnu" + exit 0 + ;; + m68klinux) + echo "${UNAME_MACHINE}-unknown-linux-gnuaout" + exit 0 + ;; + elf32ppc) + # Determine Lib Version + cat >$dummy.c <<EOF +#include <features.h> +#if defined(__GLIBC__) +extern char __libc_version[]; +extern char __libc_release[]; +#endif +main(argc, argv) + int argc; + char *argv[]; +{ +#if defined(__GLIBC__) + printf("%s %s\n", __libc_version, __libc_release); +#else + printf("unkown\n"); +#endif + return 0; +} +EOF + LIBC="" + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null + if test "$?" = 0 ; then + ./$dummy | grep 1\.99 > /dev/null + if test "$?" = 0 ; then + LIBC="libc1" + fi + fi + rm -f $dummy.c $dummy + echo powerpc-unknown-linux-gnu${LIBC} + exit 0 + ;; esac if test "${UNAME_MACHINE}" = "alpha" ; then @@ -590,7 +721,7 @@ EOF .end main EOF LIBC="" - ${CC-cc} $dummy.s -o $dummy 2>/dev/null + $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null if test "$?" = 0 ; then ./$dummy case "$?" in @@ -621,10 +752,11 @@ EOF echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ; exit 0 elif test "${UNAME_MACHINE}" = "mips" ; then cat >$dummy.c <<EOF -main(argc, argv) - int argc; - char *argv[]; -{ +#ifdef __cplusplus + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif #ifdef __MIPSEB__ printf ("%s-unknown-linux-gnu\n", argv[1]); #endif @@ -634,7 +766,7 @@ main(argc, argv) return 0; } EOF - ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy else # Either a pre-BFD a.out linker (linux-gnuoldld) @@ -656,10 +788,11 @@ EOF # Determine whether the default compiler is a.out or elf cat >$dummy.c <<EOF #include <features.h> -main(argc, argv) - int argc; - char *argv[]; -{ +#ifdef __cplusplus + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 @@ -676,7 +809,7 @@ main(argc, argv) return 0; } EOF - ${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 + $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy fi ;; # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions @@ -693,10 +826,20 @@ EOF echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit 0 ;; i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE} + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit 0 ;; + i?86:*:5:7*) + # Fixed at (any) Pentium or better + UNAME_MACHINE=i586 + if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then + echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} fi exit 0 ;; i?86:*:3.2:*) @@ -708,18 +851,15 @@ EOF (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 + (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit 0 ;; - i?86:UnixWare:*:*) - if /bin/uname -X 2>/dev/null >/dev/null ; then - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - fi - echo ${UNAME_MACHINE}-unixware-${UNAME_RELEASE}-${UNAME_VERSION} - exit 0 ;; pc:*:*:*) # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. @@ -761,7 +901,7 @@ EOF mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit 0 ;; - i?86:LynxOS:2.*:*) + i?86:LynxOS:2.*:* | i?86:LynxOS:3.[01]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit 0 ;; TSUNAMI:LynxOS:2.*:*) @@ -773,6 +913,9 @@ EOF SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit 0 ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit 0 ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit 0 ;; @@ -803,7 +946,7 @@ EOF news*:NEWS-OS:*:6*) echo mips-sony-newsos6 exit 0 ;; - R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R4000:UNIX_SV:*:*) + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else @@ -831,6 +974,9 @@ EOF *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit 0 ;; + *:QNX:*:4*) + echo i386-qnx-qnx${UNAME_VERSION} + exit 0 ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -937,7 +1083,7 @@ main () } EOF -${CC-cc} $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0 +$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm $dummy.c $dummy && exit 0 rm -f $dummy.c $dummy # Apollos put the system type in the environment. diff -durpN glibc-2.1.2/scripts/config.sub glibc-2.1.3/scripts/config.sub --- glibc-2.1.2/scripts/config.sub Wed Apr 14 08:48:02 1999 +++ glibc-2.1.3/scripts/config.sub Mon Oct 25 13:23:27 1999 @@ -1,6 +1,6 @@ #! /bin/sh # Configuration validation subroutine script, version 1.1. -# Copyright (C) 1991, 92-97, 1998 Free Software Foundation, Inc. +# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc. # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. @@ -98,11 +98,21 @@ case $os in os= basic_machine=$1 ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; -hiux*) os=-hiuxwe2 ;; -sco5) - os=sco3.2v5 + os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) @@ -121,6 +131,9 @@ case $os in os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` @@ -143,24 +156,33 @@ case $os in -psos*) os=-psos ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. - tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ + tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \ | arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \ - | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 | hppa2.0 \ - | alpha | alphaev5 | alphaev56 | alphapca56 | alphaev6 \ - | alphapca57 | alphaev7 | we32k | ns16k | clipper \ - | i370 | sh | powerpc | powerpcle | 1750a | dsp16xx | pdp11 \ - | mips64 | mipsel | mips64el | mips64orion | mips64orionel \ - | mipstx39 | mipstx39el | armv[34][lb] \ - | sparc | sparclet | sparclite | sparc64 \ - | sparcv[6789] | sparcv8plus | sparcv8plusa | v850) + | 580 | i960 | h8300 \ + | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ + | alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \ + | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \ + | 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \ + | mips64orion | mips64orionel | mipstx39 | mipstx39el \ + | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ + | mips64vr5000 | miprs64vr5000el | mcore \ + | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x \ + | thumb | d10v | fr30) basic_machine=$basic_machine-unknown ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | h8500 | w65 | pj | pjl) + ;; + # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. @@ -173,29 +195,45 @@ case $basic_machine in exit 1 ;; # Recognize the basic CPU types with company name. - vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \ + # FIXME: clean up the formatting here. + vax-* | tahoe-* | i[34567]86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \ | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ - | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \ - | xmp-* | ymp-* | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* \ - | alpha-* | alphaev5-* | alphaev56-* | alphapca56-* \ - | alphaev6-* | alphapca57-* | alphaev7-* | we32k-* | cydra-* \ - | ns16k-* | pn-* | np1-* | xps100-* | clipper-* | orion-* \ + | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ + | xmp-* | ymp-* \ + | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \ + | alpha-* | alphaev[4-7]-* | alphaev56-* | alphapca5[67]-* \ + | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ + | clipper-* | orion-* \ | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \ - | sparc64-* | mips64-* | mipsel-* | armv[34][lb]-* \ - | mips64el-* | mips64orion-* | mips64orionel-* \ - | mipstx39-* | mipstx39el-* \ - | f301-* | armv*-* | sparcv[6789]-* | sparcv8plus \ - | sparcv8plusa) + | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \ + | mips64el-* | mips64orion-* | mips64orionel-* \ + | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ + | mipstx39-* | mipstx39el-* | mcore-* \ + | f301-* | armv*-* | t3e-* \ + | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ + | thumb-* | v850-* | d30v-* | tic30-* | c30-* | fr30-* ) ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; alliant | fx80) basic_machine=fx80-alliant ;; @@ -225,6 +263,10 @@ case $basic_machine in basic_machine=m68k-apollo os=-sysv ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; aux) basic_machine=m68k-apple os=-aux @@ -301,6 +343,10 @@ case $basic_machine in encore | umax | mmax) basic_machine=ns32k-encore ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; fx2800) basic_machine=i860-alliant ;; @@ -319,6 +365,14 @@ case $basic_machine in basic_machine=h8300-hitachi os=-hms ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; harris) basic_machine=m88k-harris os=-sysv3 @@ -334,13 +388,30 @@ case $basic_machine in basic_machine=m68k-hp os=-hpux ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; - hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7) + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) @@ -349,9 +420,16 @@ case $basic_machine in hppa-next) os=-nextstep3 ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; i370-ibm* | ibm*) basic_machine=i370-ibm - os=-mvs ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i[34567]86v32) @@ -370,6 +448,25 @@ case $basic_machine in basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + i386-go32 | go32) + basic_machine=i386-unknown + os=-go32 + ;; + i386-mingw32 | mingw32) + basic_machine=i386-unknown + os=-mingw32 + ;; + i386-qnx | qnx) + basic_machine=i386-qnx + ;; iris | iris4d) basic_machine=mips-sgi case $os in @@ -398,6 +495,10 @@ case $basic_machine in miniframe) basic_machine=m68000-convergent ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; mipsel*-linux*) basic_machine=mipsel-unknown os=-linux-gnu @@ -412,12 +513,28 @@ case $basic_machine in mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + msdos) + basic_machine=i386-unknown + os=-msdos + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; netwinder) - basic_machine=armv4l-corel + basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) @@ -432,6 +549,10 @@ case $basic_machine in basic_machine=mips-sony os=-newsos ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; next | m*-next ) basic_machine=m68k-next case $os in @@ -457,9 +578,25 @@ case $basic_machine in basic_machine=i960-intel os=-nindy ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; np1) basic_machine=np1-gould ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 @@ -477,19 +614,19 @@ case $basic_machine in pc532 | pc532-*) basic_machine=ns32k-pc532 ;; - pentium | p5 | k5 | nexen) + pentium | p5 | k5 | k6 | nexen) basic_machine=i586-pc ;; - pentiumpro | p6 | k6 | 6x86) + pentiumpro | p6 | 6x86) basic_machine=i686-pc ;; pentiumii | pentium2) basic_machine=i786-pc ;; - pentium-* | p5-* | k5-* | nexen-*) + pentium-* | p5-* | k5-* | k6-* | nexen-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - pentiumpro-* | p6-* | k6-* | 6x86-*) + pentiumpro-* | p6-* | 6x86-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-*) @@ -513,12 +650,20 @@ case $basic_machine in ps2) basic_machine=i386-ibm ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; sequent) basic_machine=i386-sequent ;; @@ -526,6 +671,10 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sparclite-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; sps7) basic_machine=m68k-bull os=-sysv2 @@ -533,6 +682,13 @@ case $basic_machine in spur) basic_machine=spur-unknown ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; sun2) basic_machine=m68000-sun ;; @@ -577,6 +733,10 @@ case $basic_machine in basic_machine=i386-sequent os=-dynix ;; + t3e) + basic_machine=t3e-cray + os=-unicos + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -594,6 +754,10 @@ case $basic_machine in basic_machine=a29k-nyu os=-sym1 ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; vaxv) basic_machine=vax-dec os=-sysv @@ -617,6 +781,14 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; xmp) basic_machine=xmp-cray os=-unicos @@ -624,6 +796,10 @@ case $basic_machine in xps | xps100) basic_machine=xps100-honeywell ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -631,6 +807,15 @@ case $basic_machine in # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; mips) if [ x$os = x-linux-gnu ]; then basic_machine=mips-unknown @@ -653,7 +838,7 @@ case $basic_machine in we32k) basic_machine=we32k-att ;; - sparc) + sparc | sparcv9) basic_machine=sparc-sun ;; cydra) @@ -665,6 +850,16 @@ case $basic_machine in orion105) basic_machine=clipper-highlevel ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + c4x*) + basic_machine=c4x-none + os=-coff + ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 @@ -718,14 +913,21 @@ case $os in | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ + | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -rhapsody* \ - | -openstep*) + | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -rhapsody* | -opened* | -openstep* | -oskit*) # Remember, each alternative MUST END IN *, to match a version number. ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ + | -macos* | -mpw* | -magic* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; @@ -735,6 +937,9 @@ case $os in -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; + -opened*) + os=-openedition + ;; -osfrose*) os=-osfrose ;; @@ -750,6 +955,9 @@ case $os in -acis*) os=-aos ;; + -386bsd) + os=-bsd + ;; -ctix* | -uts*) os=-sysv ;; @@ -769,6 +977,9 @@ case $os in -oss*) os=-sysv3 ;; + -qnx) + os=-qnx4 + ;; -svr4) os=-sysv4 ;; @@ -781,9 +992,18 @@ case $os in # This must come after -sysvr4. -sysv*) ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; -xenix) os=-xenix ;; + -*mint | -*MiNT) + os=-mint + ;; -none) ;; *) @@ -809,7 +1029,7 @@ case $basic_machine in *-acorn) os=-riscix1.2 ;; - arm*-corel) + arm*-rebel) os=-linux ;; arm*-semi) @@ -833,6 +1053,15 @@ case $basic_machine in # default. # os=-sunos4 ;; + m68*-cisco) + os=-aout + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; @@ -845,6 +1074,15 @@ case $basic_machine in *-ibm) os=-aix ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; *-hp) os=-hpux ;; @@ -908,6 +1146,18 @@ case $basic_machine in f301-fujitsu) os=-uxpv ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; *) os=-none ;; @@ -929,9 +1179,15 @@ case $basic_machine in -aix*) vendor=ibm ;; + -beos*) + vendor=be + ;; -hpux*) vendor=hp ;; + -mpeix*) + vendor=hp + ;; -hiux*) vendor=hitachi ;; @@ -947,7 +1203,7 @@ case $basic_machine in -genix*) vendor=ns ;; - -mvs*) + -mvs* | -opened*) vendor=ibm ;; -ptx*) @@ -958,6 +1214,15 @@ case $basic_machine in ;; -aux*) vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -*MiNT) + vendor=atari ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` diff -durpN glibc-2.1.2/scripts/rellns-sh glibc-2.1.3/scripts/rellns-sh --- glibc-2.1.2/scripts/rellns-sh Fri May 8 13:55:44 1998 +++ glibc-2.1.3/scripts/rellns-sh Tue Dec 21 15:51:44 1999 @@ -22,15 +22,23 @@ if test $# -ne 2; then exit 1 fi +if test -x /bin/pwd; then + pwd=/bin/pwd +elif test -x /usr/bin/pwd; then + pwd=/usr/bin/pwd +else + pwd='pwd' +fi + # Make both paths absolute. if test -d $1; then - to=`cd $1 && /bin/pwd` + to=`cd $1 && $pwd` else temp=`echo $1 | sed 's%/*[^/]*$%%'` if test -z "$temp"; then - to=`/bin/pwd` + to=`$pwd` else - to=`cd $temp && /bin/pwd` + to=`cd $temp && $pwd` fi to="$to/`echo $1 | sed 's%.*/\([^/][^/]*\)$%\1%'`" fi @@ -43,9 +51,9 @@ else fi if test -z "$from"; then - from=`/bin/pwd | sed 's%^/%%'` + from=`$pwd | sed 's%^/%%'` else - from=`cd $from && /bin/pwd | sed 's%^/%%'` + from=`cd $from && $pwd | sed 's%^/%%'` fi while test -n "$to" && test -n "$from"; do diff -durpN glibc-2.1.2/scripts/test-installation.pl glibc-2.1.3/scripts/test-installation.pl --- glibc-2.1.2/scripts/test-installation.pl Thu Apr 8 19:21:24 1999 +++ glibc-2.1.3/scripts/test-installation.pl Tue Feb 22 23:03:02 2000 @@ -38,7 +38,7 @@ sub usage { sub installation_problem { print "The script has found some problems with your installation!\n"; print "Please read the FAQ and the README file and check the following:\n"; - print "- Did you change the gcc specs file (neccessary after upgrading from\n"; + print "- Did you change the gcc specs file (necessary after upgrading from\n"; print " Linux libc5)?\n"; print "- Are there any symbolic links of the form libXXX.so to old libraries?\n"; print " Links like libm.so -> libm.so.5 (where libm.so.5 is an old library) are wrong,\n"; @@ -105,8 +105,9 @@ while (<SOVERSIONS>) { # - nss_ldap since it's not yet available # - libdb1 since it conflicts with libdb # - libnss1_* from glibc-compat add-on + # - libthread_db since it contains unresolved references if ($name ne "nss_ldap" && $name ne "db1" - && !($name =~/^nss1_/)) { + && !($name =~/^nss1_/) && $name ne "thread_db") { $link_libs .= " -l$name"; $versions{$name} = $version; } diff -durpN glibc-2.1.2/signal/Versions glibc-2.1.3/signal/Versions --- glibc-2.1.2/signal/Versions Thu Jul 2 15:32:46 1998 +++ glibc-2.1.3/signal/Versions Mon Jan 3 13:10:22 2000 @@ -41,4 +41,8 @@ libc { # New RT signal functions. sigqueue; sigtimedwait; sigwaitinfo; } + GLIBC_2.1.3 { + # LinuxThreads needs this entry point. + __sigsuspend; + } } diff -durpN glibc-2.1.2/signal/signal.h glibc-2.1.3/signal/signal.h --- glibc-2.1.2/signal/signal.h Sun Feb 7 13:29:37 1999 +++ glibc-2.1.3/signal/signal.h Tue Feb 22 23:03:02 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999, 2000 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 @@ -55,9 +55,15 @@ typedef __sigset_t sigset_t; #include <bits/types.h> #include <bits/signum.h> -#if defined __USE_XOPEN && !defined pid_t +#ifdef __USE_XOPEN +# ifndef pid_t typedef __pid_t pid_t; -# define pid_t pid_t +# define pid_t pid_t +# endif +# ifndef uid_t +typedef __uid_t uid_t; +# define uid_t uid_t +# endif #endif /* Unix98 */ @@ -307,12 +313,14 @@ extern int sigreturn __P ((struct sigcon extern int siginterrupt __P ((int __sig, int __interrupt)); # include <bits/sigstack.h> +# ifdef __USE_GNU +# include <ucontext.h> +# endif /* Run signals handlers on the stack specified by SS (if not NULL). If OSS is not NULL, it is filled in with the old signal stack status. This interface is obsolete and on many platform not implemented. */ -extern int sigstack __P ((__const struct sigstack *__ss, - struct sigstack *__oss)); +extern int sigstack __P ((struct sigstack *__ss, struct sigstack *__oss)); /* Alternate signal handler stack interface. This interface should always be preferred over `sigstack'. */ diff -durpN glibc-2.1.2/stdio-common/printf_fp.c glibc-2.1.3/stdio-common/printf_fp.c --- glibc-2.1.2/stdio-common/printf_fp.c Wed Apr 28 15:38:34 1999 +++ glibc-2.1.3/stdio-common/printf_fp.c Tue Dec 21 15:51:46 1999 @@ -724,6 +724,7 @@ __printf_fp (FILE *fp, { int width = info->width; char *buffer, *startp, *cp; + int buffer_malloced; int chars_needed; int expscale; int intdig_max, intdig_no = 0; @@ -790,8 +791,18 @@ __printf_fp (FILE *fp, /* Allocate buffer for output. We need two more because while rounding it is possible that we need two more characters in front of all the - other output. */ - buffer = alloca (2 + chars_needed); + other output. If the amount of memory we have to allocate is too + large use `malloc' instead of `alloca'. */ + buffer_malloced = chars_needed > 20000; + if (buffer_malloced) + { + buffer = (char *) malloc (2 + chars_needed); + if (buffer == NULL) + /* Signal an error to the caller. */ + return -1; + } + else + buffer = alloca (2 + chars_needed); cp = startp = buffer + 2; /* Let room for rounding. */ /* Do the real work: put digits in allocated buffer. */ @@ -999,6 +1010,10 @@ __printf_fp (FILE *fp, if (info->left && width > 0) PADN (info->pad, width); + + /* Free the memory if necessary. */ + if (buffer_malloced) + free (buffer); } return done; } diff -durpN glibc-2.1.2/stdio-common/vfprintf.c glibc-2.1.3/stdio-common/vfprintf.c --- glibc-2.1.2/stdio-common/vfprintf.c Tue Aug 17 13:04:34 1999 +++ glibc-2.1.3/stdio-common/vfprintf.c Mon Oct 4 17:38:14 1999 @@ -653,19 +653,15 @@ vfprintf (FILE *s, const CHAR_T *format, } \ } \ \ - prec -= workend - string; \ - \ - if (prec > 0) \ - /* Add zeros to the precision. */ \ - while (prec-- > 0) \ - *string-- = '0'; \ - else if (number.word != 0 && alt && base == 8) \ + if (prec <= workend - string && number.word != 0 && alt && base == 8) \ /* Add octal marker. */ \ *string-- = '0'; \ \ + prec = MAX (0, prec - (workend - string)); \ + \ if (!left) \ { \ - width -= workend - string; \ + width -= workend - string + prec; \ \ if (number.word != 0 && alt && base == 16) \ /* Account for 0X hex marker. */ \ @@ -674,63 +670,67 @@ vfprintf (FILE *s, const CHAR_T *format, if (is_negative || showsign || space) \ --width; \ \ - if (pad == '0') \ + if (pad == ' ') \ { \ - while (width-- > 0) \ - *string-- = '0'; \ - \ - if (number.word != 0 && alt && base == 16) \ - { \ - *string-- = spec; \ - *string-- = '0'; \ - } \ - \ - if (is_negative) \ - *string-- = '-'; \ - else if (showsign) \ - *string-- = '+'; \ - else if (space) \ - *string-- = ' '; \ + PAD (L_(' ')); \ + width = 0; \ } \ - else \ - { \ - if (number.word != 0 && alt && base == 16) \ - { \ - *string-- = spec; \ - *string-- = '0'; \ - } \ \ - if (is_negative) \ - *string-- = '-'; \ - else if (showsign) \ - *string-- = '+'; \ - else if (space) \ - *string-- = ' '; \ + if (is_negative) \ + outchar (L_('-')); \ + else if (showsign) \ + outchar (L_('+')); \ + else if (space) \ + outchar (L_(' ')); \ \ - while (width-- > 0) \ - *string-- = ' '; \ + if (number.word != 0 && alt && base == 16) \ + { \ + outchar (L_('0')); \ + outchar (spec); \ } \ \ + width += prec; \ + PAD (L_('0')); \ + \ outstring (string + 1, workend - string); \ \ break; \ } \ else \ { \ - if (number.word != 0 && alt && base == 16) \ + if (is_negative) \ { \ - *string-- = spec; \ - *string-- = '0'; \ + outchar (L_('-')); \ + --width; \ } \ - \ - if (is_negative) \ - *string-- = '-'; \ else if (showsign) \ - *string-- = '+'; \ + { \ + outchar (L_('+')); \ + --width; \ + } \ else if (space) \ - *string-- = ' '; \ + { \ + outchar (L_(' ')); \ + --width; \ + } \ + \ + if (number.word != 0 && alt && base == 16) \ + { \ + outchar (L_('0')); \ + outchar (spec); \ + width -= 2; \ + } \ + \ + width -= workend - string + prec; \ + \ + if (prec > 0) \ + { \ + int temp = width; \ + width = prec; \ + PAD (L_('0')); \ + width = temp; \ + } \ \ - width -= workend - string; \ outstring (string + 1, workend - string); \ \ PAD (' '); \ diff -durpN glibc-2.1.2/stdio-common/vfscanf.c glibc-2.1.3/stdio-common/vfscanf.c --- glibc-2.1.2/stdio-common/vfscanf.c Sun Aug 15 13:13:34 1999 +++ glibc-2.1.3/stdio-common/vfscanf.c Thu Sep 23 11:51:42 1999 @@ -981,7 +981,7 @@ __vfscanf (FILE *s, const char *format, if (c == '-' || c == '+') { negative = c == '-'; - if (inchar () == EOF) + if (width == 0 || inchar () == EOF) /* EOF is only an input error before we read any chars. */ conv_error (); if (! isdigit (c) && c != decimal) @@ -1001,11 +1001,15 @@ __vfscanf (FILE *s, const char *format, { /* Maybe "nan". */ ADDW (c); - if (inchar () == EOF || _tolower (c) != 'a') + if (width == 0 || inchar () == EOF || _tolower (c) != 'a') input_error (); + if (width > 0) + --width; ADDW (c); - if (inchar () == EOF || _tolower (c) != 'n') + if (width == 0 || inchar () == EOF || _tolower (c) != 'n') input_error (); + if (width > 0) + --width; ADDW (c); /* It is "nan". */ goto scan_float; @@ -1014,30 +1018,48 @@ __vfscanf (FILE *s, const char *format, { /* Maybe "inf" or "infinity". */ ADDW (c); - if (inchar () == EOF || _tolower (c) != 'n') + if (width == 0 || inchar () == EOF || _tolower (c) != 'n') input_error (); + if (width > 0) + --width; ADDW (c); - if (inchar () == EOF || _tolower (c) != 'f') + if (width == 0 || inchar () == EOF || _tolower (c) != 'f') input_error (); + if (width > 0) + --width; ADDW (c); /* It is as least "inf". */ - if (inchar () != EOF) + if (width != 0 && inchar () != EOF) { if (_tolower (c) == 'i') { + if (width > 0) + --width; /* Now we have to read the rest as well. */ ADDW (c); - if (inchar () == EOF || _tolower (c) != 'n') + if (width == 0 || inchar () == EOF + || _tolower (c) != 'n') input_error (); + if (width > 0) + --width; ADDW (c); - if (inchar () == EOF || _tolower (c) != 'i') + if (width == 0 || inchar () == EOF + || _tolower (c) != 'i') input_error (); + if (width > 0) + --width; ADDW (c); - if (inchar () == EOF || _tolower (c) != 't') + if (width == 0 || inchar () == EOF + || _tolower (c) != 't') input_error (); + if (width > 0) + --width; ADDW (c); - if (inchar () == EOF || _tolower (c) != 'y') + if (width == 0 || inchar () == EOF + || _tolower (c) != 'y') input_error (); + if (width > 0) + --width; ADDW (c); } else @@ -1049,11 +1071,13 @@ __vfscanf (FILE *s, const char *format, is_hexa = 0; exp_char = 'e'; - if (c == '0') + if (width != 0 && c == '0') { ADDW (c); c = inchar (); - if (_tolower (c) == 'x') + if (width > 0) + --width; + if (width != 0 && _tolower (c) == 'x') { /* It is a number in hexadecimal format. */ ADDW (c); @@ -1064,6 +1088,8 @@ __vfscanf (FILE *s, const char *format, /* Grouping is not allowed. */ flags &= ~GROUP; c = inchar (); + if (width > 0) + --width; } } diff -durpN glibc-2.1.2/stdlib/Makefile glibc-2.1.3/stdlib/Makefile --- glibc-2.1.2/stdlib/Makefile Wed May 19 08:02:48 1999 +++ glibc-2.1.3/stdlib/Makefile Tue Dec 28 14:04:41 1999 @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98 Free Software Foundation, Inc. +# Copyright (C) 1991,92,93,94,95,96,97,98,99 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 @@ -29,7 +29,7 @@ routines := \ abort \ bsearch qsort msort \ getenv putenv setenv secure-getenv \ - exit on_exit atexit \ + exit on_exit atexit cxa_atexit cxa_finalize \ abs labs llabs \ div ldiv lldiv \ mblen mbstowcs mbtowc wcstombs wctomb \ diff -durpN glibc-2.1.2/stdlib/Versions glibc-2.1.3/stdlib/Versions --- glibc-2.1.2/stdlib/Versions Sun Feb 7 04:40:47 1999 +++ glibc-2.1.3/stdlib/Versions Tue Dec 28 14:04:41 1999 @@ -90,4 +90,8 @@ libc { # i* imaxabs; imaxdiv; } + GLIBC_2.1.3 { + # used by new G++ ABI + __cxa_atexit; __cxa_finalize; + } } diff -durpN glibc-2.1.2/stdlib/atexit.c glibc-2.1.3/stdlib/atexit.c --- glibc-2.1.2/stdlib/atexit.c Wed Apr 28 15:41:52 1999 +++ glibc-2.1.3/stdlib/atexit.c Mon Oct 11 11:48:43 1999 @@ -40,7 +40,8 @@ atexit (void (*func) (void)) __libc_lock_define_initialized (static, lock) -struct exit_function_list *__exit_funcs; +static struct exit_function_list initial; +struct exit_function_list *__exit_funcs = &initial; struct exit_function * __new_exitfn (void) diff -durpN glibc-2.1.2/stdlib/canonicalize.c glibc-2.1.3/stdlib/canonicalize.c --- glibc-2.1.2/stdlib/canonicalize.c Tue Feb 9 01:35:10 1999 +++ glibc-2.1.3/stdlib/canonicalize.c Tue Feb 22 23:03:04 2000 @@ -48,7 +48,7 @@ canonicalize (const char *name, char *re { /* As per Single Unix Specification V2 we must return an error if either parameter is a null pointer. We extend this to allow - the RESOLVED parameter be NULL in case the we are expected to + the RESOLVED parameter to be NULL in case the we are expected to allocate the room for the return value. */ __set_errno (EINVAL); return NULL; @@ -76,7 +76,10 @@ canonicalize (const char *name, char *re if (name[0] != '/') { if (!__getcwd (rpath, path_max)) - goto error; + { + rpath[0] = '\0'; + goto error; + } dest = strchr (rpath, '\0'); } else @@ -122,6 +125,9 @@ canonicalize (const char *name, char *re if (resolved) { __set_errno (ENAMETOOLONG); + if (dest > rpath + 1) + dest--; + *dest = '\0'; goto error; } new_size = rpath_limit - rpath; diff -durpN glibc-2.1.2/stdlib/cxa_atexit.c glibc-2.1.3/stdlib/cxa_atexit.c --- glibc-2.1.2/stdlib/cxa_atexit.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/stdlib/cxa_atexit.c Mon Dec 27 13:54:23 1999 @@ -0,0 +1,38 @@ +/* Copyright (C) 1999 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 <stdlib.h> +#include "exit.h" + +/* Register a function to be called by exit or when a shared library + is unloaded. This function is only called from code generated by + the C++ compiler. */ +int +__cxa_atexit (void (*func) (void *), void *arg, void *d) +{ + struct exit_function *new = __new_exitfn (); + + if (new == NULL) + return -1; + + new->flavor = ef_cxa; + new->func.cxa.fn = func; + new->func.cxa.arg = arg; + new->func.cxa.dso_handle = d; + return 0; +} diff -durpN glibc-2.1.2/stdlib/cxa_finalize.c glibc-2.1.3/stdlib/cxa_finalize.c --- glibc-2.1.2/stdlib/cxa_finalize.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/stdlib/cxa_finalize.c Mon Dec 27 13:54:15 1999 @@ -0,0 +1,44 @@ +/* Copyright (C) 1999 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 <assert.h> +#include <stdlib.h> +#include <atomicity.h> +#include "exit.h" + +/* If D is non-NULL, call all functions registered with `__cxa_atexit' + with the same dso handle. Otherwise, if D is NULL, do nothing. */ +void +__cxa_finalize (void *d) +{ + struct exit_function_list *funcs; + + if (!d) + return; + + for (funcs = __exit_funcs; funcs; funcs = funcs->next) + { + struct exit_function *f; + + for (f = &funcs->fns[funcs->idx - 1]; f >= &funcs->fns[0]; --f) + if (d == f->func.cxa.dso_handle + /* We don't want to run this cleanup more than once. */ + && compare_and_swap (&f->flavor, ef_cxa, ef_free)) + (*f->func.cxa.fn) (f->func.cxa.arg); + } +} diff -durpN glibc-2.1.2/stdlib/exit.c glibc-2.1.3/stdlib/exit.c --- glibc-2.1.2/stdlib/exit.c Wed Apr 28 15:41:20 1999 +++ glibc-2.1.3/stdlib/exit.c Tue Dec 28 14:04:41 1999 @@ -56,13 +56,19 @@ exit (int status) case ef_at: (*f->func.at) (); break; + case ef_cxa: + (*f->func.cxa.fn) (f->func.cxa.arg); + break; } } while (__exit_funcs->idx > 0); old = __exit_funcs; __exit_funcs = __exit_funcs->next; - free (old); + if (__exit_funcs != NULL) + /* Don't free the last element in the chain, this is the statically + allocate element. */ + free (old); } #ifdef HAVE_GNU_LD diff -durpN glibc-2.1.2/stdlib/exit.h glibc-2.1.3/stdlib/exit.h --- glibc-2.1.2/stdlib/exit.h Fri Jun 20 19:24:26 1997 +++ glibc-2.1.3/stdlib/exit.h Tue Dec 28 14:04:41 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1996, 1997, 1999 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 @@ -19,9 +19,21 @@ #ifndef _EXIT_H #define _EXIT_H 1 + +enum +{ + ef_free, /* `ef_free' MUST be zero! */ + ef_us, + ef_on, + ef_at, + ef_cxa +}; + struct exit_function { - enum { ef_free, ef_us, ef_on, ef_at } flavor; /* `ef_free' MUST be zero! */ + /* `flavour' should be of type of the `enum' above but since we need + this element in an atomic operation we have to use `long int'. */ + long int flavor; union { void (*at) (void); @@ -30,6 +42,12 @@ struct exit_function void (*fn) (int status, void *arg); void *arg; } on; + struct + { + void (*fn) (void *arg); + void *arg; + void *dso_handle; + } cxa; } func; }; struct exit_function_list diff -durpN glibc-2.1.2/stdlib/fmtmsg.c glibc-2.1.3/stdlib/fmtmsg.c --- glibc-2.1.2/stdlib/fmtmsg.c Fri Apr 30 10:44:32 1999 +++ glibc-2.1.3/stdlib/fmtmsg.c Tue Feb 22 23:03:04 2000 @@ -155,7 +155,7 @@ fmtmsg (long int classification, const c do_action ? action : "", do_action && do_tag ? " " : "", do_tag ? tag : "") == EOF) - /* Oh, oh. An error occured during the output. */ + /* Oh, oh. An error occurred during the output. */ result = MM_NOMSG; } diff -durpN glibc-2.1.2/stdlib/fmtmsg.h glibc-2.1.3/stdlib/fmtmsg.h --- glibc-2.1.2/stdlib/fmtmsg.h Fri Jun 20 18:03:31 1997 +++ glibc-2.1.3/stdlib/fmtmsg.h Tue Feb 22 23:03:04 2000 @@ -1,5 +1,5 @@ /* Message display handling. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 2000 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 @@ -22,9 +22,6 @@ #include <features.h> -#define __need_NULL -#include <stddef.h> - __BEGIN_DECLS @@ -71,12 +68,12 @@ enum /* Macros which can be used as null values for the arguments of `fmtmsg'. */ -#define MM_NULLLBL NULL +#define MM_NULLLBL ((char *) 0) #define MM_NULLSEV 0 #define MM_NULLMC ((long int) 0) -#define MM_NULLTXT NULL -#define MM_NULLACT NULL -#define MM_NULLTAG NULL +#define MM_NULLTXT ((char *) 0) +#define MM_NULLACT ((char *) 0) +#define MM_NULLTAG ((char *) 0) /* Possible return values of `fmtmsg'. */ diff -durpN glibc-2.1.2/stdlib/isomac.c glibc-2.1.3/stdlib/isomac.c --- glibc-2.1.2/stdlib/isomac.c Tue Jun 30 05:01:24 1998 +++ glibc-2.1.3/stdlib/isomac.c Thu Sep 23 11:13:38 1999 @@ -1,5 +1,5 @@ /* Check system header files for ISO 9899:1990 (ISO C) compliance. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jens Schweikhardt <schweikh@noc.dfn.de>, 1996. @@ -156,7 +156,7 @@ static char *macros[] = "strtol", "strtoul", "strxfrm", "swprintf", "swscanf", "system", "tan", "tanf", "tanh", "tanhf", "tanhl", "tanl", "time", "time_t", "tmpfile", "tmpnam", "tolower", "toupper", "towctrans", "towlower", - "towupper", "ungetc", "ungetwc", "va_arg", "va_end", "va_start", + "towupper", "ungetc", "ungetwc", "va_arg", "va_copy", "va_end", "va_start", "vfprintf", "vfwprintf", "vprintf", "vsprintf", "vswprintf", "vwprintf", "wchar_t", "wcrtomb", "wcscat", "wcschr", "wcscmp", "wcscoll", "wcscpy", "wcscspn", "wcsftime", "wcslen", "wcsncat", diff -durpN glibc-2.1.2/stdlib/longlong.h glibc-2.1.3/stdlib/longlong.h --- glibc-2.1.2/stdlib/longlong.h Sun Jun 13 09:20:47 1999 +++ glibc-2.1.3/stdlib/longlong.h Tue Dec 21 15:51:46 1999 @@ -1170,15 +1170,17 @@ extern USItype __udiv_qrnnd (); #define UDIV_TIME (3+7*32) /* 7 instructions/iteration. 32 iterations. */ #else extern USItype __udiv_qrnnd __P ((USItype *, USItype, USItype, USItype)); +#ifndef UDIV_TIME #define UDIV_TIME 140 +#endif /* UDIV_TIME */ #endif /* udiv_qrnnd */ #endif /* __sparc__ */ #if (defined (__sparc_v9__) || (defined (__sparc__) && defined (__arch64__)) \ || defined (__sparcv9)) && W_TYPE_SIZE == 64 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ - __asm__ ("addcc %4,%5,%1 - add %2,%3,%0 + __asm__ ("addcc %r4,%5,%1 + add %r2,%3,%0 bcs,a,pn %%xcc, 1f add %0, 1, %0 1:" \ @@ -1191,8 +1193,8 @@ extern USItype __udiv_qrnnd __P ((USItyp : "cc") #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ - __asm__ ("subcc %4,%5,%1 - sub %2,%3,%0 + __asm__ ("subcc %r4,%5,%1 + sub %r2,%3,%0 bcs,a,pn %%xcc, 1f sub %0, 1, %0 1:" \ diff -durpN glibc-2.1.2/stdlib/rand_r.c glibc-2.1.3/stdlib/rand_r.c --- glibc-2.1.2/stdlib/rand_r.c Fri Dec 6 19:30:02 1996 +++ glibc-2.1.3/stdlib/rand_r.c Thu Oct 28 15:23:23 1999 @@ -1,5 +1,5 @@ /* Reentrant random function frm POSIX.1c. - Copyright (C) 1996 Free Software Foundation, Inc. + Copyright (C) 1996, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -35,7 +35,7 @@ rand_r (unsigned int *seed) next *= 1103515245; next += 12345; - result <<= 11; + result <<= 10; result ^= (unsigned int) (next / 65536) % 1024; next *= 1103515245; diff -durpN glibc-2.1.2/stdlib/stdlib.h glibc-2.1.3/stdlib/stdlib.h --- glibc-2.1.2/stdlib/stdlib.h Sun Feb 7 04:42:45 1999 +++ glibc-2.1.3/stdlib/stdlib.h Thu Feb 24 11:19:03 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,93,94,95,96,97,98,99 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999, 2000 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 @@ -537,7 +537,7 @@ extern char *__secure_getenv __P ((__con /* The SVID says this is in <stdio.h>, but this seems a better place. */ /* Put STRING, which is of the form "NAME=VALUE", in the environment. If there is no `=', remove NAME from the environment. */ -extern int putenv __P ((__const char *__string)); +extern int putenv __P ((char *__string)); #endif #ifdef __USE_BSD diff -durpN glibc-2.1.2/stdlib/strfmon.c glibc-2.1.3/stdlib/strfmon.c --- glibc-2.1.2/stdlib/strfmon.c Wed Sep 9 04:49:59 1998 +++ glibc-2.1.3/stdlib/strfmon.c Thu Jan 20 17:40:25 2000 @@ -1,5 +1,5 @@ /* Formatting a monetary value according to the current locale. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com> and Jochen Hein <Jochen.Hein@informatik.TU-Clausthal.de>, 1996. @@ -464,7 +464,10 @@ __strfmon_l (char *s, size_t maxsize, __ } if (s[maxsize - 1] != '\0') - return -1; + { + __set_errno (E2BIG); + return -1; + } dest += done; @@ -520,9 +523,9 @@ __strfmon_l (char *s, size_t maxsize, __ } /* Terminate the string. */ - out_char ('\0'); + *dest = '\0'; va_end (ap); - return dest - s - 1; + return dest - s; } diff -durpN glibc-2.1.2/stdlib/xpg_basename.c glibc-2.1.3/stdlib/xpg_basename.c --- glibc-2.1.2/stdlib/xpg_basename.c Thu Apr 17 07:58:34 1997 +++ glibc-2.1.3/stdlib/xpg_basename.c Mon Oct 11 11:48:43 1999 @@ -1,5 +1,5 @@ /* Return basename of given pathname according to the weird XPG specification. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -62,6 +62,9 @@ __xpg_basename (char *filename) while (p[1] != '\0') ++p; } + else + /* Go to the first character of the name. */ + ++p; } } diff -durpN glibc-2.1.2/string/argz-replace.c glibc-2.1.3/string/argz-replace.c --- glibc-2.1.2/string/argz-replace.c Thu Jul 16 04:23:15 1998 +++ glibc-2.1.3/string/argz-replace.c Tue Feb 22 23:03:04 2000 @@ -43,7 +43,7 @@ str_append (char **to, size_t *to_len, c } } -/* Replace any occurances of the string STR in ARGZ with WITH, reallocating +/* Replace any occurrences of the string STR in ARGZ with WITH, reallocating ARGZ as necessary. If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be incremented by number of replacements performed. */ error_t diff -durpN glibc-2.1.2/string/argz-stringify.c glibc-2.1.3/string/argz-stringify.c --- glibc-2.1.2/string/argz-stringify.c Fri Feb 14 20:30:25 1997 +++ glibc-2.1.3/string/argz-stringify.c Thu Feb 24 11:19:03 2000 @@ -1,7 +1,7 @@ /* Routines for dealing with '\0' separated arg vectors. - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995,96,97,2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Written by Miles Bader <miles@gnu.ai.mit.edu> + Written by Miles Bader <miles@gnu.org> 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 @@ -26,13 +26,15 @@ void __argz_stringify (char *argz, size_t len, int sep) { - while (len > 0) - { - size_t part_len = strlen (argz); - argz += part_len; - len -= part_len + 1; - if (len > 0) + if (len > 0) + while (1) + { + size_t part_len = strnlen (argz, len); + argz += part_len; + len -= part_len; + if (len-- <= 1) /* includes final '\0' we want to stop at */ + break; *argz++ = sep; - } + } } weak_alias (__argz_stringify, argz_stringify) diff -durpN glibc-2.1.2/string/argz.h glibc-2.1.3/string/argz.h --- glibc-2.1.2/string/argz.h Fri Dec 4 12:54:42 1998 +++ glibc-2.1.3/string/argz.h Tue Feb 22 23:03:05 2000 @@ -126,7 +126,7 @@ extern error_t argz_insert __P ((char ** char *__restrict __before, __const char *__restrict __entry)); -/* Replace any occurances of the string STR in ARGZ with WITH, reallocating +/* Replace any occurrences of the string STR in ARGZ with WITH, reallocating ARGZ as necessary. If REPLACE_COUNT is non-zero, *REPLACE_COUNT will be incremented by number of replacements performed. */ extern error_t __argz_replace (char **__restrict __argz, diff -durpN glibc-2.1.2/string/bits/string2.h glibc-2.1.3/string/bits/string2.h --- glibc-2.1.2/string/bits/string2.h Sun Aug 8 22:39:45 1999 +++ glibc-2.1.3/string/bits/string2.h Tue Feb 22 23:03:05 2000 @@ -1,5 +1,5 @@ /* Machine-independant string function optimizations. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -37,7 +37,7 @@ to make sure we don't get redefinitions. We must use here macros instead of inline functions since the - trick won't work with the later. */ + trick won't work with the latter. */ #ifndef __STRING_INLINE # ifdef __cplusplus @@ -118,7 +118,7 @@ __STRING2_COPY_TYPE (8); __uint8_t __c = (__uint8_t) (c); \ \ /* This `switch' statement will be removed at compile-time. */ \ - switch (n) \ + switch ((unsigned int) (n)) \ { \ case 15: \ __u->__ui = __c * 0x01010101; \ @@ -231,7 +231,7 @@ __mempcpy_small (void *__dest1, unsigned char __uc; unsigned char __c; } *__u = __dest1; - switch (__srclen) + switch ((unsigned int) __srclen) { case 1: __u->__c = __src0_1; @@ -333,7 +333,7 @@ __mempcpy_small (void *__dest, char __sr __STRING2_COPY_ARR7 __sca7; __STRING2_COPY_ARR8 __sca8; } *__u = __dest; - switch (__srclen) + switch ((unsigned int) __srclen) { case 1: __u->__c = __src1; @@ -406,7 +406,7 @@ __strcpy_small (char *__dest, __uint16_t __usi; unsigned char __uc; } *__u = (void *) __dest; - switch (__srclen) + switch ((unsigned int) __srclen) { case 1: __u->__uc = '\0'; @@ -499,7 +499,7 @@ __strcpy_small (char *__dest, __STRING2_COPY_ARR7 __sca7; __STRING2_COPY_ARR8 __sca8; } *__u = (void *) __dest; - switch (__srclen) + switch ((unsigned int) __srclen) { case 1: __u->__c = '\0'; @@ -564,8 +564,9 @@ __stpcpy_small (char *__dest, unsigned int __ui; unsigned short int __usi; unsigned char __uc; + char __c; } *__u = (void *) __dest; - switch (__srclen) + switch ((unsigned int) __srclen) { case 1: __u->__uc = '\0'; @@ -608,7 +609,7 @@ __stpcpy_small (char *__dest, __u = __extension__ ((void *) __u + 3); break; } - return &__u->__uc; + return &__u->__c; } # else # define __stpcpy_args(src) \ @@ -662,7 +663,7 @@ __stpcpy_small (char *__dest, __STRING2_COPY_ARR7 __sca7; __STRING2_COPY_ARR8 __sca8; } *__u = (void *) __dest; - switch (__srclen) + switch ((unsigned int) __srclen) { case 1: __u->__c = '\0'; @@ -1025,7 +1026,7 @@ __STRING_INLINE size_t strnlen (__const char *__string, size_t __maxlen) { __const char *__end = (__const char *) memchr (__string, '\0', __maxlen); - return __end ? __end - __string : __maxlen; + return __end ? (size_t) (__end - __string) : __maxlen; } # endif #endif @@ -1078,8 +1079,10 @@ __strtok_r_1c (char *__s, char __sep, ch __extension__ \ ({ char __r0, __r1, __r2; \ (__builtin_constant_p (reject) && __string2_1bptr_p (reject) \ - && (__r0 = ((__const char *) (reject))[0], __r0 != '\0') \ - ? ((__r1 = ((__const char *) (reject))[1], __r1 == '\0') \ + && (__r0 = ((__const char *) (reject))[0], \ + ((__const char *) (reject))[0] != '\0') \ + ? ((__r1 = ((__const char *) (reject))[1], \ + ((__const char *) (reject))[1] == '\0') \ ? __strsep_1c (s, __r0) \ : ((__r2 = ((__const char *) (reject))[2], __r2 == '\0') \ ? __strsep_2c (s, __r0, __r1) \ @@ -1163,7 +1166,7 @@ __STRING_INLINE char * __strsep_g (char **__s, __const char *__reject) { register char *__retval = *__s; - if (__retval == NULL || *__retval == '\0') + if (__retval == NULL) return NULL; if ((*__s = strpbrk (__retval, __reject)) != NULL) *(*__s)++ = '\0'; @@ -1199,32 +1202,6 @@ __strsep_g (char **__s, __const char *__ # if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED # define strdup(s) __strdup (s) -# endif -# endif - -# ifndef _HAVE_STRING_ARCH_strndup - -# define __strndup(s, n) \ - (__extension__ (__builtin_constant_p (s) && __string2_1bptr_p (s) \ - ? (((__const char *) (s))[0] == '\0' \ - ? (char *) calloc (1, 1) \ - : ({ size_t __len = strlen (s) + 1; \ - size_t __n = (n); \ - char *__retval; \ - if (__n < __len) \ - __len = __n; \ - __retval = (char *) malloc (__len); \ - if (__retval != NULL) \ - { \ - __retval[__len - 1] = '\0'; \ - __retval = (char *) memcpy (__retval, s, \ - __len - 1); \ - } \ - __retval; })) \ - : __strndup ((s), (n)))) - -# ifdef __GNU_SOURCE -# define strndup(s, n) __strndup ((s), (n)) # endif # endif diff -durpN glibc-2.1.2/string/strsignal.c glibc-2.1.3/string/strsignal.c --- glibc-2.1.2/string/strsignal.c Tue Aug 11 11:43:27 1998 +++ glibc-2.1.3/string/strsignal.c Thu Nov 11 10:09:54 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 94, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1991, 94, 95, 96, 97, 98, 99 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 @@ -69,7 +69,7 @@ strsignal (int signum) #endif len = __snprintf (buffer, BUFFERSIZ - 1, _("Unknown signal %d"), signum); - if (len < 0) + if (len >= BUFFERSIZ) buffer = NULL; else buffer[len] = '\0'; diff -durpN glibc-2.1.2/sunrpc/clnt_perr.c glibc-2.1.3/sunrpc/clnt_perr.c --- glibc-2.1.2/sunrpc/clnt_perr.c Wed Apr 28 15:50:18 1999 +++ glibc-2.1.3/sunrpc/clnt_perr.c Tue Jan 25 20:09:02 2000 @@ -240,7 +240,7 @@ static const struct rpc_errtab rpc_errli { RPC_VERSMISMATCH, RPC_VERSMISMATCH_IDX }, { RPC_AUTHERROR, RPC_AUTHERROR_IDX }, { RPC_PROGUNAVAIL, RPC_PROGUNAVAIL_IDX }, - { RPC_PROGVERSMISMATCH, RPC_PROGVERSMISMATCH }, + { RPC_PROGVERSMISMATCH, RPC_PROGVERSMISMATCH_IDX }, { RPC_PROCUNAVAIL, RPC_PROCUNAVAIL_IDX }, { RPC_CANTDECODEARGS, RPC_CANTDECODEARGS_IDX }, { RPC_SYSTEMERROR, RPC_SYSTEMERROR_IDX }, diff -durpN glibc-2.1.2/sunrpc/key_call.c glibc-2.1.3/sunrpc/key_call.c --- glibc-2.1.2/sunrpc/key_call.c Sun May 16 03:13:32 1999 +++ glibc-2.1.3/sunrpc/key_call.c Mon Nov 15 16:25:03 1999 @@ -1,7 +1,4 @@ /* - * Copyright (c) 1988 by Sun Microsystems, Inc. - */ -/* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape * media and as a part of the software program in whole or part. Users @@ -29,11 +26,15 @@ * 2550 Garcia Avenue * Mountain View, California 94043 */ - +/* + * Copyright (c) 1988 by Sun Microsystems, Inc. + */ /* * The original source is from the RPCSRC 4.0 package from Sun Microsystems. - * The Interface to keyserver protocoll 2, RPC over AF_UNIX und Linux/doors - * was added by Thorsten Kukuk <kukuk@vt.uni-paderborn.de> + * The Interface to keyserver protocoll 2, RPC over AF_UNIX and Linux/doors + * was added by Thorsten Kukuk <kukuk@suse.de> + * Since the Linux/doors project was stopped, I doubt that this code will + * ever be useful <kukuk@suse.de>. */ #include <stdio.h> @@ -59,8 +60,9 @@ #define debug(msg) /* turn off debugging */ +#ifndef SO_PASSCRED extern int _openchild (const char *command, FILE **fto, FILE **ffrom); - +#endif static int key_call (u_long, xdrproc_t xdr_arg, char *, xdrproc_t xdr_rslt, char *) internal_function; @@ -272,6 +274,7 @@ cryptkeyres *(*__key_encryptsession_pk_L cryptkeyres *(*__key_decryptsession_pk_LOCAL) (uid_t, char *); des_block *(*__key_gendes_LOCAL) (uid_t, char *); +#ifndef SO_PASSCRED static int internal_function key_call_keyenvoy (u_long proc, xdrproc_t xdr_arg, char *arg, @@ -349,6 +352,7 @@ key_call_keyenvoy (u_long proc, xdrproc_ return success; } +#endif struct key_call_private { CLIENT *client; /* Client handle */ @@ -556,7 +560,9 @@ internal_function key_call (u_long proc, xdrproc_t xdr_arg, char *arg, xdrproc_t xdr_rslt, char *rslt) { +#ifndef SO_PASSCRED static int use_keyenvoy; +#endif #ifdef HAVE_DOORS static int not_use_doors; #endif @@ -591,6 +597,10 @@ key_call (u_long proc, xdrproc_t xdr_arg not_use_doors = 1; } #endif + +#ifdef SO_PASSCRED + return key_call_socket (proc, xdr_arg, arg, xdr_rslt, rslt); +#else if (!use_keyenvoy) { if (key_call_socket (proc, xdr_arg, arg, xdr_rslt, rslt)) @@ -598,4 +608,5 @@ key_call (u_long proc, xdrproc_t xdr_arg use_keyenvoy = 1; } return key_call_keyenvoy (proc, xdr_arg, arg, xdr_rslt, rslt); +#endif } diff -durpN glibc-2.1.2/sunrpc/rpc/rpc_des.h glibc-2.1.3/sunrpc/rpc/rpc_des.h --- glibc-2.1.2/sunrpc/rpc/rpc_des.h Tue Mar 24 02:37:33 1998 +++ glibc-2.1.3/sunrpc/rpc/rpc_des.h Tue Jan 25 20:09:02 2000 @@ -1,4 +1,3 @@ -/* @(#)des.h 2.2 88/08/10 4.0 RPCSRC; from 2.7 88/02/08 SMI */ /* * Sun RPC is a product of Sun Microsystems, Inc. and is provided for * unrestricted use provided that this legend is included on all tape @@ -69,15 +68,5 @@ struct desparams #define des_data UDES.UDES_data /* direct data here if quick */ #define des_buf UDES.UDES_buf /* otherwise, pointer to data */ }; - -/* - * Encrypt an arbitrary sized buffer - */ -#define DESIOCBLOCK _IOWR(d, 6, struct desparams) - -/* - * Encrypt of small amount of data, quickly - */ -#define DESIOCQUICK _IOWR(d, 7, struct desparams) #endif diff -durpN glibc-2.1.2/sunrpc/rpc_clntout.c glibc-2.1.3/sunrpc/rpc_clntout.c --- glibc-2.1.2/sunrpc/rpc_clntout.c Mon Feb 16 09:41:48 1998 +++ glibc-2.1.3/sunrpc/rpc_clntout.c Tue Nov 23 09:11:05 1999 @@ -32,7 +32,7 @@ * From: @(#)rpc_clntout.c 1.11 89/02/22 (C) 1987 SMI */ char clntout_rcsid[] = - "$Id: rpc_clntout.c,v 1.5 1998/02/16 17:41:48 drepper Exp $"; + "$Id: rpc_clntout.c,v 1.5.2.1 1999/11/23 17:11:05 drepper Exp $"; /* * rpc_clntout.c, Client-stub outputter for the RPC protocol compiler @@ -268,14 +268,14 @@ printbody (proc_list * proc) else fprintf (fout, "\t if "); fprintf (fout, - "(clnt_call (clnt, %s, (xdrproc_t) xdr_void", proc->proc_name); + "(clnt_call (clnt, %s, (xdrproc_t) xdr_void, ", proc->proc_name); fprintf (fout, "(caddr_t) NULL,\n\t\t(xdrproc_t) xdr_%s, (caddr_t) %s%s,", stringfix(proc->res_type), (mtflag)?"":ampr(proc->res_type), RESULT); if (mtflag) - fprintf (fout, "\n\t\tTIMEOUT));\n}\n"); + fprintf (fout, "\n\t\tTIMEOUT));\n\n"); else fprintf (fout, "\n\t\tTIMEOUT) != RPC_SUCCESS) {\n"); } diff -durpN glibc-2.1.2/sunrpc/xdr_float.c glibc-2.1.3/sunrpc/xdr_float.c --- glibc-2.1.2/sunrpc/xdr_float.c Tue May 20 18:15:27 1997 +++ glibc-2.1.3/sunrpc/xdr_float.c Mon Oct 11 16:52:29 1999 @@ -52,7 +52,7 @@ static char sccsid[] = "@(#)xdr_float.c * This routine works on Suns (Sky / 68000's) and Vaxen. */ -#define LSW (__BYTE_ORDER == __BIG_ENDIAN) +#define LSW (__FLOAT_WORD_ORDER == __BIG_ENDIAN) #ifdef vax diff -durpN glibc-2.1.2/sunrpc/xdr_rec.c glibc-2.1.3/sunrpc/xdr_rec.c --- glibc-2.1.2/sunrpc/xdr_rec.c Thu Apr 15 06:54:37 1999 +++ glibc-2.1.3/sunrpc/xdr_rec.c Tue Jan 25 20:09:02 2000 @@ -65,8 +65,7 @@ static void xdrrec_destroy (XDR *); static bool_t xdrrec_getint32 (XDR *, int32_t *); static bool_t xdrrec_putint32 (XDR *, const int32_t *); -static const struct xdr_ops xdrrec_ops = -{ +static const struct xdr_ops xdrrec_ops = { xdrrec_getlong, xdrrec_putlong, xdrrec_getbytes, @@ -288,7 +287,7 @@ xdrrec_putbytes (XDR *xdrs, const char * rstrm->out_finger += current; addr += current; len -= current; - if (rstrm->out_finger == rstrm->out_boundry) + if (rstrm->out_finger == rstrm->out_boundry && len > 0) { rstrm->frag_sent = TRUE; if (!flush_out (rstrm, FALSE)) @@ -464,8 +463,7 @@ xdrrec_putint32 (XDR *xdrs, const int32_ * this procedure to guarantee proper record alignment. */ bool_t -xdrrec_skiprecord (xdrs) - XDR *xdrs; +xdrrec_skiprecord (XDR *xdrs) { RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; @@ -487,8 +485,7 @@ xdrrec_skiprecord (xdrs) * after consuming the rest of the current record. */ bool_t -xdrrec_eof (xdrs) - XDR *xdrs; +xdrrec_eof (XDR *xdrs) { RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; @@ -512,9 +509,7 @@ xdrrec_eof (xdrs) * pipelined procedure calls.) TRUE => immediate flush to tcp connection. */ bool_t -xdrrec_endofrecord (xdrs, sendnow) - XDR *xdrs; - bool_t sendnow; +xdrrec_endofrecord (XDR *xdrs, bool_t sendnow) { RECSTREAM *rstrm = (RECSTREAM *) xdrs->x_private; u_long len; /* fragment length */ diff -durpN glibc-2.1.2/sysdeps/alpha/fpu/bits/mathdef.h glibc-2.1.3/sysdeps/alpha/fpu/bits/mathdef.h --- glibc-2.1.2/sysdeps/alpha/fpu/bits/mathdef.h Tue Nov 10 11:09:54 1998 +++ glibc-2.1.3/sysdeps/alpha/fpu/bits/mathdef.h Tue Dec 21 15:51:49 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 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 @@ -23,7 +23,9 @@ /* FIXME! This file describes properties of the compiler, not the machine; it should not be part of libc! */ -#if defined __USE_ISOC9X && defined _MATH_H +#if defined __USE_ISOC9X && defined _MATH_H && !defined _MATH_H_MATHDEF +# define _MATH_H_MATHDEF 1 + # ifdef __GNUC__ # if __STDC__ == 1 @@ -71,7 +73,7 @@ typedef double double_t; /* Number of decimal digits for the `double' type. */ # define DECIMAL_DIG 15 -#endif /* ISO C 9X */ +#endif /* ISO C99 */ #ifndef __NO_LONG_DOUBLE_MATH /* Signal that we do not really have a `long double'. The disables the diff -durpN glibc-2.1.2/sysdeps/alpha/fpu/feholdexcpt.c glibc-2.1.3/sysdeps/alpha/fpu/feholdexcpt.c --- glibc-2.1.2/sysdeps/alpha/fpu/feholdexcpt.c Fri May 30 17:43:15 1997 +++ glibc-2.1.3/sysdeps/alpha/fpu/feholdexcpt.c Fri Feb 11 15:49:58 2000 @@ -29,5 +29,5 @@ feholdexcept (fenv_t *envp) /* Clear all exception status bits and exception enable bits. */ __ieee_set_fp_control(0); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/alpha/fpu/fesetround.c glibc-2.1.3/sysdeps/alpha/fpu/fesetround.c --- glibc-2.1.2/sysdeps/alpha/fpu/fesetround.c Fri May 30 17:43:28 1997 +++ glibc-2.1.3/sysdeps/alpha/fpu/fesetround.c Fri Feb 11 15:49:58 2000 @@ -26,7 +26,7 @@ fesetround (int round) unsigned long fpcr; if (round & ~3) - return 0; + return 1; /* Get the current state. */ __asm__ __volatile__("excb; mf_fpcr %0" : "=f"(fpcr)); @@ -37,5 +37,5 @@ fesetround (int round) /* Put the new state in effect. */ __asm__ __volatile__("mt_fpcr %0; excb" : : "f"(fpcr)); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/alpha/fpu/fpu_control.h glibc-2.1.3/sysdeps/alpha/fpu/fpu_control.h --- glibc-2.1.2/sysdeps/alpha/fpu/fpu_control.h Thu Nov 26 03:59:57 1998 +++ glibc-2.1.3/sysdeps/alpha/fpu/fpu_control.h Tue Feb 22 23:03:06 2000 @@ -1,5 +1,5 @@ /* FPU control word bits. Alpha-maped-to-Intel version. - Copyright (C) 1996, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Olaf Flebbe. @@ -94,7 +94,7 @@ #define _FPU_DEFAULT 0x137f -/* IEEE: same as above, but exceptions */ +/* IEEE: same as above. */ #define _FPU_IEEE 0x137f /* Type of the control word. */ diff -durpN glibc-2.1.2/sysdeps/arm/bits/string.h glibc-2.1.3/sysdeps/arm/bits/string.h --- glibc-2.1.2/sysdeps/arm/bits/string.h Mon Apr 12 02:01:49 1999 +++ glibc-2.1.3/sysdeps/arm/bits/string.h Wed Jan 5 17:45:37 2000 @@ -1,5 +1,5 @@ /* Optimized, inlined string functions. ARM version. - Copyright (C) 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1998, 1999, 2000 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 @@ -22,6 +22,10 @@ #endif /* We must defeat the generic optimized versions of these functions in - <bits/string2.h> since they don't work on the ARM. */ + <bits/string2.h> since they don't work on the ARM. This is because + the games they play with the __STRING2_COPY_ARR# structures fail + when structs are always 32-bit aligned. + XXX Should provide suitably optimal replacements. */ #define _HAVE_STRING_ARCH_strcpy 1 #define _HAVE_STRING_ARCH_stpcpy 1 +#define _HAVE_STRING_ARCH_mempcpy 1 diff -durpN glibc-2.1.2/sysdeps/arm/dl-machine.h glibc-2.1.3/sysdeps/arm/dl-machine.h --- glibc-2.1.2/sysdeps/arm/dl-machine.h Mon Aug 9 22:13:22 1999 +++ glibc-2.1.3/sysdeps/arm/dl-machine.h Sun Jan 9 17:45:32 2000 @@ -35,6 +35,17 @@ VALID_ELF_ABIVERSION(hdr[EI_ABIVERSION]) \ ) +#define CLEAR_CACHE(BEG,END) \ +{ \ + register unsigned long _beg __asm ("a1") = (unsigned long)(BEG); \ + register unsigned long _end __asm ("a2") = (unsigned long)(END); \ + register unsigned long _flg __asm ("a3") = 0; \ + __asm __volatile ("swi 0x9f0002 @ sys_cacheflush" \ + : /* no outputs */ \ + : /* no inputs */ \ + : "a1"); \ +} + /* Return nonzero iff E_MACHINE is compatible with the running host. */ static inline int __attribute__ ((unused)) elf_machine_matches_host (Elf32_Half e_machine) @@ -345,10 +356,9 @@ extern const char *_dl_platform; static inline void __attribute__ ((unused)) dl_platform_init (void) { - if (_dl_platform == NULL) - /* We default to ARM - This is where processors could be distinguished arm2, arm6, sa110, etc */ - _dl_platform = "ARM"; + if (_dl_platform != NULL && *_dl_platform == '\0') + /* Avoid an empty string which would disturb us. */ + _dl_platform = NULL; } static inline void @@ -446,6 +456,23 @@ elf_machine_rel (struct link_map *map, c *reloc_addr += value; break; } + case R_ARM_PC24: + { + signed int addend; + + addend = *reloc_addr & 0x00ffffff; + if (addend & 0x00800000) addend |= 0xff000000; + + value = value - (unsigned int)reloc_addr + (addend << 2); + if (value & 0xfc000003) + _dl_signal_error (0, map->l_name, + "R_ARM_PC24 relocation out of range"); + + value = value >> 2; + value = (*reloc_addr & 0xff000000) | (value & 0x00ffffff); + *reloc_addr = value; + } + break; default: assert (! "unexpected dynamic reloc type"); break; diff -durpN glibc-2.1.2/sysdeps/arm/fpu/bits/mathdef.h glibc-2.1.3/sysdeps/arm/fpu/bits/mathdef.h --- glibc-2.1.2/sysdeps/arm/fpu/bits/mathdef.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/arm/fpu/bits/mathdef.h Sun Jan 2 19:49:23 2000 @@ -0,0 +1,54 @@ +/* Copyright (C) 1999, 2000 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. */ + +#if !defined _MATH_H && !defined _COMPLEX_H +# error "Never use <bits/mathdef.h> directly; include <math.h> instead" +#endif + +#if defined __USE_ISOC9X && defined _MATH_H && !defined _MATH_H_MATHDEF +# define _MATH_H_MATHDEF 1 + +/* GCC does not promote `float' values to `double'. */ +typedef float float_t; /* `float' expressions are evaluated as + `float'. */ +typedef double double_t; /* `double' expressions are evaluated as + `double'. */ + +/* Signal that types stay as they were declared. */ +# define FLT_EVAL_METHOD 0 + +/* Define `INFINITY' as value of type `float'. */ +# define INFINITY HUGE_VALF + + +/* The values returned by `ilogb' for 0 and NaN respectively. */ +# define FP_ILOGB0 0x80000001 +# define FP_ILOGBNAN 0x7fffffff + +/* Number of decimal digits for the `double' type. */ +# define DECIMAL_DIG 15 + +#endif /* ISO C99 */ + +#ifndef __NO_LONG_DOUBLE_MATH +/* Signal that we do not really have a `long double'. This disables the + declaration of all the `long double' function variants. */ +/* XXX The FPA does support this but the patterns in GCC are currently + turned off. */ +# define __NO_LONG_DOUBLE_MATH 1 +#endif diff -durpN glibc-2.1.2/sysdeps/arm/fpu/feholdexcpt.c glibc-2.1.3/sysdeps/arm/fpu/feholdexcpt.c --- glibc-2.1.2/sysdeps/arm/fpu/feholdexcpt.c Sun May 23 02:46:16 1999 +++ glibc-2.1.3/sysdeps/arm/fpu/feholdexcpt.c Fri Feb 11 15:49:58 2000 @@ -33,5 +33,5 @@ feholdexcept (fenv_t *envp) temp &= ~(FE_ALL_EXCEPT << FE_EXCEPT_SHIFT); _FPU_SETCW(temp); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/arm/fpu/fesetround.c glibc-2.1.3/sysdeps/arm/fpu/fesetround.c --- glibc-2.1.2/sysdeps/arm/fpu/fesetround.c Thu May 21 08:39:28 1998 +++ glibc-2.1.3/sysdeps/arm/fpu/fesetround.c Fri Feb 11 15:49:58 2000 @@ -23,5 +23,5 @@ int fesetround (int round) { /* We only support FE_TONEAREST, so there is no need for any work. */ - return (round == FE_TONEAREST)?1:0; + return (round == FE_TONEAREST)?0:1; } diff -durpN glibc-2.1.2/sysdeps/arm/fpu/fpu_control.h glibc-2.1.3/sysdeps/arm/fpu/fpu_control.h --- glibc-2.1.2/sysdeps/arm/fpu/fpu_control.h Thu Nov 26 04:00:00 1998 +++ glibc-2.1.3/sysdeps/arm/fpu/fpu_control.h Fri Feb 11 15:49:58 2000 @@ -71,7 +71,7 @@ /* The fdlibm code requires no interrupts for exceptions. Don't change the rounding mode, it would break long double I/O! */ -#define _FPU_DEFAULT 0x00000000 /* Default value. */ +#define _FPU_DEFAULT 0x00001000 /* Default value. */ /* Type of the control word. */ typedef unsigned int fpu_control_t; diff -durpN glibc-2.1.2/sysdeps/arm/frame.h glibc-2.1.3/sysdeps/arm/frame.h --- glibc-2.1.2/sysdeps/arm/frame.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/arm/frame.h Wed Jan 5 16:05:05 2000 @@ -0,0 +1,26 @@ +/* Definition of stack frame structure. ARM/APCS version. + Copyright (C) 2000 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. */ + +/* This is the APCS stack backtrace structure. */ +struct layout +{ + struct layout *next; + void *sp; + void *return_address; +}; diff -durpN glibc-2.1.2/sysdeps/generic/aio_sigqueue.c glibc-2.1.3/sysdeps/generic/aio_sigqueue.c --- glibc-2.1.2/sysdeps/generic/aio_sigqueue.c Sun Aug 15 13:28:08 1999 +++ glibc-2.1.3/sysdeps/generic/aio_sigqueue.c Thu Sep 23 11:13:54 1999 @@ -23,7 +23,10 @@ #include "aio_misc.h" int -__aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) +__aio_sigqueue (sig, val, caller_pid) + int sig; + const union sigval val; + pid_t caller_pid; { __set_errno (ENOSYS); return -1; diff -durpN glibc-2.1.2/sysdeps/generic/backtrace.c glibc-2.1.3/sysdeps/generic/backtrace.c --- glibc-2.1.2/sysdeps/generic/backtrace.c Wed Jun 17 03:24:35 1998 +++ glibc-2.1.3/sysdeps/generic/backtrace.c Tue Jan 25 20:09:06 2000 @@ -19,7 +19,9 @@ Boston, MA 02111-1307, USA. */ #include <execinfo.h> - +#include <signal.h> +#include <frame.h> +#include <sigcontextinfo.h> /* This is a global variable set at program start time. It marks the highest used stack address. */ @@ -49,11 +51,11 @@ extern void *__libc_stack_end; # define INNER_THAN < #endif -struct layout -{ - struct layout *next; - void *return_address; -}; +/* By default assume the `next' pointer in struct layout points to the + next struct layout. */ +#ifndef ADVANCE_STACK_FRAME +# define ADVANCE_STACK_FRAME(next) ((struct layout *) (next)) +#endif int __backtrace (array, size) @@ -81,7 +83,7 @@ __backtrace (array, size) array[cnt++] = current->return_address; - current = current->next; + current = ADVANCE_STACK_FRAME (current->next); } return cnt; diff -durpN glibc-2.1.2/sysdeps/generic/bits/mathdef.h glibc-2.1.3/sysdeps/generic/bits/mathdef.h --- glibc-2.1.2/sysdeps/generic/bits/mathdef.h Tue Nov 17 10:35:12 1998 +++ glibc-2.1.3/sysdeps/generic/bits/mathdef.h Mon Jan 3 13:10:29 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 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 @@ -20,7 +20,9 @@ # error "Never use <bits/mathdef.h> directly; include <math.h> instead" #endif -#if defined __USE_ISOC9X && defined _MATH_H +#if defined __USE_ISOC9X && defined _MATH_H && !defined _MATH_H_MATHDEF +# define _MATH_H_MATHDEF 1 + /* Normally, there is no long double type and the `float' and `double' expressions are evaluated as `double'. */ typedef double float_t; /* `float' expressions are evaluated as @@ -42,7 +44,7 @@ typedef double double_t; /* `double' exp /* Number of decimal digits for the `double' type. */ # define DECIMAL_DIG 15 -#endif /* ISO C 9X */ +#endif /* ISO C9X */ #ifndef __NO_LONG_DOUBLE_MATH /* Signal that we do not really have a `long double'. The disables the diff -durpN glibc-2.1.2/sysdeps/generic/bits/socket.h glibc-2.1.3/sysdeps/generic/bits/socket.h --- glibc-2.1.2/sysdeps/generic/bits/socket.h Tue May 11 05:04:30 1999 +++ glibc-2.1.3/sysdeps/generic/bits/socket.h Thu Jan 20 17:40:29 2000 @@ -1,5 +1,5 @@ /* System-specific socket constants and types. Generic/4.3 BSD version. - Copyright (C) 1991,92,94,95,96,97,98,99 Free Software Foundation, Inc. + Copyright (C) 1991,92,94,95,96,97,98,99,2000 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 @@ -47,7 +47,7 @@ enum __socket_type #define SOCK_RAW SOCK_RAW SOCK_RDM = 4, /* Reliably-delivered messages. */ #define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, + SOCK_SEQPACKET = 5 /* Sequenced, reliable, connection-based, datagrams of fixed maximum length. */ #define SOCK_SEQPACKET SOCK_SEQPACKET }; @@ -133,17 +133,17 @@ struct sockaddr /* Structure large enough to hold any socket address (with the historical exception of AF_UNIX). We reserve 128 bytes. */ #if ULONG_MAX > 0xffffffff -# define __ss_align __uint64_t +# define __ss_aligntype __uint64_t #else -# define __ss_align __uint32_t +# define __ss_aligntype __uint32_t #endif #define _SS_SIZE 128 -#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_align))) +#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype))) struct sockaddr_storage { __SOCKADDR_COMMON (__ss_); /* Address family, etc. */ - __ss_align __ss_align; /* Force desired alignment. */ + __ss_aligntype __ss_align; /* Force desired alignment. */ char __ss_padding[_SS_PADSIZE]; }; @@ -165,7 +165,7 @@ enum #define MSG_CTRUNC MSG_CTRUNC MSG_WAITALL = 0x40, /* Wait for full request or error. */ #define MSG_WAITALL MSG_WAITALL - MSG_DONTWAIT = 0x80, /* This message should be nonblocking. */ + MSG_DONTWAIT = 0x80 /* This message should be nonblocking. */ #define MSG_DONTWAIT MSG_DONTWAIT }; @@ -234,7 +234,7 @@ enum #define SO_ERROR SO_ERROR SO_STYLE = 0x1008, /* Get socket connection style. */ #define SO_STYLE SO_STYLE - SO_TYPE = SO_STYLE, /* Compatible name for SO_STYLE. */ + SO_TYPE = SO_STYLE /* Compatible name for SO_STYLE. */ #define SO_TYPE SO_TYPE }; diff -durpN glibc-2.1.2/sysdeps/generic/bits/stropts.h glibc-2.1.3/sysdeps/generic/bits/stropts.h --- glibc-2.1.2/sysdeps/generic/bits/stropts.h Sun Jan 25 08:46:30 1998 +++ glibc-2.1.3/sysdeps/generic/bits/stropts.h Tue Dec 21 15:51:54 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999 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 @@ -22,133 +22,140 @@ #include <bits/types.h> /* Macros used as `request' argument to `ioctl'. */ -#define I_PUSH 1 /* Push STREAMS module onto top of the current +#define __SID ('S' << 8) + +#define I_NREAD (__SID | 1) /* Counts the number of data bytes in the data + block in the first message. */ +#define I_PUSH (__SID | 2) /* Push STREAMS module onto top of the current STREAM, just below the STREAM head. */ -#define I_POP 2 /* Remove STREAMS module from just below the +#define I_POP (__SID | 3) /* Remove STREAMS module from just below the STREAM head. */ -#define I_LOOK 3 /* Retrieve the name of the module just below +#define I_LOOK (__SID | 4) /* Retrieve the name of the module just below the STREAM head and place it in a character string. */ -#define I_FLUSH 4 /* Flush all input and/or output. */ -#define I_FLUSHBAND 5 /* Flush only band specified. */ -#define I_SETSIG 6 /* Inform the STREAM head that the process +#define I_FLUSH (__SID | 5) /* Flush all input and/or output. */ +#define I_SRDOPT (__SID | 6) /* Sets the read mode. */ +#define I_GRDOPT (__SID | 7) /* Returns the current read mode setting. */ +#define I_STR (__SID | 8) /* Construct an internal STREAMS `ioctl' + message and send that message downstream. */ +#define I_SETSIG (__SID | 9) /* Inform the STREAM head that the process wants the SIGPOLL signal issued. */ -#define I_GETSIG 7 /* Return the events for which the calling +#define I_GETSIG (__SID |10) /* Return the events for which the calling process is currently registered to be sent a SIGPOLL signal. */ -#define I_FIND 8 /* Compares the names of all modules currently +#define I_FIND (__SID |11) /* Compares the names of all modules currently present in the STREAM to the name pointed to by `arg'. */ -#define I_PEEK 9 /* Allows a process to retrieve the information +#define I_LINK (__SID |12) /* Connect two STREAMs. */ +#define I_UNLINK (__SID |13) /* Disconnects the two STREAMs. */ +#define I_PEEK (__SID |15) /* Allows a process to retrieve the information in the first message on the STREAM head read queue without taking the message off the queue. */ -#define I_SRDOPT 10 /* Sets the read mode. */ -#define I_GRDOPT 11 /* Returns the current read mode setting. */ -#define I_NREAD 12 /* Counts the number of data bytes in the data - block in the first message. */ -#define I_FDINSERT 13 /* Create a message from the specified +#define I_FDINSERT (__SID |16) /* Create a message from the specified buffer(s), adds information about another STREAM, and send the message downstream. */ -#define I_STR 14 /* Construct an internal STREAMS `ioctl' - message and send that message downstream. */ -#define I_SWROPT 15 /* Set the write mode. */ -#define I_GWRSET 16 /* Return the current write mode setting. */ -#define I_SENDFD 17 /* Requests the STREAM associated with `fildes' +#define I_SENDFD (__SID |17) /* Requests the STREAM associated with `fildes' to send a message, containing a file pointer, to the STREAM head at the other end of a STREAMS pipe. */ -#define I_RECVFD 18 /* Retrieve the file descriptor associated with - the message sent by an I_SENDFD `ioctl' - over a STREAMS pipe. */ -#define I_LIST 19 /* List all the module names on the STREAM, up +#define I_RECVFD (__SID |14) /* Non-EFT definition. */ +#define I_SWROPT (__SID |19) /* Set the write mode. */ +#define I_GWRSET (__SID |20) /* Return the current write mode setting. */ +#define I_LIST (__SID |21) /* List all the module names on the STREAM, up to and including the topmost driver name. */ -#define I_ATMARK 20 /* See if the current message on the STREAM - head read queue is "marked" by some module - downstream. */ -#define I_CKBAND 21 /* Check if the message of a given priority +#define I_PLINK (__SID |22) /* Connect two STREAMs with a persistent + link. */ +#define I_PUNLINK (__SID |23) /* Disconnect the two STREAMs that were + connected with a persistent link. */ +#define I_FLUSHBAND (__SID |28) /* Flush only band specified. */ +#define I_CKBAND (__SID |29) /* Check if the message of a given priority band exists on the STREAM head read queue. */ -#define I_GETBAND 22 /* Return the priority band of the first +#define I_GETBAND (__SID |30) /* Return the priority band of the first message on the STREAM head read queue. */ -#define I_CANPUT 23 /* Check if a certain band is writable. */ -#define I_SETCLTIME 24 /* Set the time the STREAM head will delay when +#define I_ATMARK (__SID |31) /* See if the current message on the STREAM + head read queue is "marked" by some module + downstream. */ +#define I_SETCLTIME (__SID |32) /* Set the time the STREAM head will delay when a STREAM is closing and there is data on the write queues. */ -#define I_LINK 25 /* Connect two STREAMs. */ -#define I_UNLINK 26 /* Disconnects the two STREAMs. */ -#define I_PLINK 27 /* Connect two STREAMs with a persistent - link. */ -#define I_PUNLINK 28 /* Disconnect the two STREAMs that were - connected with a persistent link. */ +#define I_GETCLTIME (__SID |33) /* Get current value for closing timeout. */ +#define I_CANPUT (__SID |34) /* Check if a certain band is writable. */ /* Used in `I_LOOK' request. */ -#define FMNAMESZ 255 +#define FMNAMESZ 8 /* compatibility w/UnixWare/Solaris. */ /* Flush options. */ -#define FLUSHR 1 /* Flush read queues. */ -#define FLUSHW 2 /* Flush write queues. */ -#define FLUSHRW 3 /* Flush read and write queues. */ +#define FLUSHR 0x01 /* Flush read queues. */ +#define FLUSHW 0x02 /* Flush write queues. */ +#define FLUSHRW 0x03 /* Flush read and write queues. */ +#define FLUSHBAND 0x04 /* Flush only specified band. */ /* Possible arguments for `I_SETSIG'. */ -#define S_RDNORM 0x0001 /* A normal message has arrived. */ -#define S_RDBAND 0x0002 /* A message with a non-zero priority has - arrived. */ -#define S_INPUT 0x0004 /* A message, other than a high-priority +#define S_INPUT 0x0001 /* A message, other than a high-priority message, has arrived. */ -#define S_HIPRI 0x0008 /* A high-priority message is present. */ -#define S_OUTPUT 0x0010 /* The write queue for normal data is no longer +#define S_HIPRI 0x0002 /* A high-priority message is present. */ +#define S_OUTPUT 0x0004 /* The write queue for normal data is no longer full. */ -#define S_WRNORM S_OUTPUT -#define S_WRBAND 0x0020 /* The write queue for a non-zero priority - band is no longer full. */ -#define S_MSG 0x0040 /* A STREAMS signal message that contains the +#define S_MSG 0x0008 /* A STREAMS signal message that contains the SIGPOLL signal reaches the front of the STREAM head read queue. */ -#define S_ERROR 0x0080 /* Notification of an error condition. */ -#define S_HANGUP 0x0100 /* Notification of a hangup. */ +#define S_ERROR 0x0010 /* Notification of an error condition. */ +#define S_HANGUP 0x0020 /* Notification of a hangup. */ +#define S_RDNORM 0x0040 /* A normal message has arrived. */ +#define S_WRNORM S_OUTPUT +#define S_RDBAND 0x0080 /* A message with a non-zero priority has + arrived. */ +#define S_WRBAND 0x0100 /* The write queue for a non-zero priority + band is no longer full. */ #define S_BANDURG 0x0200 /* When used in conjunction with S_RDBAND, SIGURG is generated instead of SIGPOLL when a priority message reaches the front of the STREAM head read queue. */ /* Option for `I_PEEK'. */ -#define RS_HIPRI 1 /* Only look for high-priority messages. */ +#define RS_HIPRI 0x01 /* Only look for high-priority messages. */ /* Options for `I_SRDOPT'. */ -#define RDNORM 1 /* Byte-STREAM mode, the default. */ -#define RMSGD 2 /* Message-discard mode. */ -#define RMSGN 3 /* Message-nondiscard mode. */ -#define RPROTNORM 4 /* Fail `read' with EBADMSG if a message - containing a control part is at the front - of the STREAM head read queue. */ -#define RPROTDAT 5 /* Deliver the control part of a message as +#define RNORM 0x0000 /* Byte-STREAM mode, the default. */ +#define RMSGD 0x0001 /* Message-discard mode. */ +#define RMSGN 0x0002 /* Message-nondiscard mode. */ +#define RPROTDAT 0x0004 /* Deliver the control part of a message as data. */ -#define RPROTDIS 6 /* Discard the control part of a message, +#define RPROTDIS 0x0008 /* Discard the control part of a message, delivering any data part. */ +#define RPROTNORM 0x0010 /* Fail `read' with EBADMSG if a message + containing a control part is at the front + of the STREAM head read queue. */ +#define RPROTMASK 0x001C /* The RPROT bits */ /* Possible mode for `I_SWROPT'. */ -#define SNDZERO 1 /* Send a zero-length message downstream when a +#define SNDZERO 0x001 /* Send a zero-length message downstream when a `write' of 0 bytes occurs. */ +#define SNDPIPE 0x002 /* Send SIGPIPE on write and putmsg if + sd_werror is set. */ /* Arguments for `I_ATMARK'. */ -#define ANYMARK 1 /* Check if the message is marked. */ -#define LASTMARK 2 /* Check if the message is the last one marked +#define ANYMARK 0x01 /* Check if the message is marked. */ +#define LASTMARK 0x02 /* Check if the message is the last one marked on the queue. */ /* Argument for `I_UNLINK'. */ -#define MUXID_ALL 1 /* Unlink all STREAMs linked to the STREAM +#define MUXID_ALL (-1) /* Unlink all STREAMs linked to the STREAM associated with `fildes'. */ /* Macros for `getmsg', `getpmsg', `putmsg' and `putpmsg'. */ -#define MSG_ANY 1 /* Receive any message. */ -#define MSG_BAND 2 /* Receive message from specified band. */ -#define MSG_HIPRI 3 /* Send/receive high priority message. */ -#define MORECTL 4 /* More control information is left in +#define MSG_HIPRI 0x01 /* Send/receive high priority message. */ +#define MSG_ANY 0x02 /* Receive any message. */ +#define MSG_BAND 0x04 /* Receive message from specified band. */ + +/* Values returned by getmsg and getpmsg */ +#define MORECTL 1 /* More control information is left in message. */ -#define MOREDATA 5 /* More data is left in message. */ +#define MOREDATA 2 /* More data is left in message. */ /* Structure used for the I_FLUSHBAND ioctl on streams. */ @@ -169,14 +176,14 @@ struct strpeek { struct strbuf ctlbuf; struct strbuf databuf; - __t_uscalar_t flags; + __t_uscalar_t flags; /* UnixWare/Solaris compatibility. */ }; struct strfdinsert { struct strbuf ctlbuf; struct strbuf databuf; - __t_uscalar_t flags; + __t_uscalar_t flags; /* UnixWare/Solaris compatibility. */ int fildes; int offset; }; @@ -194,6 +201,7 @@ struct strrecvfd int fd; __uid_t uid; __gid_t gid; + char fill[8]; /* UnixWare/Solaris compatibility */ }; diff -durpN glibc-2.1.2/sysdeps/generic/dl-sysdep.c glibc-2.1.3/sysdeps/generic/dl-sysdep.c --- glibc-2.1.2/sysdeps/generic/dl-sysdep.c Tue Sep 22 05:54:53 1998 +++ glibc-2.1.3/sysdeps/generic/dl-sysdep.c Wed Jan 5 17:45:37 2000 @@ -47,7 +47,7 @@ extern void ENTRY_POINT (void); ElfW(Addr) _dl_base_addr; int __libc_enable_secure; -int __libc_multiple_libcs; /* Defining this here avoids the inclusion +int __libc_multiple_libcs = 0; /* Defining this here avoids the inclusion of init-first. */ /* This variable contains the lowest stack address ever used. */ void *__libc_stack_end; diff -durpN glibc-2.1.2/sysdeps/generic/feholdexcpt.c glibc-2.1.3/sysdeps/generic/feholdexcpt.c --- glibc-2.1.2/sysdeps/generic/feholdexcpt.c Sun Oct 12 20:52:15 1997 +++ glibc-2.1.3/sysdeps/generic/feholdexcpt.c Fri Feb 11 15:49:58 2000 @@ -23,7 +23,7 @@ int feholdexcept (fenv_t *envp) { - return 0; /* Signal failure. */ + return 1; /* Signal failure. */ } stub_warning (feholdexcept) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/fesetround.c glibc-2.1.3/sysdeps/generic/fesetround.c --- glibc-2.1.2/sysdeps/generic/fesetround.c Sun Oct 12 20:52:15 1997 +++ glibc-2.1.3/sysdeps/generic/fesetround.c Fri Feb 11 15:49:58 2000 @@ -23,7 +23,7 @@ int fesetround (int round) { - return 0; /* Signal we are unable to set the direction. */ + return 1; /* Signal we are unable to set the direction. */ } stub_warning (fesetround) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/frame.h glibc-2.1.3/sysdeps/generic/frame.h --- glibc-2.1.2/sysdeps/generic/frame.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/generic/frame.h Wed Jan 5 16:04:39 2000 @@ -0,0 +1,24 @@ +/* Definition of stack frame structure. Generic version. + Copyright (C) 2000 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. */ + +struct layout +{ + void *next; + void *return_address; +}; diff -durpN glibc-2.1.2/sysdeps/generic/getenv.c glibc-2.1.3/sysdeps/generic/getenv.c --- glibc-2.1.2/sysdeps/generic/getenv.c Fri Jun 12 00:35:30 1998 +++ glibc-2.1.3/sysdeps/generic/getenv.c Mon Sep 13 10:34:08 1999 @@ -1,4 +1,5 @@ -/* Copyright (C) 1991, 1992, 1994, 1996, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1994, 1996, 1998, 1999 + 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 @@ -49,7 +50,7 @@ getenv (name) /* The name of the variable consists of only one character. Therefore the first two characters of the environment entry are this character and a '=' character. */ -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if __BYTE_ORDER == __LITTLE_ENDIAN || !_STRING_ARCH_unaligned name_start = ('=' << 8) | *(const unsigned char *) name; #else # if __BYTE_ORDER == __BIG_ENDIAN diff -durpN glibc-2.1.2/sysdeps/generic/glob.c glibc-2.1.3/sysdeps/generic/glob.c --- glibc-2.1.2/sysdeps/generic/glob.c Fri Jul 2 11:11:40 1999 +++ glibc-2.1.3/sysdeps/generic/glob.c Tue Feb 22 23:03:08 2000 @@ -511,7 +511,7 @@ glob (pattern, flags, errfunc, pglob) #endif /* __MSDOS__ || WINDOWS32 */ if (filename == NULL) { - /* This can mean two things: a simple name or "~name". The later + /* This can mean two things: a simple name or "~name". The latter case is nothing but a notation for a directory. */ if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && pattern[0] == '~') { @@ -841,8 +841,20 @@ glob (pattern, flags, errfunc, pglob) glob_t dirs; register int i; + if ((flags & GLOB_ALTDIRFUNC) != 0) + { + /* Use the alternative access functions also in the recursive + call. */ + dirs.gl_opendir = pglob->gl_opendir; + dirs.gl_readdir = pglob->gl_readdir; + dirs.gl_closedir = pglob->gl_closedir; + dirs.gl_stat = pglob->gl_stat; + dirs.gl_lstat = pglob->gl_lstat; + } + status = glob (dirname, - ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE)) + ((flags & (GLOB_ERR | GLOB_NOCHECK | GLOB_NOESCAPE + | GLOB_ALTDIRFUNC)) | GLOB_NOSORT | GLOB_ONLYDIR), errfunc, &dirs); if (status != 0) diff -durpN glibc-2.1.2/sysdeps/generic/libc-start.c glibc-2.1.3/sysdeps/generic/libc-start.c --- glibc-2.1.2/sysdeps/generic/libc-start.c Sat Jul 10 09:55:20 1999 +++ glibc-2.1.3/sysdeps/generic/libc-start.c Tue Dec 21 15:51:52 1999 @@ -25,6 +25,8 @@ #include <elf/ldsodefs.h> extern void __libc_init_first (int argc, char **argv, char **envp); +extern int __libc_fcntl (int fd, int cmd, ...); +extern int __libc_open (const char *pathname, int flags, ...); extern int _dl_starting_up; weak_extern (_dl_starting_up) @@ -96,12 +98,12 @@ __libc_start_main (int (*main) (int, cha static void check_one_fd (int fd, int mode) { - if (__fcntl (fd, F_GETFD) == -1 && errno == EBADF) + if (__libc_fcntl (fd, F_GETFD) == -1 && errno == EBADF) { /* Something is wrong with this descriptor, it's probably not opened. Open /dev/null so that the SUID program we are about to start does not accidently use this descriptor. */ - int nullfd = __open (_PATH_DEVNULL, mode); + int nullfd = __libc_open (_PATH_DEVNULL, mode); if (nullfd == -1) /* We cannot even given an error message here since it would run into the same problems. */ diff -durpN glibc-2.1.2/sysdeps/generic/lseek64.c glibc-2.1.3/sysdeps/generic/lseek64.c --- glibc-2.1.2/sysdeps/generic/lseek64.c Wed Apr 8 00:11:20 1998 +++ glibc-2.1.3/sysdeps/generic/lseek64.c Wed Jan 5 20:40:57 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1991,95,96, 97,98,2000 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 @@ -22,10 +22,7 @@ /* Seek to OFFSET on FD, starting from WHENCE. */ off64_t -__lseek64 (fd, offset, whence) - int fd; - off64_t offset; - int whence; +__libc_lseek64 (int fd, off64_t offset, int whence) { if (fd < 0) { @@ -46,6 +43,7 @@ __lseek64 (fd, offset, whence) __set_errno (ENOSYS); return -1; } -weak_alias (__lseek64, lseek64) +weak_alias (__libc_lseek64, __lseek64) +weak_alias (__libc_lseek64, lseek64) stub_warning (lseek64) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/open64.c glibc-2.1.3/sysdeps/generic/open64.c --- glibc-2.1.2/sysdeps/generic/open64.c Sun Oct 12 20:52:26 1997 +++ glibc-2.1.3/sysdeps/generic/open64.c Tue Dec 21 15:51:52 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 1999 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 @@ -24,7 +24,7 @@ /* Open FILE with access OFLAG. If OFLAG includes O_CREAT, a third argument is the file protection. */ int -__open64 (file, oflag) +__libc_open64 (file, oflag) const char *file; int oflag; { @@ -47,7 +47,8 @@ __open64 (file, oflag) __set_errno (ENOSYS); return -1; } -weak_alias (__open64, open64) +strong_alias (__libc_open64, __open64) +weak_alias (__libc_open64, open64) stub_warning (open64) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/pread.c glibc-2.1.3/sysdeps/generic/pread.c --- glibc-2.1.2/sysdeps/generic/pread.c Sun Oct 26 11:06:25 1997 +++ glibc-2.1.3/sysdeps/generic/pread.c Tue Dec 21 15:51:52 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 1999 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 @@ -22,7 +22,7 @@ /* Read NBYTES into BUF from FD at the given position OFFSET without changing the file pointer. Return the number read or -1. */ ssize_t -__pread (int fd, void *buf, size_t nbytes, off_t offset) +__libc_pread (int fd, void *buf, size_t nbytes, off_t offset) { if (nbytes == 0) return 0; @@ -40,6 +40,7 @@ __pread (int fd, void *buf, size_t nbyte __set_errno (ENOSYS); return -1; } -weak_alias (__pread, pread) +strong_alias (__libc_pread, __pread) +weak_alias (__libc_pread, pread) stub_warning (pread) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/pread64.c glibc-2.1.3/sysdeps/generic/pread64.c --- glibc-2.1.2/sysdeps/generic/pread64.c Sun Oct 26 11:06:50 1997 +++ glibc-2.1.3/sysdeps/generic/pread64.c Tue Dec 21 15:51:52 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 1999 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 @@ -22,7 +22,7 @@ /* Read NBYTES into BUF from FD at the given position OFFSET without changing the file pointer. Return the number read or -1. */ ssize_t -__pread64 (int fd, void *buf, size_t nbytes, off64_t offset) +__libc_pread64 (int fd, void *buf, size_t nbytes, off64_t offset) { if (nbytes == 0) return 0; @@ -40,6 +40,7 @@ __pread64 (int fd, void *buf, size_t nby __set_errno (ENOSYS); return -1; } -weak_alias (__pread64, pread64) +strong_alias (__libc_pread64, __pread64) +weak_alias (__libc_pread64, pread64) stub_warning (pread64) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/putenv.c glibc-2.1.3/sysdeps/generic/putenv.c --- glibc-2.1.2/sysdeps/generic/putenv.c Sun Aug 1 15:07:26 1999 +++ glibc-2.1.3/sysdeps/generic/putenv.c Thu Feb 24 11:19:03 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 94, 95, 96, 97, 98, 99 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1994-1999, 2000 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 @@ -51,7 +51,7 @@ extern char *alloca (); /* Put STRING, which is of the form "NAME=VALUE", in the environment. */ int putenv (string) - const char *string; + char *string; { const char *const name_end = strchr (string, '='); diff -durpN glibc-2.1.2/sysdeps/generic/pwrite.c glibc-2.1.3/sysdeps/generic/pwrite.c --- glibc-2.1.2/sysdeps/generic/pwrite.c Sun Oct 26 11:07:04 1997 +++ glibc-2.1.3/sysdeps/generic/pwrite.c Tue Dec 21 15:51:52 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 1999 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 @@ -22,7 +22,7 @@ /* Write NBYTES of BUF to FD at given position OFFSET without changing the file position. Return the number written, or -1. */ ssize_t -__pwrite (int fd, const void *buf, size_t nbytes, off_t offset) +__libc_pwrite (int fd, const void *buf, size_t nbytes, off_t offset) { if (nbytes == 0) return 0; @@ -40,6 +40,7 @@ __pwrite (int fd, const void *buf, size_ __set_errno (ENOSYS); return -1; } -weak_alias (__pwrite, pwrite) +strong_alias (__libc_pwrite, __pwrite) +weak_alias (__libc_pwrite, pwrite) stub_warning (pwrite) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/pwrite64.c glibc-2.1.3/sysdeps/generic/pwrite64.c --- glibc-2.1.2/sysdeps/generic/pwrite64.c Sun Oct 26 11:07:10 1997 +++ glibc-2.1.3/sysdeps/generic/pwrite64.c Tue Dec 21 15:51:52 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 1999 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 @@ -22,7 +22,7 @@ /* Write NBYTES of BUF to FD at given position OFFSET without changing the file position. Return the number written, or -1. */ ssize_t -__pwrite64 (int fd, const void *buf, size_t nbytes, off64_t offset) +__libc_pwrite64 (int fd, const void *buf, size_t nbytes, off64_t offset) { if (nbytes == 0) return 0; @@ -40,6 +40,7 @@ __pwrite64 (int fd, const void *buf, siz __set_errno (ENOSYS); return -1; } -weak_alias (__pwrite64, pwrite64) +strong_alias (__libc_pwrite64, __<pwrite64) +weak_alias (__libc_pwrite64, pwrite64) stub_warning (pwrite64) #include <stub-tag.h> diff -durpN glibc-2.1.2/sysdeps/generic/segfault.c glibc-2.1.3/sysdeps/generic/segfault.c --- glibc-2.1.2/sysdeps/generic/segfault.c Fri Mar 19 07:31:54 1999 +++ glibc-2.1.3/sysdeps/generic/segfault.c Wed Jan 5 17:45:41 2000 @@ -28,6 +28,9 @@ #include <unistd.h> #include <stdio-common/_itoa.h> +/* Get the definition of "struct layout". */ +#include <frame.h> + /* This file defines macros to access the content of the sigcontext element passed up by the signal handler. */ #include <sigcontextinfo.h> @@ -71,14 +74,6 @@ extern void *__libc_stack_end; /* We'll use tis a lot. */ #define WRITE_STRING(s) write (fd, s, strlen (s)) - - -struct layout -{ - void *next; - void *return_address; -}; - /* Name of the output file. */ static const char *fname; diff -durpN glibc-2.1.2/sysdeps/generic/setenv.c glibc-2.1.3/sysdeps/generic/setenv.c --- glibc-2.1.2/sysdeps/generic/setenv.c Fri Aug 20 10:37:21 1999 +++ glibc-2.1.3/sysdeps/generic/setenv.c Tue Feb 22 23:03:08 2000 @@ -66,7 +66,7 @@ __libc_lock_define_initialized (static, #endif /* In the GNU C library implementation we try to be more clever and - allow arbitrary many changes of the environment given that the used + allow arbitrarily many changes of the environment given that the used values are from a small set. Outside glibc this will eat up all memory after a while. */ #if defined _LIBC || (defined HAVE_SEARCH_H && defined HAVE_TSEARCH \ diff -durpN glibc-2.1.2/sysdeps/generic/shmget.c glibc-2.1.3/sysdeps/generic/shmget.c --- glibc-2.1.2/sysdeps/generic/shmget.c Sun Oct 12 20:52:36 1997 +++ glibc-2.1.3/sysdeps/generic/shmget.c Tue Dec 21 15:51:53 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. @@ -26,7 +26,7 @@ int shmget (key, size, shmflg) key_t key; - int size; + size_t size; int shmflg; { __set_errno (ENOSYS); diff -durpN glibc-2.1.2/sysdeps/generic/siglist.h glibc-2.1.3/sysdeps/generic/siglist.h --- glibc-2.1.2/sysdeps/generic/siglist.h Wed Jul 28 14:00:07 1999 +++ glibc-2.1.3/sysdeps/generic/siglist.h Tue Nov 23 09:02:58 1999 @@ -67,7 +67,7 @@ #endif #ifdef SIGINFO init_sig (SIGINFO, "INFO", N_("Information request")) -#elif defined(SIGPWR) +#elif defined(SIGPWR) && (!defined(SIGLOST) || (SIGPWR != SIGLOST)) init_sig (SIGPWR, "PWR", N_("Power failure")) #endif #ifdef SIGLOST diff -durpN glibc-2.1.2/sysdeps/generic/sigstack.c glibc-2.1.3/sysdeps/generic/sigstack.c --- glibc-2.1.2/sysdeps/generic/sigstack.c Sun Oct 12 20:52:37 1997 +++ glibc-2.1.3/sysdeps/generic/sigstack.c Tue Feb 22 23:03:08 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 2000 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 @@ -23,7 +23,7 @@ If OSS is not NULL, it is filled in with the old signal stack status. */ int sigstack (ss, oss) - const struct sigstack *ss; + struct sigstack *ss; struct sigstack *oss; { __set_errno (ENOSYS); diff -durpN glibc-2.1.2/sysdeps/generic/stdint.h glibc-2.1.3/sysdeps/generic/stdint.h --- glibc-2.1.2/sysdeps/generic/stdint.h Wed May 19 08:19:46 1999 +++ glibc-2.1.3/sysdeps/generic/stdint.h Mon Sep 13 10:34:28 1999 @@ -269,13 +269,13 @@ typedef unsigned long long int uintmax_t /* Limits of `wchar_t'. */ # ifndef WCHAR_MIN /* These constants might also be defined in <wchar.h>. */ -# define WCHAR_MIN (-2147483647-1) +# define WCHAR_MIN (0) # define WCHAR_MAX (2147483647) # endif /* Limits of `wint_t'. */ # define WINT_MIN (0) -# define WINT_MAX (4294967295U) +# define WINT_MAX (2147483647) #endif /* C++ && limit macros */ diff -durpN glibc-2.1.2/sysdeps/generic/strsep.c glibc-2.1.3/sysdeps/generic/strsep.c --- glibc-2.1.2/sysdeps/generic/strsep.c Wed Mar 18 09:56:55 1998 +++ glibc-2.1.3/sysdeps/generic/strsep.c Tue Dec 21 15:51:53 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1993, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 96, 97, 98, 99 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 @@ -43,6 +43,8 @@ __strsep (char **stringp, const char *de { if (*begin == ch) end = begin; + else if (*begin == '\0') + end = NULL; else end = strchr (begin + 1, ch); } diff -durpN glibc-2.1.2/sysdeps/gnu/netinet/tcp.h glibc-2.1.3/sysdeps/gnu/netinet/tcp.h --- glibc-2.1.2/sysdeps/gnu/netinet/tcp.h Fri Sep 4 20:51:58 1998 +++ glibc-2.1.3/sysdeps/gnu/netinet/tcp.h Wed Nov 17 12:31:44 1999 @@ -157,6 +157,7 @@ enum */ #define TCP_NODELAY 0x01 /* don't delay send to coalesce packets */ #define TCP_MAXSEG 0x02 /* set maximum segment size */ +#define TCP_CORK 0x03 /* control sending of partial frames */ #define SOL_TCP 6 /* TCP level */ diff -durpN glibc-2.1.2/sysdeps/gnu/siglist.h glibc-2.1.3/sysdeps/gnu/siglist.h --- glibc-2.1.2/sysdeps/gnu/siglist.h Sat Jun 19 05:15:13 1999 +++ glibc-2.1.3/sysdeps/gnu/siglist.h Mon Nov 29 11:19:42 1999 @@ -61,7 +61,7 @@ #endif #ifdef SIGINFO init_sig (SIGINFO, "INFO", N_("Information request")) -#elif defined(SIGPWR) +#elif defined SIGPWR && (!defined SIGLOST || SIGPWR != SIGLOST) init_sig (SIGPWR, "PWR", N_("Power failure")) #endif #ifdef SIGLOST diff -durpN glibc-2.1.2/sysdeps/i386/Makefile glibc-2.1.3/sysdeps/i386/Makefile --- glibc-2.1.2/sysdeps/i386/Makefile Mon Aug 30 18:50:18 1999 +++ glibc-2.1.3/sysdeps/i386/Makefile Fri Sep 17 08:40:32 1999 @@ -8,7 +8,7 @@ long-double-fcts = yes ifeq ($(subdir),csu) # On i686 we must avoid generating the trampoline functions generated # to get the GOT pointer. -CFLAGS-initfini.s += -march=i386 +CFLAGS-initfini.s += -march=i386 -mcpu=i386 endif ifeq ($(subdir),db2) diff -durpN glibc-2.1.2/sysdeps/i386/fpu/bits/mathdef.h glibc-2.1.3/sysdeps/i386/fpu/bits/mathdef.h --- glibc-2.1.2/sysdeps/i386/fpu/bits/mathdef.h Tue Nov 10 11:10:18 1998 +++ glibc-2.1.3/sysdeps/i386/fpu/bits/mathdef.h Tue Dec 21 15:51:55 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 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 @@ -20,7 +20,9 @@ # error "Never use <bits/mathdef.h> directly; include <math.h> instead" #endif -#if defined __USE_ISOC9X && defined _MATH_H +#if defined __USE_ISOC9X && defined _MATH_H && !defined _MATH_H_MATHDEF +# define _MATH_H_MATHDEF 1 + /* The ix87 FPUs evaluate all values in the 80 bit floating-point format which is also available for the user as `long double'. Therefore we define: */ @@ -42,4 +44,4 @@ typedef long double double_t; /* `double /* Number of decimal digits for the `long double' type. */ # define DECIMAL_DIG 18 -#endif /* ISO C 9X */ +#endif /* ISO C99 */ diff -durpN glibc-2.1.2/sysdeps/i386/fpu/bits/mathinline.h glibc-2.1.3/sysdeps/i386/fpu/bits/mathinline.h --- glibc-2.1.2/sysdeps/i386/fpu/bits/mathinline.h Fri Aug 27 17:32:54 1999 +++ glibc-2.1.3/sysdeps/i386/fpu/bits/mathinline.h Thu Sep 23 12:51:15 1999 @@ -361,7 +361,7 @@ __inline_mathcode (tan, __x, \ #define __atan2_code \ register long double __value; \ __asm __volatile__ \ - ("fpatan\n\t" \ + ("fpatan" \ : "=t" (__value) : "0" (__x), "u" (__y) : "st(1)"); \ return __value __inline_mathcode2 (atan2, __y, __x, __atan2_code) @@ -441,9 +441,9 @@ __inline_mathop (sin, "fsin") /* The argument range of this inline version is reduced. */ __inline_mathop (cos, "fcos") -__inline_mathop (atan, "fld1; fpatan") -__inline_mathop (log, "fldln2; fxch; fyl2x") -__inline_mathop (log10, "fldlg2; fxch; fyl2x") +__inline_mathop_decl (atan, "fld1; fpatan", "0" (__x) : "st(1)") +__inline_mathop_decl (log, "fldln2; fxch; fyl2x", "0" (__x) : "st(1)") +__inline_mathop_decl (log10, "fldlg2; fxch; fyl2x", "0" (__x) : "st(1)") __inline_mathcode (asin, __x, return __atan2l (__x, __sqrtl (1.0 - __x * __x))) __inline_mathcode (acos, __x, return __atan2l (__sqrtl (1.0 - __x * __x), __x)) @@ -520,7 +520,7 @@ __inline_mathcode (log1p, __x, \ ("fldln2\n\t" \ "fxch\n\t" \ "fyl2xp1" \ - : "=t" (__value) : "0" (__x)); \ + : "=t" (__value) : "0" (__x) : "st(1)"); \ return __value) @@ -551,7 +551,7 @@ __inline_mathcode(logb, __x, \ #endif #ifdef __USE_ISOC9X -__inline_mathop(log2, "fld1; fxch; fyl2x") +__inline_mathop_decl (log2, "fld1; fxch; fyl2x", "0" (__x) : "st(1)") __MATH_INLINE float ldexpf (float __x, int __y); __MATH_INLINE float diff -durpN glibc-2.1.2/sysdeps/i386/fpu/feholdexcpt.c glibc-2.1.3/sysdeps/i386/fpu/feholdexcpt.c --- glibc-2.1.2/sysdeps/i386/fpu/feholdexcpt.c Sun May 23 02:46:20 1999 +++ glibc-2.1.3/sysdeps/i386/fpu/feholdexcpt.c Fri Feb 11 15:49:58 2000 @@ -32,5 +32,5 @@ feholdexcept (fenv_t *envp) work = envp->__control_word | 0x3f; __asm__ ("fldcw %0" : : "m" (*&work)); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/i386/fpu/fesetround.c glibc-2.1.3/sysdeps/i386/fpu/fesetround.c --- glibc-2.1.2/sysdeps/i386/fpu/fesetround.c Fri Apr 11 03:11:12 1997 +++ glibc-2.1.3/sysdeps/i386/fpu/fesetround.c Fri Feb 11 15:49:58 2000 @@ -27,12 +27,12 @@ fesetround (int round) if ((round & ~0xc00) != 0) /* ROUND is no valid rounding mode. */ - return 0; + return 1; __asm__ ("fnstcw %0" : "=m" (*&cw)); cw &= ~0xc00; cw |= round; __asm__ ("fldcw %0" : : "m" (*&cw)); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/i386/lshift.S glibc-2.1.3/sysdeps/i386/lshift.S --- glibc-2.1.2/sysdeps/i386/lshift.S Mon Mar 2 09:58:38 1998 +++ glibc-2.1.3/sysdeps/i386/lshift.S Mon Oct 4 12:54:14 1999 @@ -1,5 +1,5 @@ /* i80386 __mpn_lshift -- - Copyright (C) 1992, 1994, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1992, 1994, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU MP Library. The GNU MP Library is free software; you can redistribute it and/or modify @@ -47,7 +47,7 @@ ENTRY(__mpn_lshift) decl %edx jz L(end) pushl %eax /* push carry limb onto stack */ - testb $1,%edx + testb $1,%dl jnz L(1) /* enter loop in the middle */ movl %ebx,%eax diff -durpN glibc-2.1.2/sysdeps/i386/memcmp.S glibc-2.1.3/sysdeps/i386/memcmp.S --- glibc-2.1.2/sysdeps/i386/memcmp.S Mon Mar 31 14:42:59 1997 +++ glibc-2.1.3/sysdeps/i386/memcmp.S Tue Feb 22 23:03:10 2000 @@ -53,7 +53,7 @@ ENTRY (memcmp) or not depending on last subtraction. */ /* At this point %eax == 0, if the byte of block #1 was bigger, and - 0xffffffff if the last byte of block #2 was bigger. The later + 0xffffffff if the last byte of block #2 was bigger. The latter case is already correct but the former needs a little adjustment. Note that the following operation does not change 0xffffffff. */ orb $1, %al /* Change 0 to 1. */ diff -durpN glibc-2.1.2/sysdeps/i386/rshift.S glibc-2.1.3/sysdeps/i386/rshift.S --- glibc-2.1.2/sysdeps/i386/rshift.S Mon Mar 2 09:58:40 1998 +++ glibc-2.1.3/sysdeps/i386/rshift.S Mon Oct 4 12:54:15 1999 @@ -1,5 +1,5 @@ /* i80386 __mpn_rshift -- - Copyright (C) 1992, 1994, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1992, 1994, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU MP Library. The GNU MP Library is free software; you can redistribute it and/or modify @@ -49,7 +49,7 @@ ENTRY(__mpn_rshift) incl %edx jz L(end) pushl %eax /* push carry limb onto stack */ - testb $1,%edx + testb $1,%dl jnz L(1) /* enter loop in the middle */ movl %ebx,%eax diff -durpN glibc-2.1.2/sysdeps/i386/strchr.S glibc-2.1.3/sysdeps/i386/strchr.S --- glibc-2.1.2/sysdeps/i386/strchr.S Thu Jun 26 15:15:38 1997 +++ glibc-2.1.3/sysdeps/i386/strchr.S Mon Oct 4 12:54:15 1999 @@ -1,6 +1,6 @@ /* strchr (str, ch) -- Return pointer to first occurrence of CH in STR. For Intel 80x86, x>=3. - Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1994, 1995, 1996, 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu> Some optimisations by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au> @@ -56,7 +56,7 @@ ENTRY (strchr) implementation (this is because all processor inherent boundaries are multiples of 4. */ - testb $3, %eax /* correctly aligned ? */ + testb $3, %al /* correctly aligned ? */ jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ @@ -65,7 +65,7 @@ ENTRY (strchr) jz L(2) /* yes => return NULL */ incl %eax /* increment pointer */ - testb $3, %eax /* correctly aligned ? */ + testb $3, %al /* correctly aligned ? */ jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ @@ -74,7 +74,7 @@ ENTRY (strchr) jz L(2) /* yes => return NULL */ incl %eax /* increment pointer */ - testb $3, %eax /* correctly aligned ? */ + testb $3, %al /* correctly aligned ? */ jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ diff -durpN glibc-2.1.2/sysdeps/i386/strchrnul.S glibc-2.1.3/sysdeps/i386/strchrnul.S --- glibc-2.1.2/sysdeps/i386/strchrnul.S Fri Apr 30 09:53:17 1999 +++ glibc-2.1.3/sysdeps/i386/strchrnul.S Mon Oct 4 12:54:15 1999 @@ -57,7 +57,7 @@ ENTRY (__strchrnul) implementation (this is because all processor inherent boundaries are multiples of 4. */ - testb $3, %eax /* correctly aligned ? */ + testb $3, %al /* correctly aligned ? */ jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ @@ -66,7 +66,7 @@ ENTRY (__strchrnul) jz L(6) /* yes => return NULL */ incl %eax /* increment pointer */ - testb $3, %eax /* correctly aligned ? */ + testb $3, %al /* correctly aligned ? */ jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ @@ -75,7 +75,7 @@ ENTRY (__strchrnul) jz L(6) /* yes => return NULL */ incl %eax /* increment pointer */ - testb $3, %eax /* correctly aligned ? */ + testb $3, %al /* correctly aligned ? */ jz L(11) /* yes => begin loop */ movb (%eax), %cl /* load byte in question (we need it twice) */ cmpb %cl, %dl /* compare byte */ diff -durpN glibc-2.1.2/sysdeps/ieee754/bits/nan.h glibc-2.1.3/sysdeps/ieee754/bits/nan.h --- glibc-2.1.2/sysdeps/ieee754/bits/nan.h Sat Nov 22 10:44:16 1997 +++ glibc-2.1.3/sysdeps/ieee754/bits/nan.h Tue Dec 21 15:51:56 1999 @@ -1,5 +1,5 @@ /* `NAN' constant for IEEE 754 machines. - Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1992, 1996, 1997, 1999 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 @@ -42,7 +42,7 @@ # define __nan_bytes { 0, 0, 0xc0, 0x7f } # endif -static union { unsigned char __c[4]; float __d; } __nan = { __nan_bytes }; -# define NAN (__nan.__d) +static union { unsigned char __c[4]; float __d; } __nan_union = { __nan_bytes }; +# define NAN (__nan_union.__d) #endif /* GCC. */ diff -durpN glibc-2.1.2/sysdeps/libm-i387/s_cosf.S glibc-2.1.3/sysdeps/libm-i387/s_cosf.S --- glibc-2.1.2/sysdeps/libm-i387/s_cosf.S Sun Dec 29 17:46:58 1996 +++ glibc-2.1.3/sysdeps/libm-i387/s_cosf.S Tue Feb 15 10:59:36 2000 @@ -7,9 +7,22 @@ RCSID("$NetBSD: s_cosf.S,v 1.3 1995/05/08 23:55:16 jtc Exp $") -/* A float's domain isn't large enough to require argument reduction. */ ENTRY(__cosf) flds 4(%esp) + fcos + fnstsw %ax + testl $0x400,%eax + jnz 1f + ret + .align ALIGNARG(4) +1: fldpi + fadd %st(0) + fxch %st(1) +2: fprem1 + fnstsw %ax + testl $0x400,%eax + jnz 2b + fstp %st(1) fcos ret END (__cosf) diff -durpN glibc-2.1.2/sysdeps/libm-i387/s_nearbyint.S glibc-2.1.3/sysdeps/libm-i387/s_nearbyint.S --- glibc-2.1.2/sysdeps/libm-i387/s_nearbyint.S Sat Jun 14 16:15:21 1997 +++ glibc-2.1.3/sysdeps/libm-i387/s_nearbyint.S Tue Feb 15 10:59:36 2000 @@ -12,7 +12,7 @@ ENTRY(__nearbyint) pushl %ecx fnstcw (%esp) movl (%esp), %eax - andl $~0x20, %eax + orl $0x20, %eax movl %eax, 4(%esp) fldcw 4(%esp) frndint diff -durpN glibc-2.1.2/sysdeps/libm-i387/s_nearbyintf.S glibc-2.1.3/sysdeps/libm-i387/s_nearbyintf.S --- glibc-2.1.2/sysdeps/libm-i387/s_nearbyintf.S Sat Jun 14 16:15:24 1997 +++ glibc-2.1.3/sysdeps/libm-i387/s_nearbyintf.S Tue Feb 15 10:59:36 2000 @@ -12,7 +12,7 @@ ENTRY(__nearbyintf) pushl %ecx fnstcw (%esp) movl (%esp), %eax - andl $~0x20, %eax + orl $0x20, %eax movl %eax, 4(%esp) fldcw 4(%esp) frndint diff -durpN glibc-2.1.2/sysdeps/libm-i387/s_nearbyintl.S glibc-2.1.3/sysdeps/libm-i387/s_nearbyintl.S --- glibc-2.1.2/sysdeps/libm-i387/s_nearbyintl.S Sat Jun 14 16:15:26 1997 +++ glibc-2.1.3/sysdeps/libm-i387/s_nearbyintl.S Tue Feb 15 10:59:36 2000 @@ -12,7 +12,7 @@ ENTRY(__nearbyintl) pushl %ecx fnstcw (%esp) movl (%esp), %eax - andl $~0x20, %eax + orl $0x20, %eax movl %eax, 4(%esp) fldcw 4(%esp) frndint diff -durpN glibc-2.1.2/sysdeps/libm-i387/s_nextafterl.c glibc-2.1.3/sysdeps/libm-i387/s_nextafterl.c --- glibc-2.1.2/sysdeps/libm-i387/s_nextafterl.c Fri Mar 21 22:03:35 1997 +++ glibc-2.1.3/sysdeps/libm-i387/s_nextafterl.c Mon Oct 25 13:23:36 1999 @@ -100,3 +100,5 @@ static char rcsid[] = "$NetBSD: $"; return x; } weak_alias (__nextafterl, nextafterl) +strong_alias (__nextafterl, __nexttowardl) +weak_alias (__nexttowardl, nexttowardl) diff -durpN glibc-2.1.2/sysdeps/libm-i387/s_sinf.S glibc-2.1.3/sysdeps/libm-i387/s_sinf.S --- glibc-2.1.2/sysdeps/libm-i387/s_sinf.S Sun Dec 29 17:47:16 1996 +++ glibc-2.1.3/sysdeps/libm-i387/s_sinf.S Tue Feb 15 10:59:36 2000 @@ -7,9 +7,22 @@ RCSID("$NetBSD: s_sinf.S,v 1.3 1995/05/09 00:27:53 jtc Exp $") -/* A float's domain isn't large enough to require argument reduction. */ ENTRY(__sinf) flds 4(%esp) + fsin + fnstsw %ax + testl $0x400,%eax + jnz 1f + ret + .align ALIGNARG(4) +1: fldpi + fadd %st(0) + fxch %st(1) +2: fprem1 + fnstsw %ax + testl $0x400,%eax + jnz 2b + fstp %st(1) fsin ret END (__sinf) diff -durpN glibc-2.1.2/sysdeps/libm-i387/s_tanf.S glibc-2.1.3/sysdeps/libm-i387/s_tanf.S --- glibc-2.1.2/sysdeps/libm-i387/s_tanf.S Sun Dec 29 17:47:18 1996 +++ glibc-2.1.3/sysdeps/libm-i387/s_tanf.S Tue Feb 15 10:59:36 2000 @@ -7,9 +7,22 @@ RCSID("$NetBSD: s_tanf.S,v 1.3 1995/05/09 00:31:09 jtc Exp $") -/* A float's domain isn't large enough to require argument reduction. */ ENTRY(__tanf) flds 4(%esp) + fptan + fnstsw %ax + testl $0x400,%eax + jnz 1f + fstp %st(0) + ret +1: fldpi + fadd %st(0) + fxch %st(1) +2: fprem1 + fstsw %ax + testl $0x400,%eax + jnz 2b + fstp %st(1) fptan fstp %st(0) ret diff -durpN glibc-2.1.2/sysdeps/libm-ieee754/s_cproj.c glibc-2.1.3/sysdeps/libm-ieee754/s_cproj.c --- glibc-2.1.2/sysdeps/libm-ieee754/s_cproj.c Wed Apr 30 08:46:06 1997 +++ glibc-2.1.3/sysdeps/libm-ieee754/s_cproj.c Mon Oct 25 13:23:37 1999 @@ -1,5 +1,5 @@ /* Compute projection of complex double value to Riemann sphere. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -27,7 +27,9 @@ __cproj (__complex__ double x) { __complex__ double res; - if (!isfinite (__real__ x) || !isfinite (__imag__ x)) + if (isnan (__real__ x) && isnan (__imag__ x)) + return x; + else if (!isfinite (__real__ x) || !isfinite (__imag__ x)) { __real__ res = INFINITY; __imag__ res = __copysign (0.0, __imag__ x); diff -durpN glibc-2.1.2/sysdeps/libm-ieee754/s_cprojf.c glibc-2.1.3/sysdeps/libm-ieee754/s_cprojf.c --- glibc-2.1.2/sysdeps/libm-ieee754/s_cprojf.c Wed Apr 30 08:46:08 1997 +++ glibc-2.1.3/sysdeps/libm-ieee754/s_cprojf.c Mon Oct 25 13:23:37 1999 @@ -1,5 +1,5 @@ /* Compute projection of complex float value to Riemann sphere. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -27,7 +27,9 @@ __cprojf (__complex__ float x) { __complex__ float res; - if (!isfinite (__real__ x) || !isfinite (__imag__ x)) + if (isnan (__real__ x) && isnan (__imag__ x)) + return x; + else if (!isfinite (__real__ x) || !isfinite (__imag__ x)) { __real__ res = INFINITY; __imag__ res = __copysignf (0.0, __imag__ x); diff -durpN glibc-2.1.2/sysdeps/libm-ieee754/s_cprojl.c glibc-2.1.3/sysdeps/libm-ieee754/s_cprojl.c --- glibc-2.1.2/sysdeps/libm-ieee754/s_cprojl.c Wed Apr 30 08:46:10 1997 +++ glibc-2.1.3/sysdeps/libm-ieee754/s_cprojl.c Mon Oct 25 13:23:37 1999 @@ -1,5 +1,5 @@ /* Compute projection of complex long double value to Riemann sphere. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -27,7 +27,9 @@ __cprojl (__complex__ long double x) { __complex__ long double res; - if (!isfinite (__real__ x) || !isfinite (__imag__ x)) + if (isnan (__real__ x) && isnan (__imag__ x)) + return x; + else if (!isfinite (__real__ x) || !isfinite (__imag__ x)) { __real__ res = INFINITY; __imag__ res = __copysignl (0.0, __imag__ x); diff -durpN glibc-2.1.2/sysdeps/libm-ieee754/s_modfl.c glibc-2.1.3/sysdeps/libm-ieee754/s_modfl.c --- glibc-2.1.2/sysdeps/libm-ieee754/s_modfl.c Tue Feb 17 09:45:29 1998 +++ glibc-2.1.3/sysdeps/libm-ieee754/s_modfl.c Thu Jan 20 17:40:31 2000 @@ -71,7 +71,7 @@ static long double one = 1.0; SET_LDOUBLE_WORDS(x,se&0x8000,0,0); /* return +-0 */ return x; } else { /* fraction part in low x */ - i = ((u_int32_t)(0xffffffff))>>(j0-32); + i = ((u_int32_t)(0x7fffffff))>>(j0-32); if((i1&i)==0) { /* x is integral */ *iptr = x; INSERT_WORDS(x,se&0x8000,0); /* return +-0 */ diff -durpN glibc-2.1.2/sysdeps/m68k/fpu/bits/mathdef.h glibc-2.1.3/sysdeps/m68k/fpu/bits/mathdef.h --- glibc-2.1.2/sysdeps/m68k/fpu/bits/mathdef.h Tue Nov 10 11:10:36 1998 +++ glibc-2.1.3/sysdeps/m68k/fpu/bits/mathdef.h Tue Dec 21 15:52:00 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 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 @@ -20,7 +20,9 @@ # error "Never use <bits/mathdef.h> directly; include <math.h> instead" #endif -#if defined __USE_ISOC9X && defined _MATH_H +#if defined __USE_ISOC9X && defined _MATH_H && !defined _MATH_H_MATHDEF +# define _MATH_H_MATHDEF 1 + /* The m68k FPUs evaluate all values in the 96 bit floating-point format which is also available for the user as `long double'. Therefore we define: */ @@ -42,4 +44,4 @@ typedef long double double_t; /* `double /* Number of decimal digits for the `long double' type. */ # define DECIMAL_DIG 18 -#endif /* ISO C 9X */ +#endif /* ISO C99 */ diff -durpN glibc-2.1.2/sysdeps/m68k/fpu/feholdexcpt.c glibc-2.1.3/sysdeps/m68k/fpu/feholdexcpt.c --- glibc-2.1.2/sysdeps/m68k/fpu/feholdexcpt.c Sat May 22 10:13:55 1999 +++ glibc-2.1.3/sysdeps/m68k/fpu/feholdexcpt.c Fri Feb 11 15:49:58 2000 @@ -35,5 +35,5 @@ feholdexcept (fenv_t *envp) fpcr = envp->__control_register & ~(FE_ALL_EXCEPT << 6); __asm__ __volatile__ ("fmove%.l %0,%!" : : "dm" (fpcr)); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/m68k/fpu/fesetround.c glibc-2.1.3/sysdeps/m68k/fpu/fesetround.c --- glibc-2.1.2/sysdeps/m68k/fpu/fesetround.c Thu Apr 17 08:09:24 1997 +++ glibc-2.1.3/sysdeps/m68k/fpu/fesetround.c Fri Feb 11 15:49:58 2000 @@ -27,12 +27,12 @@ fesetround (int round) if (round & ~FE_UPWARD) /* ROUND is no valid rounding mode. */ - return 0; + return 1; __asm__ ("fmove%.l %!,%0" : "=dm" (fpcr)); fpcr &= ~FE_UPWARD; fpcr |= round; __asm__ __volatile__ ("fmove%.l %0,%!" : : "dm" (fpcr)); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/mach/hurd/Dist glibc-2.1.3/sysdeps/mach/hurd/Dist --- glibc-2.1.2/sysdeps/mach/hurd/Dist Tue Jul 27 20:54:28 1999 +++ glibc-2.1.3/sysdeps/mach/hurd/Dist Mon Nov 15 16:25:03 1999 @@ -12,4 +12,5 @@ net/if_arp.h net/if_ether.h net/if_ppp.h net/route.h +nfs/nfs.h siglist.h diff -durpN glibc-2.1.2/sysdeps/mach/hurd/Makefile glibc-2.1.3/sysdeps/mach/hurd/Makefile --- glibc-2.1.2/sysdeps/mach/hurd/Makefile Sun Aug 1 14:59:33 1999 +++ glibc-2.1.3/sysdeps/mach/hurd/Makefile Mon Nov 15 16:25:03 1999 @@ -192,4 +192,8 @@ ifeq (posix, $(subdir)) sysdep_routines += clk_tck endif +ifeq ($(subdir),sunrpc) +sysdep_headers += nfs/nfs.h +endif + endif # in-Makerules diff -durpN glibc-2.1.2/sysdeps/mach/hurd/bits/errno.h glibc-2.1.3/sysdeps/mach/hurd/bits/errno.h --- glibc-2.1.2/sysdeps/mach/hurd/bits/errno.h Thu Jan 21 15:31:02 1999 +++ glibc-2.1.3/sysdeps/mach/hurd/bits/errno.h Wed Jan 5 17:45:46 2000 @@ -270,28 +270,28 @@ enum __error_t_codes EKERN_TERMINATED = 26, /* Errors from <mach/mig_errors.h>. */ - EMIG_TYPE_ERROR = -300, /* client type check failure */ - EMIG_REPLY_MISMATCH = -301, /* wrong reply message ID */ - EMIG_REMOTE_ERROR = -302, /* server detected error */ - EMIG_BAD_ID = -303, /* bad request message ID */ - EMIG_BAD_ARGUMENTS = -304, /* server type check failure */ - EMIG_NO_REPLY = -305, /* no reply should be sent */ - EMIG_EXCEPTION = -306, /* server raised exception */ - EMIG_ARRAY_TOO_LARGE = -307, /* array not large enough */ - EMIG_SERVER_DIED = -308, /* server died */ - EMIG_DESTROY_REQUEST = -309, /* destroy request with no reply */ + EMIG_TYPE_ERROR = -300 /* client type check failure */, + EMIG_REPLY_MISMATCH = -301 /* wrong reply message ID */, + EMIG_REMOTE_ERROR = -302 /* server detected error */, + EMIG_BAD_ID = -303 /* bad request message ID */, + EMIG_BAD_ARGUMENTS = -304 /* server type check failure */, + EMIG_NO_REPLY = -305 /* no reply should be sent */, + EMIG_EXCEPTION = -306 /* server raised exception */, + EMIG_ARRAY_TOO_LARGE = -307 /* array not large enough */, + EMIG_SERVER_DIED = -308 /* server died */, + EMIG_DESTROY_REQUEST = -309 /* destroy request with no reply */, /* Errors from <device/device_types.h>. */ - ED_IO_ERROR = 2500, /* hardware IO error */ - ED_WOULD_BLOCK = 2501, /* would block, but D_NOWAIT set */ - ED_NO_SUCH_DEVICE = 2502, /* no such device */ - ED_ALREADY_OPEN = 2503, /* exclusive-use device already open */ - ED_DEVICE_DOWN = 2504, /* device has been shut down */ - ED_INVALID_OPERATION = 2505, /* bad operation for device */ - ED_INVALID_RECNUM = 2506, /* invalid record (block) number */ - ED_INVALID_SIZE = 2507, /* invalid IO size */ - ED_NO_MEMORY = 2508, /* memory allocation failure */ - ED_READ_ONLY = 2509, /* device cannot be written to */ + ED_IO_ERROR = 2500 /* hardware IO error */, + ED_WOULD_BLOCK = 2501 /* would block, but D_NOWAIT set */, + ED_NO_SUCH_DEVICE = 2502 /* no such device */, + ED_ALREADY_OPEN = 2503 /* exclusive-use device already open */, + ED_DEVICE_DOWN = 2504 /* device has been shut down */, + ED_INVALID_OPERATION = 2505 /* bad operation for device */, + ED_INVALID_RECNUM = 2506 /* invalid record (block) number */, + ED_INVALID_SIZE = 2507 /* invalid IO size */, + ED_NO_MEMORY = 2508 /* memory allocation failure */, + ED_READ_ONLY = 2509 /* device cannot be written to */ }; diff -durpN glibc-2.1.2/sysdeps/mach/hurd/errnos.awk glibc-2.1.3/sysdeps/mach/hurd/errnos.awk --- glibc-2.1.2/sysdeps/mach/hurd/errnos.awk Sun Jul 6 14:49:30 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/errnos.awk Wed Jan 5 17:45:46 2000 @@ -1,4 +1,4 @@ -# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. +# Copyright (C) 1991,92,93,94,95,96,97,2000 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 @@ -38,6 +38,7 @@ BEGIN { in_math = 0; edom = erange = ""; print "#undef EDOM\n#undef ERANGE"; + lno = 0; } $1 == "@comment" && $2 == "errno.h" { errnoh=1; next } @@ -56,7 +57,7 @@ errnoh == 2 && $1 == "@deftypevr" && $2 errnoh == 3 && $1 == "@comment" && $2 == "errno" { if (e == "EWOULDBLOCK") { - print "#define EWOULDBLOCK EAGAIN /* Operation would block */"; + lines[lno++]="#define EWOULDBLOCK EAGAIN /* Operation would block */"; next; } errno = $3 + 0; @@ -70,8 +71,9 @@ errnoh == 3 && $1 == "@comment" && $2 == edom = x; else if (e == "ERANGE") erange = x; - printf "\t%-16s= _HURD_ERRNO (%d),\n", e, errno; - print x; + comma[lno] = 1; + lines[lno++] = sprintf("\t%-16s= _HURD_ERRNO (%d)", e, errno); + lines[lno++] = x; next; } { errnoh=0 } @@ -79,12 +81,12 @@ errnoh == 3 && $1 == "@comment" && $2 == NF == 3 && $1 == "#define" && $2 == "MACH_SEND_IN_PROGRESS" \ { in_mach_errors = FILENAME; - print "\n\t/* Errors from <mach/message.h>. */"; + lines[lno++] = "\n\t/* Errors from <mach/message.h>. */"; } NF == 3 && $1 == "#define" && $2 == "KERN_SUCCESS" \ { in_mach_errors = FILENAME; - print "\n\t/* Errors from <mach/kern_return.h>. */"; + lines[lno++] = "\n\t/* Errors from <mach/kern_return.h>. */"; next; } @@ -95,13 +97,14 @@ in_mach_errors != "" && $2 == "MACH_IPC_ in_mach_errors == FILENAME && NF == 3 && $1 == "#define" \ { - printf "\t%-32s= %s,\n", "E" $2, $3; + comma[lno] = 1; + lines[lno++] = sprintf("\t%-32s= %s", "E" $2, $3); } $1 == "#define" && $2 == "_MACH_MIG_ERRORS_H_" \ { in_mig_errors = 1; - print "\n\t/* Errors from <mach/mig_errors.h>. */"; + lines[lno++] = "\n\t/* Errors from <mach/mig_errors.h>. */"; next; } in_mig_errors && $1 == "#endif" && $3 == "_MACH_MIG_ERRORS_H_" \ @@ -112,16 +115,17 @@ in_mig_errors && $1 == "#endif" && $3 == (in_mig_errors && $1 == "#define" && $3 <= -300) || \ (in_device_errors && $1 == "#define") \ { - printf "%-32s", sprintf ("\t%-24s= %s,", "E" $2, $3); + comment = ""; for (i = 4; i <= NF; ++i) - printf " %s", $i; - printf "\n"; + comment = comment " " $i; + comma[lno] = 1; + lines[lno++] = sprintf("%-32s", sprintf ("\t%-24s= %s", "E" $2, $3)) comment; } $1 == "#define" && $2 == "D_SUCCESS" \ { in_device_errors = 1; - print "\n\t/* Errors from <device/device_types.h>. */"; + lines[lno++] = "\n\t/* Errors from <device/device_types.h>. */"; next; } in_device_errors && $1 == "#endif" \ @@ -132,6 +136,9 @@ in_device_errors && $1 == "#endif" \ END \ { + for (i = 0; i < lno - 1; ++i) + printf "%s%s\n", lines[i], (comma[i] ? "," : ""); + print lines[i]; print ""; print "};"; print ""; diff -durpN glibc-2.1.2/sysdeps/mach/hurd/fcntl.c glibc-2.1.3/sysdeps/mach/hurd/fcntl.c --- glibc-2.1.2/sysdeps/mach/hurd/fcntl.c Fri Mar 19 07:32:17 1999 +++ glibc-2.1.3/sysdeps/mach/hurd/fcntl.c Wed Jan 5 20:40:58 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992,93,94,95,96,97,99 Free Software Foundation, Inc. +/* Copyright (C) 1992,93,94,95,96,97,99,2000 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 @@ -26,7 +26,7 @@ /* Perform file control operations on FD. */ int -__fcntl (int fd, int cmd, ...) +__libc_fcntl (int fd, int cmd, ...) { va_list ap; struct hurd_fd *d; @@ -198,4 +198,5 @@ __fcntl (int fd, int cmd, ...) return result; } -weak_alias (__fcntl, fcntl) +weak_alias (__libc_fcntl, __fcntl) +weak_alias (__libc_fcntl, fcntl) diff -durpN glibc-2.1.2/sysdeps/mach/hurd/fork.c glibc-2.1.3/sysdeps/mach/hurd/fork.c --- glibc-2.1.2/sysdeps/mach/hurd/fork.c Mon Jun 28 12:25:40 1999 +++ glibc-2.1.3/sysdeps/mach/hurd/fork.c Mon Nov 22 11:10:45 1999 @@ -480,9 +480,27 @@ __fork (void) (natural_t *) &state, &statecount)) LOSE; #if STACK_GROWTH_UP - state.SP = __hurd_sigthread_stack_base; +#define THREADVAR_SPACE (__hurd_threadvar_max \ + * sizeof *__hurd_sightread_variables) + if (__hurd_sigthread_stack_base == 0) + { + state.SP &= __hurd_threadvar_stack_mask; + state.SP += __hurd_threadvar_stack_offset + THREADVAR_SPACE; + } + else + state.SP = __hurd_sigthread_stack_base; #else - state.SP = __hurd_sigthread_stack_end; + if (__hurd_sigthread_stack_end == 0) + { + /* The signal thread has a normal stack assigned by cthreads. + The threadvar_stack variables conveniently tell us how + to get to the highest address in the stack, just below + the per-thread variables. */ + state.SP &= __hurd_threadvar_stack_mask; + state.SP += __hurd_threadvar_stack_offset; + } + else + state.SP = __hurd_sigthread_stack_end; #endif MACHINE_THREAD_STATE_SET_PC (&state, (unsigned long int) _hurd_msgport_receive); diff -durpN glibc-2.1.2/sysdeps/mach/hurd/getsockopt.c glibc-2.1.3/sysdeps/mach/hurd/getsockopt.c --- glibc-2.1.2/sysdeps/mach/hurd/getsockopt.c Mon May 26 15:23:15 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/getsockopt.c Fri Feb 11 15:49:58 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992,94,97,2000 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 @@ -45,10 +45,10 @@ getsockopt (fd, level, optname, optval, &buf, &buflen))) return __hurd_dfail (fd, err); - if (buf != optval) + if (buflen < *optlen) + *optlen = buflen; + if (buflen != 0 && buf != optval) { - if (*optlen < buflen) - *optlen = buflen; memcpy (optval, buf, *optlen); __vm_deallocate (__mach_task_self (), (vm_address_t) buf, buflen); } diff -durpN glibc-2.1.2/sysdeps/mach/hurd/i386/intr-msg.h glibc-2.1.3/sysdeps/mach/hurd/i386/intr-msg.h --- glibc-2.1.2/sysdeps/mach/hurd/i386/intr-msg.h Fri Aug 20 10:38:30 1999 +++ glibc-2.1.3/sysdeps/mach/hurd/i386/intr-msg.h Mon Nov 15 16:25:03 1999 @@ -83,23 +83,35 @@ struct mach_msg_trap_args }; -static inline mach_port_t -MSG_EXAMINE (struct i386_thread_state *state, int *msgid) +static inline int +MSG_EXAMINE (struct i386_thread_state *state, int *msgid, + mach_port_t *rcv_name, mach_port_t *send_name, + mach_msg_option_t *option, mach_msg_timeout_t *timeout) { const struct mach_msg_trap_args *args = (const void *) state->uesp; mach_msg_header_t *msg; - mach_port_t send_port; if (_hurdsig_catch_memory_fault (args)) - return MACH_PORT_NULL; + return -1; msg = args->msg; + *option = args->option; + *timeout = args->timeout; + *rcv_name = args->rcv_name; _hurdsig_end_catch_fault (); - if (_hurdsig_catch_memory_fault (msg)) - return MACH_PORT_NULL; - send_port = msg->msgh_remote_port; - *msgid = msg->msgh_id; - _hurdsig_end_catch_fault (); + if (msg == 0) + { + *send_name = MACH_PORT_NULL; + *msgid = 0; + } + else + { + if (_hurdsig_catch_memory_fault (msg)) + return -1; + *send_name = msg->msgh_remote_port; + *msgid = msg->msgh_id; + _hurdsig_end_catch_fault (); + } - return send_port; + return 0; } diff -durpN glibc-2.1.2/sysdeps/mach/hurd/lseek.c glibc-2.1.3/sysdeps/mach/hurd/lseek.c --- glibc-2.1.2/sysdeps/mach/hurd/lseek.c Mon May 26 15:23:28 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/lseek.c Wed Jan 5 20:40:58 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,95,97,2000 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 @@ -23,10 +23,7 @@ /* Seek to OFFSET on FD, starting from WHENCE. */ off_t -__lseek (fd, offset, whence) - int fd; - off_t offset; - int whence; +__libc_lseek (int fd, off_t offset, int whence) { error_t err; if (err = HURD_DPORT_USE (fd, __io_seek (port, offset, whence, &offset))) @@ -34,4 +31,5 @@ __lseek (fd, offset, whence) return offset; } -weak_alias (__lseek, lseek) +weak_alias (__libc_lseek, __lseek) +weak_alias (__libc_lseek, lseek) diff -durpN glibc-2.1.2/sysdeps/mach/hurd/nfs/nfs.h glibc-2.1.3/sysdeps/mach/hurd/nfs/nfs.h --- glibc-2.1.2/sysdeps/mach/hurd/nfs/nfs.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/mach/hurd/nfs/nfs.h Sun Nov 14 16:38:58 1999 @@ -0,0 +1,32 @@ +/* <nfs/nfs.h> -- ill-specified NFS-related definitions + Copyright (C) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _NFS_NFS_H +#define _NFS_NFS_H 1 + +/* This file is empty for now. Its contents do not seem to be + standardized in any way. It exists solely for the sake of + <rpcsvc/bootparam_prot.h> which insists on including <nfs/nfs.h>. + + For the time being, we just provide this file here to smooth building + the libc distribution (i.e. librpcsvc). We do not install this file for + users, since we haven't really figured out what the right thing to go + here is. */ + +#endif /* nfs/nfs.h */ diff -durpN glibc-2.1.2/sysdeps/mach/hurd/open.c glibc-2.1.3/sysdeps/mach/hurd/open.c --- glibc-2.1.2/sysdeps/mach/hurd/open.c Thu Jun 26 15:21:42 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/open.c Wed Jan 5 20:40:58 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1993, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992,93,94,95,97,2000 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 @@ -25,7 +25,7 @@ /* Open FILE with access OFLAG. If OFLAG includes O_CREAT, a third argument is the file protection. */ int -__open (const char *file, int oflag, ...) +__libc_open (const char *file, int oflag, ...) { mode_t mode; io_t port; @@ -47,4 +47,5 @@ __open (const char *file, int oflag, ... return _hurd_intern_fd (port, oflag, 1); } -weak_alias (__open, open) +weak_alias (__libc_open, __open) +weak_alias (__libc_open, open) diff -durpN glibc-2.1.2/sysdeps/mach/hurd/readlink.c glibc-2.1.3/sysdeps/mach/hurd/readlink.c --- glibc-2.1.2/sysdeps/mach/hurd/readlink.c Mon May 26 15:23:40 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/readlink.c Fri Feb 11 15:49:58 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,95,97,2000 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 @@ -44,12 +44,15 @@ __readlink (file_name, buf, len) if (S_ISLNK (st.st_mode)) { char *rbuf = buf; + size_t got; - err = __io_read (file, &rbuf, &len, 0, len); + err = __io_read (file, &rbuf, &got, 0, len); + if (got < len) + len = got; if (!err && rbuf != buf) { memcpy (buf, rbuf, len); - __vm_deallocate (__mach_task_self (), (vm_address_t)rbuf, len); + __vm_deallocate (__mach_task_self (), (vm_address_t)rbuf, got); } } else diff -durpN glibc-2.1.2/sysdeps/mach/hurd/recv.c glibc-2.1.3/sysdeps/mach/hurd/recv.c --- glibc-2.1.2/sysdeps/mach/hurd/recv.c Mon May 26 15:23:45 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/recv.c Fri Feb 11 15:49:58 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1994,97,2000 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 @@ -56,6 +56,8 @@ recv (fd, buf, n, flags) if (bufp != buf) { + if (nread > n) /* Server funny business, shouldn't happen. */ + nread = n; memcpy (buf, bufp, nread); __vm_deallocate (__mach_task_self (), (vm_address_t) bufp, nread); } diff -durpN glibc-2.1.2/sysdeps/mach/hurd/recvfrom.c glibc-2.1.3/sysdeps/mach/hurd/recvfrom.c --- glibc-2.1.2/sysdeps/mach/hurd/recvfrom.c Mon Mar 15 06:22:46 1999 +++ glibc-2.1.3/sysdeps/mach/hurd/recvfrom.c Fri Feb 11 15:49:58 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1994,97,99,2000 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 @@ -76,7 +76,7 @@ recvfrom (fd, buf, n, flags, addrarg, ad __mach_port_deallocate (__mach_task_self (), addrport); return __hurd_dfail (fd, err); } - + if (*addr_len > buflen) *addr_len = buflen; @@ -97,6 +97,8 @@ recvfrom (fd, buf, n, flags, addrarg, ad if (bufp != buf) { + if (nread > n) /* Server funny business, shouldn't happen. */ + nread = n; memcpy (buf, bufp, nread); __vm_deallocate (__mach_task_self (), (vm_address_t) bufp, nread); } diff -durpN glibc-2.1.2/sysdeps/mach/hurd/rename.c glibc-2.1.3/sysdeps/mach/hurd/rename.c --- glibc-2.1.2/sysdeps/mach/hurd/rename.c Thu Jun 26 15:21:50 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/rename.c Mon Nov 15 16:25:03 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 96, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,96,97,99 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 @@ -29,10 +29,10 @@ rename (old, new) file_t olddir, newdir; const char *oldname, *newname; - olddir = __file_name_split (old, (char **) &oldname); + olddir = __directory_name_split (old, (char **) &oldname); if (olddir == MACH_PORT_NULL) return -1; - newdir = __file_name_split (new, (char **) &newname); + newdir = __directory_name_split (new, (char **) &newname); if (newdir == MACH_PORT_NULL) { __mach_port_deallocate (__mach_task_self (), olddir); diff -durpN glibc-2.1.2/sysdeps/mach/hurd/rmdir.c glibc-2.1.3/sysdeps/mach/hurd/rmdir.c --- glibc-2.1.2/sysdeps/mach/hurd/rmdir.c Mon May 26 15:23:56 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/rmdir.c Mon Nov 15 16:25:03 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,95,97,99 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 @@ -28,7 +28,7 @@ __rmdir (file_name) { error_t err; const char *name; - file_t parent = __file_name_split (file_name, (char **) &name); + file_t parent = __directory_name_split (file_name, (char **) &name); if (parent == MACH_PORT_NULL) return -1; err = __dir_rmdir (parent, name); diff -durpN glibc-2.1.2/sysdeps/mach/hurd/setitimer.c glibc-2.1.3/sysdeps/mach/hurd/setitimer.c --- glibc-2.1.2/sysdeps/mach/hurd/setitimer.c Sun May 11 17:32:10 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/setitimer.c Thu Jan 20 17:40:32 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1994, 1995, 1996, 1997, 2000 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 @@ -36,6 +36,22 @@ vm_address_t _hurd_itimer_thread_stack_b vm_address_t _hurd_itimer_thread_stack_size; /* Size of its stack. */ struct timeval _hurd_itimer_started; /* Time the thread started waiting. */ +static void +quantize_timeval (struct timeval *tv) +{ + static time_t quantum = -1; + + if (quantum == -1) + quantum = 1000000 / __libc_clk_tck (); + + tv->tv_usec = ((tv->tv_usec + (quantum - 1)) / quantum) * quantum; + if (tv->tv_usec >= 1000000) + { + ++tv->tv_sec; + tv->tv_usec -= 1000000; + } +} + static inline void subtract_timeval (struct timeval *from, const struct timeval *subtract) { @@ -165,6 +181,8 @@ setitimer_locked (const struct itimerval } newval = *new; + quantize_timeval (&newval.it_interval); + quantize_timeval (&newval.it_value); if ((newval.it_value.tv_sec | newval.it_value.tv_usec) != 0) { /* Make sure the itimer thread is set up. */ @@ -267,8 +285,8 @@ setitimer_locked (const struct itimerval } } /* See if the timeout changed. If so, we must alert the itimer thread. */ - else if (remaining.tv_sec != new->it_value.tv_sec || - remaining.tv_usec != new->it_value.tv_usec) + else if (remaining.tv_sec != newval.it_value.tv_sec || + remaining.tv_usec != newval.it_value.tv_usec) { /* The timeout value is changing. Tell the itimer thread to reexamine it and start counting down. If the itimer thread is diff -durpN glibc-2.1.2/sysdeps/mach/hurd/setsid.c glibc-2.1.3/sysdeps/mach/hurd/setsid.c --- glibc-2.1.2/sysdeps/mach/hurd/setsid.c Mon May 26 15:24:25 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/setsid.c Mon Oct 4 12:55:31 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1993,94,95,97,99 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 @@ -20,38 +20,54 @@ #include <unistd.h> #include <hurd.h> #include <hurd/port.h> +#include <hurd/fd.h> /* Create a new session with the calling process as its leader. The process group IDs of the session and the calling process are set to the process ID of the calling process, which is returned. */ -int -__setsid () +pid_t +__setsid (void) { error_t err; unsigned int stamp; + HURD_CRITICAL_BEGIN; + __mutex_lock (&_hurd_dtable_lock); + stamp = _hurd_pids_changed_stamp; /* Atomic fetch. */ /* Tell the proc server we want to start a new session. */ - if (err = __USEPORT (PROC, __proc_setsid (port))) - return __hurd_fail (err); - - /* Punt our current ctty. */ - _hurd_setcttyid (MACH_PORT_NULL); - - /* Synchronize with the signal thread to make sure we have - received and processed proc_newids before returning to the user. */ - while (_hurd_pids_changed_stamp == stamp) + err = __USEPORT (PROC, __proc_setsid (port)); + if (err) + __mutex_unlock (&_hurd_dtable_lock); + else { + /* Punt our current ctty, and update the dtable accordingly. We hold + the dtable lock from before the proc_setsid call through clearing + the cttyid port and processing the dtable, so that we can be sure + that it's all done by the time the signal thread processes the + pgrp change notification. */ + _hurd_locked_install_cttyid (MACH_PORT_NULL); + + /* Synchronize with the signal thread to make sure we have received + and processed proc_newids before returning to the user. + This is necessary to ensure that _hurd_pgrp (and thus the value + returned by `getpgrp ()' in other threads) has been updated before + we return. */ + while (_hurd_pids_changed_stamp == stamp) + { #ifdef noteven - /* XXX we have no need for a mutex, but cthreads demands one. */ - __condition_wait (&_hurd_pids_changed_sync, NULL); + /* XXX we have no need for a mutex, but cthreads demands one. */ + __condition_wait (&_hurd_pids_changed_sync, NULL); #else - __swtch_pri(0); + __swtch_pri (0); #endif + } } - return 0; + HURD_CRITICAL_END; + + return err ? __hurd_fail (err) : _hurd_pgrp; } weak_alias (__setsid, setsid) diff -durpN glibc-2.1.2/sysdeps/mach/hurd/sigstack.c glibc-2.1.3/sysdeps/mach/hurd/sigstack.c --- glibc-2.1.2/sysdeps/mach/hurd/sigstack.c Sat Aug 8 12:54:52 1998 +++ glibc-2.1.3/sysdeps/mach/hurd/sigstack.c Thu Feb 24 11:19:05 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1992,97,98,2000 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 @@ -23,9 +23,7 @@ /* Run signals handlers on the stack specified by SS (if not NULL). If OSS is not NULL, it is filled in with the old signal stack status. */ int -sigstack (ss, oss) - const struct sigstack *ss; - struct sigstack *oss; +sigstack (struct sigstack *ss, struct sigstack *oss) { struct sigaltstack as, oas; diff -durpN glibc-2.1.2/sysdeps/mach/hurd/sys/param.h glibc-2.1.3/sysdeps/mach/hurd/sys/param.h --- glibc-2.1.2/sysdeps/mach/hurd/sys/param.h Sun Oct 5 18:53:41 1997 +++ glibc-2.1.3/sysdeps/mach/hurd/sys/param.h Thu Feb 24 11:19:05 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1993,94,95,97,2000 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 @@ -67,7 +67,7 @@ #include <sys/types.h> #include <errno.h> -#include <signal.h> +#include <signal.h> /* NSIG, which BSD <sys/param.h> provides. */ #include <endian.h> #include <limits.h> #ifdef notyet diff -durpN glibc-2.1.2/sysdeps/mach/hurd/wait4.c glibc-2.1.3/sysdeps/mach/hurd/wait4.c --- glibc-2.1.2/sysdeps/mach/hurd/wait4.c Fri May 29 02:47:09 1998 +++ glibc-2.1.3/sysdeps/mach/hurd/wait4.c Thu Sep 23 11:14:58 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1993, 94, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1993,94,95,96,97,98,99 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 @@ -35,8 +35,21 @@ __wait4 (pid_t pid, __WAIT_STATUS_DEFN s err = __USEPORT (PROC, __proc_wait (port, pid, options, stat_loc ?: &dummy, &sigcode, usage ?: &ignored, &dead)); - - return err ? (pid_t) __hurd_fail (err) : dead; + switch (err) + { + case 0: /* Got a child. */ + return dead; + case EAGAIN: + /* The RPC returns this error when the WNOHANG flag is set and no + selected children are dead (but some are living). In that + situation, our return value is zero. (The RPC can't return zero + for DEAD without also returning some garbage for the other out + parameters, so an error return is much more natural here. Hence + the difference between the RPC and the POSIX.1 interface. */ + return (pid_t) 0; + default: + return (pid_t) __hurd_fail (err); + } } weak_alias (__wait4, wait4) diff -durpN glibc-2.1.2/sysdeps/mach/sleep.c glibc-2.1.3/sysdeps/mach/sleep.c --- glibc-2.1.2/sysdeps/mach/sleep.c Fri Feb 14 20:30:59 1997 +++ glibc-2.1.3/sysdeps/mach/sleep.c Mon Oct 25 13:23:39 1999 @@ -31,6 +31,7 @@ __sleep (unsigned int seconds) { time_t before, after; mach_port_t recv; + unsigned int slept; recv = __mach_reply_port (); @@ -40,6 +41,7 @@ __sleep (unsigned int seconds) after = time ((time_t *) NULL); __mach_port_destroy (__mach_task_self (), recv); - return seconds - (after - before); + slept = after - before; + return (slept <= seconds ? seconds - slept : 0); } weak_alias (__sleep, sleep) diff -durpN glibc-2.1.2/sysdeps/mips/fesetround.c glibc-2.1.3/sysdeps/mips/fesetround.c --- glibc-2.1.2/sysdeps/mips/fesetround.c Sat Nov 28 12:59:35 1998 +++ glibc-2.1.3/sysdeps/mips/fesetround.c Fri Feb 11 15:49:58 2000 @@ -28,7 +28,7 @@ fesetround (int round) if ((round & ~0x3) != 0) /* ROUND is no valid rounding mode. */ - return 0; + return 1; /* Get current state. */ _FPU_GETCW (cw); @@ -39,5 +39,5 @@ fesetround (int round) /* Set new state. */ _FPU_SETCW (cw); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/posix/getaddrinfo.c glibc-2.1.3/sysdeps/posix/getaddrinfo.c --- glibc-2.1.2/sysdeps/posix/getaddrinfo.c Tue Jul 27 21:02:00 1999 +++ glibc-2.1.3/sysdeps/posix/getaddrinfo.c Thu Jan 20 17:40:34 2000 @@ -92,14 +92,19 @@ struct gaih_typeproto int socktype; int protocol; char *name; + int protoflag; }; +/* Values for `protoflag'. */ +#define GAI_PROTO_NOSERVICE 1 + static struct gaih_typeproto gaih_inet_typeproto[] = { - { 0, 0, NULL }, - { SOCK_STREAM, IPPROTO_TCP, (char *) "tcp" }, - { SOCK_DGRAM, IPPROTO_UDP, (char *) "udp" }, - { 0, 0, NULL } + { 0, 0, NULL, 0 }, + { SOCK_STREAM, IPPROTO_TCP, (char *) "tcp", 0 }, + { SOCK_DGRAM, IPPROTO_UDP, (char *) "udp", 0 }, + { SOCK_RAW, IPPROTO_RAW, (char *) "raw", GAI_PROTO_NOSERVICE }, + { 0, 0, NULL, 0 } }; struct gaih @@ -119,8 +124,11 @@ gaih_local (const char *name, const stru { struct utsname utsname; + if ((name != NULL) && (req->ai_flags & AI_NUMERICHOST)) + return GAIH_OKIFUNSPEC | -EAI_NONAME; + if ((name != NULL) || (req->ai_flags & AI_CANONNAME)) - if (uname(&utsname)) + if (uname (&utsname)) return -EAI_SYSTEM; if (name != NULL) @@ -132,7 +140,27 @@ gaih_local (const char *name, const stru return GAIH_OKIFUNSPEC | -EAI_NONAME; } - *pai = malloc (sizeof(struct addrinfo) + sizeof(struct sockaddr_un) + if (req->ai_protocol || req->ai_socktype) + { + struct gaih_typeproto *tp = gaih_inet_typeproto + 1; + + while (tp->name != NULL + && ((tp->protoflag & GAI_PROTO_NOSERVICE) != 0 + || (req->ai_socktype != 0 && req->ai_socktype != tp->socktype) + || (req->ai_protocol != 0 + && req->ai_protocol != tp->protocol))) + ++tp; + + if (tp->name == NULL) + { + if (req->ai_socktype) + return (GAIH_OKIFUNSPEC | -EAI_SOCKTYPE); + else + return (GAIH_OKIFUNSPEC | -EAI_SERVICE); + } + } + + *pai = malloc (sizeof (struct addrinfo) + sizeof (struct sockaddr_un) + ((req->ai_flags & AI_CANONNAME) ? (strlen(utsname.nodename) + 1): 0)); if (*pai == NULL) @@ -143,8 +171,8 @@ gaih_local (const char *name, const stru (*pai)->ai_family = AF_LOCAL; (*pai)->ai_socktype = req->ai_socktype ? req->ai_socktype : SOCK_STREAM; (*pai)->ai_protocol = req->ai_protocol; - (*pai)->ai_addrlen = sizeof(struct sockaddr_un); - (*pai)->ai_addr = (void *)(*pai) + sizeof(struct addrinfo); + (*pai)->ai_addrlen = sizeof (struct sockaddr_un); + (*pai)->ai_addr = (void *) (*pai) + sizeof (struct addrinfo); #if SALEN ((struct sockaddr_un *) (*pai)->ai_addr)->sun_len = @@ -181,8 +209,9 @@ gaih_local (const char *name, const stru } if (req->ai_flags & AI_CANONNAME) - strcpy ((*pai)->ai_canonname = (char *)(*pai) + sizeof(struct addrinfo) + - sizeof(struct sockaddr_un), utsname.nodename); + (*pai)->ai_canonname = strcpy ((char *) *pai + sizeof (struct addrinfo) + + sizeof (struct sockaddr_un), + utsname.nodename); else (*pai)->ai_canonname = NULL; return 0; @@ -201,14 +230,12 @@ gaih_inet_serv (const char *servicename, do { tmpbuf = __alloca (tmpbuflen); - if (tmpbuf == NULL) - return -EAI_MEMORY; r = __getservbyname_r (servicename, tp->name, &ts, tmpbuf, tmpbuflen, &s); - if (r || s == NULL) + if (r != 0 || s == NULL) { - if (errno == ERANGE) + if (r == ERANGE) tmpbuflen *= 2; else return GAIH_OKIFUNSPEC | -EAI_SERVICE; @@ -234,13 +261,10 @@ gaih_inet_serv (const char *servicename, do { \ tmpbuflen *= 2; \ tmpbuf = __alloca (tmpbuflen); \ - if (tmpbuf == NULL) \ - return -EAI_MEMORY; \ rc = __gethostbyname2_r (name, _family, &th, tmpbuf, \ tmpbuflen, &h, &herrno); \ - } while ((rc != 0) && \ - (herrno == NETDB_INTERNAL) && (errno == ERANGE)); \ - if ((rc != 0) && (herrno == NETDB_INTERNAL)) \ + } while (rc == ERANGE && herrno == NETDB_INTERNAL); \ + if (rc != 0 && herrno == NETDB_INTERNAL) \ { \ __set_h_errno (herrno); \ return -EAI_SYSTEM; \ @@ -250,11 +274,7 @@ gaih_inet_serv (const char *servicename, for (i = 0; h->h_addr_list[i]; i++) \ { \ if (*pat == NULL) \ - { \ - *pat = __alloca (sizeof(struct gaih_addrtuple)); \ - if (*pat == NULL) \ - return -EAI_MEMORY; \ - } \ + *pat = __alloca (sizeof(struct gaih_addrtuple)); \ (*pat)->next = NULL; \ (*pat)->family = _family; \ memcpy ((*pat)->addr, h->h_addr_list[i], \ @@ -262,6 +282,7 @@ gaih_inet_serv (const char *servicename, pat = &((*pat)->next); \ } \ } \ + no_data = rc != 0 && herrno == NO_DATA; \ } static int @@ -275,9 +296,14 @@ gaih_inet (const char *name, const struc if (req->ai_protocol || req->ai_socktype) { - for (tp++; tp->name && - ((req->ai_socktype != tp->socktype) || !req->ai_socktype) && - ((req->ai_protocol != tp->protocol) || !req->ai_protocol); tp++); + ++tp; + + while (tp->name != NULL + && ((req->ai_socktype != 0 && req->ai_socktype != tp->socktype) + || (req->ai_protocol != 0 + && req->ai_protocol != tp->protocol))) + ++tp; + if (tp->name == NULL) { if (req->ai_socktype) @@ -289,6 +315,9 @@ gaih_inet (const char *name, const struc if (service != NULL) { + if ((tp->protoflag & GAI_PROTO_NOSERVICE) != 0) + return (GAIH_OKIFUNSPEC | -EAI_SERVICE); + if (service->num < 0) { if (tp->name != NULL) @@ -304,7 +333,12 @@ gaih_inet (const char *name, const struc struct gaih_servtuple **pst = &st; for (tp++; tp->name; tp++) { - struct gaih_servtuple *newp = (struct gaih_servtuple *) + struct gaih_servtuple *newp; + + if ((tp->protoflag & GAI_PROTO_NOSERVICE) != 0) + continue; + + newp = (struct gaih_servtuple *) __alloca (sizeof (struct gaih_servtuple)); if ((rc = gaih_inet_serv (service->name, tp, newp))) @@ -323,10 +357,7 @@ gaih_inet (const char *name, const struc } else { - st = __alloca (sizeof(struct gaih_servtuple)); - if (st == NULL) - return -EAI_MEMORY; - + st = __alloca (sizeof (struct gaih_servtuple)); st->next = NULL; st->socktype = tp->socktype; st->protocol = tp->protocol; @@ -336,45 +367,60 @@ gaih_inet (const char *name, const struc if (name != NULL) { - at = __alloca (sizeof(struct gaih_addrtuple)); + at = __alloca (sizeof (struct gaih_addrtuple)); - at->family = 0; + at->family = AF_UNSPEC; at->next = NULL; - if (req->ai_family == 0 || req->ai_family == AF_INET) - if (inet_pton (AF_INET, name, at->addr) > 0) - at->family = AF_INET; + if (inet_pton (AF_INET, name, at->addr) > 0) + { + if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET) + at->family = AF_INET; + else + return -EAI_ADDRFAMILY; + } - if (!at->family && (req->ai_family == 0 || req->ai_family == AF_INET6)) - if (inet_pton (AF_INET6, name, at->addr) > 0) - at->family = AF_INET6; + if (at->family == AF_UNSPEC && inet_pton (AF_INET6, name, at->addr) > 0) + { + if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET6) + at->family = AF_INET6; + else + return -EAI_ADDRFAMILY; + } - if (at->family == AF_UNSPEC) + if (at->family == AF_UNSPEC && (req->ai_flags & AI_NUMERICHOST) == 0) { struct hostent *h; struct gaih_addrtuple **pat = &at; + int no_data = 0; + int no_inet6_data; if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET6) gethosts (AF_INET6, struct in6_addr); + no_inet6_data = no_data; if (req->ai_family == AF_UNSPEC || req->ai_family == AF_INET) gethosts (AF_INET, struct in_addr); + + if (no_data != 0 && no_inet6_data != 0) + /* We made requests but they turned out no data. The name + is known, though. */ + return (GAIH_OKIFUNSPEC | -EAI_NODATA); } if (at->family == AF_UNSPEC) return (GAIH_OKIFUNSPEC | -EAI_NONAME); - } else { struct gaih_addrtuple *atr; - atr = at = __alloca (sizeof(struct gaih_addrtuple)); - memset (at, 0, sizeof(struct gaih_addrtuple)); + atr = at = __alloca (sizeof (struct gaih_addrtuple)); + memset (at, '\0', sizeof (struct gaih_addrtuple)); if (req->ai_family == 0) { - at->next = __alloca (sizeof(struct gaih_addrtuple)); - memset (at->next, 0, sizeof(struct gaih_addrtuple)); + at->next = __alloca (sizeof (struct gaih_addrtuple)); + memset (at->next, '\0', sizeof (struct gaih_addrtuple)); } if (req->ai_family == 0 || req->ai_family == AF_INET6) @@ -434,10 +480,9 @@ gaih_inet (const char *name, const struc &h, &herrno); } - while ((rc != 0) && (herrno == NETDB_INTERNAL) - && (errno == ERANGE)); + while (rc == errno && herrno == NETDB_INTERNAL); - if ((rc != 0) && (herrno == NETDB_INTERNAL)) + if (rc != 0 && herrno == NETDB_INTERNAL) { __set_h_errno (herrno); return -EAI_SYSTEM; @@ -528,7 +573,7 @@ int getaddrinfo (const char *name, const char *service, const struct addrinfo *hints, struct addrinfo **pai) { - int i = 0, j = 0; + int i = 0, j = 0, last_i = 0; struct addrinfo *p = NULL, **end; struct gaih *g = gaih, *pg = NULL; struct gaih_service gaih_service, *pservice; @@ -584,6 +629,11 @@ getaddrinfo (const char *name, const cha i = g->gaih (name, pservice, hints, end); if (i != 0) { + /* EAI_NODATA is a more specific result as it says that + we found a result but it is not usable. */ + if (last_i != (GAIH_OKIFUNSPEC | -EAI_NODATA)) + last_i = i; + if (hints->ai_family == AF_UNSPEC && (i & GAIH_OKIFUNSPEC)) continue; @@ -608,13 +658,13 @@ getaddrinfo (const char *name, const cha return 0; } - if (pai == NULL && i == 0) + if (pai == NULL && last_i == 0) return 0; if (p) freeaddrinfo (p); - return i ? -(i & GAIH_EAI) : EAI_NONAME; + return last_i ? -(last_i & GAIH_EAI) : EAI_NONAME; } void diff -durpN glibc-2.1.2/sysdeps/posix/open64.c glibc-2.1.3/sysdeps/posix/open64.c --- glibc-2.1.2/sysdeps/posix/open64.c Sun Oct 5 18:54:07 1997 +++ glibc-2.1.3/sysdeps/posix/open64.c Tue Dec 21 15:52:04 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995, 1996, 1997, 1999 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 @@ -22,11 +22,9 @@ /* Open FILE with access OFLAG. If OFLAG includes O_CREAT, a third argument is the file protection. */ int -__open64 (file, oflag) - const char *file; - int oflag; +__libc_open64 (const char *file, int oflag, ...) { - int mode; + int mode = 0; if (oflag & O_CREAT) { @@ -35,9 +33,8 @@ __open64 (file, oflag) mode = va_arg (arg, int); va_end (arg); } - else - mode = 0; - return __open (file, oflag | O_LARGEFILE, mode); + return __libc_open (file, oflag | O_LARGEFILE, mode); } -weak_alias (__open64, open64) +strong_alias (__libc_open64, __open64) +weak_alias (__libc_open64, open64) diff -durpN glibc-2.1.2/sysdeps/posix/pread.c glibc-2.1.3/sysdeps/posix/pread.c --- glibc-2.1.2/sysdeps/posix/pread.c Thu Jul 16 04:31:02 1998 +++ glibc-2.1.3/sysdeps/posix/pread.c Tue Dec 21 15:52:04 1999 @@ -1,6 +1,6 @@ /* Read block from given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pread (int fd, void *buf, size_t nbyte, off_t offset) +__libc_pread (int fd, void *buf, size_t nbyte, off_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off_t old_offset = __lseek (fd, 0, SEEK_CUR); + off_t old_offset = __libc_lseek (fd, 0, SEEK_CUR); if (old_offset == (off_t) -1) return -1; /* Set to wanted position. */ - if (__lseek (fd, offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, offset, SEEK_SET) == (off_t) -1) return -1; /* Write out the data. */ - result = __read (fd, buf, nbyte); + result = __libc_read (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek (fd, old_offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, old_offset, SEEK_SET) == (off_t) -1) { if (result == -1) __set_errno (save_errno); @@ -55,6 +55,7 @@ __pread (int fd, void *buf, size_t nbyte return result; } -#ifndef __pread -weak_alias (__pread, pread) +#ifndef __libc_pread +strong_alias (__libc_pread, __pread) +weak_alias (__libc_pread, pread) #endif diff -durpN glibc-2.1.2/sysdeps/posix/pread64.c glibc-2.1.3/sysdeps/posix/pread64.c --- glibc-2.1.2/sysdeps/posix/pread64.c Thu Jul 16 04:31:03 1998 +++ glibc-2.1.3/sysdeps/posix/pread64.c Tue Dec 21 15:52:04 1999 @@ -1,6 +1,6 @@ /* Read block from given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pread64 (int fd, void *buf, size_t nbyte, off64_t offset) +__libc_pread64 (int fd, void *buf, size_t nbyte, off64_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off64_t old_offset = __lseek64 (fd, 0, SEEK_CUR); + off64_t old_offset = __libc_lseek64 (fd, 0, SEEK_CUR); if (old_offset == (off64_t) -1) return -1; /* Set to wanted position. */ - if (__lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) return -1; /* Write out the data. */ - result = __read (fd, buf, nbyte); + result = __libc_read (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) { if (result == -1) __set_errno (save_errno); @@ -55,6 +55,7 @@ __pread64 (int fd, void *buf, size_t nby return result; } -#ifndef __pread64 -weak_alias (__pread64, pread64) +#ifndef __libc_pread64 +strong_alias (__libc_pread64, __pread64) +weak_alias (__libc_pread64, pread64) #endif diff -durpN glibc-2.1.2/sysdeps/posix/pwrite.c glibc-2.1.3/sysdeps/posix/pwrite.c --- glibc-2.1.2/sysdeps/posix/pwrite.c Thu Jul 16 04:31:05 1998 +++ glibc-2.1.3/sysdeps/posix/pwrite.c Tue Dec 21 15:52:04 1999 @@ -1,6 +1,6 @@ /* Write block to given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pwrite (int fd, const void *buf, size_t nbyte, off_t offset) +__libc_pwrite (int fd, const void *buf, size_t nbyte, off_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off_t old_offset = __lseek (fd, 0, SEEK_CUR); + off_t old_offset = __libc_lseek (fd, 0, SEEK_CUR); if (old_offset == (off_t) -1) return -1; /* Set to wanted position. */ - if (__lseek (fd, offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, offset, SEEK_SET) == (off_t) -1) return -1; /* Write out the data. */ - result = __write (fd, buf, nbyte); + result = __libc_write (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek (fd, old_offset, SEEK_SET) == (off_t) -1) + if (__libc_lseek (fd, old_offset, SEEK_SET) == (off_t) -1) { if (result == -1) __set_errno (save_errno); @@ -55,6 +55,7 @@ __pwrite (int fd, const void *buf, size_ return result; } -#ifndef __pwrite -weak_alias (__pwrite, pwrite) +#ifndef __libc_pwrite +strong_alias (__libc_pwrite, __pwrite) +weak_alias (__libc_pwrite, pwrite) #endif diff -durpN glibc-2.1.2/sysdeps/posix/pwrite64.c glibc-2.1.3/sysdeps/posix/pwrite64.c --- glibc-2.1.2/sysdeps/posix/pwrite64.c Thu Jul 16 04:31:06 1998 +++ glibc-2.1.3/sysdeps/posix/pwrite64.c Tue Dec 21 15:52:04 1999 @@ -1,6 +1,6 @@ /* Write block to given position in file without changing file pointer. POSIX version. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -23,28 +23,28 @@ #include <unistd.h> ssize_t -__pwrite64 (int fd, const void *buf, size_t nbyte, off64_t offset) +__libc_pwrite64 (int fd, const void *buf, size_t nbyte, off64_t offset) { /* Since we must not change the file pointer preserve the value so that we can restore it later. */ int save_errno; ssize_t result; - off64_t old_offset = __lseek64 (fd, 0, SEEK_CUR); + off64_t old_offset = __libc_lseek64 (fd, 0, SEEK_CUR); if (old_offset == (off64_t) -1) return -1; /* Set to wanted position. */ - if (__lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, offset, SEEK_SET) == (off64_t) -1) return -1; /* Write out the data. */ - result = __write (fd, buf, nbyte); + result = __libc_write (fd, buf, nbyte); /* Now we have to restore the position. If this fails we have to return this as an error. But if the writing also failed we return this error. */ save_errno = errno; - if (__lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) + if (__libc_lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) { if (result == -1) __set_errno (save_errno); @@ -54,6 +54,7 @@ __pwrite64 (int fd, const void *buf, siz return result; } -#ifndef __pwrite64 -weak_alias (__pwrite64, pwrite64) +#ifndef __libc_pwrite64 +strong_alias (__libc_pwrite64, __pwrite64) +weak_alias (__libc_pwrite64, pwrite64) #endif diff -durpN glibc-2.1.2/sysdeps/posix/sigwait.c glibc-2.1.3/sysdeps/posix/sigwait.c --- glibc-2.1.2/sysdeps/posix/sigwait.c Tue Feb 9 01:35:36 1999 +++ glibc-2.1.3/sysdeps/posix/sigwait.c Tue Feb 15 10:59:41 2000 @@ -1,5 +1,5 @@ /* Implementation of sigwait function from POSIX.1c. - Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -52,7 +52,7 @@ __sigwait (const sigset_t *set, int *sig value which does not describe a legal signal number. */ was_sig = -1; - for (this = 0; this < NSIG; ++this) + for (this = 1; this < NSIG; ++this) if (__sigismember (set, this)) { /* Unblock this signal. */ @@ -69,7 +69,7 @@ __sigwait (const sigset_t *set, int *sig restore_handler: save_errno = errno; - while (--this >= 0) + while (--this >= 1) if (__sigismember (set, this)) /* We ignore errors here since we must restore all handlers. */ __sigaction (this, &saved[this], NULL); diff -durpN glibc-2.1.2/sysdeps/posix/sysconf.c glibc-2.1.3/sysdeps/posix/sysconf.c --- glibc-2.1.2/sysdeps/posix/sysconf.c Mon Dec 22 10:56:24 1997 +++ glibc-2.1.3/sysdeps/posix/sysconf.c Thu Jan 20 17:40:34 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1993, 1995, 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1991, 93, 95, 96, 97, 2000 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 @@ -25,6 +25,8 @@ #include <time.h> #include <unistd.h> #include <sys/sysinfo.h> +#include <sys/types.h> +#include <regex.h> /* Get the value of the system variable NAME. */ diff -durpN glibc-2.1.2/sysdeps/posix/system.c glibc-2.1.3/sysdeps/posix/system.c --- glibc-2.1.2/sysdeps/posix/system.c Tue Nov 11 15:51:45 1997 +++ glibc-2.1.3/sysdeps/posix/system.c Mon Jan 3 13:10:35 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 94, 95, 96, 97 Free Software Foundation, Inc. +/* Copyright (C) 1991-1999, 2000 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 @@ -44,8 +44,9 @@ __libc_system (const char *line) #endif if (line == NULL) - /* This signals that we have a command processor available. */ - return 1; + /* Check that we have a command processor available. It might + not be available after a chroot(), for example. */ + return __libc_system ("exit 0") == 0; sa.sa_handler = SIG_IGN; sa.sa_flags = 0; @@ -113,23 +114,32 @@ __libc_system (const char *line) status = -1; else /* Parent side. */ -#ifdef NO_WAITPID { +#ifdef NO_WAITPID pid_t child; do { child = __wait (&status); - if (child <= -1) + if (child <= -1 && errno != EINTR) { status = -1; break; } - } while (child != pid); - } + /* Note that pid cannot be <= -1 and therefore the loop continues + when __wait returned with EINTR. */ + } + while (child != pid); #else - if (__waitpid (pid, &status, 0) != pid) - status = -1; + int n; + + do + n = __waitpid (pid, &status, 0); + while (n == -1 && errno == EINTR); + + if (n != pid) + status = -1; #endif + } save = errno; if ((__sigaction (SIGINT, &intr, (struct sigaction *) NULL) | diff -durpN glibc-2.1.2/sysdeps/posix/waitid.c glibc-2.1.3/sysdeps/posix/waitid.c --- glibc-2.1.2/sysdeps/posix/waitid.c Thu Jul 16 04:31:11 1998 +++ glibc-2.1.3/sysdeps/posix/waitid.c Tue Feb 22 23:03:18 2000 @@ -1,5 +1,5 @@ /* Pseudo implementation of waitid. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1997. @@ -79,7 +79,7 @@ waitid (idtype, id, infop, options) { /* The WHOHANG bit in OPTIONS is set and there are children available but none has a status for us. The XPG docs do not mention this - case so we clear the `siginfo_t' struct and return succesfully. */ + case so we clear the `siginfo_t' struct and return successfully. */ infop->si_signo = 0; infop->si_code = 0; return 0; diff -durpN glibc-2.1.2/sysdeps/powerpc/bits/fenv.h glibc-2.1.3/sysdeps/powerpc/bits/fenv.h --- glibc-2.1.2/sysdeps/powerpc/bits/fenv.h Wed Sep 9 15:40:44 1998 +++ glibc-2.1.3/sysdeps/powerpc/bits/fenv.h Mon Nov 8 15:36:42 1999 @@ -86,7 +86,7 @@ enum # define FE_INVALID_SQRT FE_INVALID_SQRT /* Conversion-to-integer of a NaN or a number too large or too small. */ - FE_INVALID_INTEGER_CONVERSION = 1 << (31 - 23), + FE_INVALID_INTEGER_CONVERSION = 1 << (31 - 23) # define FE_INVALID_INTEGER_CONVERSION FE_INVALID_INTEGER_CONVERSION # define FE_ALL_INVALID \ @@ -110,7 +110,7 @@ enum #define FE_TOWARDZERO FE_TOWARDZERO FE_UPWARD = 2, #define FE_UPWARD FE_UPWARD - FE_DOWNWARD = 3, + FE_DOWNWARD = 3 #define FE_DOWNWARD FE_DOWNWARD }; @@ -152,27 +152,33 @@ extern const fenv_t *__fe_nomask_env __P : "=r"(__fegetround_result) : : "cr7"); \ __fegetround_result & 3; })) +/* The weird 'i#*X' constraints on the following suppress a gcc + warning when __excepts is not a constant. Otherwise, they mean the + same as just plain 'i'. */ + /* Inline definition for feraiseexcept. */ # define feraiseexcept(__excepts) \ - (__extension__ ({ if (__builtin_constant_p (__excepts) \ - && ((__excepts) & -(__excepts)) == 0 \ - && (__excepts) != FE_INVALID) { \ - if ((__excepts) != 0) \ - __asm__ __volatile__ \ - ("mtfsb1 %0" \ - : : "i"(32 - __builtin_ffs (__excepts))); \ - } else \ - (feraiseexcept) (__excepts); })) + ((__builtin_constant_p (__excepts) \ + && ((__excepts) & ((__excepts)-1)) == 0 \ + && (__excepts) != FE_INVALID) \ + ? ((__excepts) != 0 \ + ? (__extension__ ({ __asm__ __volatile__ \ + ("mtfsb1 %s0" \ + : : "i#*X"(__builtin_ffs (__excepts))); \ + (void)0; })) \ + : (void)0) \ + : (feraiseexcept) (__excepts)) /* Inline definition for feclearexcept. */ # define feclearexcept(__excepts) \ - (__extension__ ({ if (__builtin_constant_p (__excepts) \ - && ((__excepts) & -(__excepts)) == 0 \ - && (__excepts) != FE_INVALID) { \ - if ((__excepts) != 0) \ - __asm__ __volatile__ \ - ("mtfsb0 %0" \ - : : "i"(32 - __builtin_ffs (__excepts))); \ - } else \ - (feclearexcept) (__excepts); })) + ((__builtin_constant_p (__excepts) \ + && ((__excepts) & ((__excepts)-1)) == 0 \ + && (__excepts) != FE_INVALID) \ + ? ((__excepts) != 0 \ + ? (__extension__ ({ __asm__ __volatile__ \ + ("mtfsb0 %s0" \ + : : "i#*X"(__builtin_ffs (__excepts))); \ + (void)0; })) \ + : (void)0) \ + : (feclearexcept) (__excepts)) #endif /* __OPTIMIZE__ && !_SOFT_FLOAT */ diff -durpN glibc-2.1.2/sysdeps/powerpc/bits/mathdef.h glibc-2.1.3/sysdeps/powerpc/bits/mathdef.h --- glibc-2.1.2/sysdeps/powerpc/bits/mathdef.h Tue Nov 10 11:10:48 1998 +++ glibc-2.1.3/sysdeps/powerpc/bits/mathdef.h Tue Dec 21 15:52:05 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 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 @@ -27,7 +27,9 @@ FIXME! This file does not deal with the -fshort-double option of gcc! */ -#if defined __USE_ISOC9X && defined _MATH_H +#if defined __USE_ISOC9X && defined _MATH_H && !defined _MATH_H_MATHDEF +# define _MATH_H_MATHDEF 1 + # ifdef __GNUC__ # if __STDC__ == 1 @@ -79,7 +81,7 @@ typedef double double_t; /* Number of decimal digits for the `double' type. */ # define DECIMAL_DIG 15 -#endif /* ISO C 9X */ +#endif /* ISO C99 */ #ifndef __NO_LONG_DOUBLE_MATH /* Signal that we do not really have a `long double'. The disables the diff -durpN glibc-2.1.2/sysdeps/powerpc/dl-machine.c glibc-2.1.3/sysdeps/powerpc/dl-machine.c --- glibc-2.1.2/sysdeps/powerpc/dl-machine.c Thu Mar 4 15:26:43 1999 +++ glibc-2.1.3/sysdeps/powerpc/dl-machine.c Mon Jan 3 13:10:35 2000 @@ -33,17 +33,19 @@ #endif -/* stuff for the PLT */ +/* Stuff for the PLT. */ #define PLT_INITIAL_ENTRY_WORDS 18 -#define PLT_LONGBRANCH_ENTRY_WORDS 10 +#define PLT_LONGBRANCH_ENTRY_WORDS 0 +#define PLT_TRAMPOLINE_ENTRY_WORDS 6 #define PLT_DOUBLE_SIZE (1<<13) #define PLT_ENTRY_START_WORDS(entry_number) \ - (PLT_INITIAL_ENTRY_WORDS + (entry_number)*2 + \ - ((entry_number) > PLT_DOUBLE_SIZE ? \ - ((entry_number) - PLT_DOUBLE_SIZE)*2 : \ - 0)) + (PLT_INITIAL_ENTRY_WORDS + (entry_number)*2 \ + + ((entry_number) > PLT_DOUBLE_SIZE \ + ? ((entry_number) - PLT_DOUBLE_SIZE)*2 \ + : 0)) #define PLT_DATA_START_WORDS(num_entries) PLT_ENTRY_START_WORDS(num_entries) +/* Macros to build PowerPC opcode words. */ #define OPCODE_ADDI(rd,ra,simm) \ (0x38000000 | (rd) << 21 | (ra) << 16 | ((simm) & 0xffff)) #define OPCODE_ADDIS(rd,ra,simm) \ @@ -55,11 +57,16 @@ #define OPCODE_BCTR() 0x4e800420 #define OPCODE_LWZ(rd,d,ra) \ (0x80000000 | (rd) << 21 | (ra) << 16 | ((d) & 0xffff)) +#define OPCODE_LWZU(rd,d,ra) \ + (0x84000000 | (rd) << 21 | (ra) << 16 | ((d) & 0xffff)) #define OPCODE_MTCTR(rd) (0x7C0903A6 | (rd) << 21) #define OPCODE_RLWINM(ra,rs,sh,mb,me) \ (0x54000000 | (rs) << 21 | (ra) << 16 | (sh) << 11 | (mb) << 6 | (me) << 1) #define OPCODE_LI(rd,simm) OPCODE_ADDI(rd,0,simm) +#define OPCODE_ADDIS_HI(rd,ra,value) \ + OPCODE_ADDIS(rd,ra,((value) + 0x8000) >> 16) +#define OPCODE_LIS_HI(rd,value) OPCODE_ADDIS_HI(rd,0,value) #define OPCODE_SLWI(ra,rs,sh) OPCODE_RLWINM(ra,rs,sh,0,31-sh) @@ -136,126 +143,172 @@ __elf_preferred_address(struct link_map Also install a small trampoline to be used by entries that have been relocated to an address too far away for a single branch. */ -/* A PLT entry does one of three things: - (i) Jumps to the actual routine. Such entries are set up above, in - elf_machine_rela. +/* There are many kinds of PLT entries: - (ii) Jumps to the actual routine via glue at the start of the PLT. - We do this by putting the address of the routine in space - allocated at the end of the PLT, and when the PLT entry is - called we load the offset of that word (from the start of the - space) into r11, then call the glue, which loads the word and - branches to that address. These entries are set up in - elf_machine_rela, but the glue is set up here. + (1) A direct jump to the actual routine, either a relative or + absolute branch. These are set up in __elf_machine_fixup_plt. - (iii) Loads the index of this PLT entry (we count the double-size - entries as one entry for this purpose) into r11, then - branches to code at the start of the PLT. This code then - calls `fixup', in dl-runtime.c, via the glue in the macro - ELF_MACHINE_RUNTIME_TRAMPOLINE, which resets the PLT entry to - be one of the above two types. These entries are set up here. */ + (2) Short lazy entries. These cover the first 8192 slots in + the PLT, and look like (where 'index' goes from 0 to 8191): + + li %r11, index*4 + b &plt[PLT_TRAMPOLINE_ENTRY_WORDS+1] + + (3) Short indirect jumps. These replace (2) when a direct jump + wouldn't reach. They look the same except that the branch + is 'b &plt[PLT_LONGBRANCH_ENTRY_WORDS]'. + + (4) Long lazy entries. These cover the slots when a short entry + won't fit ('index*4' overflows its field), and look like: + + lis %r11, %hi(index*4 + &plt[PLT_DATA_START_WORDS]) + lwzu %r12, %r11, %lo(index*4 + &plt[PLT_DATA_START_WORDS]) + b &plt[PLT_TRAMPOLINE_ENTRY_WORDS] + bctr + + (5) Long indirect jumps. These replace (4) when a direct jump + wouldn't reach. They look like: + + lis %r11, %hi(index*4 + &plt[PLT_DATA_START_WORDS]) + lwz %r12, %r11, %lo(index*4 + &plt[PLT_DATA_START_WORDS]) + mtctr %r12 + bctr + + (6) Long direct jumps. These are used when thread-safety is not + required. They look like: + + lis %r12, %hi(finaladdr) + addi %r12, %r12, %lo(finaladdr) + mtctr %r12 + bctr + + + The lazy entries, (2) and (4), are set up here in + __elf_machine_runtime_setup. (1), (3), and (5) are set up in + __elf_machine_fixup_plt. (1), (3), and (6) can also be constructed + in __process_machine_rela. + + The reason for the somewhat strange construction of the long + entries, (4) and (5), is that we need to ensure thread-safety. For + (1) and (3), this is obvious because only one instruction is + changed and the PPC architecture guarantees that aligned stores are + atomic. For (5), this is more tricky. When changing (4) to (5), + the `b' instruction is first changed to to `mtctr'; this is safe + and is why the `lwzu' instruction is not just a simple `addi'. + Once this is done, and is visible to all processors, the `lwzu' can + safely be changed to a `lwz'. */ int __elf_machine_runtime_setup (struct link_map *map, int lazy, int profile) { if (map->l_info[DT_JMPREL]) { Elf32_Word i; - /* Fill in the PLT. Its initial contents are directed to a - function earlier in the PLT which arranges for the dynamic - linker to be called back. */ Elf32_Word *plt = (Elf32_Word *) map->l_info[DT_PLTGOT]->d_un.d_val; Elf32_Word num_plt_entries = (map->l_info[DT_PLTRELSZ]->d_un.d_val / sizeof (Elf32_Rela)); Elf32_Word rel_offset_words = PLT_DATA_START_WORDS (num_plt_entries); + Elf32_Word data_words = (Elf32_Word) (plt + rel_offset_words); Elf32_Word size_modified; + extern void _dl_runtime_resolve (void); extern void _dl_prof_resolve (void); - Elf32_Word dlrr; - dlrr = (Elf32_Word)(char *)(profile - ? _dl_prof_resolve - : _dl_runtime_resolve); + /* Convert the index in r11 into an actual address, and get the + word at that address. */ + plt[PLT_LONGBRANCH_ENTRY_WORDS] = OPCODE_ADDIS_HI (11, 11, data_words); + plt[PLT_LONGBRANCH_ENTRY_WORDS + 1] = OPCODE_LWZ (11, data_words, 11); + + /* Call the procedure at that address. */ + plt[PLT_LONGBRANCH_ENTRY_WORDS + 2] = OPCODE_MTCTR (11); + plt[PLT_LONGBRANCH_ENTRY_WORDS + 3] = OPCODE_BCTR (); if (lazy) - for (i = 0; i < num_plt_entries; i++) { - Elf32_Word offset = PLT_ENTRY_START_WORDS (i); + Elf32_Word *tramp = plt + PLT_TRAMPOLINE_ENTRY_WORDS; + Elf32_Word dlrr = (Elf32_Word)(profile + ? _dl_prof_resolve + : _dl_runtime_resolve); + Elf32_Word offset; - if (i >= PLT_DOUBLE_SIZE) + if (profile && _dl_name_match_p (_dl_profile, map)) + /* This is the object we are looking for. Say that we really + want profiling and the timers are started. */ + _dl_profile_map = map; + + /* For the long entries, subtract off data_words. */ + tramp[0] = OPCODE_ADDIS_HI (11, 11, -data_words); + tramp[1] = OPCODE_ADDI (11, 11, -data_words); + + /* Multiply index of entry by 3 (in r11). */ + tramp[2] = OPCODE_SLWI (12, 11, 1); + tramp[3] = OPCODE_ADD (11, 12, 11); + if (dlrr <= 0x01fffffc || dlrr >= 0xfe000000) { - plt[offset ] = OPCODE_LI (11, i * 4); - plt[offset+1] = OPCODE_ADDIS (11, 11, (i * 4 + 0x8000) >> 16); - plt[offset+2] = OPCODE_B (-(4 * (offset + 2))); + /* Load address of link map in r12. */ + tramp[4] = OPCODE_LI (12, (Elf32_Word) map); + tramp[5] = OPCODE_ADDIS_HI (12, 12, (Elf32_Word) map); + + /* Call _dl_runtime_resolve. */ + tramp[6] = OPCODE_BA (dlrr); } else { + /* Get address of _dl_runtime_resolve in CTR. */ + tramp[4] = OPCODE_LI (12, dlrr); + tramp[5] = OPCODE_ADDIS_HI (12, 12, dlrr); + tramp[6] = OPCODE_MTCTR (12); + + /* Load address of link map in r12. */ + tramp[7] = OPCODE_LI (12, (Elf32_Word) map); + tramp[8] = OPCODE_ADDIS_HI (12, 12, (Elf32_Word) map); + + /* Call _dl_runtime_resolve. */ + tramp[9] = OPCODE_BCTR (); + } + + /* Set up the lazy PLT entries. */ + offset = PLT_INITIAL_ENTRY_WORDS; + i = 0; + while (i < num_plt_entries && i < PLT_DOUBLE_SIZE) + { plt[offset ] = OPCODE_LI (11, i * 4); - plt[offset+1] = OPCODE_B (-(4 * (offset + 1))); + plt[offset+1] = OPCODE_B ((PLT_TRAMPOLINE_ENTRY_WORDS + 2 + - (offset+1)) + * 4); + i++; + offset += 2; + } + while (i < num_plt_entries) + { + plt[offset ] = OPCODE_LIS_HI (11, i * 4 + data_words); + plt[offset+1] = OPCODE_LWZU (12, i * 4 + data_words, 11); + plt[offset+2] = OPCODE_B ((PLT_TRAMPOLINE_ENTRY_WORDS + - (offset+2)) + * 4); + plt[offset+3] = OPCODE_BCTR (); + i++; + offset += 4; } } - /* Multiply index of entry by 3 (in r11). */ - plt[0] = OPCODE_SLWI (12, 11, 1); - plt[1] = OPCODE_ADD (11, 12, 11); - if (dlrr <= 0x01fffffc || dlrr >= 0xfe000000) - { - /* Load address of link map in r12. */ - plt[2] = OPCODE_LI (12, (Elf32_Word) (char *) map); - plt[3] = OPCODE_ADDIS (12, 12, (((Elf32_Word) (char *) map - + 0x8000) >> 16)); - - /* Call _dl_runtime_resolve. */ - plt[4] = OPCODE_BA (dlrr); - } - else - { - /* Get address of _dl_runtime_resolve in CTR. */ - plt[2] = OPCODE_LI (12, dlrr); - plt[3] = OPCODE_ADDIS (12, 12, (dlrr + 0x8000) >> 16); - plt[4] = OPCODE_MTCTR (12); - - /* Load address of link map in r12. */ - plt[5] = OPCODE_LI (12, (Elf32_Word) (char *) map); - plt[6] = OPCODE_ADDIS (12, 12, (((Elf32_Word) (char *) map - + 0x8000) >> 16)); - - /* Call _dl_runtime_resolve. */ - plt[7] = OPCODE_BCTR (); - } - - - /* Convert the index in r11 into an actual address, and get the - word at that address. */ - plt[PLT_LONGBRANCH_ENTRY_WORDS] = - OPCODE_ADDIS (11, 11, (((Elf32_Word) (char*) (plt + rel_offset_words) - + 0x8000) >> 16)); - plt[PLT_LONGBRANCH_ENTRY_WORDS+1] = - OPCODE_LWZ (11, (Elf32_Word) (char*) (plt + rel_offset_words), 11); - - /* Call the procedure at that address. */ - plt[PLT_LONGBRANCH_ENTRY_WORDS + 2] = OPCODE_MTCTR (11); - plt[PLT_LONGBRANCH_ENTRY_WORDS + 3] = OPCODE_BCTR (); - - - /* Now, we've modified code (quite a lot of code, possibly). We - need to write the changes from the data cache to a - second-level unified cache, then make sure that stale data in - the instruction cache is removed. (In a multiprocessor - system, the effect is more complex.) Most of the PLT shouldn't - be in the instruction cache, but there may be a little overlap - at the start and the end. + /* Now, we've modified code. We need to write the changes from + the data cache to a second-level unified cache, then make + sure that stale data in the instruction cache is removed. + (In a multiprocessor system, the effect is more complex.) + Most of the PLT shouldn't be in the instruction cache, but + there may be a little overlap at the start and the end. Assumes the cache line size is at least 32 bytes, or at least - that dcbst and icbi apply to 32-byte lines. At present, all + that dcbst and icbi apply to 32-byte lines. At present, all PowerPC processors have line sizes of exactly 32 bytes. */ - size_modified = lazy ? rel_offset_words : PLT_INITIAL_ENTRY_WORDS; - for (i = 0; i < size_modified; i+= 8) + size_modified = lazy ? rel_offset_words : 6; + for (i = 0; i < size_modified; i += 8) PPC_DCBST (plt + i); PPC_DCBST (plt + size_modified - 1); PPC_SYNC; PPC_ICBI (plt); - PPC_ICBI (plt + size_modified-1); + PPC_ICBI (plt + size_modified - 1); PPC_ISYNC; } @@ -266,61 +319,45 @@ void __elf_machine_fixup_plt(struct link_map *map, const Elf32_Rela *reloc, Elf32_Addr *reloc_addr, Elf32_Addr finaladdr) { - Elf32_Sword delta = finaladdr - (Elf32_Word) (char *) reloc_addr; + Elf32_Sword delta = finaladdr - (Elf32_Word) reloc_addr; if (delta << 6 >> 6 == delta) *reloc_addr = OPCODE_B (delta); else if (finaladdr <= 0x01fffffc || finaladdr >= 0xfe000000) *reloc_addr = OPCODE_BA (finaladdr); else { - Elf32_Word *plt; - Elf32_Word index; - + Elf32_Word *plt, *data_words; + Elf32_Word index, offset, num_plt_entries; + + num_plt_entries = (map->l_info[DT_PLTRELSZ]->d_un.d_val + / sizeof(Elf32_Rela)); plt = (Elf32_Word *) map->l_info[DT_PLTGOT]->d_un.d_val; - index = (reloc_addr - plt - PLT_INITIAL_ENTRY_WORDS)/2; - if (index >= PLT_DOUBLE_SIZE) - { - /* Slots greater than or equal to 2^13 have 4 words available - instead of two. */ - /* FIXME: There are some possible race conditions in this code, - when called from 'fixup'. - - 1) Suppose that a lazy PLT entry is executing, a context switch - between threads (or a signal) occurs, and the new thread or - signal handler calls the same lazy PLT entry. Then the PLT entry - would be changed while it's being run, which will cause a segfault - (almost always). - - 2) Suppose the reverse: that a lazy PLT entry is being updated, - a context switch occurs, and the new code calls the lazy PLT - entry that is being updated. Then the half-fixed PLT entry will - be executed, which will also almost always cause a segfault. + offset = reloc_addr - plt; + index = (offset - PLT_INITIAL_ENTRY_WORDS)/2; + data_words = plt + PLT_DATA_START_WORDS (num_plt_entries); - These problems don't happen with the 2-word entries, because - only one of the two instructions are changed when a lazy entry - is retargeted at the actual PLT entry; the li instruction stays - the same (we have to update it anyway, because we might not be - updating a lazy PLT entry). */ + reloc_addr += 1; - reloc_addr[0] = OPCODE_LI (11, finaladdr); - reloc_addr[1] = OPCODE_ADDIS (11, 11, (finaladdr + 0x8000) >> 16); - reloc_addr[2] = OPCODE_MTCTR (11); - reloc_addr[3] = OPCODE_BCTR (); + if (index < PLT_DOUBLE_SIZE) + { + data_words[index] = finaladdr; + PPC_SYNC; + *reloc_addr = OPCODE_B ((PLT_LONGBRANCH_ENTRY_WORDS - (offset+1)) + * 4); } else { - Elf32_Word num_plt_entries; + index -= (index - PLT_DOUBLE_SIZE)/2; - num_plt_entries = (map->l_info[DT_PLTRELSZ]->d_un.d_val - / sizeof(Elf32_Rela)); + data_words[index] = finaladdr; + PPC_SYNC; - plt[index+PLT_DATA_START_WORDS (num_plt_entries)] = finaladdr; - reloc_addr[0] = OPCODE_LI (11, index*4); - reloc_addr[1] = OPCODE_B (-(4*(index*2 - + 1 - - PLT_LONGBRANCH_ENTRY_WORDS - + PLT_INITIAL_ENTRY_WORDS))); - reloc_addr += 1; /* This is the modified address. */ + reloc_addr[1] = OPCODE_MTCTR (12); + MODIFIED_CODE_NOQUEUE (reloc_addr + 1); + PPC_SYNC; + + reloc_addr[0] = OPCODE_LWZ (12, + (Elf32_Word) (data_words + index), 11); } } MODIFIED_CODE (reloc_addr); @@ -389,7 +426,7 @@ __process_machine_rela (struct link_map case R_PPC_REL24: { - Elf32_Sword delta = finaladdr - (Elf32_Word) (char *) reloc_addr; + Elf32_Sword delta = finaladdr - (Elf32_Word) reloc_addr; if (delta << 6 >> 6 != delta) _dl_signal_error (0, map->l_name, "R_PPC_REL24 relocation out of range"); @@ -418,12 +455,52 @@ __process_machine_rela (struct link_map return; case R_PPC_REL32: - *reloc_addr = finaladdr - (Elf32_Word) (char *) reloc_addr; + *reloc_addr = finaladdr - (Elf32_Word) reloc_addr; return; case R_PPC_JMP_SLOT: - elf_machine_fixup_plt (map, reloc, reloc_addr, finaladdr); - return; + /* It used to be that elf_machine_fixup_plt was used here, + but that doesn't work when ld.so relocates itself + for the second time. On the bright side, there's + no need to worry about thread-safety here. */ + { + Elf32_Sword delta = finaladdr - (Elf32_Word) reloc_addr; + if (delta << 6 >> 6 == delta) + *reloc_addr = OPCODE_B (delta); + else if (finaladdr <= 0x01fffffc || finaladdr >= 0xfe000000) + *reloc_addr = OPCODE_BA (finaladdr); + else + { + Elf32_Word *plt, *data_words; + Elf32_Word index, offset, num_plt_entries; + + plt = (Elf32_Word *) map->l_info[DT_PLTGOT]->d_un.d_val; + offset = reloc_addr - plt; + + if (offset < PLT_DOUBLE_SIZE*2 + PLT_INITIAL_ENTRY_WORDS) + { + index = (offset - PLT_INITIAL_ENTRY_WORDS)/2; + num_plt_entries = (map->l_info[DT_PLTRELSZ]->d_un.d_val + / sizeof(Elf32_Rela)); + data_words = plt + PLT_DATA_START_WORDS (num_plt_entries); + data_words[index] = finaladdr; + reloc_addr[0] = OPCODE_LI (11, index * 4); + reloc_addr[1] = OPCODE_B ((PLT_LONGBRANCH_ENTRY_WORDS + - (offset+1)) + * 4); + MODIFIED_CODE_NOQUEUE (reloc_addr + 1); + } + else + { + reloc_addr[0] = OPCODE_LIS_HI (12, finaladdr); + reloc_addr[1] = OPCODE_ADDI (12, 12, finaladdr); + reloc_addr[2] = OPCODE_MTCTR (12); + reloc_addr[3] = OPCODE_BCTR (); + MODIFIED_CODE_NOQUEUE (reloc_addr + 3); + } + } + } + break; default: _dl_sysdep_error (_dl_argv[0] ?: "<program name unknown>", diff -durpN glibc-2.1.2/sysdeps/powerpc/feholdexcpt.c glibc-2.1.3/sysdeps/powerpc/feholdexcpt.c --- glibc-2.1.2/sysdeps/powerpc/feholdexcpt.c Tue May 20 18:25:35 1997 +++ glibc-2.1.3/sysdeps/powerpc/feholdexcpt.c Fri Feb 11 15:49:58 2000 @@ -34,5 +34,5 @@ feholdexcept (fenv_t *envp) /* Put the new state in effect. */ fesetenv_register (u.fenv); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/powerpc/fesetround.c glibc-2.1.3/sysdeps/powerpc/fesetround.c --- glibc-2.1.2/sysdeps/powerpc/fesetround.c Thu Dec 31 10:14:48 1998 +++ glibc-2.1.3/sysdeps/powerpc/fesetround.c Fri Feb 11 15:49:58 2000 @@ -26,7 +26,7 @@ fesetround (int round) fenv_union_t u; if ((unsigned int) round > 3) - return 0; + return 1; /* Get the current state. */ u.fenv = fegetenv_register (); @@ -37,5 +37,5 @@ fesetround (int round) /* Put the new state in effect. */ fesetenv_register (u.fenv); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/powerpc/stackinfo.h glibc-2.1.3/sysdeps/powerpc/stackinfo.h --- glibc-2.1.2/sysdeps/powerpc/stackinfo.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/powerpc/stackinfo.h Sun Nov 14 16:09:06 1999 @@ -0,0 +1,28 @@ +/* Copyright (C) 1999 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. */ + +/* This file contains a bit of information about the stack allocation + of the processor. */ + +#ifndef _STACKINFO_H +#define _STACKINFO_H 1 + +/* On PPC the stack grows down. */ +#define _STACK_GROWS_DOWN 1 + +#endif /* stackinfo.h */ diff -durpN glibc-2.1.2/sysdeps/sparc/fpu/bits/mathdef.h glibc-2.1.3/sysdeps/sparc/fpu/bits/mathdef.h --- glibc-2.1.2/sysdeps/sparc/fpu/bits/mathdef.h Tue Nov 10 11:10:53 1998 +++ glibc-2.1.3/sysdeps/sparc/fpu/bits/mathdef.h Tue Dec 21 15:52:06 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 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 @@ -20,10 +20,14 @@ # error "Never use <bits/mathdef.h> directly; include <math.h> instead" #endif +#include <bits/wordsize.h> + /* FIXME! This file describes properties of the compiler, not the machine; it should not be part of libc! */ -#if defined __USE_ISOC9X && defined _MATH_H +#if defined __USE_ISOC9X && defined _MATH_H && !defined _MATH_H_MATHDEF +# define _MATH_H_MATHDEF 1 + # ifdef __GNUC__ # if __STDC__ == 1 @@ -71,10 +75,15 @@ typedef double double_t; /* Number of decimal digits for the `double' type. */ # define DECIMAL_DIG 15 -#endif /* ISO C 9X */ +#endif /* ISO C99 */ #ifndef __NO_LONG_DOUBLE_MATH -/* Signal that we do not really have a `long double'. The disables the - declaration of all the `long double' function variants. */ -# define __NO_LONG_DOUBLE_MATH 1 + +# if __WORDSIZE == 32 +/* Signal that in 32bit ABI we do not really have a `long double'. + The disables the declaration of all the `long double' function + variants. */ +# define __NO_LONG_DOUBLE_MATH 1 +# endif + #endif diff -durpN glibc-2.1.2/sysdeps/sparc/fpu/feholdexcpt.c glibc-2.1.3/sysdeps/sparc/fpu/feholdexcpt.c --- glibc-2.1.2/sysdeps/sparc/fpu/feholdexcpt.c Fri Sep 25 14:48:40 1998 +++ glibc-2.1.3/sysdeps/sparc/fpu/feholdexcpt.c Fri Feb 11 15:49:58 2000 @@ -31,5 +31,5 @@ feholdexcept (fenv_t *envp) __fenv_ldfsr (tmp); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/sparc/fpu/fesetround.c glibc-2.1.3/sysdeps/sparc/fpu/fesetround.c --- glibc-2.1.2/sysdeps/sparc/fpu/fesetround.c Wed Aug 13 18:44:55 1997 +++ glibc-2.1.3/sysdeps/sparc/fpu/fesetround.c Fri Feb 11 15:49:58 2000 @@ -26,12 +26,12 @@ fesetround (int round) if ((round & ~__FE_ROUND_MASK) != 0) /* ROUND is no valid rounding mode. */ - return 0; + return 1; __fenv_stfsr (tmp); tmp &= ~__FE_ROUND_MASK; tmp |= round; __fenv_ldfsr (tmp); - return 1; + return 0; } diff -durpN glibc-2.1.2/sysdeps/sparc/sparc32/dl-machine.h glibc-2.1.3/sysdeps/sparc/sparc32/dl-machine.h --- glibc-2.1.2/sysdeps/sparc/sparc32/dl-machine.h Sat Feb 20 10:26:00 1999 +++ glibc-2.1.3/sysdeps/sparc/sparc32/dl-machine.h Tue Nov 23 09:04:36 1999 @@ -57,7 +57,9 @@ elf_machine_matches_host (Elf32_Half e_m weak_extern (_dl_hwcap_mask); hwcap = WEAKADDR(_dl_hwcap); - return hwcap && (*hwcap & _dl_hwcap_mask & HWCAP_SPARC_V9); + /* XXX The following is wrong! Dave Miller rejected to implement it + correctly. If this causes problems shoot *him*! */ + return hwcap == NULL || (*hwcap & _dl_hwcap_mask & HWCAP_SPARC_V9); } else return 0; diff -durpN glibc-2.1.2/sysdeps/sparc/sparc32/memcpy.S glibc-2.1.3/sysdeps/sparc/sparc32/memcpy.S --- glibc-2.1.2/sysdeps/sparc/sparc32/memcpy.S Mon Mar 29 05:25:10 1999 +++ glibc-2.1.3/sysdeps/sparc/sparc32/memcpy.S Tue Nov 23 09:02:58 1999 @@ -163,16 +163,10 @@ b 3f sub %o0, 2, %o0 -0: retl - nop ! Only bcopy returns here and it retuns void... - ENTRY(bcopy) mov %o0, %o3 mov %o1, %o0 mov %o3, %o1 - tst %o2 - bcs 0b - /* Do the cmp in the delay slot */ END(bcopy) ENTRY(memmove) cmp %o0, %o1 diff -durpN glibc-2.1.2/sysdeps/sparc/sparc32/sparcv9/memmove.c glibc-2.1.3/sysdeps/sparc/sparc32/sparcv9/memmove.c --- glibc-2.1.2/sysdeps/sparc/sparc32/sparcv9/memmove.c Wed Apr 14 08:48:28 1999 +++ glibc-2.1.3/sysdeps/sparc/sparc32/sparcv9/memmove.c Tue Nov 23 09:02:58 1999 @@ -1 +1 @@ -#include <sysdeps/generic/memmove.c> +/* memmove is in memcpy.S */ diff -durpN glibc-2.1.2/sysdeps/sparc/sparc64/memcpy.S glibc-2.1.3/sysdeps/sparc/sparc64/memcpy.S --- glibc-2.1.2/sysdeps/sparc/sparc64/memcpy.S Wed May 19 07:21:55 1999 +++ glibc-2.1.3/sysdeps/sparc/sparc64/memcpy.S Tue Nov 23 09:02:58 1999 @@ -3,7 +3,7 @@ Copyright (C) 1996, 97, 98, 99 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David S. Miller (davem@caip.rutgers.edu) and - Jakub Jelinek (jj@ultra.linux.cz). + Jakub Jelinek (jakub@redhat.com). 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 @@ -24,6 +24,7 @@ #include <asm/asi.h> #ifndef XCC #define USE_BPR +#define XCC xcc #endif #define FPRS_FEF 4 @@ -132,16 +133,76 @@ stx %t0, [%dst - offset - 0x10]; \ stx %t1, [%dst - offset - 0x08]; + /* Macros for non-VIS memmove code. */ +#define RMOVE_BIGCHUNK(src, dst, offset, t0, t1, t2, t3) \ + ldx [%src - offset - 0x20], %t0; \ + ldx [%src - offset - 0x18], %t1; \ + ldx [%src - offset - 0x10], %t2; \ + ldx [%src - offset - 0x08], %t3; \ + stw %t0, [%dst - offset - 0x1c]; \ + srlx %t0, 32, %t0; \ + stw %t0, [%dst - offset - 0x20]; \ + stw %t1, [%dst - offset - 0x14]; \ + srlx %t1, 32, %t1; \ + stw %t1, [%dst - offset - 0x18]; \ + stw %t2, [%dst - offset - 0x0c]; \ + srlx %t2, 32, %t2; \ + stw %t2, [%dst - offset - 0x10]; \ + stw %t3, [%dst - offset - 0x04]; \ + srlx %t3, 32, %t3; \ + stw %t3, [%dst - offset - 0x08]; + +#define RMOVE_BIGALIGNCHUNK(src, dst, offset, t0, t1, t2, t3) \ + ldx [%src - offset - 0x20], %t0; \ + ldx [%src - offset - 0x18], %t1; \ + ldx [%src - offset - 0x10], %t2; \ + ldx [%src - offset - 0x08], %t3; \ + stx %t0, [%dst - offset - 0x20]; \ + stx %t1, [%dst - offset - 0x18]; \ + stx %t2, [%dst - offset - 0x10]; \ + stx %t3, [%dst - offset - 0x08]; \ + ldx [%src - offset - 0x40], %t0; \ + ldx [%src - offset - 0x38], %t1; \ + ldx [%src - offset - 0x30], %t2; \ + ldx [%src - offset - 0x28], %t3; \ + stx %t0, [%dst - offset - 0x40]; \ + stx %t1, [%dst - offset - 0x38]; \ + stx %t2, [%dst - offset - 0x30]; \ + stx %t3, [%dst - offset - 0x28]; + +#define RMOVE_LASTCHUNK(src, dst, offset, t0, t1, t2, t3) \ + ldx [%src + offset + 0x00], %t0; \ + ldx [%src + offset + 0x08], %t1; \ + stw %t0, [%dst + offset + 0x04]; \ + srlx %t0, 32, %t2; \ + stw %t2, [%dst + offset + 0x00]; \ + stw %t1, [%dst + offset + 0x0c]; \ + srlx %t1, 32, %t3; \ + stw %t3, [%dst + offset + 0x08]; + +#define RMOVE_LASTALIGNCHUNK(src, dst, offset, t0, t1) \ + ldx [%src + offset + 0x00], %t0; \ + ldx [%src + offset + 0x08], %t1; \ + stx %t0, [%dst + offset + 0x00]; \ + stx %t1, [%dst + offset + 0x08]; + .text .align 32 ENTRY(bcopy) - or %o0, 0, %g3 /* IEU0 Group */ - addcc %o1, 0, %o0 /* IEU1 */ - brgez,pt %o2, 210f /* CTI */ - or %g3, 0, %o1 /* IEU0 Group */ - retl /* CTI Group brk forced*/ - clr %o0 /* IEU0 */ + sub %o1, %o0, %o4 /* IEU0 Group */ + mov %o0, %g3 /* IEU1 */ + cmp %o4, %o2 /* IEU1 Group */ + mov %o1, %o0 /* IEU0 */ + bgeu,pt %XCC, 210f /* CTI */ + mov %g3, %o1 /* IEU0 Group */ +#ifndef USE_BPR + srl %o2, 0, %o2 /* IEU1 */ +#endif + brnz,pn %o2, 220f /* CTI Group */ + add %o0, %o2, %o0 /* IEU0 */ + retl + nop END(bcopy) .align 32 @@ -447,7 +508,7 @@ ENTRY(memcpy) #endif brz,pn %o2, 209b /* CTI Group */ mov %o0, %g4 /* IEU0 */ - cmp %o2, 15 /* IEU1 Group */ +218: cmp %o2, 15 /* IEU1 Group */ bleu,pn %xcc, 208b /* CTI */ cmp %o2, (64 * 6) /* IEU1 Group */ bgeu,pn %xcc, 200b /* CTI */ @@ -632,6 +693,222 @@ ENTRY(memcpy) retl mov %g4, %o0 END(memcpy) + + .align 32 +228: andcc %o2, 1, %g0 /* IEU1 Group */ + be,pt %icc, 2f+4 /* CTI */ +1: ldub [%o1 - 1], %o5 /* LOAD Group */ + sub %o1, 1, %o1 /* IEU0 */ + sub %o0, 1, %o0 /* IEU1 */ + subcc %o2, 1, %o2 /* IEU1 Group */ + be,pn %xcc, 229f /* CTI */ + stb %o5, [%o0] /* Store */ +2: ldub [%o1 - 1], %o5 /* LOAD Group */ + sub %o0, 2, %o0 /* IEU0 */ + ldub [%o1 - 2], %g5 /* LOAD Group */ + sub %o1, 2, %o1 /* IEU0 */ + subcc %o2, 2, %o2 /* IEU1 Group */ + stb %o5, [%o0 + 1] /* Store */ + bne,pt %xcc, 2b /* CTI */ + stb %g5, [%o0] /* Store */ +229: retl + mov %g4, %o0 +219: retl + nop + + .align 32 +ENTRY(memmove) +#ifndef USE_BPR + srl %o2, 0, %o2 /* IEU1 Group */ +#endif + brz,pn %o2, 219b /* CTI Group */ + sub %o0, %o1, %o4 /* IEU0 */ + cmp %o4, %o2 /* IEU1 Group */ + bgeu,pt %XCC, 218b /* CTI */ + mov %o0, %g4 /* IEU0 */ + add %o0, %o2, %o0 /* IEU0 Group */ +220: add %o1, %o2, %o1 /* IEU1 */ + cmp %o2, 15 /* IEU1 Group */ + bleu,pn %xcc, 228b /* CTI */ + andcc %o0, 7, %g2 /* IEU1 Group */ + sub %o0, %o1, %g5 /* IEU0 */ + andcc %g5, 3, %o5 /* IEU1 Group */ + bne,pn %xcc, 232f /* CTI */ + andcc %o1, 3, %g0 /* IEU1 Group */ + be,a,pt %xcc, 236f /* CTI */ + andcc %o1, 4, %g0 /* IEU1 Group */ + andcc %o1, 1, %g0 /* IEU1 Group */ + be,pn %xcc, 4f /* CTI */ + andcc %o1, 2, %g0 /* IEU1 Group */ + ldub [%o1 - 1], %g2 /* Load Group */ + sub %o1, 1, %o1 /* IEU0 */ + sub %o0, 1, %o0 /* IEU1 */ + sub %o2, 1, %o2 /* IEU0 Group */ + be,pn %xcc, 5f /* CTI Group */ + stb %g2, [%o0] /* Store */ +4: lduh [%o1 - 2], %g2 /* Load Group */ + sub %o1, 2, %o1 /* IEU0 */ + sub %o0, 2, %o0 /* IEU1 */ + sub %o2, 2, %o2 /* IEU0 */ + sth %g2, [%o0] /* Store Group + bubble */ +5: andcc %o1, 4, %g0 /* IEU1 */ +236: be,a,pn %xcc, 2f /* CTI */ + andcc %o2, -128, %g7 /* IEU1 Group */ + lduw [%o1 - 4], %g5 /* Load Group */ + sub %o1, 4, %o1 /* IEU0 */ + sub %o0, 4, %o0 /* IEU1 */ + sub %o2, 4, %o2 /* IEU0 Group */ + stw %g5, [%o0] /* Store */ + andcc %o2, -128, %g7 /* IEU1 Group */ +2: be,pn %xcc, 235f /* CTI */ + andcc %o0, 4, %g0 /* IEU1 Group */ + be,pn %xcc, 282f + 4 /* CTI Group */ +5: RMOVE_BIGCHUNK(o1, o0, 0x00, g1, g3, g5, o5) + RMOVE_BIGCHUNK(o1, o0, 0x20, g1, g3, g5, o5) + RMOVE_BIGCHUNK(o1, o0, 0x40, g1, g3, g5, o5) + RMOVE_BIGCHUNK(o1, o0, 0x60, g1, g3, g5, o5) + subcc %g7, 128, %g7 /* IEU1 Group */ + sub %o1, 128, %o1 /* IEU0 */ + bne,pt %xcc, 5b /* CTI */ + sub %o0, 128, %o0 /* IEU0 Group */ +235: andcc %o2, 0x70, %g7 /* IEU1 Group */ +41: be,pn %xcc, 280f /* CTI */ + andcc %o2, 8, %g0 /* IEU1 Group */ + /* Clk1 8-( */ + /* Clk2 8-( */ + /* Clk3 8-( */ + /* Clk4 8-( */ +279: rd %pc, %o5 /* PDU Group */ + sll %g7, 1, %g5 /* IEU0 Group */ + sub %o1, %g7, %o1 /* IEU1 */ + sub %o5, %g5, %o5 /* IEU0 Group */ + jmpl %o5 + %lo(280f - 279b), %g0 /* CTI Group brk forced*/ + sub %o0, %g7, %o0 /* IEU0 Group */ + RMOVE_LASTCHUNK(o1, o0, 0x60, g2, g3, g5, o5) + RMOVE_LASTCHUNK(o1, o0, 0x50, g2, g3, g5, o5) + RMOVE_LASTCHUNK(o1, o0, 0x40, g2, g3, g5, o5) + RMOVE_LASTCHUNK(o1, o0, 0x30, g2, g3, g5, o5) + RMOVE_LASTCHUNK(o1, o0, 0x20, g2, g3, g5, o5) + RMOVE_LASTCHUNK(o1, o0, 0x10, g2, g3, g5, o5) + RMOVE_LASTCHUNK(o1, o0, 0x00, g2, g3, g5, o5) +280: be,pt %xcc, 281f /* CTI */ + andcc %o2, 4, %g0 /* IEU1 */ + ldx [%o1 - 8], %g2 /* Load Group */ + sub %o0, 8, %o0 /* IEU0 */ + stw %g2, [%o0 + 4] /* Store Group */ + sub %o1, 8, %o1 /* IEU1 */ + srlx %g2, 32, %g2 /* IEU0 Group */ + stw %g2, [%o0] /* Store */ +281: be,pt %xcc, 1f /* CTI */ + andcc %o2, 2, %g0 /* IEU1 Group */ + lduw [%o1 - 4], %g2 /* Load Group */ + sub %o1, 4, %o1 /* IEU0 */ + stw %g2, [%o0 - 4] /* Store Group */ + sub %o0, 4, %o0 /* IEU0 */ +1: be,pt %xcc, 1f /* CTI */ + andcc %o2, 1, %g0 /* IEU1 Group */ + lduh [%o1 - 2], %g2 /* Load Group */ + sub %o1, 2, %o1 /* IEU0 */ + sth %g2, [%o0 - 2] /* Store Group */ + sub %o0, 2, %o0 /* IEU0 */ +1: be,pt %xcc, 211f /* CTI */ + nop /* IEU1 */ + ldub [%o1 - 1], %g2 /* Load Group */ + stb %g2, [%o0 - 1] /* Store Group + bubble */ +211: retl + mov %g4, %o0 + +282: RMOVE_BIGALIGNCHUNK(o1, o0, 0x00, g1, g3, g5, o5) + RMOVE_BIGALIGNCHUNK(o1, o0, 0x40, g1, g3, g5, o5) + subcc %g7, 128, %g7 /* IEU1 Group */ + sub %o1, 128, %o1 /* IEU0 */ + bne,pt %xcc, 282b /* CTI */ + sub %o0, 128, %o0 /* IEU0 Group */ + andcc %o2, 0x70, %g7 /* IEU1 */ + be,pn %xcc, 284f /* CTI */ + andcc %o2, 8, %g0 /* IEU1 Group */ + /* Clk1 8-( */ + /* Clk2 8-( */ + /* Clk3 8-( */ + /* Clk4 8-( */ +283: rd %pc, %o5 /* PDU Group */ + sub %o1, %g7, %o1 /* IEU0 Group */ + sub %o5, %g7, %o5 /* IEU1 */ + jmpl %o5 + %lo(284f - 283b), %g0 /* CTI Group brk forced*/ + sub %o0, %g7, %o0 /* IEU0 Group */ + RMOVE_LASTALIGNCHUNK(o1, o0, 0x60, g2, g3) + RMOVE_LASTALIGNCHUNK(o1, o0, 0x50, g2, g3) + RMOVE_LASTALIGNCHUNK(o1, o0, 0x40, g2, g3) + RMOVE_LASTALIGNCHUNK(o1, o0, 0x30, g2, g3) + RMOVE_LASTALIGNCHUNK(o1, o0, 0x20, g2, g3) + RMOVE_LASTALIGNCHUNK(o1, o0, 0x10, g2, g3) + RMOVE_LASTALIGNCHUNK(o1, o0, 0x00, g2, g3) +284: be,pt %xcc, 285f /* CTI Group */ + andcc %o2, 4, %g0 /* IEU1 */ + ldx [%o1 - 8], %g2 /* Load Group */ + sub %o0, 8, %o0 /* IEU0 */ + sub %o1, 8, %o1 /* IEU0 Group */ + stx %g2, [%o0] /* Store */ +285: be,pt %xcc, 1f /* CTI */ + andcc %o2, 2, %g0 /* IEU1 Group */ + lduw [%o1 - 4], %g2 /* Load Group */ + sub %o0, 4, %o0 /* IEU0 */ + sub %o1, 4, %o1 /* IEU0 Group */ + stw %g2, [%o0] /* Store */ +1: be,pt %xcc, 1f /* CTI */ + andcc %o2, 1, %g0 /* IEU1 Group */ + lduh [%o1 - 2], %g2 /* Load Group */ + sub %o0, 2, %o0 /* IEU0 */ + sub %o1, 2, %o1 /* IEU0 Group */ + sth %g2, [%o0] /* Store */ +1: be,pt %xcc, 1f /* CTI */ + nop /* IEU0 Group */ + ldub [%o1 - 1], %g2 /* Load Group */ + stb %g2, [%o0 - 1] /* Store Group + bubble */ +1: retl + mov %g4, %o0 + +232: brz,pt %g2, 2f /* CTI Group */ + sub %o2, %g2, %o2 /* IEU0 Group */ +1: ldub [%o1 - 1], %g5 /* Load Group */ + sub %o1, 1, %o1 /* IEU0 */ + sub %o0, 1, %o0 /* IEU1 */ + subcc %g2, 1, %g2 /* IEU1 Group */ + bne,pt %xcc, 1b /* CTI */ + stb %g5, [%o0] /* Store */ +2: andn %o2, 7, %g5 /* IEU0 Group */ + and %o2, 7, %o2 /* IEU1 */ + fmovd %f0, %f2 /* FPU */ + alignaddr %o1, %g0, %g1 /* GRU Group */ + ldd [%g1], %f4 /* Load Group */ +1: ldd [%g1 - 8], %f6 /* Load Group */ + sub %g1, 8, %g1 /* IEU0 Group */ + subcc %g5, 8, %g5 /* IEU1 */ + faligndata %f6, %f4, %f0 /* GRU Group */ + std %f0, [%o0 - 8] /* Store */ + sub %o1, 8, %o1 /* IEU0 Group */ + be,pn %xcc, 233f /* CTI */ + sub %o0, 8, %o0 /* IEU1 */ + ldd [%g1 - 8], %f4 /* Load Group */ + sub %g1, 8, %g1 /* IEU0 */ + subcc %g5, 8, %g5 /* IEU1 */ + faligndata %f4, %f6, %f0 /* GRU Group */ + std %f0, [%o0 - 8] /* Store */ + sub %o1, 8, %o1 /* IEU0 */ + bne,pn %xcc, 1b /* CTI Group */ + sub %o0, 8, %o0 /* IEU0 */ +233: brz,pn %o2, 234f /* CTI Group */ + nop /* IEU0 */ +237: ldub [%o1 - 1], %g5 /* LOAD */ + sub %o1, 1, %o1 /* IEU0 */ + sub %o0, 1, %o0 /* IEU1 */ + subcc %o2, 1, %o2 /* IEU1 */ + bne,pt %xcc, 237b /* CTI */ + stb %g5, [%o0] /* Store Group */ +234: wr %g0, FPRS_FEF, %fprs + retl + mov %g4, %o0 +END(memmove) #ifdef USE_BPR weak_alias(memcpy, __align_cpy_1) diff -durpN glibc-2.1.2/sysdeps/sparc/sparc64/memmove.c glibc-2.1.3/sysdeps/sparc/sparc64/memmove.c --- glibc-2.1.2/sysdeps/sparc/sparc64/memmove.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/sparc/sparc64/memmove.c Tue Nov 23 09:02:58 1999 @@ -0,0 +1 @@ +/* memmove is in memcpy.S */ diff -durpN glibc-2.1.2/sysdeps/unix/getlogin_r.c glibc-2.1.3/sysdeps/unix/getlogin_r.c --- glibc-2.1.2/sysdeps/unix/getlogin_r.c Thu Jul 16 04:32:15 1998 +++ glibc-2.1.3/sysdeps/unix/getlogin_r.c Tue Nov 9 20:53:13 1999 @@ -40,20 +40,20 @@ getlogin_r (name, name_len) int result = 0; struct utmp *ut, line, buffer; - { - int d = __open ("/dev/tty", 0); - if (d < 0) - return errno; - - result = __ttyname_r (d, real_tty_path, sizeof (tty_pathname)); - (void) __close (d); + /* Get name of tty connected to fd 0. Return if not a tty or + if fd 0 isn't open. Note that a lot of documentation says that + getlogin() is based on the controlling terminal---what they + really mean is "the terminal connected to standard input". The + getlogin() implementation of DEC Unix, SunOS, Solaris, HP-UX all + return NULL if fd 0 has been closed, so this is the compatible + thing to do. Note that ttyname(open("/dev/tty")) on those + systems returns /dev/tty, so that is not a possible solution for + getlogin(). */ - if (result != 0) - { - __set_errno (result); - return result; - } - } + result = __ttyname_r (0, real_tty_path, sizeof (tty_pathname)); + + if (result != 0) + return result; real_tty_path += 5; /* Remove "/dev/". */ @@ -69,16 +69,16 @@ getlogin_r (name, name_len) } else { - size_t needed = strlen (ut->ut_line) + 1; + size_t needed = strlen (ut->ut_user) + 1; - if (needed < name_len) + if (needed > name_len) { __set_errno (ERANGE); result = ERANGE; } else { - memcpy (name, ut->ut_line, needed); + memcpy (name, ut->ut_user, needed); result = 0; } } diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/Dist glibc-2.1.3/sysdeps/unix/sysv/linux/Dist --- glibc-2.1.2/sysdeps/unix/sysv/linux/Dist Sun May 16 01:52:10 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/Dist Tue Jan 25 21:48:30 2000 @@ -4,6 +4,7 @@ errlist.h getdirentries.c getdirentries64.c init-first.h +internal_statvfs.c kernel_sigaction.h kernel_stat.h kernel_termios.h @@ -51,9 +52,9 @@ rt_sigtimedwait.c sa_len.c scsi/sg.h scsi/scsi.h +scsi/scsi_ioctl.h sys/acct.h sys/fsuid.h -sys/io.h sys/kd.h sys/kdaemon.h sys/klog.h @@ -62,6 +63,7 @@ sys/pci.h sys/prctl.h sys/procfs.h sys/quota.h +sys/raw.h sys/sendfile.h sys/soundcard.h sys/sysctl.h diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/Makefile glibc-2.1.3/sysdeps/unix/sysv/linux/Makefile --- glibc-2.1.2/sysdeps/unix/sysv/linux/Makefile Sun May 16 01:52:11 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/Makefile Tue Jan 25 20:09:26 2000 @@ -8,16 +8,20 @@ ifeq ($(subdir),db2) CPPFLAGS += -DHAVE_LLSEEK=1 endif +ifeq ($(subdir),malloc) +CFLAGS-malloc.c = -DMORECORE_CLEARS=2 +endif + ifeq ($(subdir),misc) sysdep_routines += sysctl clone llseek getresuid getresgid umount umount2 sysdep_headers += sys/mount.h sys/acct.h sys/sysctl.h \ - sys/io.h sys/klog.h sys/kdaemon.h \ + sys/klog.h sys/kdaemon.h \ sys/user.h sys/procfs.h sys/prctl.h \ sys/kd.h sys/soundcard.h sys/vt.h \ sys/quota.h sys/fsuid.h \ - scsi/sg.h scsi/scsi.h sys/pci.h sys/ultrasound.h \ - sys/sendfile.h + scsi/sg.h scsi/scsi.h scsi/scsi_ioctl.h sys/pci.h \ + sys/ultrasound.h sys/sendfile.h sys/raw.h install-others += $(inst_includedir)/bits/syscall.h diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/Makefile glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/Makefile --- glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/Makefile Wed Oct 21 08:40:13 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/Makefile Tue Jan 25 20:09:28 2000 @@ -3,7 +3,7 @@ sysdep_routines += oldglob endif ifeq ($(subdir),misc) -sysdep_headers += alpha/ptrace.h alpha/regdef.h +sysdep_headers += alpha/ptrace.h alpha/regdef.h sys/io.h sysdep_routines += ieee_get_fp_control ieee_set_fp_control \ sethae ioperm osf_sigprocmask llseek adjtimex diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/bits/resource.h glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/bits/resource.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/bits/resource.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/bits/resource.h Sat Dec 18 16:07:11 1999 @@ -0,0 +1,204 @@ +/* Bit values & structures for resource limits. Alpha/Linux version. + Copyright (C) 1994, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_RESOURCE_H +# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead." +#endif + +#include <bits/types.h> + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + RLIMIT_RSS = 5, +#define RLIMIT_RSS RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 6, + RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 7, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + RLIMIT_NPROC = 8, +#define RLIMIT_NPROC RLIMIT_NPROC + + /* Locked-in-memory address space. */ + RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK + + RLIM_NLIMITS = 10 +#define RLIMIT_NLIMITS RLIMIT_NLIMITS +#define RLIM_NLIMITS RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +#else +# define RLIM_INFINITY 0x7fffffffffffffffLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0x7fffffffffffffffLL +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1, +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + + /* Both. */ + RUSAGE_BOTH = -2 +#define RUSAGE_BOTH RUSAGE_BOTH +}; + +#define __need_timeval +#include <bits/time.h> /* For `struct timeval'. */ + +/* Structure which says how much of each resource has been used. */ +struct rusage + { + /* Total amount of user time used. */ + struct timeval ru_utime; + /* Total amount of system time used. */ + struct timeval ru_stime; + /* Maximum resident set size (in kilobytes). */ + long int ru_maxrss; + /* Amount of sharing of text segment memory + with other processes (kilobyte-seconds). */ + long int ru_ixrss; + /* Amount of data segment memory used (kilobyte-seconds). */ + long int ru_idrss; + /* Amount of stack memory used (kilobyte-seconds). */ + long int ru_isrss; + /* Number of soft page faults (i.e. those serviced by reclaiming + a page from the list of pages awaiting reallocation. */ + long int ru_minflt; + /* Number of hard page faults (i.e. those that required I/O). */ + long int ru_majflt; + /* Number of times a process was swapped out of physical memory. */ + long int ru_nswap; + /* Number of input operations via the file system. Note: This + and `ru_oublock' do not include operations with the cache. */ + long int ru_inblock; + /* Number of output operations via the file system. */ + long int ru_oublock; + /* Number of IPC messages sent. */ + long int ru_msgsnd; + /* Number of IPC messages received. */ + long int ru_msgrcv; + /* Number of signals delivered. */ + long int ru_nsignals; + /* Number of voluntary context switches, i.e. because the process + gave up the process before it had to (usually to wait for some + resource to be available). */ + long int ru_nvcsw; + /* Number of involuntary context switches, i.e. a higher priority process + became runnable or the current process used up its time slice. */ + long int ru_nivcsw; + }; + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h Tue Sep 22 05:44:35 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/bits/sigaction.h Tue Feb 22 23:03:28 2000 @@ -1,5 +1,5 @@ /* The proper definitions for Linux/Alpha sigaction. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999, 2000 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 @@ -25,7 +25,20 @@ struct sigaction { /* Signal handler. */ +#ifdef __USE_POSIX199309 + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) __PMT ((int, siginfo_t *, void *)); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else __sighandler_t sa_handler; +#endif /* Additional set of signals to be blocked. */ __sigset_t sa_mask; @@ -36,6 +49,9 @@ struct sigaction /* Bits in `sa_flags'. */ #define SA_NOCLDSTOP 0x00000004 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00000020 /* Don't create zombie on child death. */ +#define SA_SIGINFO 0x00000040 /* Invoke signal-catching function with three + arguments instead of one. */ #ifdef __USE_MISC # define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ # define SA_RESTART 0x00000002 /* Restart syscall on signal return. */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/bits/types.h glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/bits/types.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/bits/types.h Fri Apr 16 10:06:33 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/bits/types.h Tue Dec 21 15:52:15 1999 @@ -57,8 +57,8 @@ typedef __int64_t __off64_t; /* "" (L typedef __int64_t __loff_t; /* Type of file sizes and offsets. */ typedef __int32_t __pid_t; /* Type of process identifications. */ typedef __int64_t __ssize_t; /* Type of a byte count, or error. */ -typedef __int64_t __rlim_t; /* Type of resource counts. */ -typedef __int64_t __rlim64_t; /* "" (LFS) */ +typedef __uint64_t __rlim_t; /* Type of resource counts. */ +typedef __uint64_t __rlim64_t; /* "" (LFS) */ typedef __uint32_t __blkcnt_t; /* Type to count nr disk blocks. */ typedef __uint64_t __blkcnt64_t; /* "" (LFS) */ typedef __int32_t __fsblkcnt_t; /* Type to count file system blocks. */ @@ -114,8 +114,8 @@ typedef struct } __fd_set; /* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; +typedef long int __t_scalar_t; +typedef unsigned long int __t_uscalar_t; /* Duplicates info from stdint.h but this is used in unistd.h. */ typedef long int __intptr_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/ioperm.c glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/ioperm.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/ioperm.c Tue Jul 6 16:06:54 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/ioperm.c Mon Oct 4 12:57:32 1999 @@ -436,6 +436,8 @@ static struct ioswtch ioswtch[] = { } }; +#undef DEBUG_IOPERM + /* routine to process the /proc/cpuinfo information into the fields */ /* that are required for correctly determining the platform parameters */ @@ -474,7 +476,7 @@ process_cpuinfo(void) fclose (fp); -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "system type: %s\n", systype); fprintf(stderr, "system vari: %s\n", sysvari); fprintf(stderr, "cpu model: %s\n", cpumodel); @@ -598,7 +600,7 @@ init_iosys (void) /* systype is not a know platform name... */ __set_errno (EINVAL); -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "init_iosys: platform not recognized\n"); #endif return -1; @@ -612,7 +614,7 @@ _ioperm (unsigned long int from, unsigne int prot, err; if (!io.swp && init_iosys() < 0) { -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "ioperm: init_iosys() failed\n"); #endif return -1; @@ -622,13 +624,13 @@ _ioperm (unsigned long int from, unsigne if (from >= MAX_PORT || from + num > MAX_PORT) { __set_errno (EINVAL); -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "ioperm: from/num out of range\n"); #endif return -1; } -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "ioperm: turn_on %d io.base %ld\n", turn_on, io.base); #endif @@ -645,7 +647,7 @@ _ioperm (unsigned long int from, unsigne fd = open ("/dev/mem", O_RDWR); if (fd < 0) { -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "ioperm: /dev/mem open failed\n"); #endif return -1; @@ -657,7 +659,7 @@ _ioperm (unsigned long int from, unsigne (unsigned long int) __mmap (0, len, PROT_NONE, MAP_SHARED, fd, io.io_base); close (fd); -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "ioperm: mmap of len 0x%lx returned 0x%lx\n", len, io.base); #endif @@ -678,7 +680,7 @@ _ioperm (unsigned long int from, unsigne addr &= PAGE_MASK; len = port_to_cpu_addr (from + num, io.swiz, 1) - addr; err = mprotect ((void *) addr, len, prot); -#if 1 +#ifdef DEBUG_IOPERM fprintf(stderr, "ioperm: mprotect returned %d\n", err); #endif return err; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/sys/io.h glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/sys/io.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/sys/io.h Wed Nov 27 20:16:03 1996 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/sys/io.h Tue Jan 25 20:09:29 2000 @@ -17,15 +17,12 @@ Boston, MA 02111-1307, USA. */ #ifndef _SYS_IO_H - #define _SYS_IO_H 1 + #include <features.h> __BEGIN_DECLS -/* Get constants from kernel header files. */ -#include <asm/io.h> - /* If TURN_ON is TRUE, request for permission to do direct i/o on the port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O permission off for that range. This call requires root privileges. @@ -66,6 +63,13 @@ extern int pciconfig_write __P ((unsigne unsigned long int __off, unsigned long int __len, unsigned char *__buf)); +/* Userspace declarations. */ +extern unsigned int inb __P ((unsigned long __port)); +extern unsigned int inw __P ((unsigned long __port)); +extern unsigned int inl __P ((unsigned long __port)); +extern void outb __P ((unsigned char __b, unsigned long __port)); +extern void outw __P ((unsigned short __w, unsigned long __port)); +extern void outl __P ((unsigned int __l, unsigned long __port)); __END_DECLS diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/sys/procfs.h glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/sys/procfs.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/alpha/sys/procfs.h Mon Sep 6 12:35:05 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/alpha/sys/procfs.h Mon Nov 15 16:25:12 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999 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 @@ -17,17 +17,17 @@ Boston, MA 02111-1307, USA. */ #ifndef _SYS_PROCFS_H - #define _SYS_PROCFS_H 1 -#include <features.h> /* This is somehow modelled after the file of the same name on SysVr4 systems. It provides a definition of the core file format for ELF used on Linux. */ +#include <features.h> #include <signal.h> #include <sys/time.h> #include <sys/types.h> +#include <sys/ucontext.h> #include <sys/user.h> #include <asm/elf.h> @@ -99,6 +99,17 @@ struct elf_prpsinfo char pr_fname[16]; /* Filename of executable. */ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ }; + +/* Addresses. */ +typedef void *psaddr_t; + +/* Register sets. Linux has different names. */ +typedef gregset_t prgregset_t; +typedef fpregset_t prfpregset_t; + +/* We don't have any differences between processes and threads, + therefore habe only ine PID type. */ +typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/Dist glibc-2.1.3/sysdeps/unix/sysv/linux/arm/Dist --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/Dist Mon May 3 05:40:23 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/Dist Wed Jan 5 20:54:45 2000 @@ -7,5 +7,7 @@ setfsuid.c setfsgid.c sigrestorer.S bits/armsigctx.h +sys/elf.h sys/io.h +sys/procfs.h sys/user.h diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/Makefile glibc-2.1.3/sysdeps/unix/sysv/linux/arm/Makefile --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/Makefile Mon Apr 12 02:02:23 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/Makefile Fri Feb 11 15:49:59 2000 @@ -1,5 +1,6 @@ ifeq ($(subdir),misc) sysdep_routines += setfsgid setfsuid setresgid setresuid ioperm +sysdep_headers += sys/elf.h sys/io.h endif ifeq ($(subdir),signal) @@ -7,3 +8,4 @@ sysdep_routines += rt_sigsuspend rt_sigp rt_sigqueueinfo rt_sigaction rt_sigpending \ sigrestorer endif + diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/Versions glibc-2.1.3/sysdeps/unix/sysv/linux/arm/Versions --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/Versions Sun Jul 18 00:17:16 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/Versions Thu Jan 20 17:40:40 2000 @@ -4,4 +4,8 @@ libc { inb; inw; inl; outb; outw; outl; } + GLIBC_2.1.3 { + # New rlimit interface + getrlimit; setrlimit; getrlimit64; setrlimit64; + } } diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/bits/armsigctx.h glibc-2.1.3/sysdeps/unix/sysv/linux/arm/bits/armsigctx.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/bits/armsigctx.h Mon Sep 6 12:35:06 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/bits/armsigctx.h Wed Jan 5 17:45:54 2000 @@ -1,5 +1,5 @@ /* Definition of `struct sigcontext' for Linux/ARM - Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000 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 @@ -21,6 +21,12 @@ Fortunately 2.0 puts a magic number in the first word and this is not a legal value for `trap_no', so we can tell them apart. */ +/* Early 2.2 and 2.3 kernels do not have the `fault_address' member in + the sigcontext structure. Unfortunately there is no reliable way + to test for its presence and this word will contain garbage for too-old + kernels. Versions 2.2.14 and 2.3.35 (plus later versions) are known to + include this element. */ + #ifndef __ARMSIGCTX_H #define __ARMSIGCTX_H 1 @@ -50,6 +56,7 @@ union k_sigcontext unsigned long int arm_lr; unsigned long int arm_pc; unsigned long int arm_cpsr; + unsigned long fault_address; } v21; struct { diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/ioperm.c glibc-2.1.3/sysdeps/unix/sysv/linux/arm/ioperm.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/ioperm.c Mon Apr 12 02:02:39 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/ioperm.c Tue Feb 15 10:59:49 2000 @@ -27,6 +27,12 @@ registers tend to be memory mapped these days so this should be no big problem. */ +/* Once upon a time this file used mprotect to enable and disable + access to particular areas of I/O space. Unfortunately the + mprotect syscall also has the side effect of enabling caching for + the area affected (this is a kernel limitation). So we now just + enable all the ports all of the time. */ + #include <errno.h> #include <fcntl.h> #include <stdio.h> @@ -39,6 +45,7 @@ #include <sys/mman.h> #include <asm/page.h> +#include <sys/sysctl.h> #define PATH_ARM_SYSTYPE "/etc/arm_systype" #define PATH_CPUINFO "/proc/cpuinfo" @@ -64,21 +71,28 @@ static struct platform { {"Chalice-CATS", IO_BASE_FOOTBRIDGE, IO_SHIFT_FOOTBRIDGE}, {"DEC-EBSA285", IO_BASE_FOOTBRIDGE, IO_SHIFT_FOOTBRIDGE}, {"Corel-NetWinder", IO_BASE_FOOTBRIDGE, IO_SHIFT_FOOTBRIDGE}, + {"Rebel-NetWinder", IO_BASE_FOOTBRIDGE, IO_SHIFT_FOOTBRIDGE}, }; #define IO_ADDR(port) (io.base + ((port) << io.shift)) /* - * Initialize I/O system. To determine what I/O system we're dealing - * with, we first try to read the value of symlink PATH_ARM_SYSTYPE, - * if that fails, we lookup the "system type" field in /proc/cpuinfo. - * If that fails as well, we give up. Other possible options might be - * to look at the ELF auxiliary vector or to add a special system call - * but there is probably no point. + * Initialize I/O system. There are several ways to get the information + * we need. Each is tried in turn until one succeeds. * - * If the value received from PATH_ARM_SYSTYPE begins with a number, - * assume this is a previously unsupported system and the values encode, - * in order, "<io_base>,<port_shift>". + * 1. Sysctl (CTL_BUS, BUS_ISA, ISA_*). This is the preferred method + * but not all kernels support it. + * + * 2. Read the value (not the contents) of symlink PATH_ARM_SYSTYPE. + * - If it matches one of the entries in the table above, use the + * corresponding values. + * - If it begins with a number, assume this is a previously + * unsupported system and the values encode, in order, + * "<io_base>,<port_shift>". + * + * 3. Lookup the "system type" field in /proc/cpuinfo. Again, if it + * matches an entry in the platform[] table, use the corresponding + * values. */ static int @@ -86,6 +100,16 @@ init_iosys (void) { char systype[256]; int i, n; + static int iobase_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_BASE }; + static int ioshift_name[] = { CTL_BUS, BUS_ISA, BUS_ISA_PORT_SHIFT }; + size_t len = sizeof(io.base); + + if (! sysctl (iobase_name, 3, &io.io_base, &len, NULL, 0) + && ! sysctl (ioshift_name, 3, &io.shift, &len, NULL, 0)) + { + io.initdone = 1; + return 0; + } n = readlink (PATH_ARM_SYSTYPE, systype, sizeof (systype) - 1); if (n > 0) @@ -106,7 +130,7 @@ init_iosys (void) FILE * fp; fp = fopen (PATH_CPUINFO, "r"); - if (!fp) + if (! fp) return -1; while ((n = fscanf (fp, "Hardware\t: %256[^\n]\n", systype)) != EOF) @@ -149,10 +173,7 @@ init_iosys (void) int _ioperm (unsigned long int from, unsigned long int num, int turn_on) { - unsigned long int addr, len; - int prot; - - if (!io.initdone && init_iosys () < 0) + if (! io.initdone && init_iosys () < 0) return -1; /* this test isn't as silly as it may look like; consider overflows! */ @@ -173,25 +194,16 @@ _ioperm (unsigned long int from, unsigne return -1; io.base = - (unsigned long int) __mmap (0, MAX_PORT << io.shift, PROT_NONE, + (unsigned long int) __mmap (0, MAX_PORT << io.shift, + PROT_READ | PROT_WRITE, MAP_SHARED, fd, io.io_base); close (fd); if ((long) io.base == -1) return -1; } - prot = PROT_READ | PROT_WRITE; } - else - { - if (!io.base) - return 0; /* never was turned on... */ - /* turnoff access to relevant pages: */ - prot = PROT_NONE; - } - addr = (io.base + (from << io.shift)) & PAGE_MASK; - len = num << io.shift; - return mprotect ((void *) addr, len, prot); + return 0; } diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/mmap.S glibc-2.1.3/sysdeps/unix/sysv/linux/arm/mmap.S --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/mmap.S Wed Apr 14 06:42:16 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/mmap.S Mon Jan 3 15:23:44 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 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 @@ -23,12 +23,12 @@ ENTRY (__mmap) /* Because we can only get five args through the syscall interface, and - mmap() takes six, we need to build a parameter block and pass its + mmap() takes six, we need to build a parameter block and pass its address instead. The 386 port does a similar trick. */ /* This code previously moved sp into ip and stored the args using - stmdb ip!, {a1-a4}. It did not modify sp, so the stack never had - to be restored after the syscall completed. It saved an + stmdb ip!, {a1-a4}. It did not modify sp, so the stack never had + to be restored after the syscall completed. It saved an instruction and meant no stack cleanup work was required. This will not work in the case of a mmap call being interrupted @@ -47,10 +47,9 @@ ENTRY (__mmap) add sp, sp, #16 cmn r0, $4096 - bhs PLTJMP(syscall_error); - ret + RETINSTR(movcc, pc, lr) + b PLTJMP(syscall_error); PSEUDO_END (__mmap) weak_alias (__mmap, mmap) -weak_alias (__mmap, mmap64) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/mmap64.S glibc-2.1.3/sysdeps/unix/sysv/linux/arm/mmap64.S --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/mmap64.S Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/mmap64.S Tue Feb 22 23:03:29 2000 @@ -0,0 +1,67 @@ +/* Copyright (C) 2000 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 <sysdep.h> + +#define EINVAL 22 +#define ENOSYS 38 + + /* The mmap2 system call takes six arguments, all in registers. */ + .text +ENTRY (__mmap64) +#ifdef __NR_mmap2 + stmfd sp!, {r4, r5, lr} + ldr r5, [sp, $16] + ldr r4, [sp, $12] + movs ip, r5, lsl $20 @ check that offset is page-aligned + bne .Linval + ldr ip, [sp, $20] + mov r5, r5, lsr $12 + orr r5, r5, ip, lsl $20 @ compose page offset + movs ip, ip, lsr $12 + bne .Linval @ check for overflow + mov ip, r0 + swi SYS_ify (mmap2) + cmn r0, $4096 + LOADREGS(ccfd, sp!, {r4, r5, pc}) + cmn r0, $ENOSYS + ldmnefd sp!, {r4, r5, lr} + bne PLTJMP(syscall_error) + /* The current kernel does not support mmap2. Fall back to plain + mmap if the offset is small enough. */ + ldr r5, [sp, $20] + mov r0, ip @ first arg was clobbered + teq r5, $0 + ldmeqfd sp!, {r4, r5, lr} + beq PLTJMP(__mmap) +.Linval: + mov r0, $-EINVAL + ldmfd sp!, {r4, r5, lr} + b PLTJMP(syscall_error) +#else + /* The kernel headers do not support mmap2. Fall back to plain + mmap if the offset is small enough. */ + ldr ip, [sp, $8] + teq ip, $0 + beq PLTJMP(__mmap) + mov r0, $-EINVAL + b PLTJMP(syscall_error) +#endif +PSEUDO_END (__mmap64) + +weak_alias (__mmap64, mmap64) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h Mon Sep 6 12:35:06 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sigcontextinfo.h Wed Jan 5 17:45:54 2000 @@ -24,7 +24,10 @@ #define GET_PC(ctx) ((void *)((ctx.v20.magic == SIGCONTEXT_2_0_MAGIC) ? \ ctx.v20.reg.ARM_pc : ctx.v21.arm_pc)) -#define GET_FRAME(ctx) ((void *)((ctx.v20.magic == SIGCONTEXT_2_0_MAGIC) ? \ +#define GET_FRAME(ctx) \ + ADVANCE_STACK_FRAME((void *)((ctx.v20.magic == SIGCONTEXT_2_0_MAGIC) ? \ ctx.v20.reg.ARM_fp : ctx.v21.arm_fp)) #define GET_STACK(ctx) ((void *)((ctx.v20.magic == SIGCONTEXT_2_0_MAGIC) ? \ ctx.v20.reg.ARM_sp : ctx.v21.arm_sp)) +#define ADVANCE_STACK_FRAME(frm) \ + ((struct layout *)frm - 1) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sys/elf.h glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sys/elf.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sys/elf.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sys/elf.h Mon Sep 13 18:42:17 1999 @@ -0,0 +1,30 @@ +/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_ELF_H +#define _SYS_ELF_H 1 + +#include <sys/user.h> + +typedef unsigned long int elf_greg_t; +#define ELF_NGREG (sizeof (struct pt_regs) / sizeof(elf_greg_t)) + +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; +typedef struct user_fp elf_fpregset_t; + +#endif /* sys/elf.h */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sys/procfs.h glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sys/procfs.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sys/procfs.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sys/procfs.h Mon Nov 15 16:25:12 1999 @@ -0,0 +1,110 @@ +/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_PROCFS_H +#define _SYS_PROCFS_H 1 + +/* This is somehow modelled after the file of the same name on SysVr4 + systems. It provides a definition of the core file format for ELF + used on Linux. */ + +#include <features.h> +#include <signal.h> +#include <sys/time.h> +#include <sys/types.h> +#include <sys/ucontext.h> +#include <sys/user.h> +#include <sys/elf.h> + +__BEGIN_DECLS + +struct elf_siginfo + { + int si_signo; /* Signal number. */ + int si_code; /* Extra code. */ + int si_errno; /* Errno. */ + }; + +/* Definitions to generate core files. Fields present but not used are + marked with "XXX". */ +struct elf_prstatus + { +#if 0 + long int pr_flags; /* XXX Process flags. */ + short int pr_why; /* XXX Reason for process halt. */ + short int pr_what; /* XXX More detailed reason. */ +#endif + struct elf_siginfo pr_info; /* Info associated with signal. */ + short int pr_cursig; /* Current signal. */ + unsigned long int pr_sigpend; /* Set of pending signals. */ + unsigned long int pr_sighold; /* Set of held signals. */ +#if 0 + struct sigaltstack pr_altstack; /* Alternate stack info. */ + struct sigaction pr_action; /* Signal action for current sig. */ +#endif + __pid_t pr_pid; + __pid_t pr_ppid; + __pid_t pr_pgrp; + __pid_t pr_sid; + struct timeval pr_utime; /* User time. */ + struct timeval pr_stime; /* System time. */ + struct timeval pr_cutime; /* Cumulative user time. */ + struct timeval pr_cstime; /* Cumulative system time. */ +#if 0 + long int pr_instr; /* Current instruction. */ +#endif + elf_gregset_t pr_reg; /* GP registers. */ + int pr_fpvalid; /* True if math copro being used. */ + }; + + +#define ELF_PRARGSZ (80) /* Number of chars for args */ + +struct elf_prpsinfo + { + char pr_state; /* Numeric process state. */ + char pr_sname; /* Char for pr_state. */ + char pr_zomb; /* Zombie. */ + char pr_nice; /* Nice val. */ + unsigned long int pr_flag; /* Flags. */ + unsigned short int pr_uid; + unsigned short int pr_gid; + int pr_pid, pr_ppid, pr_pgrp, pr_sid; + /* Lots missing */ + char pr_fname[16]; /* Filename of executable. */ + char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ + }; + +/* Addresses. */ +typedef void *psaddr_t; + +/* Register sets. Linux has different names. */ +typedef gregset_t prgregset_t; +typedef fpregset_t prfpregset_t; + +/* We don't have any differences between processes and threads, + therefore habe only ine PID type. */ +typedef __pid_t lwpid_t; + + +typedef struct elf_prstatus prstatus_t; +typedef struct elf_prpsinfo prpsinfo_t; + +__END_DECLS + +#endif /* sys/procfs.h */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sys/user.h glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sys/user.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sys/user.h Tue Jan 5 01:03:21 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sys/user.h Thu Sep 23 11:15:56 1999 @@ -40,6 +40,8 @@ struct user_fp } fpregs[8]; unsigned int fpsr:32; unsigned int fpcr:32; + unsigned char ftype[8]; + unsigned int init_flag; }; struct user diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/syscalls.list glibc-2.1.3/sysdeps/unix/sysv/linux/arm/syscalls.list --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/syscalls.list Tue Dec 22 09:25:27 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/syscalls.list Fri Feb 11 15:49:59 2000 @@ -11,5 +11,4 @@ s_setresgid setresgid setresgid 3 __sysc s_setresuid setresuid setresuid 3 __syscall_setresuid s_setreuid setreuid setreuid 2 __syscall_setreuid s_setuid setuid setuid 1 __syscall_setuid -syscall - syscall 5 syscall -vm86 - vm86 1 __vm86 vm86 +syscall - syscall 7 syscall diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sysdep.h glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sysdep.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/arm/sysdep.h Mon Apr 12 02:04:12 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/arm/sysdep.h Sun Jan 9 17:47:33 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 93, 95, 96, 97, 98 Free Software Foundation, Inc. +/* Copyright (C) 1992, 93, 95-99, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997. @@ -69,6 +69,8 @@ arg 3 r2 arg 4 r3 arg 5 r4 (this is different from the APCS convention) + arg 6 r5 + arg 7 r6 The compiler is going to form a call by coming here, through PSEUDO, with arguments @@ -78,9 +80,12 @@ arg 3 r2 arg 4 r3 arg 5 [sp] + arg 6 [sp+4] + arg 7 [sp+8] - We need to shuffle values between R4 and the stack so that the caller's - R4 is not corrupted, and the kernel sees the right argument there. + We need to shuffle values between R4..R6 and the stack so that the + caller's v1..v3 and stack frame are not corrupted, and the kernel + sees the right arguments. */ @@ -95,14 +100,18 @@ #define DOARGS_2 /* nothing */ #define DOARGS_3 /* nothing */ #define DOARGS_4 /* nothing */ -#define DOARGS_5 ldr ip, [sp]; str r4, [sp]; mov r4, ip; +#define DOARGS_5 str r4, [sp, $-4]!; ldr r4, [sp, $4]; +#define DOARGS_6 mov ip, sp; stmfd sp!, {r4, r5}; ldmia ip, {r4, r5}; +#define DOARGS_7 mov ip, sp; stmfd sp!, {r4, r5, r6}; ldmia ip, {r4, r5, r6}; #define UNDOARGS_0 /* nothing */ #define UNDOARGS_1 /* nothing */ #define UNDOARGS_2 /* nothing */ #define UNDOARGS_3 /* nothing */ #define UNDOARGS_4 /* nothing */ -#define UNDOARGS_5 ldr r4, [sp]; +#define UNDOARGS_5 ldr r4, [sp], $4; +#define UNDOARGS_6 ldmfd sp!, {r4, r5}; +#define UNDOARGS_7 ldmfd sp!, {r4, r5, r6}; #else /* not __ASSEMBLER__ */ @@ -149,6 +158,14 @@ register int _v1 asm ("v1") = (int) (a5); \ LOAD_ARGS_4 (a1, a2, a3, a4) #define ASM_ARGS_5 ASM_ARGS_4, "r" (_v1) +#define LOAD_ARGS_6(a1, a2, a3, a4, a5, a6) \ + register int _v2 asm ("v2") = (int) (a6); \ + LOAD_ARGS_5 (a1, a2, a3, a4, a5) +#define ASM_ARGS_6 ASM_ARGS_5, "r" (_v2) +#define LOAD_ARGS_7(a1, a2, a3, a4, a5, a6, a7) \ + register int _v3 asm ("v3") = (int) (a7); \ + LOAD_ARGS_6 (a1, a2, a3, a4, a5, a6) +#define ASM_ARGS_7 ASM_ARGS_6, "r" (_v3) #endif /* __ASSEMBLER__ */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/bits/in.h glibc-2.1.3/sysdeps/unix/sysv/linux/bits/in.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/bits/in.h Tue Oct 6 02:14:52 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/bits/in.h Mon Oct 25 13:23:47 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,93,94,95,96,97,98 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,93,94,95,96,97,98,99 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 @@ -82,6 +82,14 @@ struct ip_mreqn struct in_addr imr_multiaddr; /* IP multicast address of group */ struct in_addr imr_address; /* local IP address of interface */ int imr_ifindex; /* Interface index */ + }; + +/* Structure used for IP_PKTINFO. */ +struct in_pktinfo + { + int ipi_ifindex; /* Interface index */ + struct in_addr ipi_spec_dst; /* Routing destination address */ + struct in_addr ipi_addr; /* Header destination address */ }; /* Options for use with `getsockopt' and `setsockopt' at the IPv6 level. diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/bits/ioctl-types.h glibc-2.1.3/sysdeps/unix/sysv/linux/bits/ioctl-types.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/bits/ioctl-types.h Thu Jun 17 15:19:16 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/bits/ioctl-types.h Fri Nov 12 16:51:31 1999 @@ -1,5 +1,5 @@ /* Structure types for pre-termios terminal ioctls. Linux version. - Copyright (C) 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999 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 @@ -74,3 +74,4 @@ struct termio #define N_IRDA 11 /* Linux IR */ #define N_SMSBLOCK 12 /* SMS block mode */ #define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/bits/resource.h glibc-2.1.3/sysdeps/unix/sysv/linux/bits/resource.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/bits/resource.h Wed Jul 8 15:49:06 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/bits/resource.h Tue Dec 28 14:05:07 1999 @@ -1,5 +1,5 @@ /* Bit values & structures for resource limits. Linux version. - Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1994, 1996, 1997, 1998, 1999 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 @@ -21,7 +21,6 @@ # error "Never use <bits/resource.h> directly; include <sys/resource.h> instead." #endif -#include <asm/resource.h> #include <bits/types.h> /* Transmute defines to enumerations. The macro re-definitions are @@ -33,73 +32,51 @@ enum __rlimit_resource { /* Per-process CPU limit, in seconds. */ - _RLIMIT_CPU = RLIMIT_CPU, -#undef RLIMIT_CPU - RLIMIT_CPU = _RLIMIT_CPU, + RLIMIT_CPU = 0, #define RLIMIT_CPU RLIMIT_CPU /* Largest file that can be created, in bytes. */ - _RLIMIT_FSIZE = RLIMIT_FSIZE, -#undef RLIMIT_FSIZE - RLIMIT_FSIZE = _RLIMIT_FSIZE, + RLIMIT_FSIZE = 1, #define RLIMIT_FSIZE RLIMIT_FSIZE /* Maximum size of data segment, in bytes. */ - _RLIMIT_DATA = RLIMIT_DATA, -#undef RLIMIT_DATA - RLIMIT_DATA = _RLIMIT_DATA, + RLIMIT_DATA = 2, #define RLIMIT_DATA RLIMIT_DATA /* Maximum size of stack segment, in bytes. */ - _RLIMIT_STACK = RLIMIT_STACK, -#undef RLIMIT_STACK - RLIMIT_STACK = _RLIMIT_STACK, + RLIMIT_STACK = 3, #define RLIMIT_STACK RLIMIT_STACK /* Largest core file that can be created, in bytes. */ - _RLIMIT_CORE = RLIMIT_CORE, -#undef RLIMIT_CORE - RLIMIT_CORE = _RLIMIT_CORE, + RLIMIT_CORE = 4, #define RLIMIT_CORE RLIMIT_CORE /* Largest resident set size, in bytes. This affects swapping; processes that are exceeding their resident set size will be more likely to have physical memory taken from them. */ - _RLIMIT_RSS = RLIMIT_RSS, -#undef RLIMIT_RSS - RLIMIT_RSS = _RLIMIT_RSS, + RLIMIT_RSS = 5, #define RLIMIT_RSS RLIMIT_RSS /* Number of open files. */ - _RLIMIT_NOFILE = RLIMIT_NOFILE, -#undef RLIMIT_NOFILE - RLIMIT_NOFILE = _RLIMIT_NOFILE, + RLIMIT_NOFILE = 7, RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ #define RLIMIT_NOFILE RLIMIT_NOFILE #define RLIMIT_OFILE RLIMIT_OFILE /* Address space limit (?) */ - _RLIMIT_AS = RLIMIT_AS, -#undef RLIMIT_AS - RLIMIT_AS = _RLIMIT_AS, + RLIMIT_AS = 9, #define RLIMIT_AS RLIMIT_AS /* Number of processes. */ - _RLIMIT_NPROC = RLIMIT_NPROC, -#undef RLIMIT_NPROC - RLIMIT_NPROC = _RLIMIT_NPROC, + RLIMIT_NPROC = 6, #define RLIMIT_NPROC RLIMIT_NPROC /* Locked-in-memory address space. */ - _RLIMIT_MEMLOCK = RLIMIT_MEMLOCK, -#undef RLIMIT_MEMLOCK - RLIMIT_MEMLOCK = _RLIMIT_MEMLOCK, + RLIMIT_MEMLOCK = 8, #define RLIMIT_MEMLOCK RLIMIT_MEMLOCK - RLIMIT_NLIMITS = RLIM_NLIMITS, -#undef RLIM_NLIMITS - RLIM_NLIMITS = RLIMIT_NLIMITS + RLIM_NLIMITS = 10 #define RLIMIT_NLIMITS RLIMIT_NLIMITS #define RLIM_NLIMITS RLIM_NLIMITS }; @@ -219,6 +196,9 @@ struct rusage enum __priority_which { PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER }; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/bits/sigaction.h glibc-2.1.3/sysdeps/unix/sysv/linux/bits/sigaction.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/bits/sigaction.h Tue Nov 3 08:08:08 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/bits/sigaction.h Tue Feb 22 23:03:29 2000 @@ -1,5 +1,5 @@ /* The proper definitions for Linux's sigaction. - Copyright (C) 1993, 94, 95, 96, 97, 98 Free Software Foundation, Inc. + Copyright (C) 1993, 94, 95, 96, 97, 98, 2000 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 @@ -52,6 +52,7 @@ struct sigaction /* Bits in `sa_flags'. */ #define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */ #define SA_SIGINFO 4 /* Invoke signal-catching function with three arguments instead of one. */ #if defined __USE_UNIX98 || defined __USE_MISC diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/bits/signum.h glibc-2.1.3/sysdeps/unix/sysv/linux/bits/signum.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/bits/signum.h Sun Jan 25 08:55:17 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/bits/signum.h Mon Nov 29 11:19:58 1999 @@ -1,5 +1,5 @@ /* Signal number definitions. Linux version. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 1999 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 @@ -63,6 +63,7 @@ #define SIGPOLL SIGIO /* Pollable event occurred (System V). */ #define SIGIO 29 /* I/O now possible (4.2 BSD). */ #define SIGPWR 30 /* Power failure restart (System V). */ +#define SIGSYS 31 /* Bad system call. */ #define SIGUNUSED 31 #define _NSIG 64 /* Biggest signal number + 1 diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/bits/types.h glibc-2.1.3/sysdeps/unix/sysv/linux/bits/types.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/bits/types.h Fri Apr 16 10:06:43 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/bits/types.h Tue Dec 21 15:52:16 1999 @@ -68,8 +68,8 @@ typedef long int __off_t; /* Type of fi typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ typedef int __pid_t; /* Type of process identifications. */ typedef int __ssize_t; /* Type of a byte count, or error. */ -typedef long int __rlim_t; /* Type of resource counts. */ -typedef __quad_t __rlim64_t; /* Type of resource counts (LFS). */ +typedef __u_long __rlim_t; /* Type of resource counts. */ +typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ typedef __u_int __id_t; /* General type for ID. */ typedef struct @@ -138,8 +138,8 @@ typedef __u_long __ino64_t; typedef __loff_t __off64_t; /* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; +typedef long int __t_scalar_t; +typedef unsigned long int __t_uscalar_t; /* Duplicates info from stdint.h but this is used in unistd.h. */ typedef int __intptr_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/bits/waitflags.h glibc-2.1.3/sysdeps/unix/sysv/linux/bits/waitflags.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/bits/waitflags.h Tue Nov 25 20:09:43 1997 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/bits/waitflags.h Thu Feb 24 11:19:06 2000 @@ -1,5 +1,5 @@ /* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1992, 1996, 1997, 2000 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 @@ -26,4 +26,5 @@ #define WNOHANG 1 /* Don't block waiting. */ #define WUNTRACED 2 /* Report status of stopped children. */ +#define __WALL 0x40000000 /* Wait for any child. */ #define __WCLONE 0x80000000 /* Wait for cloned process. */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/configure glibc-2.1.3/sysdeps/unix/sysv/linux/configure --- glibc-2.1.2/sysdeps/unix/sysv/linux/configure Sun Jul 18 18:54:44 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/configure Wed Jan 5 20:33:45 2000 @@ -13,7 +13,7 @@ if test -n "$sysheaders"; then fi echo $ac_n "checking installed Linux kernel header files""... $ac_c" 1>&6 echo "configure:16: checking installed Linux kernel header files" >&5 -if eval "test \"`echo '$''{'libc_cv_linux2010'+set}'`\" = set"; then +if eval "test \"\${libc_cv_linux2010+set}\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF @@ -117,9 +117,12 @@ fi # We need some extensions to the `ldd' script. case "$machine" in - i[3456]86* | m68* | sparc/sparc32) + i[3456]86* | m68*) ldd_rewrite_script=../sysdeps/unix/sysv/linux/ldd-rewrite.sed ;; + sparc/sparc32) + ldd_rewrite_script=../sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed + ;; *) ;; esac @@ -135,7 +138,7 @@ if test $host = $build; then ac_prefix=$ac_default_prefix fi echo $ac_n "checking for symlinks in ${ac_prefix}/include""... $ac_c" 1>&6 -echo "configure:131: checking for symlinks in ${ac_prefix}/include" >&5 +echo "configure:142: checking for symlinks in ${ac_prefix}/include" >&5 ac_message= if test -L ${ac_prefix}/include/net; then ac_message="$ac_message diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/configure.in glibc-2.1.3/sysdeps/unix/sysv/linux/configure.in --- glibc-2.1.2/sysdeps/unix/sysv/linux/configure.in Wed May 19 07:18:54 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/configure.in Mon Oct 11 11:49:07 1999 @@ -102,8 +102,11 @@ fi # We need some extensions to the `ldd' script. changequote(,) case "$machine" in - i[3456]86* | m68* | sparc/sparc32) + i[3456]86* | m68*) ldd_rewrite_script=../sysdeps/unix/sysv/linux/ldd-rewrite.sed + ;; + sparc/sparc32) + ldd_rewrite_script=../sysdeps/unix/sysv/linux/sparc/ldd-rewrite.sed ;; *) ;; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/execve.c glibc-2.1.3/sysdeps/unix/sysv/linux/execve.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/execve.c Tue Aug 24 15:18:56 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/execve.c Tue Feb 22 23:03:26 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000 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 @@ -22,6 +22,8 @@ #include <sysdep.h> #include <sys/syscall.h> +extern int __syscall_execve (const char *file, char *const argv[], + char *const envp[]); extern void __pthread_kill_other_threads_np __P ((void)); weak_extern (__pthread_kill_other_threads_np) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/fstatvfs.c glibc-2.1.3/sysdeps/unix/sysv/linux/fstatvfs.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/fstatvfs.c Fri May 7 09:58:04 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/fstatvfs.c Thu Jan 20 17:40:38 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -37,85 +37,8 @@ fstatvfs (int fd, struct statvfs *buf) if (__fstatfs (fd, &fsbuf) < 0) return -1; - /* Now fill in the fields we have information for. */ - buf->f_bsize = fsbuf.f_bsize; - /* Linux does not support f_frsize, so set it to the full block size. */ - buf->f_frsize = fsbuf.f_bsize; - buf->f_blocks = fsbuf.f_blocks; - buf->f_bfree = fsbuf.f_bfree; - buf->f_bavail = fsbuf.f_bavail; - buf->f_files = fsbuf.f_files; - buf->f_ffree = fsbuf.f_ffree; - buf->f_fsid = fsbuf.f_fsid; - buf->f_namemax = fsbuf.f_namelen; - memset (buf->f_spare, '\0', 6 * sizeof (int)); - - /* What remains to do is to fill the fields f_favail and f_flag. */ - - /* XXX I have no idea how to compute f_favail. Any idea??? */ - buf->f_favail = buf->f_ffree; - - /* Determining the flags is tricky. We have to read /proc/mounts or - the /etc/mtab file and search for the entry which matches the given - file. The way we can test for matching filesystem is using the - device number. */ - buf->f_flag = 0; - if (fstat (fd, &st) >= 0) - { - int save_errno = errno; - struct mntent mntbuf; - FILE *mtab; - - mtab = __setmntent ("/proc/mounts", "r"); - if (mtab == NULL) - mtab = __setmntent (_PATH_MOUNTED, "r"); - - if (mtab != NULL) - { - char tmpbuf[1024]; - - while (__getmntent_r (mtab, &mntbuf, tmpbuf, sizeof (tmpbuf))) - { - struct stat fsst; - - /* Find out about the device the current entry is for. */ - if (stat (mntbuf.mnt_dir, &fsst) >= 0 - && st.st_dev == fsst.st_dev) - { - /* Bingo, we found the entry for the device FD is on. - Now interpret the option string. */ - char *cp = mntbuf.mnt_opts; - char *opt; - - while ((opt = strsep (&cp, ",")) != NULL) - if (strcmp (opt, "ro") == 0) - buf->f_flag |= ST_RDONLY; - else if (strcmp (opt, "nosuid") == 0) - buf->f_flag |= ST_NOSUID; - else if (strcmp (opt, "noexec") == 0) - buf->f_flag |= ST_NOEXEC; - else if (strcmp (opt, "nodev") == 0) - buf->f_flag |= ST_NODEV; - else if (strcmp (opt, "sync") == 0) - buf->f_flag |= ST_SYNCHRONOUS; - else if (strcmp (opt, "mand") == 0) - buf->f_flag |= ST_MANDLOCK; - else if (strcmp (opt, "noatime") == 0) - buf->f_flag |= ST_NOATIME; - else if (strcmp (opt, "nodiratime") == 0) - buf->f_flag |= ST_NODIRATIME; - - /* We can stop looking for more entries. */ - break; - } - } - - /* Close the file. */ - __endmntent (mtab); - } - - __set_errno (save_errno); - } +#define STAT(st) fstat (fd, st) +#include "internal_statvfs.c" /* We signal success if the statfs call succeeded. */ return 0; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/ftruncate64.c glibc-2.1.3/sysdeps/unix/sysv/linux/ftruncate64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/ftruncate64.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/ftruncate64.c Wed Jan 5 17:45:52 2000 @@ -0,0 +1,67 @@ +/* Copyright (C) 1997, 1998, 1999, 2000 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 <sys/types.h> +#include <errno.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + +#ifdef __NR_ftruncate64 +#ifndef __ASSUME_TRUNCATE64_SYSCALL +/* The variable is shared between all wrappers around *truncate64 calls. */ +extern int __have_no_truncate64; +#endif + +extern int __syscall_ftruncate64 (int fd, int high_length, int low_length); + + +/* Truncate the file FD refers to to LENGTH bytes. */ +int +ftruncate64 (fd, length) + int fd; + off64_t length; +{ + if (! __have_no_truncate64) + { + unsigned int low = length & 0xffffffff; + unsigned int high = length >> 32; + int saved_errno = errno; + + int result = INLINE_SYSCALL (ftruncate64, 3, fd, low, high); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + __have_no_truncate64 = 1; + } + + if ((off_t) length != length) + { + __set_errno (EINVAL); + return -1; + } + return __ftruncate (fd, (off_t) length); +} + +#else +/* Use the generic implementation. */ +# include <sysdeps/generic/ftruncate64.c> +#endif diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/fxstat64.c glibc-2.1.3/sysdeps/unix/sysv/linux/fxstat64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/fxstat64.c Wed Oct 21 08:08:36 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/fxstat64.c Tue Dec 28 14:05:04 1999 @@ -1,5 +1,5 @@ /* fxstat64 using old-style Unix fstat system call. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 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 @@ -29,12 +29,32 @@ extern int __syscall_fstat (int, struct kernel_stat *); +#ifdef __NR_fstat64 +extern int __syscall_fstat64 (int, struct stat64 *); +/* The variable is shared between all wrappers around *stat64 calls. */ +extern int __have_no_stat64; +#endif + /* Get information about the file FD in BUF. */ int __fxstat64 (int vers, int fd, struct stat64 *buf) { struct kernel_stat kbuf; int result; + +# if defined __NR_fstat64 + if (! __have_no_stat64) + { + int saved_errno = errno; + result = INLINE_SYSCALL (fstat64, 2, fd, buf); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + __have_no_stat64 = 1; + } +#endif result = INLINE_SYSCALL (fstat, 2, fd, &kbuf); if (result == 0) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/getpt.c glibc-2.1.3/sysdeps/unix/sysv/linux/getpt.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/getpt.c Thu Jul 8 11:48:39 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/getpt.c Thu Nov 18 08:42:22 1999 @@ -24,8 +24,7 @@ #include <paths.h> #include <sys/statfs.h> -/* Constant that identifies the `devpts' filesystem. */ -#define DEVPTS_SUPER_MAGIC 0x1cd1 +#include "linux_fsinfo.h" /* Path to the master pseudo terminal cloning device. */ #define _PATH_DEVPTMX _PATH_DEV "ptmx" @@ -50,10 +49,13 @@ __getpt (void) struct statfs fsbuf; static int devpts_mounted; - /* Check that the /dev/pts filesystem is mounted. */ + /* Check that the /dev/pts filesystem is mounted + or if /dev is a devfs filesystem (this implies /dev/pts). */ if (devpts_mounted || (__statfs (_PATH_DEVPTS, &fsbuf) == 0 - && fsbuf.f_type == DEVPTS_SUPER_MAGIC)) + && fsbuf.f_type == DEVPTS_SUPER_MAGIC) + || (__statfs (_PATH_DEV, &fsbuf) == 0 + && fsbuf.f_type == DEVFS_SUPER_MAGIC)) { /* Everything is ok. */ devpts_mounted = 1; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/grantpt.c glibc-2.1.3/sysdeps/unix/sysv/linux/grantpt.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/grantpt.c Thu Sep 17 12:50:21 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/grantpt.c Thu Nov 18 08:42:22 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999 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 @@ -20,8 +20,7 @@ #include <stdlib.h> #include <sys/statfs.h> -/* Constant that identifies the `devpts' filesystem. */ -#define DEVPTS_SUPER_MAGIC 0x1cd1 +#include "linux_fsinfo.h" /* Prototype for function that changes ownership and access permission for slave pseudo terminals that do not live on a `devpts' @@ -54,7 +53,7 @@ grantpt (int fd) /* If the slave pseudo terminal lives on a `devpts' filesystem, the ownership and access permission are already set. */ - if (fsbuf.f_type == DEVPTS_SUPER_MAGIC) + if (fsbuf.f_type == DEVPTS_SUPER_MAGIC || fsbuf.f_type == DEVFS_SUPER_MAGIC) return 0; return __unix_grantpt (fd); diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/Dist glibc-2.1.3/sysdeps/unix/sysv/linux/i386/Dist --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/Dist Fri Oct 23 07:04:51 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/Dist Tue Jan 25 22:13:18 2000 @@ -5,6 +5,7 @@ setfsuid.c setfsgid.c sys/debugreg.h sys/elf.h +sys/io.h sys/perm.h sys/procfs.h sys/reg.h diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/Makefile glibc-2.1.3/sysdeps/unix/sysv/linux/i386/Makefile --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/Makefile Wed Oct 21 08:16:04 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/Makefile Tue Jan 25 20:09:29 2000 @@ -1,6 +1,6 @@ ifeq ($(subdir),misc) sysdep_routines += ioperm iopl vm86 setfsgid setfsuid setresgid setresuid -sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h +sysdep_headers += sys/elf.h sys/perm.h sys/reg.h sys/vm86.h sys/debugreg.h sys/io.h endif ifeq ($(subdir),elf) @@ -11,3 +11,4 @@ endif ifeq ($(subdir),csu) CFLAGS-initfini.s += -DWEAK_GMON_START endif + diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/bits/resource.h glibc-2.1.3/sysdeps/unix/sysv/linux/i386/bits/resource.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/bits/resource.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/bits/resource.h Tue Jan 25 20:09:30 2000 @@ -0,0 +1,205 @@ +/* Bit values & structures for resource limits. Linux version. + Copyright (C) 1994, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_RESOURCE_H +# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead." +#endif + +#include <bits/types.h> + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + RLIMIT_RSS = 5, +#define RLIMIT_RSS RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 7, + RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE RLIMIT_OFILE + + /* Address space limit. */ + RLIMIT_AS = 9, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + RLIMIT_NPROC = 6, +#define RLIMIT_NPROC RLIMIT_NPROC + + /* Locked-in-memory address space. */ + RLIMIT_MEMLOCK = 8, +#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK + + RLIMIT_NLIMITS = 10, + RLIM_NLIMITS = RLIMIT_NLIMITS +#define RLIMIT_NLIMITS RLIMIT_NLIMITS +#define RLIM_NLIMITS RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int) (~0UL >> 1)) +#else +# define RLIM_INFINITY 0x7fffffffffffffffLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0x7fffffffffffffffLL +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1, +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + + /* Both. */ + RUSAGE_BOTH = -2 +#define RUSAGE_BOTH RUSAGE_BOTH +}; + +#define __need_timeval +#include <bits/time.h> /* For `struct timeval'. */ + +/* Structure which says how much of each resource has been used. */ +struct rusage + { + /* Total amount of user time used. */ + struct timeval ru_utime; + /* Total amount of system time used. */ + struct timeval ru_stime; + /* Maximum resident set size (in kilobytes). */ + long int ru_maxrss; + /* Amount of sharing of text segment memory + with other processes (kilobyte-seconds). */ + long int ru_ixrss; + /* Amount of data segment memory used (kilobyte-seconds). */ + long int ru_idrss; + /* Amount of stack memory used (kilobyte-seconds). */ + long int ru_isrss; + /* Number of soft page faults (i.e. those serviced by reclaiming + a page from the list of pages awaiting reallocation. */ + long int ru_minflt; + /* Number of hard page faults (i.e. those that required I/O). */ + long int ru_majflt; + /* Number of times a process was swapped out of physical memory. */ + long int ru_nswap; + /* Number of input operations via the file system. Note: This + and `ru_oublock' do not include operations with the cache. */ + long int ru_inblock; + /* Number of output operations via the file system. */ + long int ru_oublock; + /* Number of IPC messages sent. */ + long int ru_msgsnd; + /* Number of IPC messages received. */ + long int ru_msgrcv; + /* Number of signals delivered. */ + long int ru_nsignals; + /* Number of voluntary context switches, i.e. because the process + gave up the process before it had to (usually to wait for some + resource to be available). */ + long int ru_nvcsw; + /* Number of involuntary context switches, i.e. a higher priority process + became runnable or the current process used up its time slice. */ + long int ru_nivcsw; + }; + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/mmap.S glibc-2.1.3/sysdeps/unix/sysv/linux/i386/mmap.S --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/mmap.S Mon Nov 16 04:00:58 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/mmap.S Wed Jan 5 17:45:54 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 2000 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 @@ -46,4 +46,3 @@ L(pseudo_end): PSEUDO_END (__mmap) weak_alias (__mmap, mmap) -weak_alias (__mmap, mmap64) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/mmap64.S glibc-2.1.3/sysdeps/unix/sysv/linux/i386/mmap64.S --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/mmap64.S Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/mmap64.S Thu Jan 20 17:40:40 2000 @@ -0,0 +1,124 @@ +/* Copyright (C) 1995, 96, 97, 98, 99, 2000 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 <sysdep.h> + +#define EINVAL 22 +#define ENOSYS 38 + + .text + +ENTRY (__mmap64) + +#ifdef __NR_mmap2 + + /* Save registers. */ + pushl %ebp + pushl %ebx + pushl %esi + pushl %edi + + movl 40(%esp), %edx + movl 44(%esp), %ecx + testl $0x3ff, %edx + jne L(einval) + shrdl $12, %ecx, %edx /* mmap2 takes the offset in pages. */ + shrl $12, %ecx + jne L(einval) + movl %edx, %ebp + + movl 20(%esp), %ebx + movl 24(%esp), %ecx + movl 28(%esp), %edx + movl 32(%esp), %esi + movl 36(%esp), %edi + + movl $SYS_ify(mmap2), %eax /* System call number in %eax. */ + + /* Do the system call trap. */ +L(do_syscall): + int $0x80 + + /* Restore registers. */ + popl %edi + popl %esi + popl %ebx + popl %ebp + +#ifndef __ASSUME_MMAP2_SYSCALL +2: + cmp $-ENOSYS, %eax + je 3f +#endif + + /* If 0 > %eax > -4096 there was an error. */ + cmpl $-4096, %eax + ja SYSCALL_ERROR_LABEL + + /* Successful; return the syscall's value. */ +L(pseudo_end): + ret + + /* This means the offset value is too large. */ +L(einval): + popl %edi + popl %esi + popl %ebx + popl %ebp + movl $-EINVAL, %eax + jmp SYSCALL_ERROR_LABEL +#endif + +#if !defined __ASSUME_MMAP2_SYSCALL || !defined __NR_mmap2 + +3: + /* Save registers. */ + movl %ebx, %edx + + cmpl $0, 28(%esp) + jne L(einval2) + + movl $SYS_ify(mmap), %eax /* System call number in %eax. */ + + lea 4(%esp), %ebx /* Address of args is 1st arg. */ + + /* Do the system call trap. */ + int $0x80 + + /* Restore registers. */ + movl %edx, %ebx + + /* If 0 > %eax > -4096 there was an error. */ + cmpl $-4096, %eax + ja SYSCALL_ERROR_LABEL + + /* Successful; return the syscall's value. */ +#ifndef __NR_mmap2 +L(pseudo_end): +#endif + ret + +L(einval2): + movl %edx, %ebx + movl $-EINVAL, %eax + jmp SYSCALL_ERROR_LABEL +#endif + +PSEUDO_END (__mmap64) + +weak_alias (__mmap64, mmap64) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pread.c glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pread.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pread.c Wed Oct 21 08:17:42 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pread.c Tue Dec 21 15:52:16 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -30,7 +30,7 @@ static ssize_t __emulate_pread (int fd, ssize_t -__pread (fd, buf, count, offset) +__libc_pread (fd, buf, count, offset) int fd; void *buf; size_t count; @@ -47,9 +47,10 @@ __pread (fd, buf, count, offset) return result; } -weak_alias (__pread, pread) +strong_alias (__libc_pread, __pread) +weak_alias (__libc_pread, pread) -#define __pread(fd, buf, count, offset) \ +#define __libc_pread(fd, buf, count, offset) \ static internal_function __emulate_pread (fd, buf, count, offset) #endif #include <sysdeps/posix/pread.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pread64.c glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pread64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pread64.c Wed Oct 21 08:17:47 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pread64.c Tue Dec 21 15:52:16 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pread64 (int fd ssize_t -__pread64 (fd, buf, count, offset) +__libc_pread64 (fd, buf, count, offset) int fd; void *buf; size_t count; @@ -52,9 +52,10 @@ __pread64 (fd, buf, count, offset) return result; } -weak_alias (__pread64, pread64) +strong_alias (__libc_pread64, __pread64) +weak_alias (__libc_pread64, pread64) -#define __pread64(fd, buf, count, offset) \ +#define __libc_pread64(fd, buf, count, offset) \ static internal_function __emulate_pread64 (fd, buf, count, offset) #endif #include <sysdeps/posix/pread64.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pwrite.c glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pwrite.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pwrite.c Wed Oct 21 08:17:54 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pwrite.c Tue Dec 21 15:52:16 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -30,7 +30,7 @@ static ssize_t __emulate_pwrite (int fd, ssize_t -__pwrite (fd, buf, count, offset) +__libc_pwrite (fd, buf, count, offset) int fd; const void *buf; size_t count; @@ -47,9 +47,10 @@ __pwrite (fd, buf, count, offset) return result; } -weak_alias (__pwrite, pwrite) +strong_alias (__libc_pwrite, __pwrite) +weak_alias (__libc_pwrite, pwrite) -#define __pwrite(fd, buf, count, offset) \ +#define __libc_pwrite(fd, buf, count, offset) \ static internal_function __emulate_pwrite (fd, buf, count, offset) #endif #include <sysdeps/posix/pwrite.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pwrite64.c glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pwrite64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/pwrite64.c Wed Oct 21 08:17:59 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/pwrite64.c Tue Dec 21 15:52:16 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -30,7 +30,7 @@ static ssize_t __emulate_pwrite64 (int f ssize_t -__pwrite64 (fd, buf, count, offset) +__libc_pwrite64 (fd, buf, count, offset) int fd; const void *buf; size_t count; @@ -49,9 +49,10 @@ __pwrite64 (fd, buf, count, offset) return result; } -weak_alias (__pwrite64, pwrite64) +strong_alias (__libc_pwrite64, __pwrite64) +weak_alias (__libc_pwrite64, pwrite64) -#define __pwrite64(fd, buf, count, offset) \ +#define __libc_pwrite64(fd, buf, count, offset) \ static internal_function __emulate_pwrite64 (fd, buf, count, offset) #endif #include <sysdeps/posix/pwrite64.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sigaction.c glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sigaction.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sigaction.c Sun Jun 13 09:20:48 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sigaction.c Thu Sep 23 11:15:58 1999 @@ -40,7 +40,9 @@ extern int __syscall_rt_sigaction (int, functions which have RT equivalents. */ int __libc_missing_rt_sigs; +#ifdef __NR_rt_sigaction static void restore_rt (void) asm ("__restore_rt"); +#endif static void restore (void) asm ("__restore"); /* If ACT is not NULL, change the action for SIG to *ACT. @@ -136,8 +138,10 @@ asm \ " int $0x80" \ ); +#ifdef __NR_rt_sigaction /* The return code for realtime-signals. */ RESTORE (restore_rt, __NR_rt_sigreturn) +#endif /* For the boring old signals. */ # undef RESTORE2 diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sys/io.h glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sys/io.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sys/io.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sys/io.h Sun Jan 23 00:59:38 2000 @@ -0,0 +1,178 @@ +/* Copyright (C) 1996, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_IO_H +#define _SYS_IO_H 1 + +#include <features.h> + +__BEGIN_DECLS + +/* If TURN_ON is TRUE, request for permission to do direct i/o on the + port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O + permission off for that range. This call requires root privileges. + + Portability note: not all Linux platforms support this call. Most + platforms based on the PC I/O architecture probably will, however. + E.g., Linux/Alpha for Alpha PCs supports this. */ +extern int ioperm __P ((unsigned long int __from, unsigned long int __num, + int __turn_on)); + +/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to + access any I/O port is granted. This call requires root + privileges. */ +extern int iopl __P ((int __level)); + + +extern inline unsigned char +inb (unsigned short port) +{ + unsigned char _v; + + __asm__ __volatile__ ("inb %w1,%0":"=a" (_v):"Nd" (port)); + return _v; +} + +extern inline unsigned char +inb_p (unsigned short port) +{ + unsigned char _v; + + __asm__ __volatile__ ("inb %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port)); + return _v; +} + +extern inline unsigned short +inw (unsigned short port) +{ + unsigned short _v; + + __asm__ __volatile__ ("inw %w1,%0":"=a" (_v):"Nd" (port)); + return _v; +} + +extern inline unsigned short +inw_p (unsigned short port) +{ + unsigned short _v; + + __asm__ __volatile__ ("inw %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port)); + return _v; +} + +extern inline unsigned int +inl (unsigned short port) +{ + unsigned int _v; + + __asm__ __volatile__ ("inl %w1,%0":"=a" (_v):"Nd" (port)); + return _v; +} + +extern inline unsigned int +inl_p (unsigned short port) +{ + unsigned int _v; + __asm__ __volatile__ ("inl %w1,%0\noutb %%al,$0x80":"=a" (_v):"Nd" (port)); + return _v; +} + +extern inline void +outb (unsigned char value, unsigned short port) +{ + __asm__ __volatile__ ("outb %b0,%w1"::"a" (value), "Nd" (port)); +} + +extern inline void +outb_p (unsigned char value, unsigned short port) +{ + __asm__ __volatile__ ("outb %b0,%w1\noutb %%al,$0x80"::"a" (value), + "Nd" (port)); +} + +extern inline void +outw (unsigned short value, unsigned short port) +{ + __asm__ __volatile__ ("outw %w0,%w1"::"a" (value), "Nd" (port)); + +} + +extern inline void +outw_p (unsigned short value, unsigned short port) +{ + __asm__ __volatile__ ("outw %w0,%w1\noutb %%al,$0x80"::"a" (value), + "Nd" (port)); +} + +extern inline void +outl (unsigned int value, unsigned short port) +{ + __asm__ __volatile__ ("outl %0,%w1"::"a" (value), "Nd" (port)); +} + +extern inline void +outl_p (unsigned int value, unsigned short port) +{ + __asm__ __volatile__ ("outl %0,%w1\noutb %%al,$0x80"::"a" (value), + "Nd" (port)); +} + +extern inline void +insb (unsigned short port, void *addr, unsigned long count) +{ + __asm__ __volatile__ ("cld ; rep ; insb":"=D" (addr), + "=c" (count):"d" (port), "0" (addr), "1" (count)); +} + +extern inline void +insw (unsigned short port, void *addr, unsigned long count) +{ + __asm__ __volatile__ ("cld ; rep ; insw":"=D" (addr), + "=c" (count):"d" (port), "0" (addr), "1" (count)); +} + +extern inline void +insl (unsigned short port, void *addr, unsigned long count) +{ + __asm__ __volatile__ ("cld ; rep ; insl":"=D" (addr), + "=c" (count):"d" (port), "0" (addr), "1" (count)); +} + +extern inline void +outsb (unsigned short port, const void *addr, unsigned long count) +{ + __asm__ __volatile__ ("cld ; rep ; outsb":"=S" (addr), + "=c" (count):"d" (port), "0" (addr), "1" (count)); +} + +extern inline void +outsw (unsigned short port, const void *addr, unsigned long count) +{ + __asm__ __volatile__ ("cld ; rep ; outsw":"=S" (addr), + "=c" (count):"d" (port), "0" (addr), "1" (count)); +} + +extern inline void +outsl (unsigned short port, const void *addr, unsigned long count) +{ + __asm__ __volatile__ ("cld ; rep ; outsl":"=S" (addr), + "=c" (count):"d" (port), "0" (addr), "1" (count)); +} + +__END_DECLS +#endif /* _SYS_IO_H */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sys/procfs.h glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sys/procfs.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sys/procfs.h Tue Jun 9 11:23:45 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sys/procfs.h Tue Feb 22 23:03:30 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999, 2000 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 @@ -17,17 +17,17 @@ Boston, MA 02111-1307, USA. */ #ifndef _SYS_PROCFS_H - #define _SYS_PROCFS_H 1 -#include <features.h> /* This is somehow modelled after the file of the same name on SysVr4 systems. It provides a definition of the core file format for ELF used on Linux. */ +#include <features.h> #include <signal.h> #include <sys/time.h> #include <sys/types.h> +#include <sys/ucontext.h> #include <sys/user.h> #include <sys/elf.h> @@ -40,10 +40,6 @@ struct elf_siginfo int si_errno; /* Errno. */ }; -typedef elf_greg_t greg_t; -typedef elf_gregset_t gregset_t; -typedef elf_fpregset_t fpregset_t; -#define NGREG ELF_NGREG /* Definitions to generate Intel SVR4-like core files. These mostly have the same names as the SVR4 types with "elf_" tacked on the @@ -99,6 +95,18 @@ struct elf_prpsinfo char pr_fname[16]; /* Filename of executable. */ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ }; + + +/* Addresses. */ +typedef void *psaddr_t; + +/* Register sets. Linux has different names. */ +typedef elf_gregset_t prgregset_t; +typedef elf_fpregset_t *prfpregset_t; + +/* We don't have any differences between processes and threads, + therefore habe only ine PID type. */ +typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sys/ucontext.h glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sys/ucontext.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/i386/sys/ucontext.h Sun Feb 28 23:20:47 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/i386/sys/ucontext.h Tue Feb 22 23:03:30 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999, 2000 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 @@ -26,6 +26,10 @@ included in <signal.h>. */ #include <bits/sigcontext.h> +/* We also need the definition of the userlevel data representation + for the register contexts. */ +#include <sys/user.h> + /* Type for general register. */ typedef int greg_t; @@ -36,51 +40,73 @@ typedef int greg_t; /* Container for all general registers. */ typedef greg_t gregset_t[NGREG]; +#ifdef __USE_GNU /* Number of each register is the `gregset_t' array. */ enum { GS = 0, -#define GS GS +# define GS GS FS, -#define FS FS +# define FS FS ES, -#define ES ES +# define ES ES DS, -#define DS DS +# define DS DS EDI, -#define EDI EDI +# define EDI EDI ESI, -#define ESI ESI +# define ESI ESI EBP, -#define EBP EBP +# define EBP EBP ESP, -#define ESP ESP +# define ESP ESP EBX, -#define EBX EBX +# define EBX EBX EDX, -#define EDX EDX +# define EDX EDX ECX, -#define ECX ECX +# define ECX ECX EAX, -#define EAX EAX +# define EAX EAX TRAPNO, -#define TRAPNO TRAPNO +# define TRAPNO TRAPNO ERR, -#define ERR ERR +# define ERR ERR EIP, -#define EIP EIP +# define EIP EIP CS, -#define CS CS +# define CS CS EFL, -#define EFL EFL +# define EFL EFL UESP, -#define UESP UESP +# define UESP UESP SS -#define SS SS +# define SS SS +}; +#endif + +/* Definitions taken from the kernel headers. */ +struct _libc_fpreg +{ + unsigned short int significand[4]; + unsigned short int exponent; +}; + +struct _libc_fpstate +{ + unsigned long int cw; + unsigned long int sw; + unsigned long int tag; + unsigned long int ipoff; + unsigned long int cssel; + unsigned long int dataoff; + unsigned long int datasel; + struct _libc_fpreg _st[8]; + unsigned long int status; }; /* Structure to describe FPU registers. */ -typedef struct _fpstate *fpregset_t; +typedef struct _libc_fpstate *fpregset_t; /* Context to describe whole processor state. */ typedef struct @@ -101,7 +127,7 @@ typedef struct ucontext stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; - struct _fpstate __fpregs_mem; + struct _libc_fpstate __fpregs_mem; } ucontext_t; #endif /* sys/ucontext.h */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/internal_statvfs.c glibc-2.1.3/sysdeps/unix/sysv/linux/internal_statvfs.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/internal_statvfs.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/internal_statvfs.c Tue Jan 18 02:26:16 2000 @@ -0,0 +1,98 @@ +/* Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. + + 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. */ + + /* Now fill in the fields we have information for. */ + buf->f_bsize = fsbuf.f_bsize; + /* Linux does not support f_frsize, so set it to the full block size. */ + buf->f_frsize = fsbuf.f_bsize; + buf->f_blocks = fsbuf.f_blocks; + buf->f_bfree = fsbuf.f_bfree; + buf->f_bavail = fsbuf.f_bavail; + buf->f_files = fsbuf.f_files; + buf->f_ffree = fsbuf.f_ffree; + buf->f_fsid = fsbuf.f_fsid; + buf->f_namemax = fsbuf.f_namelen; + memset (buf->f_spare, '\0', 6 * sizeof (int)); + + /* What remains to do is to fill the fields f_favail and f_flag. */ + + /* XXX I have no idea how to compute f_favail. Any idea??? */ + buf->f_favail = buf->f_ffree; + + /* Determining the flags is tricky. We have to read /proc/mounts or + the /etc/mtab file and search for the entry which matches the given + file. The way we can test for matching filesystem is using the + device number. */ + buf->f_flag = 0; + if (STAT (&st) >= 0) + { + int save_errno = errno; + struct mntent mntbuf; + FILE *mtab; + + mtab = __setmntent ("/proc/mounts", "r"); + if (mtab == NULL) + mtab = __setmntent (_PATH_MOUNTED, "r"); + + if (mtab != NULL) + { + char tmpbuf[1024]; + + while (__getmntent_r (mtab, &mntbuf, tmpbuf, sizeof (tmpbuf))) + { + struct stat fsst; + + /* Find out about the device the current entry is for. */ + if (stat (mntbuf.mnt_dir, &fsst) >= 0 + && st.st_dev == fsst.st_dev) + { + /* Bingo, we found the entry for the device FD is on. + Now interpret the option string. */ + char *cp = mntbuf.mnt_opts; + char *opt; + + while ((opt = strsep (&cp, ",")) != NULL) + if (strcmp (opt, "ro") == 0) + buf->f_flag |= ST_RDONLY; + else if (strcmp (opt, "nosuid") == 0) + buf->f_flag |= ST_NOSUID; + else if (strcmp (opt, "noexec") == 0) + buf->f_flag |= ST_NOEXEC; + else if (strcmp (opt, "nodev") == 0) + buf->f_flag |= ST_NODEV; + else if (strcmp (opt, "sync") == 0) + buf->f_flag |= ST_SYNCHRONOUS; + else if (strcmp (opt, "mand") == 0) + buf->f_flag |= ST_MANDLOCK; + else if (strcmp (opt, "noatime") == 0) + buf->f_flag |= ST_NOATIME; + else if (strcmp (opt, "nodiratime") == 0) + buf->f_flag |= ST_NODIRATIME; + + /* We can stop looking for more entries. */ + break; + } + } + + /* Close the file. */ + __endmntent (mtab); + } + + __set_errno (save_errno); + } diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/linux_fsinfo.h glibc-2.1.3/sysdeps/unix/sysv/linux/linux_fsinfo.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/linux_fsinfo.h Fri Oct 23 06:39:27 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/linux_fsinfo.h Thu Nov 18 08:42:22 1999 @@ -1,5 +1,5 @@ /* Constants from kernel header for various FSes. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 1999 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 @@ -24,35 +24,88 @@ include the headers here because of type clashes. If new filesystem types will become available we have to add the appropriate definitions here.*/ + +/* Constants that identify the `adfs' filesystem. */ #define ADFS_SUPER_MAGIC 0xadf5 + +/* Constants that identify the `affs' filesystem. */ #define AFFS_SUPER_MAGIC 0xadff + +/* Constants that identify the `bfs' filesystem. */ +#define BFS_MAGIC 0x1BADFACE + +/* Constants that identify the `coda' filesystem. */ #define CODA_SUPER_MAGIC 0x73757245 + +/* Constants that identify the `coherent' filesystem. */ +#define COH_SUPER_MAGIC 0x012ff7b7 + +/* Constant that identifies the `devfs' filesystem. */ +#define DEVFS_SUPER_MAGIC 0x1373 + +/* Constant that identifies the `devpts' filesystem. */ +#define DEVPTS_SUPER_MAGIC 0x1cd1 + +/* Constant that identifies the `efs' filesystem. */ +#define EFS_SUPER_MAGIC 0x414A53 + +/* Constant that identifies the `ext2' and `ext3' filesystems. */ #define EXT2_SUPER_MAGIC 0xef53 + +/* Constant that identifies the `hpfs' filesystem. */ #define HPFS_SUPER_MAGIC 0xf995e849 + +/* Constant that identifies the `iso9660' filesystem. */ #define ISOFS_SUPER_MAGIC 0x9660 -#define MINIX_SUPER_MAGIC 0x137f -#define MINIX_SUPER_MAGIC2 0x138F + +/* Constants that identify the `minix2' filesystem. */ #define MINIX2_SUPER_MAGIC 0x2468 #define MINIX2_SUPER_MAGIC2 0x2478 + +/* Constants that identify the `minix' filesystem. */ +#define MINIX_SUPER_MAGIC 0x137f +#define MINIX_SUPER_MAGIC2 0x138F + +/* Constants that identify the `msdos' filesystem. */ #define MSDOS_SUPER_MAGIC 0x4d44 + +/* Constants that identify the `ncp' filesystem. */ #define NCP_SUPER_MAGIC 0x564c + +/* Constants that identify the `nfs' filesystem. */ #define NFS_SUPER_MAGIC 0x6969 + +/* Constants that identify the `proc' filesystem. */ #define PROC_SUPER_MAGIC 0x9fa0 + +/* Constants that identify the `qnx4' filesystem. */ +#define QNX4_SUPER_MAGIC 0x002f + +/* Constants that identify the `reiser' filesystem. */ +#define REISERFS_SUPER_MAGIC 0x52654973 + +/* Constants that identify the `smb' filesystem. */ #define SMB_SUPER_MAGIC 0x517b -#define XENIX_SUPER_MAGIC 0x012ff7b4 -#define SYSV4_SUPER_MAGIC 0x012ff7b5 + +/* Constants that identify the `sysV' filesystem. */ #define SYSV2_SUPER_MAGIC 0x012ff7b6 -#define COH_SUPER_MAGIC 0x012ff7b7 +#define SYSV4_SUPER_MAGIC 0x012ff7b5 + +/* Constants that identify the `ufs' filesystem. */ #define UFS_MAGIC 0x00011954 #define UFS_CIGAM 0x54190100 /* byteswapped MAGIC */ +/* Constants that identify the `xenix' filesystem. */ +#define XENIX_SUPER_MAGIC 0x012ff7b4 + /* Maximum link counts. */ +#define COH_LINK_MAX 10000 #define EXT2_LINK_MAX 32000 -#define MINIX_LINK_MAX 250 #define MINIX2_LINK_MAX 65530 -#define XENIX_LINK_MAX 126 /* ?? */ +#define MINIX_LINK_MAX 250 +#define REISERFS_LINK_MAX 64535 #define SYSV_LINK_MAX 126 /* 127? 251? */ -#define COH_LINK_MAX 10000 #define UFS_LINK_MAX EXT2_LINK_MAX +#define XENIX_LINK_MAX 126 /* ?? */ #endif /* linux_fsinfo.h */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/llseek.c glibc-2.1.3/sysdeps/unix/sysv/linux/llseek.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/llseek.c Mon Oct 26 03:07:12 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/llseek.c Mon Jan 3 13:10:46 2000 @@ -1,5 +1,5 @@ /* Long-long seek operation. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000 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 @@ -37,5 +37,12 @@ __llseek (int fd, loff_t offset, int whe &result, whence) ?: result); } weak_alias (__llseek, llseek) +strong_alias (__llseek, __libc_lseek64) weak_alias (__llseek, __lseek64) weak_alias (__llseek, lseek64) + +/* llseek doesn't have a prototype. Since the second parameter is a + 64bit type, this results in wrong behaviour if no prototype is + provided. */ +link_warning (llseek, "\ +the `llseek' function may be dangerous; use `lseek64' instead.") diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/lxstat64.c glibc-2.1.3/sysdeps/unix/sysv/linux/lxstat64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/lxstat64.c Wed Oct 21 08:10:59 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/lxstat64.c Tue Dec 28 14:05:05 1999 @@ -1,5 +1,5 @@ /* lxstat64 using old-style Unix lstat system call. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999 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 @@ -29,12 +29,32 @@ extern int __syscall_lstat (const char *, struct kernel_stat *); +#ifdef __NR_lstat64 +extern int __syscall_lstat64 (const char *, struct stat64 *); +/* The variable is shared between all wrappers around *stat64 calls. */ +extern int __have_no_stat64; +#endif + /* Get information about the file NAME in BUF. */ int __lxstat64 (int vers, const char *name, struct stat64 *buf) { struct kernel_stat kbuf; int result; + +#ifdef __NR_lstat64 + if (! __have_no_stat64) + { + int saved_errno = errno; + result = INLINE_SYSCALL (lstat64, 2, name, buf); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + __have_no_stat64 = 1; + } +#endif result = INLINE_SYSCALL (lstat, 2, name, &kbuf); if (result == 0) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/mips/bits/resource.h glibc-2.1.3/sysdeps/unix/sysv/linux/mips/bits/resource.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/mips/bits/resource.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/mips/bits/resource.h Tue Dec 28 14:05:08 1999 @@ -0,0 +1,204 @@ +/* Bit values & structures for resource limits. MIPS/Linux version. + Copyright (C) 1994, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_RESOURCE_H +# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead." +#endif + +#include <bits/types.h> + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + RLIMIT_RSS = 7, +#define RLIMIT_RSS RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 5, + RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 6, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + RLIMIT_NPROC = 8, +#define RLIMIT_NPROC RLIMIT_NPROC + + /* Locked-in-memory address space. */ + RLIMIT_MEMLOCK = 9, +#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK + + RLIM_NLIMITS = 10 +#define RLIMIT_NLIMITS RLIMIT_NLIMITS +#define RLIM_NLIMITS RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +#else +# define RLIM_INFINITY 0x7fffffffffffffffLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0x7fffffffffffffffLL +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1, +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + + /* Both. */ + RUSAGE_BOTH = -2 +#define RUSAGE_BOTH RUSAGE_BOTH +}; + +#define __need_timeval +#include <bits/time.h> /* For `struct timeval'. */ + +/* Structure which says how much of each resource has been used. */ +struct rusage + { + /* Total amount of user time used. */ + struct timeval ru_utime; + /* Total amount of system time used. */ + struct timeval ru_stime; + /* Maximum resident set size (in kilobytes). */ + long int ru_maxrss; + /* Amount of sharing of text segment memory + with other processes (kilobyte-seconds). */ + long int ru_ixrss; + /* Amount of data segment memory used (kilobyte-seconds). */ + long int ru_idrss; + /* Amount of stack memory used (kilobyte-seconds). */ + long int ru_isrss; + /* Number of soft page faults (i.e. those serviced by reclaiming + a page from the list of pages awaiting reallocation. */ + long int ru_minflt; + /* Number of hard page faults (i.e. those that required I/O). */ + long int ru_majflt; + /* Number of times a process was swapped out of physical memory. */ + long int ru_nswap; + /* Number of input operations via the file system. Note: This + and `ru_oublock' do not include operations with the cache. */ + long int ru_inblock; + /* Number of output operations via the file system. */ + long int ru_oublock; + /* Number of IPC messages sent. */ + long int ru_msgsnd; + /* Number of IPC messages received. */ + long int ru_msgrcv; + /* Number of signals delivered. */ + long int ru_nsignals; + /* Number of voluntary context switches, i.e. because the process + gave up the process before it had to (usually to wait for some + resource to be available). */ + long int ru_nvcsw; + /* Number of involuntary context switches, i.e. a higher priority process + became runnable or the current process used up its time slice. */ + long int ru_nivcsw; + }; + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/mips/bits/sigaction.h glibc-2.1.3/sysdeps/unix/sysv/linux/mips/bits/sigaction.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/mips/bits/sigaction.h Thu Dec 31 10:16:52 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/mips/bits/sigaction.h Tue Feb 22 23:03:31 2000 @@ -1,5 +1,5 @@ /* The proper definitions for Linux/MIPS's sigaction. - Copyright (C) 1993, 1994, 1995, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1993-1995, 1997, 1998, 2000 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 @@ -56,6 +56,7 @@ struct sigaction /* Bits in `sa_flags'. */ #define SA_NOCLDSTOP 0x00020000 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00010000 /* Don't create zombie on child death. */ #define SA_SIGINFO 0x00000008 /* Invoke signal-catching function with three arguments instead of one. */ #if defined __USE_UNIX98 || defined __USE_MISC diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/mips/bits/types.h glibc-2.1.3/sysdeps/unix/sysv/linux/mips/bits/types.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/mips/bits/types.h Fri Apr 16 10:06:25 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/mips/bits/types.h Tue Dec 21 15:52:18 1999 @@ -68,8 +68,8 @@ typedef long int __off_t; /* Type of fi typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ typedef int __pid_t; /* Type of process identifications. */ typedef int __ssize_t; /* Type of a byte count, or error. */ -typedef long int __rlim_t; /* Type of resource counts. */ -typedef __quad_t __rlim64_t; /* Type of resource counts (LFS). */ +typedef __u_long __rlim_t; /* Type of resource counts. */ +typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ typedef __u_int __id_t; /* General type for ID. */ typedef struct @@ -138,8 +138,8 @@ typedef __u_long __ino64_t; typedef __loff_t __off64_t; /* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; +typedef long int __t_scalar_t; +typedef unsigned long int __t_uscalar_t; /* Duplicates info from stdint.h but this is used in unistd.h. */ typedef int __intptr_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/mips/sys/procfs.h glibc-2.1.3/sysdeps/unix/sysv/linux/mips/sys/procfs.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/mips/sys/procfs.h Thu Dec 10 01:59:12 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/mips/sys/procfs.h Mon Nov 15 16:25:12 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999 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 @@ -17,17 +17,17 @@ Boston, MA 02111-1307, USA. */ #ifndef _SYS_PROCFS_H - #define _SYS_PROCFS_H 1 -#include <features.h> /* This is somehow modelled after the file of the same name on SysVr4 systems. It provides a definition of the core file format for ELF used on Linux. */ +#include <features.h> #include <signal.h> #include <sys/time.h> #include <sys/types.h> +#include <sys/ucontext.h> #include <sys/user.h> #include <asm/elf.h> @@ -99,6 +99,17 @@ struct elf_prpsinfo char pr_fname[16]; /* Filename of executable. */ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ }; + +/* Addresses. */ +typedef void *psaddr_t; + +/* Register sets. Linux has different names. */ +typedef gregset_t prgregset_t; +typedef fpregset_t prfpregset_t; + +/* We don't have any differences between processes and threads, + therefore habe only ine PID type. */ +typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/net/if_arp.h glibc-2.1.3/sysdeps/unix/sysv/linux/net/if_arp.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/net/if_arp.h Tue Aug 24 13:56:36 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/net/if_arp.h Mon Nov 29 11:19:59 1999 @@ -118,6 +118,7 @@ struct arphdr #define ARPHRD_FCAL 785 /* Fibrechanel arbitrated loop. */ #define ARPHRD_FCPL 786 /* Fibrechanel public loop. */ #define ARPHRD_FCPFABRIC 787 /* Fibrechanel fabric. */ +#define ARPHRD_IEEE802_TR 800 /* Magic type ident for TR. */ /* ARP ioctl request. */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/bits/termios.h glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/bits/termios.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/bits/termios.h Tue Jan 19 04:25:37 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/bits/termios.h Fri Nov 12 16:50:06 1999 @@ -288,3 +288,14 @@ struct termio { #define N_SLIP 1 #define N_MOUSE 2 #define N_PPP 3 +#define N_STRIP 4 +#define N_AX25 5 +#define N_X25 6 /* X.25 async */ +#define N_6PACK 7 +#define N_MASC 8 /* Mobitex module */ +#define N_R3964 9 /* Simatic R3964 module */ +#define N_PROFIBUS_FDL 10 /* Profibus */ +#define N_IRDA 11 /* Linux IR */ +#define N_SMSBLOCK 12 /* SMS block mode */ +#define N_HDLC 13 /* synchronous HDLC */ +#define N_SYNC_PPP 14 /* synchronous PPP */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/ftruncate64.c glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/ftruncate64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/ftruncate64.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/ftruncate64.c Wed Feb 16 10:30:25 2000 @@ -0,0 +1,63 @@ +/* Copyright (C) 1997, 1998, 1999, 2000 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 <sys/types.h> +#include <errno.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + + +#ifdef __NR_ftruncate64 +/* The variable is shared between all wrappers around *truncate64 calls. */ +extern int __have_no_truncate64; + +extern int __syscall_ftruncate64 (int fd, off64_t length); + + +/* Truncate the file FD refers to to LENGTH bytes. */ +int +ftruncate64 (fd, length) + int fd; + off64_t length; +{ + if (! __have_no_truncate64) + { + int saved_errno = errno; + int result = __syscall_ftruncate64 (fd, length); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + __have_no_truncate64 = 1; + } + + if ((off_t) length != length) + { + __set_errno (EINVAL); + return -1; + } + return __ftruncate (fd, (off_t) length); +} + +#else +/* Use the generic implementation. */ +# include <sysdeps/generic/ftruncate64.c> +#endif diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/mmap64.c glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/mmap64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/mmap64.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/mmap64.c Tue Feb 22 23:03:31 2000 @@ -0,0 +1,63 @@ +/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. + + 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 <errno.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + +#include <sys/mman.h> + +#include <asm/page.h> + +#ifdef __NR_mmap2 +extern __ptr_t __syscall_mmap2 (__ptr_t, size_t, int, int, int, off_t); +static int have_no_mmap2; +#endif + +__ptr_t +__mmap64 (__ptr_t addr, size_t len, int prot, int flags, int fd, off64_t offset) +{ +#ifdef __NR_mmap2 + if (! have_no_mmap2 && ! (offset & PAGE_MASK)) + { + int saved_errno = errno; + + /* This will be always 12, no matter what page size is. */ + __ptr_t result = INLINE_SYSCALL (mmap2, 6, addr, len, prot, flags, + fd, (off_t) (offset >> PAGE_SHIFT)); + + if (result != (__ptr_t) -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + have_no_mmap2 = 1; + } +#endif + if (offset != (off_t) offset || (offset + len) != (off_t) (offset + len)) + { + __set_errno (EINVAL); + return MAP_FAILED; + } + + return __mmap (addr, len, prot, flags, fd, (off_t) offset); +} + +weak_alias (__mmap64, mmap64) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pread.c glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pread.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pread.c Tue Oct 27 06:18:54 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pread.c Tue Dec 28 14:05:09 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pread (int fd, ssize_t -__pread (fd, buf, count, offset) +__libc_pread (fd, buf, count, offset) int fd; void *buf; size_t count; @@ -50,9 +50,10 @@ __pread (fd, buf, count, offset) return result; } -weak_alias (__pread, pread) +strong_alias (__libc_pread, __pread) +weak_alias (__libc_pread, pread) -#define __pread(fd, buf, count, offset) \ +#define __libc_pread(fd, buf, count, offset) \ static internal_function __emulate_pread (fd, buf, count, offset) #endif #include <sysdeps/posix/pread.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pread64.c glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pread64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pread64.c Tue Oct 27 06:18:55 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pread64.c Tue Dec 28 14:05:09 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pread64 (int fd ssize_t -__pread64 (fd, buf, count, offset) +__libc_pread64 (fd, buf, count, offset) int fd; void *buf; size_t count; @@ -50,9 +50,10 @@ __pread64 (fd, buf, count, offset) return result; } -weak_alias (__pread64, pread64) +strong_alias (__libc_pread64, __pread64) +weak_alias (__libc_pread64, pread64) -#define __pread64(fd, buf, count, offset) \ +#define __libc_pread64(fd, buf, count, offset) \ static internal_function __emulate_pread64 (fd, buf, count, offset) #endif #include <sysdeps/posix/pread64.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pwrite.c glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pwrite.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pwrite.c Mon Nov 16 11:12:45 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pwrite.c Tue Dec 28 14:05:09 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pwrite (int fd, ssize_t -__pwrite (fd, buf, count, offset) +__libc_pwrite (fd, buf, count, offset) int fd; const void *buf; size_t count; @@ -50,9 +50,10 @@ __pwrite (fd, buf, count, offset) return result; } -weak_alias (__pwrite, pwrite) +strong_alias (__libc_pwrite, __pwrite) +weak_alias (__libc_pwrite, pwrite) -#define __pwrite(fd, buf, count, offset) \ +#define __libc_pwrite(fd, buf, count, offset) \ static internal_function __emulate_pwrite (fd, buf, count, offset) #endif #include <sysdeps/posix/pwrite.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pwrite64.c glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pwrite64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/pwrite64.c Mon Nov 16 11:12:46 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/pwrite64.c Tue Dec 28 14:05:09 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pwrite64 (int f ssize_t -__pwrite64 (fd, buf, count, offset) +__libc_pwrite64 (fd, buf, count, offset) int fd; const void *buf; size_t count; @@ -50,9 +50,10 @@ __pwrite64 (fd, buf, count, offset) return result; } -weak_alias (__pwrite64, pwrite64) +strong_alias (__libc_pwrite64, __pwrite64) +weak_alias (__libc_pwrite64, pwrite64) -#define __pwrite64(fd, buf, count, offset) \ +#define __libc_pwrite64(fd, buf, count, offset) \ static internal_function __emulate_pwrite64 (fd, buf, count, offset) #endif #include <sysdeps/posix/pwrite64.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h Thu Dec 10 01:59:57 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h Fri Feb 11 15:49:59 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1999 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 @@ -17,22 +17,43 @@ Boston, MA 02111-1307, USA. */ #ifndef _SYS_PROCFS_H - #define _SYS_PROCFS_H 1 -#include <features.h> /* This is somehow modelled after the file of the same name on SysVr4 systems. It provides a definition of the core file format for ELF used on Linux. */ +#include <features.h> #include <signal.h> #include <sys/time.h> #include <sys/types.h> #include <sys/user.h> -#include <asm/elf.h> __BEGIN_DECLS +#define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ +#define ELF_NFPREG 33 /* includes fpscr */ +#define ELF_NVRREG 33 /* includes vscr */ + +typedef unsigned long elf_greg_t; +typedef elf_greg_t elf_gregset_t[ELF_NGREG]; + +typedef double elf_fpreg_t; +typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; + +/* gcc doesn't support __TI__ yet */ +#if 0 +typedef unsigned __uint128_t __attribute__ (( __mode__ (__TI__))); +#else +typedef struct { + unsigned long u[4]; +} __attribute((aligned(16))) __uint128_t; +#endif + +/* Altivec registers */ +typedef __uint128_t elf_vrreg_t; +typedef elf_vrreg_t elf_vrregset_t[ELF_NVRREG]; + struct elf_siginfo { int si_signo; /* Signal number. */ @@ -99,6 +120,17 @@ struct elf_prpsinfo char pr_fname[16]; /* Filename of executable. */ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ }; + +/* Addresses. */ +typedef void *psaddr_t; + +/* Register sets. Linux has different names. */ +typedef gregset_t prgregset_t; +typedef fpregset_t prfpregset_t; + +/* We don't have any differences between processes and threads, + therefore habe only ine PID type. */ +typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/syscalls.list glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/syscalls.list --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/syscalls.list Tue Aug 24 15:20:27 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/syscalls.list Wed Feb 16 14:15:41 2000 @@ -12,21 +12,29 @@ rt_sigprocmask - rt_sigprocmask 4 __sysc rt_sigqueueinfo - rt_sigqueueinfo 3 __syscall_rt_sigqueueinfo rt_sigsuspend - rt_sigsuspend 2 __syscall_rt_sigsuspend rt_sigtimedwait - rt_sigtimedwait 4 __syscall_rt_sigtimedwait +s_fstat64 fxstat64 fstat64 2 __syscall_fstat64 +s_ftruncate64 ftruncate64 ftruncate64 3 __syscall_ftruncate64 s_getcwd getcwd getcwd 2 __syscall_getcwd s_getdents getdents getdents 3 __syscall_getdents s_getpriority getpriority getpriority 2 __syscall_getpriority s_getresgid getresgid getresgid 3 __syscall_getresgid s_getresuid getresuid getresuid 3 __syscall_getresuid +s_getrlimit getrlimit getrlimit 2 __syscall_getrlimit +s_lstat64 lxstat64 lstat64 2 __syscall_lstat64 +s_mmap2 mmap64 mmap2 6 __syscall_mmap2 s_poll poll poll 3 __syscall_poll s_pread64 pread64 pread 5 __syscall_pread s_ptrace ptrace ptrace 4 __syscall_ptrace s_pwrite64 pwrite64 pwrite 5 __syscall_pwrite s_reboot reboot reboot 3 __syscall_reboot +s_setrlimit setrlimit setrlimit 3 __syscall_setrlimit s_sigaction sigaction sigaction 3 __syscall_sigaction s_sigpending sigpending sigpending 1 __syscall_sigpending s_sigprocmask sigprocmask sigprocmask 3 __syscall_sigprocmask s_sigsuspend sigsuspend sigsuspend 3 __syscall_sigsuspend +s_stat64 xstat64 stat64 2 __syscall_stat64 s_sysctl sysctl _sysctl 1 __syscall__sysctl +s_truncate64 truncate64 truncate64 3 __syscall_truncate64 s_ustat ustat ustat 2 __syscall_ustat s_vfork vfork vfork 0 __syscall_vfork sys_fstat fxstat fstat 2 __syscall_fstat diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/truncate64.c glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/truncate64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/powerpc/truncate64.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/powerpc/truncate64.c Wed Feb 16 10:29:51 2000 @@ -0,0 +1,63 @@ +/* Copyright (C) 1997, 1998, 1999, 2000 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 <sys/types.h> +#include <errno.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + + +#ifdef __NR_truncate64 +/* The variable is shared between all wrappers around *truncate64 calls. */ +int __have_no_truncate64; + +extern int __syscall_truncate64 (const char *path, off64_t length); + + +/* Truncate the file FD refers to to LENGTH bytes. */ +int +truncate64 (path, length) + const char *path; + off64_t length; +{ + if (! __have_no_truncate64) + { + int saved_errno = errno; + int result = __syscall_truncate64 (path, length); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + __have_no_truncate64 = 1; + } + + if ((off_t) length != length) + { + __set_errno (EINVAL); + return -1; + } + return truncate (path, (off_t) length); +} + +#else +/* Use the generic implementation. */ +# include <sysdeps/generic/truncate64.c> +#endif diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/pread.c glibc-2.1.3/sysdeps/unix/sysv/linux/pread.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/pread.c Mon Oct 26 03:07:21 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/pread.c Tue Dec 21 15:52:14 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pread (int fd, ssize_t -__pread (fd, buf, count, offset) +__libc_pread (fd, buf, count, offset) int fd; void *buf; size_t count; @@ -50,9 +50,10 @@ __pread (fd, buf, count, offset) return result; } -weak_alias (__pread, pread) +strong_alias (__libc_pread, __pread) +weak_alias (__libc_pread, pread) -#define __pread(fd, buf, count, offset) \ +#define __libc_pread(fd, buf, count, offset) \ static internal_function __emulate_pread (fd, buf, count, offset) #endif #include <sysdeps/posix/pread.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/pread64.c glibc-2.1.3/sysdeps/unix/sysv/linux/pread64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/pread64.c Mon Oct 26 03:07:24 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/pread64.c Tue Dec 21 15:52:14 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pread64 (int fd ssize_t -__pread64 (fd, buf, count, offset) +__libc_pread64 (fd, buf, count, offset) int fd; void *buf; size_t count; @@ -51,9 +51,10 @@ __pread64 (fd, buf, count, offset) return result; } -weak_alias (__pread64, pread64) +strong_alias (__libc_pread64, __pread64) +weak_alias (__libc_pread64, pread64) -#define __pread64(fd, buf, count, offset) \ +#define __libc_pread64(fd, buf, count, offset) \ static internal_function __emulate_pread64 (fd, buf, count, offset) #endif #include <sysdeps/posix/pread64.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/pwrite.c glibc-2.1.3/sysdeps/unix/sysv/linux/pwrite.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/pwrite.c Sat Nov 28 10:54:39 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/pwrite.c Tue Dec 21 15:52:14 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. @@ -33,7 +33,7 @@ static ssize_t __emulate_pwrite (int fd, ssize_t -__pwrite (fd, buf, count, offset) +__libc_pwrite (fd, buf, count, offset) int fd; const void *buf; size_t count; @@ -50,9 +50,10 @@ __pwrite (fd, buf, count, offset) return result; } -weak_alias (__pwrite, pwrite) +strong_alias (__libc_pwrite, __pwrite) +weak_alias (__libc_pwrite, pwrite) -#define __pwrite(fd, buf, count, offset) \ +#define __libc_pwrite(fd, buf, count, offset) \ static internal_function __emulate_pwrite (fd, buf, count, offset) #endif #include <sysdeps/posix/pwrite.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/pwrite64.c glibc-2.1.3/sysdeps/unix/sysv/linux/pwrite64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/pwrite64.c Wed Oct 21 08:11:05 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/pwrite64.c Tue Dec 21 15:52:14 1999 @@ -33,7 +33,7 @@ static ssize_t __emulate_pwrite64 (int f ssize_t -__pwrite64 (fd, buf, count, offset) +__libc_pwrite64 (fd, buf, count, offset) int fd; const void *buf; size_t count; @@ -51,9 +51,10 @@ __pwrite64 (fd, buf, count, offset) return result; } -weak_alias (__pwrite64, pwrite64) +strong_alias (__libc_pwrite64, __pwrite64) +weak_alias (__libc_pwrite64, pwrite64) -#define __pwrite64(fd, buf, count, offset) \ +#define __libc_pwrite64(fd, buf, count, offset) \ static internal_function __emulate_pwrite64 (fd, buf, count, offset) #endif #include <sysdeps/posix/pwrite64.c> diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/scsi/scsi.h glibc-2.1.3/sysdeps/unix/sysv/linux/scsi/scsi.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/scsi/scsi.h Wed Mar 11 01:31:14 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/scsi/scsi.h Wed Jan 5 17:45:55 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999 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 @@ -85,7 +85,11 @@ #define LOG_SELECT 0x4c #define LOG_SENSE 0x4d #define MODE_SELECT_10 0x55 +#define RESERVE_10 0x56 +#define RELEASE_10 0x57 #define MODE_SENSE_10 0x5a +#define PERSISTENT_RESERVE_IN 0x5e +#define PERSISTENT_RESERVE_OUT 0x5f #define MOVE_MEDIUM 0xa5 #define READ_12 0xa8 #define WRITE_12 0xaa @@ -145,6 +149,7 @@ #define TYPE_MOD 0x07 /* Magneto-optical disk - * - treated as TYPE_DISK */ #define TYPE_MEDIUM_CHANGER 0x08 +#define TYPE_ENCLOSURE 0x0d /* Enclosure Services Device */ #define TYPE_NO_LUN 0x7f /* diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h glibc-2.1.3/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h Wed Nov 17 11:55:14 1999 @@ -0,0 +1,34 @@ +/* Copyright (C) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SCSI_IOCTL_H +#define _SCSI_IOCTL_H + +/* IOCTLs for SCSI. */ +#define SCSI_IOCTL_SEND_COMMAND 1 /* Send a command to the SCSI host. */ +#define SCSI_IOCTL_TEST_UNIT_READY 2 /* Test if unit is ready. */ +#define SCSI_IOCTL_BENCHMARK_COMMAND 3 +#define SCSI_IOCTL_SYNC 4 /* Request synchronous parameters. */ +#define SCSI_IOCTL_START_UNIT 5 +#define SCSI_IOCTL_STOP_UNIT 6 +#define SCSI_IOCTL_DOORLOCK 0x5380 /* Lock the eject mechanism. */ +#define SCSI_IOCTL_DOORUNLOCK 0x5381 /* Unlock the mechanism. */ + +#endif + + diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/scsi/sg.h glibc-2.1.3/sysdeps/unix/sysv/linux/scsi/sg.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/scsi/sg.h Wed Mar 11 01:31:40 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/scsi/sg.h Wed Nov 17 11:55:14 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999 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 @@ -32,30 +32,142 @@ are then read using the read call. The same header is used for replies; ignore the reply_len field. */ +#define SG_MAX_SENSE 16 + struct sg_header { - int pack_len; /* length of incoming packet - (including header). */ - int reply_len; /* max length of expected reply. */ - int pack_id; /* id number of packet. */ - int result; /* 0==ok, otherwise error number. */ - unsigned int twelve_byte:1; /* force 12 byte command length for - group 6 & 7 commands. */ - unsigned int other_flags:31; /* for future use. */ - unsigned char sense_buffer[16]; /* used only by reads. */ - /* command follows then data for command. */ + /* Length of incoming packet (including header). */ + int pack_len; + /* Maximal length of expected reply. */ + int reply_len; + /* Id number of packet. */ + int pack_id; + /* 0==ok, otherwise error number. */ + int result; + /* Force 12 byte command length for group 6 & 7 commands. */ + unsigned int twelve_byte:1; + /* SCSI status from target. */ + unsigned int target_status:5; + /* Host status (see "DID" codes). */ + unsigned int host_status:8; + /* Driver status+suggestion. */ + unsigned int driver_status:8; + /* Unused. */ + unsigned int other_flags:10; + /* Output in 3 cases: + when target_status is CHECK_CONDITION or + when target_status is COMMAND_TERMINATED or + when (driver_status & DRIVER_SENSE) is true. */ + unsigned char sense_buffer[SG_MAX_SENSE]; }; -/* ioctl's */ -#define SG_SET_TIMEOUT 0x2201 /* set timeout *(int *)arg==timeout */ -#define SG_GET_TIMEOUT 0x2202 /* get timeout return timeout */ +/* Request information about a specific SG device. */ +struct sg_scsi_id { + /* Host number as in "scsi<n>" where 'n' is one of 0, 1, 2 etc. */ + int host_no; + int channel; + /* SCSI id of target device. */ + int scsi_id; + int lun; + /* TYPE_... defined in <scsi/scsi.h>. */ + int scsi_type; + /* Host (adapter) maximum commands per lun. */ + short int h_cmd_per_lun; + /* Device (or adapter) maximum queue length. */ + short int d_queue_depth; + /* Unused, set to 0 for now. */ + int unused1; + /* Unused, set to 0 for now. */ + int unused2; +}; -#define SG_DEFAULT_TIMEOUT (60*HZ) /* 1 minute timeout */ -#define SG_DEFAULT_RETRIES 1 +/* Ioctl's */ +#define SG_SET_TIMEOUT 0x2201 /* Set timeout; *(int *)arg==timeout. */ +#define SG_GET_TIMEOUT 0x2202 /* Get timeout; return timeout. */ -#define SG_MAX_QUEUE 4 /* maximum outstanding request, arbitrary, may be - changed if sufficient DMA buffer room available. */ +#define SG_EMULATED_HOST 0x2203 /* True for emulated host adapter (ATAPI). */ -#define SG_BIG_BUFF 32768 +/* Used to configure SCSI command transformation layer for ATAPI devices. */ +#define SG_SET_TRANSFORM 0x2204 +#define SG_GET_TRANSFORM 0x2205 + +#define SG_SET_RESERVED_SIZE 0x2275 /* Request a new reserved buffer size. */ +#define SG_GET_RESERVED_SIZE 0x2272 /* Get actual size of reserved buffer */ + +/* The following ioctl takes a 'sg_scsi_id *' object as its 3rd argument. */ +#define SG_GET_SCSI_ID 0x2276 /* Yields fd's bus, chan, dev, lun + type + SCSI id information can also be obtained + from SCSI_IOCTL_GET_IDLUN. */ + +/* Override host setting and always DMA using low memory ( <16MB on i386). */ +#define SG_SET_FORCE_LOW_DMA 0x2279 /* 0-> use adapter setting, 1-> force */ +#define SG_GET_LOW_DMA 0x227a /* 0-> use all ram for dma; 1-> low dma ram */ + +/* If SG_SET_FORCE_PACK_ID is set to 1, pack_id is input to read() which + will attempt to read that pack_id or block (or return EAGAIN). If + pack_id is -1 then read oldest waiting. If SG_SET_FORCE_PACK_ID is + set to 0 then pack_id gets ignored by read() and the oldest + readable is fetched. */ +#define SG_SET_FORCE_PACK_ID 0x227b +#define SG_GET_PACK_ID 0x227c /* Yields oldest readable pack_id (or -1). */ + +#define SG_GET_NUM_WAITING 0x227d /* Number of commands awaiting read(). */ + +/* Turn on error sense trace (1..8), dump this device to log/console (9) + or dump all sg device states ( >9 ) to log/console. */ +#define SG_SET_DEBUG 0x227e /* 0 -> turn off debug */ + +/* Yields max scatter gather tablesize allowed by current host adapter. */ +#define SG_GET_SG_TABLESIZE 0x227F /* 0 implies can't do scatter gather */ + +/* Control whether sequencing per file descriptor or per device. */ +#define SG_GET_MERGE_FD 0x2274 /* 0-> per fd, 1-> per device */ +#define SG_SET_MERGE_FD 0x2273 /* Attempt to change sequencing state, + if more than current fd open on device, + will fail with EBUSY. */ + +/* Get/set command queuing state per fd (default is SG_DEF_COMMAND_Q). */ +#define SG_GET_COMMAND_Q 0x2270 /* Yields 0 (queuing off) or 1 (on). */ +#define SG_SET_COMMAND_Q 0x2271 /* Change queuing state with 0 or 1. */ + +/* Get/set whether DMA underrun will cause an error (DID_ERROR). Currently this + only applies to the [much-used] aic7xxx driver. */ +#define SG_GET_UNDERRUN_FLAG 0x2280 /* Yields 0 (don't flag) or 1 (flag). */ +#define SG_SET_UNDERRUN_FLAG 0x2281 /* Change flag underrun state. */ + +#define SG_GET_VERSION_NUM 0x2282 /* Example: version 2.1.34 yields 20134 */ +#define SG_NEXT_CMD_LEN 0x2283 /* Override SCSI command length with given + number on the next write() on this file + descriptor. */ + +/* Returns -EBUSY if occupied else takes as input: 0 -> do nothing, + 1 -> device reset or 2 -> bus reset (may not be activated yet). */ +#define SG_SCSI_RESET 0x2284 + + +/* Largest size (in bytes) a single scatter-gather list element can have. + The value must be a power of 2 and <= (PAGE_SIZE * 32) [131072 bytes on + i386]. The minimum value is PAGE_SIZE. If scatter-gather not supported + by adapter then this value is the largest data block that can be + read/written by a single scsi command. The user can find the value of + PAGE_SIZE by calling getpagesize() defined in <unistd.h>. */ +#define SG_SCATTER_SZ (8 * 4096) /* PAGE_SIZE is not available to user. */ + +#define SG_DEFAULT_TIMEOUT (60 * HZ) /* 1 minute timeout */ +#define SG_DEFAULT_RETRIES 1 + +/* Defaults, commented if they differ from original sg driver */ +#define SG_DEF_COMMAND_Q 0 +#define SG_DEF_MERGE_FD 0 /* was 1 -> per device sequencing */ +#define SG_DEF_FORCE_LOW_DMA 0 /* was 1 -> memory below 16MB on i386 */ +#define SG_DEF_FORCE_PACK_ID 0 +#define SG_DEF_UNDERRUN_FLAG 0 +#define SG_DEF_RESERVED_SIZE SG_SCATTER_SZ + +#define SG_MAX_QUEUE 16 /* Maximum outstanding request, arbitrary, + may be changed if sufficient DMA buffer + room available. */ + +#define SG_BIG_BUFF SG_DEF_RESERVED_SIZE /* for backward compatibility */ #endif /* scsi/sg.h */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/semctl.c glibc-2.1.3/sysdeps/unix/sysv/linux/semctl.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/semctl.c Tue Dec 15 08:45:08 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/semctl.c Fri Sep 17 08:36:46 1999 @@ -40,15 +40,15 @@ union semun int semctl (int semid, int semnum, int cmd, ...) { - union semun *arg; + union semun arg; va_list ap; va_start (ap, cmd); - /* Get a pointer the argument. */ - arg = &va_arg (ap, union semun); + /* Get the argument. */ + arg = va_arg (ap, union semun); va_end (ap); - return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, arg); + return INLINE_SYSCALL (ipc, 5, IPCOP_semctl, semid, semnum, cmd, &arg); } diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/shmget.c glibc-2.1.3/sysdeps/unix/sysv/linux/shmget.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/shmget.c Tue Dec 15 08:45:14 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/shmget.c Tue Dec 21 15:52:14 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995. @@ -30,7 +30,7 @@ int shmget (key, size, shmflg) key_t key; - int size; + size_t size; int shmflg; { return INLINE_SYSCALL (ipc, 5, IPCOP_shmget, key, size, shmflg, NULL); diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sigstack.c glibc-2.1.3/sysdeps/unix/sysv/linux/sigstack.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/sigstack.c Fri Sep 11 11:17:57 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sigstack.c Tue Feb 22 23:03:26 2000 @@ -1,5 +1,5 @@ /* Emulate sigstack function using sigaltstack. - Copyright (C) 1998 Free Software Foundation, Inc. + Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -26,7 +26,7 @@ #ifdef __NR_sigaltstack int sigstack (ss, oss) - const struct sigstack *ss; + struct sigstack *ss; struct sigstack *oss; { stack_t sas; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sleep.c glibc-2.1.3/sysdeps/unix/sysv/linux/sleep.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/sleep.c Tue Nov 17 12:39:23 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sleep.c Thu Oct 14 12:21:33 1999 @@ -1,5 +1,5 @@ /* Implementation of the POSIX sleep function using nanosleep. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -33,6 +33,10 @@ __sleep (unsigned int seconds) sigset_t set, oset; struct sigaction oact; unsigned int result; + + /* This is not necessary but some buggy programs depend on this. */ + if (seconds == 0) + return 0; /* Linux will wake up the system call, nanosleep, when SIGCHLD arrives even if SIGCHLD is ignored. We have to deal with it diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h Tue Aug 17 13:08:30 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/fcntl.h Wed Jan 5 17:45:55 2000 @@ -1,5 +1,5 @@ /* O_*, F_*, FD_* bit values for Linux/SPARC. - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 2000 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 @@ -21,6 +21,7 @@ #define _FCNTLBITS_H 1 #include <sys/types.h> +#include <bits/wordsize.h> /* open/fcntl - O_SYNC is only implemented on blocks devices and on files located on an ext2 file system */ @@ -37,11 +38,19 @@ #define O_NONBLOCK 0x4000 #define O_NDELAY (0x0004 | O_NONBLOCK) #define O_NOCTTY 0x8000 /* not fcntl */ -#define O_DIRECTORY 0x10000 /* must be a directory */ -#define O_NOFOLLOW 0x20000 /* don't follow links */ -/* XXX missing */ -#define O_LARGEFILE 0 +#ifdef __USE_GNU +# define O_DIRECTORY 0x10000 /* must be a directory */ +# define O_NOFOLLOW 0x20000 /* don't follow links */ +#endif + +#ifdef __USE_LARGEFILE64 +# if __WORDSIZE == 64 +# define O_LARGEFILE 0 +# else +# define O_LARGEFILE 0x40000 +# endif +#endif /* For now Linux has synchronisity options for data and read operations. We define the symbols here but let them do the same as O_SYNC since diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/resource.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/resource.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/resource.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/resource.h Sat Dec 18 16:06:24 1999 @@ -0,0 +1,220 @@ +/* Bit values & structures for resource limits. SPARC/Linux version. + Copyright (C) 1994, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_RESOURCE_H +# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead." +#endif + +#include <bits/types.h> + +/* Transmute defines to enumerations. The macro re-definitions are + necessary because some programs want to test for operating system + features with #ifdef RUSAGE_SELF. In ISO C the reflexive + definition is a no-op. */ + +/* Kinds of resource limit. */ +enum __rlimit_resource +{ + /* Per-process CPU limit, in seconds. */ + RLIMIT_CPU = 0, +#define RLIMIT_CPU RLIMIT_CPU + + /* Largest file that can be created, in bytes. */ + RLIMIT_FSIZE = 1, +#define RLIMIT_FSIZE RLIMIT_FSIZE + + /* Maximum size of data segment, in bytes. */ + RLIMIT_DATA = 2, +#define RLIMIT_DATA RLIMIT_DATA + + /* Maximum size of stack segment, in bytes. */ + RLIMIT_STACK = 3, +#define RLIMIT_STACK RLIMIT_STACK + + /* Largest core file that can be created, in bytes. */ + RLIMIT_CORE = 4, +#define RLIMIT_CORE RLIMIT_CORE + + /* Largest resident set size, in bytes. + This affects swapping; processes that are exceeding their + resident set size will be more likely to have physical memory + taken from them. */ + RLIMIT_RSS = 5, +#define RLIMIT_RSS RLIMIT_RSS + + /* Number of open files. */ + RLIMIT_NOFILE = 6, + RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ +#define RLIMIT_NOFILE RLIMIT_NOFILE +#define RLIMIT_OFILE RLIMIT_OFILE + + /* Address space limit (?) */ + RLIMIT_AS = 9, +#define RLIMIT_AS RLIMIT_AS + + /* Number of processes. */ + RLIMIT_NPROC = 7, +#define RLIMIT_NPROC RLIMIT_NPROC + + /* Locked-in-memory address space. */ + RLIMIT_MEMLOCK = 8, +#define RLIMIT_MEMLOCK RLIMIT_MEMLOCK + + RLIM_NLIMITS = 10 +#define RLIMIT_NLIMITS RLIMIT_NLIMITS +#define RLIM_NLIMITS RLIM_NLIMITS +}; + +/* Value to indicate that there is no limit. */ +#if __WORDSIZE == 64 + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((unsigned long int)(~0UL)) +#else +# define RLIM_INFINITY 0xffffffffffffffffuLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0xffffffffffffffffuLL +#endif + +#else + +#ifndef __USE_FILE_OFFSET64 +# define RLIM_INFINITY ((long int)(~0UL >> 1)) +#else +# define RLIM_INFINITY 0x7fffffffffffffffLL +#endif + +#ifdef __USE_LARGEFILE64 +# define RLIM64_INFINITY 0x7fffffffffffffffLL +#endif + +#endif + +/* We can represent all limits. */ +#define RLIM_SAVED_MAX RLIM_INFINITY +#define RLIM_SAVED_CUR RLIM_INFINITY + + +/* Type for resource quantity measurement. */ +#ifndef __USE_FILE_OFFSET64 +typedef __rlim_t rlim_t; +#else +typedef __rlim64_t rlim_t; +#endif +#ifdef __USE_LARGEFILE64 +typedef __rlim64_t rlim64_t; +#endif + +struct rlimit + { + /* The current (soft) limit. */ + rlim_t rlim_cur; + /* The hard limit. */ + rlim_t rlim_max; + }; + +#ifdef __USE_LARGEFILE64 +struct rlimit64 + { + /* The current (soft) limit. */ + rlim64_t rlim_cur; + /* The hard limit. */ + rlim64_t rlim_max; + }; +#endif + +/* Whose usage statistics do you want? */ +enum __rusage_who +{ + /* The calling process. */ + RUSAGE_SELF = 0, +#define RUSAGE_SELF RUSAGE_SELF + + /* All of its terminated child processes. */ + RUSAGE_CHILDREN = -1, +#define RUSAGE_CHILDREN RUSAGE_CHILDREN + + /* Both. */ + RUSAGE_BOTH = -2 +#define RUSAGE_BOTH RUSAGE_BOTH +}; + +#define __need_timeval +#include <bits/time.h> /* For `struct timeval'. */ + +/* Structure which says how much of each resource has been used. */ +struct rusage + { + /* Total amount of user time used. */ + struct timeval ru_utime; + /* Total amount of system time used. */ + struct timeval ru_stime; + /* Maximum resident set size (in kilobytes). */ + long int ru_maxrss; + /* Amount of sharing of text segment memory + with other processes (kilobyte-seconds). */ + long int ru_ixrss; + /* Amount of data segment memory used (kilobyte-seconds). */ + long int ru_idrss; + /* Amount of stack memory used (kilobyte-seconds). */ + long int ru_isrss; + /* Number of soft page faults (i.e. those serviced by reclaiming + a page from the list of pages awaiting reallocation. */ + long int ru_minflt; + /* Number of hard page faults (i.e. those that required I/O). */ + long int ru_majflt; + /* Number of times a process was swapped out of physical memory. */ + long int ru_nswap; + /* Number of input operations via the file system. Note: This + and `ru_oublock' do not include operations with the cache. */ + long int ru_inblock; + /* Number of output operations via the file system. */ + long int ru_oublock; + /* Number of IPC messages sent. */ + long int ru_msgsnd; + /* Number of IPC messages received. */ + long int ru_msgrcv; + /* Number of signals delivered. */ + long int ru_nsignals; + /* Number of voluntary context switches, i.e. because the process + gave up the process before it had to (usually to wait for some + resource to be available). */ + long int ru_nvcsw; + /* Number of involuntary context switches, i.e. a higher priority process + became runnable or the current process used up its time slice. */ + long int ru_nivcsw; + }; + +/* Priority limits. */ +#define PRIO_MIN -20 /* Minimum priority a process can have. */ +#define PRIO_MAX 20 /* Maximum priority a process can have. */ + +/* The type of the WHICH argument to `getpriority' and `setpriority', + indicating what flavor of entity the WHO argument specifies. */ +enum __priority_which +{ + PRIO_PROCESS = 0, /* WHO is a process ID. */ +#define PRIO_PROCESS PRIO_PROCESS + PRIO_PGRP = 1, /* WHO is a process group ID. */ +#define PRIO_PGRP PRIO_PGRP + PRIO_USER = 2 /* WHO is a user ID. */ +#define PRIO_USER PRIO_USER +}; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h Thu Oct 22 07:41:23 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/sigaction.h Tue Feb 22 23:03:32 2000 @@ -1,5 +1,5 @@ /* The proper definitions for Linux/SPARC sigaction. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 2000 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 @@ -25,7 +25,20 @@ struct sigaction { /* Signal handler. */ +#ifdef __USE_POSIX199309 + union + { + /* Used if SA_SIGINFO is not set. */ + __sighandler_t sa_handler; + /* Used if SA_SIGINFO is set. */ + void (*sa_sigaction) __PMT ((int, siginfo_t *, void *)); + } + __sigaction_handler; +# define sa_handler __sigaction_handler.sa_handler +# define sa_sigaction __sigaction_handler.sa_sigaction +#else __sighandler_t sa_handler; +#endif /* Additional set of signals to be blocked. */ __sigset_t sa_mask; @@ -40,6 +53,7 @@ struct sigaction /* Bits in `sa_flags'. */ #define SA_NOCLDSTOP 0x00000008 /* Don't send SIGCHLD when children stop. */ +#define SA_NOCLDWAIT 0x00000100 /* Don't create zombie on child death. */ #define SA_SIGINFO 0x00000200 /* Invoke signal-catching function with three arguments instead of one. */ #ifdef __USE_MISC diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/signum.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/signum.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/signum.h Wed Sep 16 10:47:48 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/signum.h Mon Nov 29 11:20:49 1999 @@ -55,6 +55,7 @@ #define SIGTSTP 18 #define SIGCONT 19 #define SIGCHLD 20 +#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ #define SIGTTIN 21 #define SIGTTOU 22 #define SIGIO 23 @@ -65,6 +66,7 @@ #define SIGPROF 27 #define SIGWINCH 28 #define SIGLOST 29 +#define SIGPWR SIGLOST #define SIGUSR1 30 #define SIGUSR2 31 diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/termios.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/termios.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/termios.h Sat Feb 28 17:18:56 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/termios.h Tue Feb 22 23:03:32 2000 @@ -1,5 +1,5 @@ /* termios type and macro definitions. Linux/SPARC version. - Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995, 1996, 1997, 2000 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 @@ -140,11 +140,23 @@ struct termios #define PARODD 0x00000200 #define HUPCL 0x00000400 #define CLOCAL 0x00000800 -#define CBAUDEX 0x00010000 -#define B57600 0x00010001 -#define B115200 0x00010002 -#define B230400 0x00010003 -#define B460800 0x00010004 +#define CBAUDEX 0x00001000 +#define B57600 0x00001001 +#define B115200 0x00001002 +#define B230400 0x00001003 +#define B460800 0x00001004 +#define B76800 0x00001005 +#define B153600 0x00001006 +#define B307200 0x00001007 +#define B614400 0x00001008 +#define B921600 0x00001009 +#define B500000 0x0000100a +#define B576000 0x0000100b +#define B1000000 0x0000100c +#define B1152000 0x0000100d +#define B1500000 0x0000100e +#define B2000000 0x0000100f + #define CIBAUD 0x100f0000 /* input baud rate (not used) */ #define CMSPAR 0x40000000 /* mark or space (stick) parity */ #define CRTSCTS 0x80000000 /* flow control */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/types.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/types.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/bits/types.h Fri Aug 27 17:35:07 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/bits/types.h Tue Dec 21 15:52:19 1999 @@ -85,8 +85,8 @@ typedef long long int __ssize_t; /* Type #else typedef int __ssize_t; /* Type of a byte count, or error. */ #endif -typedef long int __rlim_t; /* Type of resource counts. */ -typedef __quad_t __rlim64_t; /* Type of resource counts (LFS). */ +typedef __u_long __rlim_t; /* Type of resource counts. */ +typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ typedef __u_int __id_t; /* General type for IDs. */ typedef struct @@ -158,8 +158,8 @@ typedef unsigned long int __fsfilcnt_t; typedef __u_quad_t __fsfilcnt64_t; /* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; +typedef long int __t_scalar_t; +typedef unsigned long int __t_uscalar_t; /* Duplicates info from stdint.h but this is used in unistd.h. */ #if __WORDSIZE == 64 diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/mmap64.c Sun Dec 26 22:36:56 1999 @@ -0,0 +1,61 @@ +/* Copyright (C) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. + + 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 <errno.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + +#include <sys/mman.h> + +#ifdef __NR_mmap2 +extern int __syscall_mmap2(__ptr_t, size_t, int, int, int, off_t); +static int have_no_mmap2; +#endif + +__ptr_t +__mmap64 (__ptr_t addr, size_t len, int prot, int flags, int fd, off64_t offset) +{ +#ifdef __NR_mmap2 + if (! have_no_mmap2 && ! (offset & 4095)) + { + int saved_errno = errno; + + /* This will be always 12, no matter what page size is. */ + int result = INLINE_SYSCALL (mmap2, 6, addr, len, prot, flags, + fd, (off_t) (offset >> 12)); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + have_no_mmap2 = 1; + } +#endif + if (offset != (off_t) offset || (offset + len) != (off_t) (offset + len)) + { + __set_errno (EINVAL); + return MAP_FAILED; + } + + return __mmap (addr, len, prot, flags, fd, (off_t) offset); +} + +weak_alias (__mmap64, mmap64) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h Sun Feb 7 12:05:15 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/register-dump.h Tue Jan 25 20:09:32 2000 @@ -1,7 +1,7 @@ /* Dump registers. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999. + Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. 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 @@ -94,7 +94,7 @@ register_dump (int fd, SIGCONTEXT ctx) struct iovec iov[150]; size_t nr = 0; int i; - struct reg_window *r = (struct reg_window *) + unsigned int *r = (unsigned int *) ctx->si_regs.u_regs[14]; #define ADD_STRING(str) \ @@ -114,7 +114,7 @@ register_dump (int fd, SIGCONTEXT ctx) for (i = 1; i <= 15; i++) hexvalue (ctx->si_regs.u_regs[i], regs[3+i], 8); for (i = 0; i <= 15; i++) - hexvalue (r->locals[i], regs[19+i], 8); + hexvalue (r[i], regs[19+i], 8); hexvalue (ctx->si_mask, regs[35], 8); /* Generate the output. */ @@ -251,7 +251,7 @@ register_dump (int fd, SIGCONTEXT ctx) ADD_MEM (fregs[36], 16); ADD_STRING (" f38: "); ADD_MEM (fregs[38], 16); - ADD_STRING (" f40: "); + ADD_STRING (" f40: "); ADD_MEM (fregs[40], 16); ADD_STRING ("\n f42: "); ADD_MEM (fregs[42], 16); diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h Mon Aug 23 10:51:29 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h Tue Jan 25 20:09:32 2000 @@ -1,6 +1,6 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Jakub Jelinek <jj@ultra.linux.cz>, 1999. + Contributed by Jakub Jelinek <jakub@redhat.com>, 1999. 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 @@ -21,6 +21,7 @@ #define SIGCONTEXT_EXTRA_ARGS #define GET_PC(__ctx) ((void *) ((__ctx)->si_regs.pc)) #define ADVANCE_STACK_FRAME(__next) \ - ((void *)&(((struct reg_window *) (__next))->ins[6])) + ((void *) (((unsigned *)(__next))+14)) + #define GET_STACK(__ctx) ((void *) (__ctx)->si_regs.u_regs[14]) #define GET_FRAME(__ctx) ADVANCE_STACK_FRAME (GET_STACK(__ctx)) diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list Tue Aug 24 13:50:32 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list Wed Jan 5 17:45:55 2000 @@ -11,6 +11,7 @@ s_setregid setregid setregid 2 __syscall s_setresgid setresgid setresgid 3 __syscall_setresgid s_setresuid setresuid setresuid 3 __syscall_setresuid s_setreuid setreuid setreuid 2 __syscall_setreuid +s_setrlimit setrlimit setrlimit 3 __syscall_setrlimit s_ipc msgget ipc 5 __syscall_ipc s_setuid setuid setuid 1 __syscall_setuid @@ -22,11 +23,16 @@ rt_sigqueueinfo - rt_sigqueueinfo 3 __sy rt_sigsuspend - rt_sigsuspend 2 __syscall_rt_sigsuspend rt_sigtimedwait - rt_sigtimedwait 4 __syscall_rt_sigtimedwait s_execve execve execve 3 __syscall_execve +s_fstat64 fxstat64 fstat64 2 __syscall_fstat64 +s_ftruncate64 ftruncate64 ftruncate64 3 __syscall_ftruncate64 s_getcwd getcwd getcwd 2 __syscall_getcwd s_getdents getdents getdents 3 __syscall_getdents s_getpriority getpriority getpriority 2 __syscall_getpriority s_getresgid getresgid getresgid 3 __syscall_getresgid s_getresuid getresuid getresuid 3 __syscall_getresuid +s_getrlimit getrlimit getrlimit 2 __syscall_getrlimit +s_lstat64 lxstat64 lstat64 2 __syscall_lstat64 +s_mmap2 mmap64 mmap2 6 __syscall_mmap2 s_poll poll poll 3 __syscall_poll s_pread64 pread64 pread 5 __syscall_pread s_ptrace ptrace ptrace 4 __syscall_ptrace @@ -36,7 +42,9 @@ s_sigaction sigaction sigaction 3 __sysc s_sigpending sigpending sigpending 1 __syscall_sigpending s_sigprocmask sigprocmask sigprocmask 3 __syscall_sigprocmask s_sigsuspend sigsuspend sigsuspend 3 __syscall_sigsuspend +s_stat64 xstat64 stat64 2 __syscall_stat64 s_sysctl sysctl _sysctl 1 __syscall__sysctl +s_truncate64 truncate64 truncate64 3 __syscall_truncate64 s_ustat ustat ustat 2 __syscall_ustat sys_fstat fxstat fstat 2 __syscall_fstat sys_lstat lxstat lstat 2 __syscall_lstat diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h Sun Feb 7 12:05:00 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc64/register-dump.h Mon Nov 29 11:20:00 1999 @@ -20,6 +20,7 @@ #include <sys/uio.h> #include <stdio-common/_itoa.h> +#include <asm/ptrace.h> #include <bits/sigcontext.h> /* We will print the register dump in this format: diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list Fri Jan 29 04:01:47 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list Thu Dec 9 10:57:25 1999 @@ -8,6 +8,8 @@ fstatfs - fstatfs 2 __fstatfs fstatfs statfs - statfs 2 __statfs statfs statfs64 getrlimit - getrlimit 2 __getrlimit getrlimit getrlimit64 setrlimit - setrlimit 2 setrlimit setrlimit64 +oldgetrlimit EXTRA getrlimit 2 __old_getrlimit getrlimit@GLIBC_2.0 getrlimit64@GLIBC_2.1 +oldsetrlimit EXTRA setrlimit 2 __old_setrlimit setrlimit@GLIBC_2.0 setrlimit64@GLIBC_2.1 ftruncate - ftruncate 2 __ftruncate ftruncate ftruncate64 truncate - truncate 2 truncate truncate64 mmap - mmap 6 __mmap mmap __mmap64 mmap64 @@ -50,6 +52,7 @@ s_ipc msgget ipc 5 __syscall_ipc s_poll poll poll 3 __syscall_poll s_ptrace ptrace ptrace 4 __syscall_ptrace s_reboot reboot reboot 3 __syscall_reboot +s_setrlimit setrlimit setrlimit 3 __syscall_setrlimit s_sigaction sigaction sigaction 3 __syscall_sigaction s_sigpending sigpending sigpending 1 __syscall_sigpending s_sigprocmask sigprocmask sigprocmask 3 __syscall_sigprocmask diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h Mon Nov 29 11:20:49 1999 @@ -0,0 +1,179 @@ +/* `ptrace' debugger support interface. Linux/SPARC version. + Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_PTRACE_H +#define _SYS_PTRACE_H 1 + +#include <features.h> + +#include <bits/wordsize.h> + +/* Linux/SPARC kernels up to 2.3.18 do not care much + about what namespace polution, so use a kludge now. */ +#undef PTRACE_GETREGS +#undef PTRACE_SETREGS +#undef PTRACE_GETFPREGS +#undef PTRACE_SETFPREGS +#undef PTRACE_READDATA +#undef PTRACE_WRITEDATA +#undef PTRACE_READTEXT +#undef PTRACE_WRITETEXT +#undef PTRACE_SUNDETACH + +__BEGIN_DECLS + +/* Type of the REQUEST argument to `ptrace.' */ +enum __ptrace_request +{ + /* Indicate that the process making this request should be traced. + All signals received by this process can be intercepted by its + parent, and its parent can use the other `ptrace' requests. */ + PTRACE_TRACEME = 0, +#define PT_TRACE_ME PTRACE_TRACEME + + /* Return the word in the process's text space at address ADDR. */ + PTRACE_PEEKTEXT = 1, +#define PT_READ_I PTRACE_PEEKTEXT + + /* Return the word in the process's data space at address ADDR. */ + PTRACE_PEEKDATA = 2, +#define PT_READ_D PTRACE_PEEKDATA + + /* Return the word in the process's user area at offset ADDR. */ + PTRACE_PEEKUSER = 3, +#define PT_READ_U PTRACE_PEEKUSER + + /* Write the word DATA into the process's text space at address ADDR. */ + PTRACE_POKETEXT = 4, +#define PT_WRITE_I PTRACE_POKETEXT + + /* Write the word DATA into the process's data space at address ADDR. */ + PTRACE_POKEDATA = 5, +#define PT_WRITE_D PTRACE_POKEDATA + + /* Write the word DATA into the process's user area at offset ADDR. */ + PTRACE_POKEUSER = 6, +#define PT_WRITE_U PTRACE_POKEUSER + + /* Continue the process. */ + PTRACE_CONT = 7, +#define PT_CONTINUE PTRACE_CONT + + /* Kill the process. */ + PTRACE_KILL = 8, +#define PT_KILL PTRACE_KILL + + /* Single step the process. + This is not supported on all machines. */ + PTRACE_SINGLESTEP = 9, +#define PT_STEP PTRACE_SINGLESTEP + + /* Detach from a process attached to with PTRACE_ATTACH. */ + PTRACE_DETACH = 11, +#define PT_DETACH PTRACE_DETACH + + /* This define is needed for older programs which were + trying to work around sparc-linux ptrace nastiness. */ +#define PTRACE_SUNDETACH PTRACE_DETACH + +#if __WORDSIZE == 32 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 12, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 13, +#define PT_SETREGS PTRACE_SETREGS + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 14, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 15, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif + + /* Attach to a process that is already running. */ + PTRACE_ATTACH = 16, +#define PT_ATTACH PTRACE_ATTACH + + /* Read several bytes at a time. */ + PTRACE_READTEXT = 18, + #define PTRACE_READTEXT PTRACE_READTEXT + #define PTRACE_READDATA PTRACE_READTEXT + + /* Write several bytes at a time. */ + PTRACE_WRITETEXT = 19, + #define PTRACE_WRITETEXT PTRACE_WRITETEXT + #define PTRACE_WRITEDATA PTRACE_WRITETEXT + +#if __WORDSIZE == 64 + + /* Get all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETREGS = 22, +#define PT_GETREGS PTRACE_GETREGS + + /* Set all general purpose registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETREGS = 23, +#define PT_SETREGS PTRACE_SETREGS + +#endif + + /* Continue and stop at the next (return from) syscall. */ + PTRACE_SYSCALL = 24 +#define PTRACE_SYSCALL PTRACE_SYSCALL + +#if __WORDSIZE == 64 + + /* Get all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_GETFPREGS = 25, +#define PT_GETFPREGS PTRACE_GETFPREGS + + /* Set all floating point registers used by a processes. + This is not supported on all machines. */ + PTRACE_SETFPREGS = 26, +#define PT_SETFPREGS PTRACE_SETFPREGS + +#endif +}; + +/* Perform process tracing functions. REQUEST is one of the values + above, and determines the action to be taken. + For all requests except PTRACE_TRACEME, PID specifies the process to be + traced. + + PID and the other arguments described above for the various requests should + appear (those that are used for the particular request) as: + pid_t PID, void *ADDR, int DATA, void *ADDR2 + after REQUEST. */ +extern long int ptrace __P ((enum __ptrace_request __request, ...)); + +__END_DECLS + +#endif /* _SYS_PTRACE_H */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/statvfs.c glibc-2.1.3/sysdeps/unix/sysv/linux/statvfs.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/statvfs.c Thu Jul 16 04:37:22 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/statvfs.c Thu Jan 20 17:40:39 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -18,29 +18,28 @@ Boston, MA 02111-1307, USA. */ #include <errno.h> -#include <fcntl.h> -#include <unistd.h> +#include <mntent.h> +#include <paths.h> +#include <string.h> +#include <sys/mount.h> +#include <sys/stat.h> +#include <sys/statfs.h> #include <sys/statvfs.h> int statvfs (const char *file, struct statvfs *buf) { - int save_errno; - int retval; - int fd; + struct statfs fsbuf; + struct stat st; - fd = __open (file, O_RDONLY); - if (fd < 0) + /* Get as much information as possible from the system. */ + if (__statfs (file, &fsbuf) < 0) return -1; - /* Let fstatvfs do the real work. */ - retval = fstatvfs (fd, buf); - - /* Close the file while preserving the error number. */ - save_errno = errno; - __close (fd); - __set_errno (save_errno); +#define STAT(st) stat (file, st) +#include "internal_statvfs.c" - return retval; + /* We signal success if the statfs call succeeded. */ + return 0; } diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sys/io.h glibc-2.1.3/sysdeps/unix/sysv/linux/sys/io.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sys/io.h Thu Nov 14 19:56:25 1996 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sys/io.h Wed Dec 31 16:00:00 1969 @@ -1,46 +0,0 @@ -/* Copyright (C) 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#ifndef _SYS_IO_H - -#define _SYS_IO_H 1 -#include <features.h> - -__BEGIN_DECLS - -/* Get constants from kernel header files. */ -#include <asm/io.h> - -/* If TURN_ON is TRUE, request for permission to do direct i/o on the - port numbers in the range [FROM,FROM+NUM-1]. Otherwise, turn I/O - permission off for that range. This call requires root privileges. - - Portability note: not all Linux platforms support this call. Most - platforms based on the PC I/O architecture probably will, however. - E.g., Linux/Alpha for Alpha PCs supports this. */ -extern int ioperm __P ((unsigned long int __from, unsigned long int __num, - int __turn_on)); - -/* Set the I/O privilege level to LEVEL. If LEVEL>3, permission to - access any I/O port is granted. This call requires root - privileges. */ -extern int iopl __P ((int __level)); - -__END_DECLS - -#endif /* _SYS_IO_H */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sys/procfs.h glibc-2.1.3/sysdeps/unix/sysv/linux/sys/procfs.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sys/procfs.h Sun May 2 12:00:03 1999 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sys/procfs.h Mon Nov 15 16:25:13 1999 @@ -17,17 +17,17 @@ Boston, MA 02111-1307, USA. */ #ifndef _SYS_PROCFS_H - #define _SYS_PROCFS_H 1 -#include <features.h> /* This is somehow modelled after the file of the same name on SysVr4 systems. It provides a definition of the core file format for ELF used on Linux. */ +#include <features.h> #include <signal.h> #include <sys/time.h> #include <sys/types.h> +#include <sys/ucontext.h> #include <sys/user.h> #include <asm/elf.h> @@ -94,6 +94,17 @@ struct elf_prpsinfo char pr_fname[16]; /* Filename of executable. */ char pr_psargs[ELF_PRARGSZ]; /* Initial part of arg list. */ }; + +/* Addresses. */ +typedef void *psaddr_t; + +/* Register sets. Linux has different names. */ +typedef gregset_t prgregset_t; +typedef fpregset_t prfpregset_t; + +/* We don't have any differences between processes and threads, + therefore habe only ine PID type. */ +typedef __pid_t lwpid_t; typedef struct elf_prstatus prstatus_t; diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/sys/raw.h glibc-2.1.3/sysdeps/unix/sysv/linux/sys/raw.h --- glibc-2.1.2/sysdeps/unix/sysv/linux/sys/raw.h Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/sys/raw.h Fri Sep 10 12:56:46 1999 @@ -0,0 +1,39 @@ +/* Copyright (C) 1999 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _SYS_RAW_H +#define _SYS_RAW_H 1 + +#include <stdint.h> +#include <sys/ioctl.h> + +/* The major device number for raw devices. */ +#define RAW_MAJOR 162 + +/* `ioctl' commands for raw devices. */ +#define RAW_SETBIND _IO(0xac, 0) +#define RAW_GETBIND _IO(0xac, 1) + +struct raw_config_request +{ + int raw_minor; + uint64_t block_major; + uint64_t block_minor; +}; + +#endif /* sys/raw.h */ diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/truncate64.c glibc-2.1.3/sysdeps/unix/sysv/linux/truncate64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/truncate64.c Wed Dec 31 16:00:00 1969 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/truncate64.c Wed Jan 5 17:45:53 2000 @@ -0,0 +1,65 @@ +/* Copyright (C) 1997, 1998, 1999, 2000 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 <sys/types.h> +#include <errno.h> +#include <unistd.h> + +#include <sysdep.h> +#include <sys/syscall.h> + +#ifdef __NR_truncate64 +/* The variable is shared between all wrappers around *truncate64 calls. */ +int __have_no_truncate64; + +extern int __syscall_truncate64 (int fd, int high_length, int low_length); + + +/* Truncate the file FD refers to to LENGTH bytes. */ +int +truncate64 (path, length) + const char *path; + off64_t length; +{ + if (! __have_no_truncate64) + { + unsigned int low = length & 0xffffffff; + unsigned int high = length >> 32; + int saved_errno = errno; + + int result = INLINE_SYSCALL (truncate64, 3, path, low, high); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + __have_no_truncate64 = 1; + } + + if ((off_t) length != length) + { + __set_errno (EINVAL); + return -1; + } + return truncate (path, (off_t) length); +} + +#else +/* Use the generic implementation. */ +# include <sysdeps/generic/truncate64.c> +#endif diff -durpN glibc-2.1.2/sysdeps/unix/sysv/linux/xstat64.c glibc-2.1.3/sysdeps/unix/sysv/linux/xstat64.c --- glibc-2.1.2/sysdeps/unix/sysv/linux/xstat64.c Wed Oct 21 08:11:23 1998 +++ glibc-2.1.3/sysdeps/unix/sysv/linux/xstat64.c Tue Dec 28 14:05:06 1999 @@ -1,5 +1,5 @@ /* xstat64 using old-style Unix stat system call. - Copyright (C) 1991, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1991, 95, 96, 97, 98, 99 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 @@ -29,12 +29,33 @@ extern int __syscall_stat (const char *, struct kernel_stat *); +#ifdef __NR_stat64 +extern int __syscall_stat64 (const char *, struct stat64 *); +/* The variable is shared between all wrappers around *stat64 calls. + This is the definition. */ +int __have_no_stat64; +#endif + /* Get information about the file NAME in BUF. */ int __xstat64 (int vers, const char *name, struct stat64 *buf) { struct kernel_stat kbuf; int result; + +#if defined __NR_stat64 + if (! __have_no_stat64) + { + int saved_errno = errno; + result = INLINE_SYSCALL (stat64, 2, name, buf); + + if (result != -1 || errno != ENOSYS) + return result; + + __set_errno (saved_errno); + __have_no_stat64 = 1; + } +#endif result = INLINE_SYSCALL (stat, 2, name, &kbuf); if (result == 0) diff -durpN glibc-2.1.2/sysvipc/sys/shm.h glibc-2.1.3/sysvipc/sys/shm.h --- glibc-2.1.2/sysvipc/sys/shm.h Thu Jul 16 04:42:01 1998 +++ glibc-2.1.3/sysvipc/sys/shm.h Tue Dec 21 15:52:22 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 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 @@ -43,7 +43,7 @@ __BEGIN_DECLS extern int shmctl __P ((int __shmid, int __cmd, struct shmid_ds *__buf)); /* Get shared memory segment. */ -extern int shmget __P ((key_t __key, int __size, int __shmflg)); +extern int shmget __P ((key_t __key, size_t __size, int __shmflg)); /* Attach shared memory segment. */ extern void *shmat __P ((int __shmid, __const void *__shmaddr, int __shmflg)); diff -durpN glibc-2.1.2/time/getdate.c glibc-2.1.3/time/getdate.c --- glibc-2.1.2/time/getdate.c Wed Apr 28 16:08:04 1999 +++ glibc-2.1.3/time/getdate.c Thu Sep 23 11:16:22 1999 @@ -25,6 +25,8 @@ #include <time.h> #include <sys/stat.h> +#define TM_YEAR_BASE 1900 + /* Prototypes for local functions. */ static int first_wday (int year, int mon, int wday); @@ -225,7 +227,8 @@ __getdate_r (const char *string, struct /* Check if the day of month is within range, and if the time can be represented in a time_t. We make use of the fact that the mktime call normalizes the struct tm. */ - if ((!mday_ok && !check_mday (tp->tm_year, tp->tm_mon, tp->tm_mday)) + if ((!mday_ok && !check_mday (TM_YEAR_BASE + tp->tm_year, tp->tm_mon, + tp->tm_mday)) || mktime (tp) == (time_t) -1) return 8; diff -durpN glibc-2.1.2/time/strptime.c glibc-2.1.3/time/strptime.c --- glibc-2.1.2/time/strptime.c Wed Jul 14 18:23:17 1999 +++ glibc-2.1.3/time/strptime.c Fri Feb 11 15:49:59 2000 @@ -1,5 +1,5 @@ /* Convert a string representation of time to a time value. - Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. @@ -200,7 +200,7 @@ static char const ab_month_name[][4] = # define HERE_T_FMT_AMPM "%I:%M:%S %p" # define HERE_T_FMT "%H:%M:%S" -const unsigned short int __mon_yday[1][13] = +const unsigned short int __mon_yday[2][13] = { /* Normal years. */ { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 }, @@ -235,7 +235,7 @@ day_of_the_week (struct tm *tm) + (((corr_year / 4) / 25) / 4) + __mon_yday[0][tm->tm_mon] + tm->tm_mday - 1); - tm->tm_wday = wday % 7; + tm->tm_wday = ((wday % 7) + 7) % 7; } /* Compute the day of the year. */ @@ -257,14 +257,13 @@ static char * #ifdef _LIBC internal_function #endif -strptime_internal (buf, format, tm, decided) - const char *buf; - const char *format; +strptime_internal (rp, fmt, tm, decided) + const char *rp; + const char *fmt; struct tm *tm; enum locale_status *decided; { - const char *rp; - const char *fmt; + const char *rp_backup; int cnt; size_t val; int have_I, is_pm; @@ -273,8 +272,6 @@ strptime_internal (buf, format, tm, deci int have_yday; int have_mon, have_mday; - rp = buf; - fmt = format; have_I = is_pm = 0; century = -1; want_century = 0; @@ -305,6 +302,10 @@ strptime_internal (buf, format, tm, deci /* We need this for handling the `E' modifier. */ start_over: #endif + + /* Make back up of current processing pointer. */ + rp_backup = rp; + switch (*fmt++) { case '%': @@ -400,6 +401,8 @@ strptime_internal (buf, format, tm, deci { if (*decided == loc) return NULL; + else + rp = rp_backup; } else { @@ -443,10 +446,12 @@ strptime_internal (buf, format, tm, deci { if (*decided == loc) return NULL; + else + rp = rp_backup; } else { - if (decided == not + if (*decided == not && strcmp (_NL_CURRENT (LC_TIME, D_FMT), HERE_D_FMT)) *decided = loc; want_xday = 1; @@ -534,6 +539,8 @@ strptime_internal (buf, format, tm, deci { if (*decided == loc) return NULL; + else + rp = rp_backup; } else { @@ -588,6 +595,8 @@ strptime_internal (buf, format, tm, deci { if (*decided == loc) return NULL; + else + rp = rp_backup; } else { @@ -671,6 +680,8 @@ strptime_internal (buf, format, tm, deci { if (*decided == loc) return NULL; + else + rp = rp_backup; } else { @@ -707,6 +718,8 @@ strptime_internal (buf, format, tm, deci { if (*decided == loc) return NULL; + else + rp = rp_backup; } else { @@ -731,6 +744,8 @@ strptime_internal (buf, format, tm, deci { if (*decided == loc) return NULL; + else + rp = rp_backup; } else { @@ -830,8 +845,14 @@ strptime_internal (buf, format, tm, deci if (have_I && is_pm) tm->tm_hour += 12; - if (want_century && century != -1) - tm->tm_year = tm->tm_year % 100 + (century - 19) * 100; + if (century != -1) + { + if (want_century) + tm->tm_year = tm->tm_year % 100 + (century - 19) * 100; + else + /* Only the century, but not the year. Strange, but so be it. */ + tm->tm_year = (century - 19) * 100; + } if (want_xday && !have_wday) { if ( !(have_mon && have_mday) && have_yday) { diff -durpN glibc-2.1.2/time/tzset.c glibc-2.1.3/time/tzset.c --- glibc-2.1.2/time/tzset.c Wed Apr 28 16:11:36 1999 +++ glibc-2.1.3/time/tzset.c Tue Feb 22 23:03:36 2000 @@ -38,7 +38,7 @@ weak_alias (__daylight, daylight) weak_alias (__timezone, timezone) /* This locks all the state variables in tzfile.c and this file. */ -__libc_lock_define (static, tzset_lock) +__libc_lock_define_initialized (static, tzset_lock) #define min(a, b) ((a) < (b) ? (a) : (b)) @@ -418,16 +418,23 @@ compute_change (rule, year) int year; { register time_t t; - int y; if (year != -1 && rule->computed_for == year) - /* Operations on times in 1969 will be slower. Oh well. */ + /* Operations on times in 2 BC will be slower. Oh well. */ return 1; /* First set T to January 1st, 0:00:00 GMT in YEAR. */ - t = 0; - for (y = 1970; y < year; ++y) - t += SECSPERDAY * (__isleap (y) ? 366 : 365); + if (year > 1970) + t = ((year - 1970) * 365 + + /* Compute the number of leapdays between 1970 and YEAR + (exclusive). There is a leapday every 4th year ... */ + + ((year - 1) / 4 - 1970 / 4) + /* ... except every 100th year ... */ + - ((year - 1) / 100 - 1970 / 100) + /* ... but still every 400th year. */ + + ((year - 1) / 400 - 1970 / 400)) * SECSPERDAY; + else + t = 0; switch (rule->type) { @@ -506,7 +513,7 @@ tz_compute (tm) || ! compute_change (&tz_rules[1], 1900 + tm->tm_year)) return 0; /* We have to distinguish between northern and southern hemisphere. - For the later the daylight saving time ends in the next year. + For the latter the daylight saving time ends in the next year. It is easier to detect this after first computing the time for the wrong year since now we simply can compare the times to switch. */ if (tz_rules[0].change > tz_rules[1].change diff -durpN glibc-2.1.2/timezone/README glibc-2.1.3/timezone/README --- glibc-2.1.2/timezone/README Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/README Tue Nov 9 20:53:23 1999 @@ -1,14 +1,17 @@ The files zic.c zdump.c ialloc.c scheck.c tzfile.h private.h tzselect.ksh checktab.awk -come from the tzcode1999e package by Arthur David Olson et.al. +come from the tzcode package by Arthur David Olson et.al. The files africa antarctica asia australasia europe northamerica southamerica pacificnew etcetera factory backward systemv solar87 solar88 solar89 iso3166.tab zone.tab leapseconds yearistype -come from the tzdata1999e package by Arthur David Olson et.al. +come from the tzdata package by Arthur David Olson et.al. + +Please check the ChangeLog files in the top level directory for the +version of the tzcode and tzdata packages. These packages may be found at ftp://elsie.nci.nih.gov/pub/. Commentary should be addressed to tz@elsie.nci.nih.gov. diff -durpN glibc-2.1.2/timezone/africa glibc-2.1.3/timezone/africa --- glibc-2.1.2/timezone/africa Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/africa Tue Nov 9 20:53:23 1999 @@ -1,4 +1,4 @@ -# @(#)africa 7.30 +# @(#)africa 7.32 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -7,8 +7,8 @@ # From Paul Eggert <eggert@twinsun.com> (1999-03-22): # # A good source for time zone historical data outside the U.S. is -# Thomas G. Shanks, The International Atlas (4th edition), -# San Diego: ACS Publications, Inc. (1995). +# Thomas G. Shanks, The International Atlas (5th edition), +# San Diego: ACS Publications, Inc. (1999). # # Gwillim Law <LAW@encmail.encompass.com> writes that a good source # for recent time zone data is the International Air Transport @@ -207,7 +207,7 @@ Rule Egypt 1989 only - May 6 1:00 1:00 Rule Egypt 1990 1994 - May 1 1:00 1:00 S # IATA (after 1990) says transitions are at 0:00. # Go with IATA starting in 1995, except correct 1995 entry from 09-30 to 09-29. -Rule Egypt 1995 max - Apr Fri>=22 0:00s 1:00 S +Rule Egypt 1995 max - Apr lastFri 0:00s 1:00 S Rule Egypt 1995 max - Sep lastThu 23:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -294,8 +294,6 @@ Zone Africa/Maseru 1:50:00 - LMT 1903 Ma # Shanks reports the date as May 1, whereas Howse reports Jan; go with Shanks. # For Liberia before 1972, Shanks reports -0:44, whereas Howse and Whitman # each report -0:44:30; go with the more precise figure. -# -# From Shanks, as corrected by Whitman: # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Monrovia -0:43:08 - LMT 1882 -0:43:08 - MMT 1919 Mar # Monrovia Mean Time @@ -320,18 +318,16 @@ Rule Libya 1986 only - Apr 4 0:00 1:00 Rule Libya 1986 only - Oct 3 0:00 0 - Rule Libya 1987 1989 - Apr 1 0:00 1:00 S Rule Libya 1987 1990 - Oct 1 0:00 0 - -Rule Libya 1990 only - May 4 0:00 1:00 S -Rule Libya 1996 only - Mar 30 2:00s 1:00 S -Rule Libya 1996 only - Sep 30 2:00s 0 - -Rule Libya 1997 only - Apr 4 0:00 1:00 S -Rule Libya 1997 only - Oct 4 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Africa/Tripoli 0:52:44 - LMT 1920 1:00 Libya CE%sT 1959 2:00 - EET 1982 - 1:00 Libya CE%sT 1991 - 2:00 - EET 1996 Mar 30 3:00 - 1:00 Libya CE%sT 1997 Oct 4 0:00 + 1:00 Libya CE%sT 1990 May 4 +# The following entries are all from Shanks; +# the IATA SSIM data contain some obvious errors. + 2:00 - EET 1996 Sep 30 + 1:00 - CET 1997 Apr 4 + 1:00 1:00 CEST 1997 Oct 4 2:00 - EET # Madagascar @@ -409,8 +405,8 @@ Zone Africa/Maputo 2:10:20 - LMT 1903 Ma 2:00 - CAT # Namibia -# Shanks says DST transitions are at 0:00; go with IATA. # The 1994-04-03 transition is from Shanks. +# Shanks reports no DST after 1998-04; go with IATA. # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Namibia 1994 max - Sep Sun>=1 2:00 1:00 S Rule Namibia 1995 max - Apr Sun>=1 2:00 0 - @@ -458,9 +454,6 @@ Zone Africa/Kigali 2:00:16 - LMT 1935 Ju 2:00 - CAT # St Helena -# From Paul Eggert (1997-10-05): -# Shanks says St Helena was 1W26 (-0:05:44) from 1890 to 1951, -# but this is most likely a typo for 5W42, the longitude of Jamestown. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Atlantic/St_Helena -0:22:48 - LMT 1890 # Jamestown -0:22:48 - JMT 1951 # Jamestown Mean Time @@ -517,9 +510,6 @@ Rule SA 1943 1944 - Mar Sun>=15 2:00 0 - Zone Africa/Johannesburg 1:52:00 - LMT 1892 Feb 8 1:30 - SAST 1903 Mar 2:00 SA SAST -# Shanks erroneously claims that most of South Africa switched to 1:00 -# on 1994-04-03 at 00:00. -# # Marion and Prince Edward Is # scientific station since 1947 # no information diff -durpN glibc-2.1.2/timezone/antarctica glibc-2.1.3/timezone/antarctica --- glibc-2.1.2/timezone/antarctica Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/antarctica Tue Feb 22 23:03:36 2000 @@ -1,9 +1,9 @@ -# @(#)antarctica 7.16 +# @(#)antarctica 7.18 -# From Paul Eggert (1999-03-22): +# From Paul Eggert (1999-11-15): # To keep things manageable, we list only locations occupied year-round; see -# <a href="http://www.delm.tas.gov.au/comnap/members.html"> -# Antarctic Activities of Member Nations of the Antarctic Treaty (1996-05-24) +# <a href="http://www.comnap.aq/comnap/comnap.nsf/P/Stations/"> +# COMNAP - Stations and Bases # </a> # and # <a href="http://www.spri.cam.ac.uk/bob/periant.htm"> @@ -35,18 +35,28 @@ Rule ChileAQ 1999 max - Oct Sun>=9 0:00 Rule ChileAQ 2000 max - Mar Sun>=9 0:00 0 - -# Argentina - 6 year-round bases -# General Belgrano II -# 5 others +# Argentina - year-round bases +# Belgrano II, Confin Coast, -770227-0343737, since 1972-02-05 +# Esperanza, San Martin Land, -6323-05659, since 1952-12-17 +# Jubany, Potter Peninsula, King George Island, -6414-0602320, since 1982-01 +# Marambio, Seymour I, -6414-05637, since 1969-10-29 +# Orcadas, Laurie I, -6016-04444, since 1904-02-22 +# San Martin, Debenham I, -6807-06708, since 1951-03-21 +# (except 1960-03 / 1976-03-21) # Australia - territories # Heard Island, McDonald Islands (uninhabited) # previously sealers and scientific personnel wintered +# <a href="http://www.dstc.qut.edu.au/DST/marg/daylight.html"> +# Margaret Turner reports +# </a> (1999-09-30) that they're UTC+5, with no DST; +# presumably this is when they have visitors. # # year-round bases -# Casey, Bailey Peninsula, since 1969 -# Davis, Vestfold Hills, since 1957-01-13 (except 1964-11 - 1969-02) -# Mawson, Holme Bay, since 1954-02-13 +# Casey, Bailey Peninsula, -6617+11032, since 1969 +# Davis, Vestfold Hills, -6835+07759, since 1957-01-13 +# (except 1964-11 - 1969-02) +# Mawson, Holme Bay, -6736+06253, since 1954-02-13 # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Antarctica/Casey 0 - ___ 1969 8:00 - WST # Western (Aus) Standard Time @@ -70,15 +80,16 @@ Zone Antarctica/Mawson 0 - ___ 1954 Feb # Brazil - year-round base # Ferraz, King George Island, since 1983/4 -# Chile - 4 year-round bases +# Chile - year-round bases +# Escudero, South Shetland Is, -621157-0585735, since 1994 +# Frei, King George Is, -6214-05848, since 1969 +# O'Higgins, Antarctic Peninsula, -6319-05704, since 1948-02 +# Prat, -6230-05941 # China - year-round bases # Great Wall, King George Island, since 1985-02-20 # Zhongshan, Larsemann Hills, Prydz Bay, since 1989-02-26 -# Finland - year-round base -# Aboa, Queen Maud Land, since 1988 - # France - year-round bases # # From Antoine Leca <Antoine.Leca@Renault.FR> (1997-01-20): @@ -103,7 +114,7 @@ Zone Indian/Kerguelen 0 - ___ 1950 # Por 5:00 - TFT # ISO code TF Time # # year-round base in the main continent -# Dumont-d'Urville, Terre Adelie (Adelie Land), -6640+14001, since 1956-11 +# Dumont-d'Urville, Ile des Petrels, -6640+14001, since 1956-11 # # Another base at Port-Martin, 50km east, began operation in 1947. # It was destroyed by fire on 1952-01-14. @@ -172,11 +183,11 @@ Rule NZAQ 1990 max - Mar Sun>=15 2:00s 0 # Peter I Island (never inhabited) # Poland - year-round base -# Arctowski, King George Island, since 1977 +# Arctowski, King George Island, -620945-0582745, since 1977 # Russia - year-round bases -# Bellingshausen, King George Island -# Mirny +# Bellingshausen, King George Island, -621159-0585337, since 1968-02-22 +# Mirny, Davis coast, -6633+09301, since 1956-02 # Molodezhnaya # Novolazarevskaya # Vostok @@ -198,11 +209,12 @@ Rule NZAQ 1990 max - Mar Sun>=15 2:00s 0 # and a garrison was deployed briefly # # year-round bases +# Bird Island, South Georgia, -5400-03803, since 1983 # Halley, Coates Land, -7535-2619, since 1956-01-06 # Rothera, Adelaide Island, -6734-6808, since 1976-12-01 # Uruguay - year round base -# Artigas, King George Island +# Artigas, King George Island, -621104-0585107 # USA - year-round bases # diff -durpN glibc-2.1.2/timezone/asia glibc-2.1.3/timezone/asia --- glibc-2.1.2/timezone/asia Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/asia Tue Feb 22 23:03:36 2000 @@ -1,4 +1,4 @@ -# @(#)asia 7.42 +# @(#)asia 7.54 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -7,9 +7,8 @@ # From Paul Eggert <eggert@twinsun.com> (1999-03-22): # # A good source for time zone historical data outside the U.S. is -# Thomas G. Shanks, The International Atlas (4th edition), -# San Diego: ACS Publications, Inc. (1995). -# Except where otherwise noted, it is the source for the data below. +# Thomas G. Shanks, The International Atlas (5th edition), +# San Diego: ACS Publications, Inc. (1999). # # Gwillim Law <LAW@encmail.encompass.com> writes that a good source # for recent time zone data is the International Air Transport @@ -78,23 +77,20 @@ Zone Asia/Kabul 4:36:48 - LMT 1890 4:30 - AFT # Armenia -# From Paul Eggert (1998-??-??): +# From Paul Eggert (1999-10-29): # Shanks has Yerevan switching to 3:00 (with Russian DST) in spring 1991, -# but usno1995 has Armenia at 4:00 (with DST), and Edgar Der-Danieliantz +# then to 4:00 with no DST in fall 1995, then readopting Russian DST in 1997. +# Go with Shanks, even when he disagrees with others. Edgar Der-Danieliantz # <edd@AIC.NET> reported (1996-05-04) that Yerevan probably wouldn't use DST # in 1996, though it did use DST in 1995. IATA SSIM (1991/1998) reports that # Armenia switched from 3:00 to 4:00 in 1998 and observed DST after 1991, # but started switching at 3:00s in 1998. -# What a mess! We guess Yerevan DST stayed in sync with Moscow between 1990 -# and 1995, did not use DST in 1996, and started using DST again in 1997. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Yerevan 2:58:00 - LMT 1924 May 2 3:00 - YERT 1957 Mar # Yerevan Time 4:00 RussiaAsia YER%sT 1991 Mar 31 2:00s 3:00 1:00 YERST 1991 Sep 23 # independence - 3:00 1:00 AMST 1991 Sep 29 2:00s # Armenia Time - 3:00 - AMT 1992 Jan 19 2:00s - 4:00 RussiaAsia AM%sT 1996 + 3:00 RussiaAsia AM%sT 1995 Sep 24 2:00s 4:00 - AMT 1997 4:00 RussiaAsia AM%sT @@ -190,7 +186,7 @@ Zone Asia/Phnom_Penh 6:59:40 - LMT 1906 # note about Time magazine, though apparently _something_ happened in 1986. # Go with Shanks for now. I made up names for the other pre-1980 time zones. -# From Shanks (1995): +# From Shanks: # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Shang 1940 only - Jun 3 0:00 1:00 D Rule Shang 1940 1941 - Oct 1 0:00 0 S @@ -238,15 +234,14 @@ Rule HK 1979 1980 - May Sun>=8 3:30 1:00 Rule HK 1979 1980 - Oct Sun>=16 3:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Hong_Kong 7:36:36 - LMT 1904 Oct 30 - 8:00 HK HK%sT 1997 Jul 1 # return to China - 8:00 PRC C%sT + 8:00 HK HK%sT ############################################################################### # Taiwan -# Shanks (1995) writes that Taiwan observed DST during 1945, when it +# Shanks writes that Taiwan observed DST during 1945, when it # was still controlled by Japan. This is hard to believe, but we don't # have any other information. @@ -330,6 +325,14 @@ Zone Asia/Tbilisi 2:59:16 - LMT 1880 4:00 1:00 GEST 1997 Mar lastSun 4:00 E-EurAsia GE%sT +# East Timor +# Zone NAME GMTOFF RULES FORMAT [UNTIL] +Zone Asia/Dili 8:22:20 - LMT 1912 + 8:00 - TPT 1942 Feb 21 23:00 + 9:00 - JST 1945 Aug + 9:00 - TPT 1976 May 3 + 8:00 - TPT # East Timor Time + # India # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Calcutta 5:53:28 - LMT 1880 @@ -346,7 +349,9 @@ Zone Asia/Calcutta 5:53:28 - LMT 1880 # Indonesia # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Jakarta 7:07:12 - LMT 1867 Aug 10 - 7:07:12 - JMT 1924 Jan 1 0:13 # Jakarta MT +# Shanks says the next transition was at 1924 Jan 1 0:13, +# but this must be a typo. + 7:07:12 - JMT 1923 Dec 31 23:47:12 # Jakarta 7:20 - JAVT 1932 Nov # Java Time 7:30 - JAVT 1942 Mar 23 9:00 - JST 1945 Aug @@ -365,10 +370,10 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 No 9:00 - JAYT # Iran -# From Paul Eggert (1996-12-17), following up a suggestion by Rich Wales: +# From Paul Eggert (1999-09-27), following up a suggestion by Rich Wales: # Ahmea Alavi in # <a href="http://tehran.stanford.edu/Iran_Lib/Calendar/taghveem.txt"> -# TAGHVEEM (1993-08-04) +# TAGHVEEM (1993-07-12) # </a> # writes ``Daylight saving time in Iran starts from the first day # of Farvardin and ends the first day of Mehr.'' This disagrees with the SSIM: @@ -382,6 +387,10 @@ Zone Asia/Jayapura 9:22:48 - LMT 1932 No # 1995 03-21 03-21 09-22!= 09-23 # 1996 03-21!= 03-20 09-21!= 09-22 # 1997 03-21 03-21 09-21!= 09-23 +# 1998 03-21 03-21 09-21!= 09-23 +# 1999 03-22!= 03-21 09-22!= 09-23 +# 2000 03-21!= 03-20 09-21!= 09-22 +# 2001 03-17!= 03-21 09-19!= 09-23 # # Go with Alavi starting with 1992. # I used Ed Reingold's cal-persia in GNU Emacs 19.34 to compute Persian dates. @@ -455,6 +464,7 @@ Rule Iraq 1984 1985 - Apr 1 0:00 1:00 D Rule Iraq 1985 1990 - Sep lastSun 1:00s 0 S Rule Iraq 1986 1990 - Mar lastSun 1:00s 1:00 D # IATA SSIM (1991/1996) says Apr 1 12:01am UTC; guess the `:01' is a typo. +# Shanks says Iraq did not observe DST 1992/1997 or 1999 on; ignore this. Rule Iraq 1991 max - Apr 1 3:00s 1:00 D Rule Iraq 1991 max - Oct 1 3:00s 0 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -472,7 +482,7 @@ Zone Asia/Baghdad 2:57:40 - LMT 1890 # ISRAEL 2 H AHEAD OF UTC # ISRAEL 3 H AHEAD OF UTC APR 10 - SEP 3 -# From Shanks (1995): +# From Shanks: # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Zion 1940 only - Jun 1 0:00 1:00 D Rule Zion 1942 1944 - Nov 1 0:00 0 S @@ -516,7 +526,7 @@ Rule Zion 1988 only - Apr 9 0:00 1:00 D Rule Zion 1988 only - Sep 3 0:00 0 S # From Ephraim Silverberg <ephraim@cs.huji.ac.il> -# (1997-03-04, 1998-03-16 and 1998-12-28): +# (1997-03-04, 1998-03-16, 1998-12-28, and 2000-01-17): # According to the Office of the Secretary General of the Ministry of # Interior, there is NO set rule for Daylight-Savings/Standard time changes. @@ -530,7 +540,11 @@ Rule Zion 1988 only - Sep 3 0:00 0 S # conflicts with the Jewish New Year. Starting in 1999, the change to # daylight savings time will still be on a Friday morning but from # 2 a.m. IST to 3 a.m. IDT; furthermore, the change back to standard time -# will now also be on a Friday morning from 2 a.m. IDT to 1 a.m. IST. +# will now also be on a Friday morning from 2 a.m. IDT to 1 a.m. IST for +# 1999 only. In the years from 2000 to 2002, the change back will be from +# 2 a.m. IDT to 1 a.m. IST the morning after the Jewish festival of +# Shmini Atzeret (i.e. the morning of the 23rd of Tishrei in the lunar +# Hebrew calendar). # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Zion 1989 only - Apr 30 0:00 1:00 D @@ -578,18 +592,29 @@ Rule Zion 1998 only - Sep 6 0:00 0 S Rule Zion 1999 only - Apr 2 2:00 1:00 D Rule Zion 1999 only - Sep 3 2:00 0 S -# Due to imminent elections in 1999, there are no dates for the year 2000 -# and beyond. There was a move to legislate the DST rules in Israel, but -# due to the government's fall, it most likely won't be brought to the Knesset -# for first reading before the elections and will probably be altered by the -# newly elected government. +# Minister of Interior, Natan Sharansky, has announced the dates for +# the years 2000-2002. However, sources inside the ministry have noted +# that the end date of 2000 and both dates of 2001-2002 should be regarded +# as tentative pending final approval. +# +# The official announcement for the years 2000-2001 can be viewed at: +# +# ftp://ftp.huji.ac.il/pub/tz/announcements/2000-2002.ps.gz -# From Paul Eggert (1999-01-30): -# Here are guesses for rules after 1999. +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Zion 2000 only - Apr 14 2:00 1:00 D +Rule Zion 2000 only - Oct 22 2:00 0 S +Rule Zion 2001 only - Apr 6 2:00 1:00 D +Rule Zion 2001 only - Oct 10 2:00 0 S +Rule Zion 2002 only - Mar 29 2:00 1:00 D +Rule Zion 2002 only - Sep 29 2:00 0 S + +# From Paul Eggert (2000-01-17): +# Here are guesses for rules after 2002. # They are probably wrong, but they are more likely than no DST at all. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 2000 max - Apr Fri>=1 2:00 1:00 D -Rule Zion 2000 max - Sep Fri>=1 2:00 0 S +Rule Zion 2003 max - Mar Fri>=25 2:00 1:00 D +Rule Zion 2003 max - Oct 1 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Jerusalem 2:20:56 - LMT 1880 @@ -648,10 +673,22 @@ Zone Asia/Tokyo 9:18:59 - LMT 1887 Dec 3 # Since 1938, all Japanese possessions have been like Asia/Tokyo. # Jordan -# From Steffen Thorsen (1999-05-08): -# Jordan do not have DST this year. It also seems that they are not going -# to use it the next years either. "We do not need it" was the answer I got -# from the Jordan National Information Centre (http://www.nic.gov.jo). +# +# From <a href="http://star.arabia.com/990701/JO9.html"> +# Jordan Week (1999-07-01) </a> via Steffen Thorsen (1999-09-09): +# Clocks in Jordan were forwarded one hour on Wednesday at midnight, +# in accordance with the government's decision to implement summer time +# all year round. +# +# From <a href="http://star.arabia.com/990930/JO9.html"> +# Jordan Week (1999-09-30) </a> via Steffen Thorsen (1999-11-09): +# Winter time starts today Thursday, 30 September. Clocks will be turned back +# by one hour. This is the latest government decision and it's final! +# The decision was taken because of the increase in working hours in +# government's departments from six to seven hours. +# +# From Paul Eggert (1999-11-09): +# No word on Jordan's future rules; assume 04-01 to 10-01 for now. # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Jordan 1973 only - Jun 6 0:00 1:00 S @@ -674,6 +711,9 @@ Rule Jordan 1992 1993 - Oct Fri>=1 0: Rule Jordan 1993 1998 - Apr Fri>=1 0:00 1:00 S Rule Jordan 1994 only - Sep Fri>=15 0:00 0 - Rule Jordan 1995 1998 - Sep Fri>=15 0:00s 0 - +Rule Jordan 1999 only - Jul 1 0:00 1:00 S +Rule Jordan 1999 max - Oct 1 0:00 0 - +Rule Jordan 2000 max - Apr 1 0:00 1:00 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Amman 2:23:44 - LMT 1931 2:00 Jordan EE%sT @@ -708,16 +748,17 @@ Zone Asia/Aqtau 3:21:04 - LMT 1924 May 4:00 E-EurAsia AQT%sT # Kirgizstan +# Transitions through 1991 are from Shanks. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Kirgiz 1992 1996 - Apr Sun>=7 0:00 1:00 S -Rule Kirgiz 1991 1996 - Sep lastSun 0:00 0 - +Rule Kirgiz 1992 1996 - Sep lastSun 0:00 0 - Rule Kirgiz 1997 max - Mar lastSun 2:30 1:00 S Rule Kirgiz 1997 max - Oct lastSun 2:30 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Bishkek 4:58:24 - LMT 1924 May 2 5:00 - FRUT 1930 Jun 21 # Frunze Time 6:00 RussiaAsia FRU%sT 1991 Mar 31 2:00s - 5:00 1:00 FRUST 1991 Aug 31 # independence + 5:00 1:00 FRUST 1991 Aug 31 2:00 # independence 5:00 Kirgiz KG%sT # Kirgizstan Time ############################################################################### @@ -729,7 +770,7 @@ Zone Asia/Bishkek 4:58:24 - LMT 1924 May # Daylight Savings Time was not observed until 1987. He did not know # at what time of day DST starts or ends. -# From Shanks (1995): +# From Shanks: # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule ROK 1960 only - May 15 0:00 1:00 D Rule ROK 1960 only - Sep 13 0:00 0 S @@ -792,7 +833,8 @@ Rule Lebanon 1989 only - May 10 0:00 1:0 Rule Lebanon 1990 1992 - May 1 0:00 1:00 S Rule Lebanon 1992 only - Oct 4 0:00 0 - Rule Lebanon 1993 max - Mar lastSun 0:00 1:00 S -Rule Lebanon 1993 max - Sep lastSun 0:00 0 - +Rule Lebanon 1993 1998 - Sep lastSun 0:00 0 - +Rule Lebanon 1999 max - Oct lastSun 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Beirut 2:22:00 - LMT 1880 2:00 Lebanon EE%sT @@ -824,31 +866,62 @@ Zone Indian/Maldives 4:54:00 - LMT 1880 5:00 - MVT # Maldives Time # Mongolia + # Shanks says that Mongolia has three time zones, but usno1995 and the CIA map # Standard Time Zones of the World (1997-01) -# </a> # both say that it has just one. -# Let's comment out the western and eastern Mongolian time zones -# till we know what their principal towns are. + +# From Oscar van Vlijmen (1999-12-11): +# <a href="http://www.mongoliatourism.gov.mn/general.htm"> +# General Information Mongolia +# </a> (1999-09) +# "Time: Mongolia has two time zones. Three westernmost provinces of +# Bayan-Ulgii, Uvs, and Hovd are one hour earlier than the capital city, and +# the rest of the country follows the Ulaanbaatar time, which is UTC/GMT plus +# eight hours." + +# From Rives McDow (1999-12-13): +# Mongolia discontinued the use of daylight savings time in 1999; 1998 +# being the last year it was implemented. The dates of implementation I am +# unsure of, but most probably it was similar to Russia, except for the time +# of implementation may have been different.... +# Some maps in the past have indicated that there was an additional time +# zone in the eastern part of Mongolia, including the provinces of Dornod, +# Suhbaatar, and possibly Khentij. + +# From Paul Eggert (1999-12-15): +# For now, we'll comment out the east zone (Choybalsan) +# and use Shanks's and the IATA's data for the daylight-saving rules. +# Naming and spelling is tricky in Mongolia. +# We'll use Hovd (also spelled Chovd and Khovd) to represent the west zone; +# the capital of the Hovd province is sometimes called Hovd, sometimes Dund-Us, +# and sometimes Jirgalanta (with variant spellings), but the name Hovd +# is good enough for our purposes. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mongol 1981 1984 - Apr 1 0:00 1:00 S Rule Mongol 1981 1984 - Oct 1 0:00 0 - Rule Mongol 1985 1990 - Mar lastSun 2:00 1:00 S Rule Mongol 1985 1990 - Sep lastSun 3:00 0 - -Rule Mongol 1991 max - Mar lastSun 0:00 1:00 S +Rule Mongol 1991 1998 - Mar lastSun 0:00 1:00 S Rule Mongol 1991 1995 - Sep lastSun 0:00 0 - -Rule Mongol 1996 only - Oct Fri>=22 0:00 0 - -Rule Mongol 1997 max - Sep lastSun 0:00 0 - +# IATA SSIM (1996-09) says 1996-10-25; go with Shanks. +Rule Mongol 1996 only - Oct lastSun 0:00 0 - +Rule Mongol 1997 1998 - Sep lastSun 0:00 0 - +# IATA SSIM (1999-09) says Mongolia no longer observes DST. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] -#Zone Asia/Dariv 6:14:32 - LMT 1905 Aug -# 6:00 - DART 1978 # Dariv Time -# 7:00 Mongol DAR%sT -Zone Asia/Ulan_Bator 7:07:32 - LMT 1905 Aug - 7:00 - ULAT 1978 # Ulan Bator Time +Zone Asia/Hovd 6:06:36 - LMT 1905 Aug + 6:00 - HOVT 1978 # Hovd Time + 7:00 Mongol HOV%sT +Zone Asia/Ulaanbaatar 7:07:32 - LMT 1905 Aug + 7:00 - ULAT 1978 # Ulaanbaatar Time 8:00 Mongol ULA%sT -#Zone Asia/Baruun-Urt 7:33:00 - LMT 1905 Aug -# 8:00 - BART 1978 # Baruun-Urt Time -# 9:00 Mongol BAR%sT +# We're not sure about this entry yet, so we'll omit it for now. +#Zone Asia/Choybalsan 7:38:00 - LMT 1905 Aug +# 8:00 - CHOT 1978 # Choybalsan Time +# 9:00 Mongol CHO%sT 19?? +# 8:00 Mongol ULA%sT # Nepal # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -934,7 +1007,17 @@ Zone Asia/Karachi 4:28:12 - LMT 1907 # one-hour forward at this time. As a sign of independence from Israeli rule, # the PA has decided to implement DST in April. -# These rules for Egypt are stolen from the `africa' file. +# From Paul Eggert (1999-09-20): +# Daoud Kuttab writes in +# <a href="http://www.jpost.com/com/Archive/22.Apr.1999/Opinion/Article-2.html"> +# Holiday havoc +# </a> (Jerusalem Post, 1999-04-22) that +# the Palestinian National Authority changed to DST on 1999-04-15. +# I vaguely recall that they switch back in October (sorry, forgot the source). +# For now, let's assume that the spring switch was at 24:00, +# and that they switch at 0:00 on the 3rd Fridays of April and October. + +# The rules for Egypt are stolen from the `africa' file. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule EgyptAsia 1957 only - May 10 0:00 1:00 S Rule EgyptAsia 1957 1958 - Oct 1 0:00 0 - @@ -942,12 +1025,17 @@ Rule EgyptAsia 1958 only - May 1 0:00 1 Rule EgyptAsia 1959 1967 - May 1 1:00 1:00 S Rule EgyptAsia 1959 1965 - Sep 30 3:00 0 - Rule EgyptAsia 1966 only - Oct 1 3:00 0 - + +Rule Palestine 1999 max - Apr Fri>=15 0:00 1:00 S +Rule Palestine 1999 max - Oct Fri>=15 0:00 0 - + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Gaza 2:17:52 - LMT 1900 Oct 2:00 Zion EET 1948 May 15 2:00 EgyptAsia EE%sT 1967 Jun 5 2:00 Zion I%sT 1996 - 2:00 Jordan EE%sT + 2:00 Jordan EE%sT 1999 + 2:00 Palestine EE%sT # Paracel Is # no information @@ -1002,7 +1090,6 @@ Zone Asia/Singapore 6:55:24 - LMT 1880 # no longer available as of 1999-08-17) # reported ``the country's standard time will be put forward by one hour at # midnight Friday (1830 GMT) `in the light of the present power crisis'.'' -# Transitions before 1996 are from Shanks (1995). # # From Dharmasiri Senanayake, Sri Lanka Media Minister (1996-10-24), as quoted # by Shamindra in @@ -1052,22 +1139,25 @@ Rule Syria 1991 1992 - Oct 1 0:00 0 - Rule Syria 1992 only - Apr 8 0:00 1:00 S Rule Syria 1993 only - Mar 26 0:00 1:00 S Rule Syria 1993 only - Sep 25 0:00 0 - -# IATA SSIM (1996-09) says 1997-03-31; (1998-02) says 1998-04-02; -# (1998-09) says 1999-03-29 and 1999-09-29; ignore all these claims for now. -Rule Syria 1994 max - Apr 1 0:00 1:00 S +# IATA SSIM (1998-02) says 1998-04-02; +# (1998-09) says 1999-03-29 and 1999-09-29; (1999-02) says 1999-04-02, +# 2000-04-02, and 2001-04-02; (1999-09) says 2000-03-31 and 2001-03-31; +# ignore all these claims and go with Shanks. +Rule Syria 1994 1996 - Apr 1 0:00 1:00 S Rule Syria 1994 max - Oct 1 0:00 0 - +Rule Syria 1997 1998 - Mar lastMon 0:00 1:00 S +Rule Syria 1999 max - Apr 1 0:00 1:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Damascus 2:25:12 - LMT 1920 2:00 Syria EE%sT # Tajikistan -# From Shanks (1995), who writes ``date of change uncertain'' for 1991. +# From Shanks. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Dushanbe 4:35:12 - LMT 1924 May 2 5:00 - DUST 1930 Jun 21 # Dushanbe Time 6:00 RussiaAsia DUS%sT 1991 Mar 31 2:00s - 5:00 1:00 DUSST 1991 Sep 9 # independence - 5:00 RussiaAsia TJ%sT 1992 + 5:00 1:00 DUSST 1991 Sep 9 2:00s 5:00 - TJT # Tajikistan Time # Thailand @@ -1077,16 +1167,13 @@ Zone Asia/Bangkok 6:42:04 - LMT 1880 7:00 - ICT # Turkmenistan -# From Shanks (1995): +# From Shanks. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Ashkhabad 3:53:32 - LMT 1924 May 2 # or Ashgabat 4:00 - ASHT 1930 Jun 21 # Ashkhabad Time - 5:00 - ASHT 1981 Apr 1 - 5:00 1:00 ASHST 1981 Oct 1 - 6:00 - ASHT 1982 Apr 1 - 5:00 RussiaAsia ASH%sT 1991 - 5:00 - ASHT 1991 Oct 27 # independence - 5:00 RussiaAsia TM%sT 1993 # Turkmenistan Time + 5:00 RussiaAsia ASH%sT 1991 Mar 31 2:00 + 4:00 RussiaAsia ASH%sT 1991 Oct 27 # independence + 4:00 RussiaAsia TM%sT 1992 Jan 19 2:00 5:00 - TMT # United Arab Emirates @@ -1095,22 +1182,21 @@ Zone Asia/Dubai 3:41:12 - LMT 1920 4:00 - GST # Uzbekistan -# From Shanks (1995): # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Samarkand 4:27:12 - LMT 1924 May 2 4:00 - SAMT 1930 Jun 21 # Samarkand Time 5:00 - SAMT 1981 Apr 1 5:00 1:00 SAMST 1981 Oct 1 6:00 RussiaAsia TAS%sT 1991 Mar 31 2:00 # Tashkent Time - 5:00 - TAST 1991 Sep 1 # independence - 5:00 - UZT 1992 + 5:00 RussiaAsia TAS%sT 1991 Sep 1 # independence + 5:00 RussiaAsia UZ%sT 1992 5:00 RussiaAsia UZ%sT 1993 5:00 - UZT Zone Asia/Tashkent 4:37:12 - LMT 1924 May 2 5:00 - TAST 1930 Jun 21 # Tashkent Time 6:00 RussiaAsia TAS%sT 1991 Mar 31 2:00s - 5:00 - TAST 1991 Sep 1 # independence - 5:00 - UZT 1992 + 5:00 RussiaAsia TAS%sT 1991 Sep 1 # independence + 5:00 RussiaAsia UZ%sT 1992 5:00 RussiaAsia UZ%sT 1993 5:00 - UZT @@ -1118,7 +1204,7 @@ Zone Asia/Tashkent 4:37:12 - LMT 1924 Ma # From Paul Eggert <eggert@twinsun.com> (1993-11-18): # Saigon's official name is Thanh-Pho Ho Chi Minh, but it's too long. # We'll stick with the traditional name for now. -# From Shanks (1991): +# From Shanks: # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Saigon 7:06:40 - LMT 1906 Jun 9 7:06:20 - SMT 1911 Mar 11 0:01 # Saigon MT? diff -durpN glibc-2.1.2/timezone/australasia glibc-2.1.3/timezone/australasia --- glibc-2.1.2/timezone/australasia Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/australasia Tue Feb 22 23:03:36 2000 @@ -1,4 +1,4 @@ -# @(#)australasia 7.48 +# @(#)australasia 7.55 # This file also includes Pacific islands. # Notes are at the end of this file @@ -8,27 +8,26 @@ # Australia # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -# Shanks gives 1917 Jan 1 0:01; go with Whitman (and guess 2:00). -Rule Aus 1916 only - Oct 1 2:00 1:00 - +Rule Aus 1917 only - Jan 1 0:01 1:00 - Rule Aus 1917 only - Mar 25 2:00 0 - Rule Aus 1942 only - Jan 1 2:00 1:00 - Rule Aus 1942 only - Mar 29 2:00 0 - Rule Aus 1942 only - Sep 27 2:00 1:00 - Rule Aus 1943 1944 - Mar lastSun 2:00 0 - Rule Aus 1943 only - Oct 3 2:00 1:00 - -# Whitman says W Australia didn't use DST in 1943/1944, and that -# 1944/1945 was just like 1943/1944; go with Shanks. +# Go with Whitman and the Australian National Standards Commission, which +# says W Australia didn't use DST in 1943/1944. Ignore Whitman's claim that +# 1944/1945 was just like 1943/1944. # Zone NAME GMTOFF RULES FORMAT [UNTIL] # Northern Territory Zone Australia/Darwin 8:43:20 - LMT 1895 Feb 9:00 - CST 1899 May - 9:30 - CST 1917 Jan 1 0:01 9:30 Aus CST # Western Australia Zone Australia/Perth 7:43:24 - LMT 1895 Dec - 8:00 - WST 1917 Jan 1 0:01 - 8:00 Aus WST 1974 Oct lastSun 2:00s + 8:00 Aus WST 1943 Jul + 8:00 - WST 1974 Oct lastSun 2:00s 8:00 1:00 WST 1975 Mar Sun>=1 2:00s 8:00 - WST 1983 Oct lastSun 2:00s 8:00 1:00 WST 1984 Mar Sun>=1 2:00s @@ -49,78 +48,77 @@ Zone Australia/Perth 7:43:24 - LMT 1895 # so use Lindeman. # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule AQ 1971 only - Oct lastSun 2:00s 1:00 - +Rule AQ 1972 only - Feb lastSun 2:00s 0 - Rule AQ 1989 1991 - Oct lastSun 2:00s 1:00 - Rule AQ 1990 1992 - Mar Sun>=1 2:00s 0 - -Rule Holiday 1989 1993 - Oct lastSun 2:00s 1:00 - -Rule Holiday 1990 1994 - Mar Sun>=1 2:00s 0 - +Rule Holiday 1992 1993 - Oct lastSun 2:00s 1:00 - +Rule Holiday 1993 1994 - Mar Sun>=1 2:00s 0 - Zone Australia/Brisbane 10:12:08 - LMT 1895 - 10:00 - EST 1917 Jan 1 0:01 - 10:00 Aus EST 1971 Oct lastSun 2:00s - 10:00 1:00 EST 1972 Feb lastSun 2:00s + 10:00 Aus EST 1971 10:00 AQ EST Zone Australia/Lindeman 9:55:56 - LMT 1895 - 10:00 - EST 1917 Jan 1 0:01 - 10:00 Aus EST 1971 Oct lastSun 2:00s - 10:00 1:00 EST 1972 Feb lastSun 2:00s + 10:00 Aus EST 1971 + 10:00 AQ EST 1992 Jul 10:00 Holiday EST # South Australia # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule AS 1971 1985 - Oct lastSun 2:00s 1:00 - Rule AS 1986 only - Oct 19 2:00s 1:00 - -Rule AS 1987 1999 - Oct lastSun 2:00s 1:00 - +Rule AS 1987 max - Oct lastSun 2:00s 1:00 - Rule AS 1972 only - Feb 27 2:00s 0 - Rule AS 1973 1985 - Mar Sun>=1 2:00s 0 - Rule AS 1986 1989 - Mar Sun>=15 2:00s 0 - Rule AS 1990 1994 even Mar Sun>=18 2:00s 0 - Rule AS 1990 1994 odd Mar Sun>=1 2:00s 0 - Rule AS 1995 max - Mar lastSun 2:00s 0 - -Rule AS 2000 only - Aug lastSun 2:00s 1:00 - -Rule AS 2001 max - Oct lastSun 2:00s 1:00 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Australia/Adelaide 9:14:20 - LMT 1895 Feb 9:00 - CST 1899 May - 9:30 - CST 1917 Jan 1 0:01 - 9:30 Aus CST 1971 Oct lastSun 2:00s + 9:30 Aus CST 1971 9:30 AS CST # Tasmania # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule AT 1967 only - Oct 1 2:00s 1:00 - -Rule AT 1968 only - Mar 31 2:00s 0 - +Rule AT 1967 only - Oct Sun>=1 2:00s 1:00 - +Rule AT 1968 only - Mar lastSun 2:00s 0 - Rule AT 1968 1985 - Oct lastSun 2:00s 1:00 - Rule AT 1969 1971 - Mar Sun>=8 2:00s 0 - -Rule AT 1972 only - Feb 27 2:00s 0 - +Rule AT 1972 only - Feb lastSun 2:00s 0 - Rule AT 1973 1981 - Mar Sun>=1 2:00s 0 - Rule AT 1982 1983 - Mar lastSun 2:00s 0 - Rule AT 1984 1986 - Mar Sun>=1 2:00s 0 - -Rule AT 1986 only - Oct 19 2:00s 1:00 - +Rule AT 1986 only - Oct Sun>=15 2:00s 1:00 - Rule AT 1987 1990 - Mar Sun>=15 2:00s 0 - -Rule AT 1987 1990 - Oct lastSun 2:00s 1:00 - -Rule AT 1991 max - Oct Sun>=1 2:00s 1:00 - +Rule AT 1987 only - Oct Sun>=22 2:00s 1:00 - +Rule AT 1988 1990 - Oct lastSun 2:00s 1:00 - +Rule AT 1991 1999 - Oct Sun>=1 2:00s 1:00 - Rule AT 1991 max - Mar lastSun 2:00s 0 - +Rule AT 2000 only - Aug lastSun 2:00s 1:00 - +Rule AT 2001 max - Oct Sun>=1 2:00s 1:00 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Australia/Hobart 9:49:16 - LMT 1895 Sep - 10:00 - EST 1917 Jan 1 0:01 - 10:00 Aus EST 1967 Oct 1 2:00s + 10:00 - EST 1916 Oct 1 2:00 + 10:00 1:00 EST 1917 Feb + 10:00 Aus EST 1967 10:00 AT EST # Victoria # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule AV 1971 1985 - Oct lastSun 2:00s 1:00 - -Rule AV 1972 only - Feb 27 2:00s 0 - +Rule AV 1972 only - Feb lastSun 2:00s 0 - Rule AV 1973 1985 - Mar Sun>=1 2:00s 0 - Rule AV 1986 1990 - Mar Sun>=15 2:00s 0 - -Rule AV 1986 only - Oct 19 2:00s 1:00 - -Rule AV 1987 1999 - Oct lastSun 2:00s 1:00 - +Rule AV 1986 1987 - Oct Sun>=15 2:00s 1:00 - +Rule AV 1988 1999 - Oct lastSun 2:00s 1:00 - Rule AV 1991 1994 - Mar Sun>=1 2:00s 0 - Rule AV 1995 max - Mar lastSun 2:00s 0 - Rule AV 2000 only - Aug lastSun 2:00s 1:00 - Rule AV 2001 max - Oct lastSun 2:00s 1:00 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Australia/Melbourne 9:39:52 - LMT 1895 Feb - 10:00 - EST 1917 Jan 1 0:01 - 10:00 Aus EST 1971 Oct 31 2:00s + 10:00 Aus EST 1971 10:00 AV EST # New South Wales @@ -139,15 +137,14 @@ Rule AN 2000 only - Aug lastSun 2:00s 1: Rule AN 2001 max - Oct lastSun 2:00s 1:00 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Australia/Sydney 10:04:52 - LMT 1895 Feb - 10:00 - EST 1917 Jan 1 0:01 - 10:00 Aus EST 1971 Oct 31 2:00s + 10:00 Aus EST 1971 10:00 AN EST Zone Australia/Broken_Hill 9:25:48 - LMT 1895 Feb 10:00 - EST 1896 Aug 23 9:00 - CST 1899 May - 9:30 - CST 1917 Jan 1 0:01 - 9:30 Aus CST 1971 Oct 31 2:00s - 9:30 AN CST + 9:30 Aus CST 1971 + 9:30 AN CST 2000 + 9:30 AS CST # Lord Howe Island # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S @@ -156,9 +153,11 @@ Rule LH 1982 1985 - Mar Sun>=1 2:00s 0 - Rule LH 1985 only - Oct lastSun 2:00s 0:30 - Rule LH 1986 1989 - Mar Sun>=15 2:00s 0 - Rule LH 1986 only - Oct 19 2:00s 0:30 - -Rule LH 1987 max - Oct lastSun 2:00s 0:30 - +Rule LH 1987 1999 - Oct lastSun 2:00s 0:30 - Rule LH 1990 1995 - Mar Sun>=1 2:00s 0 - Rule LH 1996 max - Mar lastSun 2:00s 0 - +Rule LH 2000 only - Aug lastSun 2:00s 0:30 - +Rule LH 2001 max - Oct lastSun 2:00s 0:30 - Zone Australia/Lord_Howe 10:36:20 - LMT 1895 Feb 10:00 - EST 1981 Mar 10:30 LH LHST @@ -167,7 +166,7 @@ Zone Australia/Lord_Howe 10:36:20 - LMT # # Ashmore Is, Cartier # no indigenous inhabitants; only seasonal caretakers -# no information; probably like Australia/Perth +# like Australia/Perth, says Turner # # Coral Sea Is # no indigenous inhabitants; only meteorologists @@ -176,10 +175,7 @@ Zone Australia/Lord_Howe 10:36:20 - LMT # Macquarie # permanent occupation (scientific station) since 1948; # sealing and penguin oil station operated 1888/1917 -# no information -# -# Manihiki, Penrhyn, Rakehanga -# no information +# like Australia/Hobart, says Turner # Christmas # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -187,7 +183,7 @@ Zone Indian/Christmas 7:02:52 - LMT 1895 7:00 - CXT # Christmas Island Time # Cook Is -# From Shanks (1995): +# From Shanks: # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Cook 1978 only - Nov 12 0:00 0:30 HS Rule Cook 1979 1991 - Mar Sun>=1 0:00 0 - @@ -265,8 +261,9 @@ Zone Pacific/Truk 10:07:08 - LMT 1901 Zone Pacific/Ponape 10:32:52 - LMT 1901 # Kolonia 11:00 - PONT # Ponape Time Zone Pacific/Kosrae 10:51:56 - LMT 1901 - 11:00 - PONT 1969 Oct - 12:00 - KOST # Kosrae Time + 11:00 - KOST 1969 Oct # Kosrae Time + 12:00 - KOST 1999 + 11:00 - KOST # Nauru # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -281,6 +278,7 @@ Zone Pacific/Nauru 11:07:40 - LMT 1921 J Rule NC 1977 1978 - Dec Sun>=1 0:00 1:00 S Rule NC 1978 1979 - Feb 27 0:00 0 - Rule NC 1996 only - Dec 1 2:00s 1:00 S +# Shanks says the following was at 2:00; go with IATA. Rule NC 1997 only - Mar 2 2:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Noumea 11:05:48 - LMT 1912 Jan 13 @@ -346,7 +344,7 @@ Zone Pacific/Norfolk 11:11:52 - LMT 1901 11:12 - NMT 1951 # Norfolk Mean Time 11:30 - NFT # Norfolk Time -# Palau +# Palau (Belau) # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Palau 8:57:56 - LMT 1901 # Koror 9:00 - PWT # Palau Time @@ -360,7 +358,8 @@ Zone Pacific/Port_Moresby 9:48:40 - LMT # Pitcairn # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Pitcairn -8:40:20 - LMT 1901 # Adamstown - -8:30 - PNT # Pitcairn Time + -8:30 - PNT 1998 Apr 27 00:00 + -8:00 - PST # Pitcairn Standard Time # American Samoa Zone Pacific/Pago_Pago 12:37:12 - LMT 1879 Jul 5 @@ -388,10 +387,14 @@ Zone Pacific/Fakaofo -11:24:56 - LMT 190 -10:00 - TKT # Tokelau Time # Tonga +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Tonga 1999 max - Oct Sat>=1 2:00s 1:00 S +Rule Tonga 2000 max - Apr Sun>=16 2:00s 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Pacific/Tongatapu 12:19:20 - LMT 1901 12:20 - TOT 1941 # Tonga Time - 13:00 - TOT + 13:00 - TOT 1999 + 13:00 Tonga TO%sT # Tuvalu # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -456,10 +459,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # go ahead and edit the file (and please send any changes to # tz@elsie.nci.nih.gov for general use in the future). -# From Paul Eggert <eggert@twinsun.com> (1999-03-22): +# From Paul Eggert <eggert@twinsun.com> (1999-10-29): # A good source for time zone historical data outside the U.S. is -# Thomas G. Shanks, The International Atlas (4th edition), -# San Diego: ACS Publications, Inc. (1995). +# Thomas G. Shanks, The International Atlas (5th edition), +# San Diego: ACS Publications, Inc. (1999). # # Gwillim Law <LAW@encmail.encompass.com> writes that a good source # for recent time zone data is the International Air Transport @@ -492,6 +495,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # 12:45 CHAST CHADT Chatham* # -11:00 SST Samoa # -10:00 HST Hawaii +# - 8:00 PST Pitcairn* # # See the `northamerica' file for Hawaii. # See the `southamerica' file for Easter I and the Galapagos Is. @@ -500,6 +504,10 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Australia +# <a href="http://www.dstc.qut.edu.au/DST/marg/daylight.html"> +# Australia's Daylight Saving Times +# </a>, by Margaret Turner, summarizes daylight saving issues in Australia. + # From John Mackin (1991-03-06): # We in Australia have _never_ referred to DST as `daylight' time. # It is called `summer' time. Now by a happy coincidence, `summer' @@ -596,6 +604,11 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # The 1992 ending date used in the rules is a best guess; # it matches what was used in the past. +# <a href="http://www.bom.gov.au/faq/faqgen.htm"> +# The Australian Bureau of Meteorology FAQ +# </a> (1999-09-27) writes that Giles Meteorological Station uses +# South Australian time even though it's located in Western Australia. + # Queensland # From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06): # # The state of QUEENSLAND.. [ Courtesy Qld. Dept Premier Econ&Trade Devel ] @@ -707,66 +720,29 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Tasmania -# From Bradley White (1991-03-04): -# A recent excerpt from an Australian newspaper... -# ...Tasmania will revert to Australian Eastern Standard Time on March 31... - -# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06): +# The rules for 1967 through 1991 were reported by George Shepherd +# via Simon Woodhead via Robert Elz (1991-03-06): # # The state of TASMANIA.. [Courtesy Tasmanian Dept of Premier + Cabinet ] # # [ Nov 1990 ] -# ... -# Zone Australia/Tasmania 10:00 AT %sST -# ... -# Rule AT 1967 only - Oct Sun>=1 2:00 1:00 D -# Rule AT 1968 only - Mar lastSun 3:00 0 E -# Rule AT 1968 1985 - Oct lastSun 2:00 1:00 D -# Rule AT 1969 1971 - Mar Sun>=8 3:00 0 E -# Rule AT 1972 only - Feb lastSun 3:00 0 E -# Rule AT 1973 1981 - Mar Sun>=1 3:00 0 E -# Rule AT 1982 1983 - Mar lastSun 3:00 0 E -# Rule AT 1984 1986 - Mar Sun>=1 3:00 0 E -# Rule AT 1986 only - Oct Sun>=15 2:00 1:00 D -# Rule AT 1987 1990 - Mar Sun>=15 3:00 0 E -# Rule AT 1987 only - Oct Sun>=22 2:00 1:00 D -# Rule AT 1988 1990 - Oct lastSun 2:00 1:00 D -# Rule AT 1991 max - Oct Sun>=1 2:00 1:00 D -# Rule AT 1991 max - Mar lastSun 3:00 0 E - -# From Bill Hart via Alexander Dupuy and Guy Harris (1991-10-10): -# My state Government in there eagerness to get a few more bucks for the -# tourist industry industry decided to change the daylight savings times -# yet again (we now have almost 6 months per year)... -# ... -# Rule Oz 1986 1990 - Oct Sun<=24 2:00 1:00 - -# Rule Oz 1991 max - Oct Sun>=1 2:00 1:00 - -# ... -# Rule Oz 1987 1990 - Mar Sun<=21 3:00 0 - -# Rule Oz 1991 max - Mar Sun<=31 3:00 0 - # From Bill Hart via Guy Harris (1991-10-10): # Oh yes, the new daylight savings rules are uniquely tasmanian, we have # 6 weeks a year now when we are out of sync with the rest of Australia # (but nothing new about that). -# Victoria +# From Alex Livingston (1999-10-04): +# I heard on the ABC (Australian Broadcasting Corporation) radio news on the +# (long) weekend that Tasmania, which usually goes its own way in this regard, +# has decided to join with most of NSW, the ACT, and most of Victoria +# (Australia) and start daylight saving on the last Sunday in August in 2000 +# instead of the first Sunday in October. -# From Bradley White (1991-03-04): -# A recent excerpt from an Australian newspaper... -# ...Victoria...[has] agreed to end daylight saving at 3am tomorrow (March 3)... +# Victoria -# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06): +# The rules for 1971 through 1991 were reported by George Shepherd +# via Simon Woodhead via Robert Elz (1991-03-06): # # The state of VICTORIA.. [ Courtesy of Vic. Dept of Premier + Cabinet ] # # [ Nov 1990 ] -# ... -# Zone Australia/Victoria 10:00 AV %sST -# ... -# Rule AV 1971 1985 - Oct lastSun 2:00 1:00 D -# Rule AV 1972 only - Feb lastSun 3:00 0 E -# Rule AV 1973 1985 - Mar Sun>=1 3:00 0 E -# Rule AV 1986 1990 - Mar Sun>=15 3:00 0 E -# Rule AV 1986 1987 - Oct Sun>=15 2:00 1:00 D -# Rule AV 1988 max - Oct lastSun 2:00 1:00 D -# Rule AV 1991 max - Mar Sun>=1 3:00 0 E # New South Wales @@ -781,46 +757,61 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # legislation. This is very important to understand. # I have researched New South Wales time only... -# From Dave Davey (1990-03-03): -# Rule NSW 1988 only - Mar Sun>=1 3:00 0 - -# Rule NSW 1989 only - Mar Sun<=21 3:00 0 - - -# From Bradley White (1991-03-04): -# A recent excerpt from an Australian newspaper... -# NSW...[has] agreed to end daylight saving at 3am tomorrow (March 3)... - -# From George Shepherd via Simon Woodhead via Robert Elz (1991-03-06): -# # The state of NEW SOUTH WALES.. [confirmed by Attorney General's Dept N.S.W] -# # [ Dec 1990 ] -# ... -# Rule AN 1988 1989 - Mar Sun<=21 3:00 0 E -# ... - -# From John Mackin (1991-03-09) -# I have confirmed the accuracy of the historical data for NSW in the -# file Robert forwarded - -# From Arthur David Olson (1992-03-08): -# Sources differ on whether DST ended March 6 or March 20 in 1988; -# March 20 (the "confirmed" date) is in the chosen rules. - -# From Bradley White (1995-05-20): -# Prem Bob Carr announced NSW will fall into line with other E states -# and SA and continue daylight savings to the last Sun in Mar. +# From Paul Eggert (1999-09-27): +# The Information Service of the Australian National Standards Commission +# <a href="http://www.nsc.gov.au/InfoServ/Ileaflet/il27.htm"> +# Daylight Saving +# </a> page (1995-04) has an excellent overall history of Australian DST. +# The Community Relations Division of the NSW Attorney General's Department +# publishes a history of daylight saving in NSW. See: +# <a href="http://www.lawlink.nsw.gov.au/crd.nsf/pages/time2"> +# Lawlink NSW: Daylight Saving in New South Wales +# </a> # From Eric Ulevik <eau@ozemail.com.au> (1999-05-26): # DST will start in NSW on the last Sunday of August, rather than the usual -# October in 2000. Victoria and South Australia are expected to adopt this -# change, Queensland is unlikely. [See: Matthew Moore, +# October in 2000. [See: Matthew Moore, # <a href="http://www.smh.com.au/news/9905/26/pageone/pageone4.html"> # Two months more daylight saving # </a> # Sydney Morning Herald (1999-05-26).] -# Also see the following official NSW source: +# From Paul Eggert (1999-09-27): +# See the following official NSW source: # <a href="http://dir.gis.nsw.gov.au/cgi-bin/genobject/document/other/daylightsaving/tigGmZ"> # Daylight Saving in New South Wales. # </a> +# +# Narrabri Shire (NSW) council has announced it will ignore the extension of +# daylight saving next year. See: +# <a href="http://abc.net.au/news/regionals/neweng/monthly/regeng-22jul1999-1.htm"> +# Narrabri Council to ignore daylight saving +# </a> (1999-07-22). For now, we'll wait to see if this really happens. +# +# Victoria will following NSW. See: +# <a href="http://abc.net.au/local/news/olympics/1999/07/item19990728112314_1.htm"> +# Vic to extend daylight saving +# </a> (1999-07-28). +# +# However, South Australia rejected the DST request. See: +# <a href="http://abc.net.au/news/olympics/1999/07/item19990719151754_1.htm"> +# South Australia rejects Olympics daylight savings request +# </a> (1999-07-19). +# +# Queensland also will not observe DST for the Olympics. See: +# <a href="http://abc.net.au/news/olympics/1999/06/item19990601114608_1.htm"> +# Qld says no to daylight savings for Olympics +# </a> (1999-06-01), which quotes Queensland Premier Peter Beattie as saying +# ``Look you've got to remember in my family when this came up last time +# I voted for it, my wife voted against it and she said to me it's all very +# well for you, you don't have to worry about getting the children out of +# bed, getting them to school, getting them to sleep at night. +# I've been through all this argument domestically...my wife rules.'' +# +# Broken Hill will stick with South Australian time in 2000. See: +# <a href="http://abc.net.au/news/regionals/brokenh/monthly/regbrok-21jul1999-6.htm"> +# Broken Hill to be behind the times +# </a> (1999-07-21). # IATA SSIM (1998-09) says that the spring 2000 change for Australian # Capital Territory, New South Wales except Lord Howe Island and Broken @@ -855,16 +846,23 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # Lord Howe Island is located off the New South Wales coast, and is half an # hour ahead of NSW time. -# From Paul Eggert (1995-12-19): -# For Lord Howe we use Shanks through 1991. -# Lord Howe is part of NSW, so we'll guess it has used the same transition -# times as NSW since 1991, even though Shanks writes that Lord Howe went -# with Victoria when NSW and Victoria disagreed in 1982. +# From James Lonergan, Secretary, Lord Howe Island Board (2000-01-27): +# Lord Howe Island summer time in 2000/2001 will commence on the same +# date as the rest of NSW (i.e. 2000-08-27). For your information the +# Lord Howe Island Board (controlling authority for the Island) is +# seeking the community's views on various options for summer time +# arrangements on the Island, e.g. advance clocks by 1 full hour +# instead of only 30 minutes. Dependant on the wishes of residents +# the Board may approach the NSW government to change the existing +# arrangements. The starting date for summer time on the Island will +# however always coincide with the rest of NSW. + +# From Paul Eggert (2000-01-31): +# For Lord Howe we use Shanks through 1989, and Lonergan thereafter. ############################################################################### -# New Zealand, from Elz' asia 1.1 -# Elz says "no guarantees" +# New Zealand # From Mark Davies (1990-10-03): # the 1989/90 year was a trial of an extended "daylight saving" period. @@ -897,14 +895,15 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # time on both the first Sunday in October and the third Sunday in March. # As with Australia, we'll assume the tradition is 2:00s, not 2:00. # -# From Paul Eggert (1996-11-22): -# Shanks gives no data for Chatham; usno1989 says it's +12:45, -# usno1995 says it's +12:45/+13:45, and IATA SSIM (1991/1996) +# From Paul Eggert (1999-10-29): +# Shanks gives no time data for Chatham; usno1989 says it's +12:45, +# usno1995 says it's +12:45/+13:45, and IATA SSIM (1991/1999) # gives the NZ rules but with transitions at 2:45 local standard time. -# Guess that they adopted DST in 1990. +# Guess that they have been in lock-step with NZ since 1990. ############################################################################### + # Fiji # Howse writes (p 153) that in 1879 the British governor of Fiji @@ -916,6 +915,9 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # until 0300 local time 1999-02-28. Each year the DST period will # be from the first Sunday in November until the last Sunday in February. +# From Paul Eggert (2000-01-08): +# IATA SSIM (1999-09) says DST ends 0100 local time. Go with McDow. + # From the BBC World Service (1998-10-31 11:32 UTC): # The Fijiian government says the main reasons for the time change is to # improve productivity and reduce road accidents. But correspondents say it @@ -923,10 +925,12 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # islands in the effort to attract tourists to witness the dawning of the new # millenium. + # Johnston # Johnston data is from usno1995. + # Kiribati # From Paul Eggert (1996-01-22): @@ -934,6 +938,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # ``declared it the same day throught the country as of Jan. 1, 1995'' # as part of the competition to be first into the 21st century. + # Kwajalein # In comp.risks 14.87 (26 August 1993), Peter Neumann writes: @@ -942,6 +947,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # respect to the International Date Line, to rejoin its fellow islands, # going from 11:59 p.m. Thursday to 12:00 m. Saturday in a blink. + # N Mariana Is, Guam # Howse writes (p 153) ``The Spaniards, on the other hand, reached the @@ -949,15 +955,49 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # (now called the Marianas) kept American date for quite some time. # Ignore this for now, as we have no hard data. See also Asia/Manila. + # Micronesia # Alan Eugene Davis <adavis@kuentos.guam.net> writes (1996-03-16), # ``I am certain, having lived there for the past decade, that "Truk" # (now properly known as Chuuk) ... is in the time zone GMT+10.'' # -# Shanks writes that Truk switched from GMT+10 to GMT+11 on 1978-10-01; +# Shanks writes that Truk switched from UTC+10 to UTC+11 on 1978-10-01; # ignore this for now. +# From Paul Eggert (1999-10-29): +# The Federated States of Micronesia Visitors Board writes in +# <a href="http://www.fsmgov.org/info/clocks.html"> +# The Federated States of Micronesia - Visitor Information +# </a> (1999-01-26) +# that Truk and Yap are UTC+10, and Ponape and Kosrae are UTC+11. +# We don't know when Kosrae switched from UTC+12; assume January 1 for now. + + +# Pitcairn + +# From Rives McDow (1999-11-08): +# A Proclamation was signed by the Governor of Pitcairn on the 27th March 1998 +# with regard to Pitcairn Standard Time. The Proclamation is as follows. +# +# The local time for general purposes in the Islands shall be +# Co-ordinated Universal time minus 8 hours and shall be known +# as Pitcairn Standard Time. +# +# ... I have also seen Pitcairn listed as UTC minus 9 hours in several +# references, and can only assume that this was an error in interpretation +# somehow in light of this proclamation. + +# From Rives McDow (1999-11-09): +# The Proclamation regarding Pitcairn time came into effect on 27 April 1998 +# ... at midnight. + +# From Howie Phelps (1999-11-10), who talked to a Pitcairner via shortwave: +# Betty Christian told me yesterday that their local time is the same as +# Pacific Standard Time. They used to be 1/2 hour different from us here in +# Sacramento but it was changed a couple of years ago. + + # Samoa # Howse writes (p 153, citing p 10 of the 1883-11-18 New York Herald) @@ -966,6 +1006,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # ordaining -- by a masterpiece of diplomatic flattery -- that # the Fourth of July should be celebrated twice in that year.'' + # Tonga # From Paul Eggert (1996-01-22): @@ -991,7 +1032,7 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # # But some of the older, more conservative members from the outer # islands objected. "If at midnight on Dec. 31, we move ahead 40 -# minutes, as your Royal Highness wishes, what becomes of th 40 +# minutes, as your Royal Highness wishes, what becomes of the 40 # minutes we have lost?" # # The Crown Prince, presented an unanswerable argument: "Remember that @@ -1007,3 +1048,59 @@ Zone Pacific/Wallis 12:15:20 - LMT 1901 # He has proposed a one-off move to tropical daylight saving for Tonga from # October to March, which has won approval in principle from the Tongan # Government. + +# From Steffen Thorsen [straen@thorsen.priv.no] (1999-09-09): +# * Tonga will introduce DST in November +# +# I was given this link by John Letts <johnletts@earthlink.net>: +# <a hef="http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm"> +# http://news.bbc.co.uk/hi/english/world/asia-pacific/newsid_424000/424764.stm +# </a> +# +# I have not been able to find exact dates for the transition in November +# yet. By reading this article it seems like Fiji will be 14 hours ahead +# of UTC as well, but as far as I know Fiji will only be 13 hours ahead +# (12 + 1 hour DST). + +# From Arthur David Olson [arthur_david_olson@nih.gov] (1999-09-20): +# According to <a href="http://www.tongaonline.com/news/sept1799.html> +# http://www.tongaonline.com/news/sept1799.html +# </a>: +# "Daylight Savings Time will take effect on Oct. 2 through April 15, 2000 +# and annually thereafter from the first Saturday in October through the +# third Saturday of April. Under the system approved by Privy Council on +# Sept. 10, clocks must be turned ahead one hour on the opening day and +# set back an hour on the closing date." +# Alas, no indication of the time of day. + +# From Rives McDow (1999-10-06): +# Tonga started its Daylight Saving on Saturday morning October 2nd at 0200am. +# Daylight Saving ends on April 16 at 0300am which is Sunday morning. + + +############################################################################### + +# The International Date Line + +# From Gwillim Law (2000-01-03): +# +# The International Date Line is not defined by any international standard, +# convention, or treaty. Mapmakers are free to draw it as they please. +# Reputable mapmakers will simply ensure that every point of land appears on +# the correct side of the IDL, according to the date legally observed there. +# +# When Kiribati adopted a uniform date in 1995, thereby moving the Phoenix and +# Line Islands to the west side of the IDL (or, if you prefer, moving the IDL +# to the east side of the Phoenix and Line Islands), I suppose that most +# mapmakers redrew the IDL following the boundary of Kiribati. Even that line +# has a rather arbitrary nature. The straight-line boundaries between Pacific +# island nations that are shown on many maps are based on an international +# convention, but are not legally binding national borders. +# +# An Anglo-French Conference on Time-Keeping at Sea (June, 1917) agreed that +# legal time on the high seas would be zone time, i.e., the standard time at +# the nearest meridian that is a multiple of fifteen degrees. The date is +# governed by the IDL; therefore, even on the high seas, there may be some +# places as late as fourteen hours later than UTC. And, since the IDL is not +# an international standard, there are some places on the high seas where the +# correct date is ambiguous. diff -durpN glibc-2.1.2/timezone/backward glibc-2.1.3/timezone/backward --- glibc-2.1.2/timezone/backward Tue Aug 11 07:07:16 1998 +++ glibc-2.1.3/timezone/backward Thu Jan 20 17:40:46 2000 @@ -1,13 +1,15 @@ -# @(#)backward 7.15 +# @(#)backward 7.17 # This file provides links between current names for time zones # and their old names. Many names changed in late 1993. Link America/Adak America/Atka +Link America/Tijuana America/Ensenada Link America/Indianapolis America/Fort_Wayne Link America/Indiana/Knox America/Knox_IN Link America/St_Thomas America/Virgin Link Asia/Jerusalem Asia/Tel_Aviv +Link Asia/Ulaanbaatar Asia/Ulan_Bator Link Australia/Sydney Australia/ACT Link Australia/Sydney Australia/Canberra Link Australia/Lord_Howe Australia/LHI @@ -38,6 +40,7 @@ Link America/Havana Cuba Link Africa/Cairo Egypt Link Europe/Dublin Eire Link Europe/London GB +Link Europe/London GB-Eire Link Etc/GMT+0 GMT+0 Link Etc/GMT-0 GMT-0 Link Etc/GMT0 GMT0 diff -durpN glibc-2.1.2/timezone/checktab.awk glibc-2.1.3/timezone/checktab.awk --- glibc-2.1.2/timezone/checktab.awk Sun Feb 15 11:30:15 1998 +++ glibc-2.1.3/timezone/checktab.awk Tue Nov 9 20:53:23 1999 @@ -1,5 +1,7 @@ # Check tz tables for consistency. +# @(#)checktab.awk 1.6 + # Contributed by Paul Eggert <eggert@twinsun.com>. BEGIN { @@ -13,7 +15,7 @@ BEGIN { iso_NR++ if ($0 ~ /^#/) continue if (NF != 2) { - printf "%s:%d: wrong number of columns\n", + printf "%s:%d: wrong number of columns\n", \ iso_table, iso_NR >>"/dev/stderr" status = 1 } @@ -25,9 +27,14 @@ BEGIN { status = 1 } if (cc <= cc0) { + if (cc == cc0) { + s = "duplicate"; + } else { + s = "out of order"; + } + printf "%s:%d: country code `%s' is %s\n", \ - iso_table, iso_NR, cc, \ - cc==cc0 ? "duplicate" : "out of order" \ + iso_table, iso_NR, cc, s \ >>"/dev/stderr" status = 1 } @@ -50,7 +57,7 @@ BEGIN { zone_NR++ if ($0 ~ /^#/) continue if (NF != 3 && NF != 4) { - printf "%s:%d: wrong number of columns\n", + printf "%s:%d: wrong number of columns\n", \ zone_table, zone_NR >>"/dev/stderr" status = 1 } @@ -141,8 +148,8 @@ END { if (0 < want_warnings) { for (cc in cc2name) { if (!cc_used[cc]) { - printf "%s:%d: warning:" \ - "no Zone entries for %s (%s)\n", + printf "%s:%d: warning: " \ + "no Zone entries for %s (%s)\n", \ iso_table, cc2NR[cc], cc, cc2name[cc] } } diff -durpN glibc-2.1.2/timezone/europe glibc-2.1.3/timezone/europe --- glibc-2.1.2/timezone/europe Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/europe Tue Feb 22 23:03:36 2000 @@ -1,13 +1,13 @@ -# @(#)europe 7.62 +# @(#)europe 7.69 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to # tz@elsie.nci.nih.gov for general use in the future). -# From Paul Eggert <eggert@twinsun.com> (1999-03-22): +# From Paul Eggert <eggert@twinsun.com> (1999-10-29): # A good source for time zone historical data outside the U.S. is -# Thomas G. Shanks, The International Atlas (4th edition), -# San Diego: ACS Publications, Inc. (1995). +# Thomas G. Shanks, The International Atlas (5th edition), +# San Diego: ACS Publications, Inc. (1999). # # Gwillim Law <LAW@encmail.encompass.com> writes that a good source # for recent time zone data is the International Air Transport @@ -15,8 +15,8 @@ # published semiannually. Law sent in several helpful summaries # of the IATA's data after 1990. # -# Except where otherwise noted, Shanks is the source for entries through 1990, -# and IATA SSIM is the source for entries after 1990. +# Except where otherwise noted, Shanks is the source for entries through 1991, +# and IATA SSIM is the source for entries afterwards. # # Other sources occasionally used include: # @@ -155,560 +155,22 @@ # time of sunrise and sunset in The Times, when BDST was in effect, and # if you find a zone reference it will say, "All times B.D.S.T." +# From Joseph S. Myers (1999-09-02): +# ... some military cables (WO 219/4100 - this is a copy from the +# main SHAEF archives held in the US National Archives, SHAEF/5252/8/516) +# agree that the usage is BDST (this appears in a message dated 17 Feb 1945). + # Howse writes (p 157) `DBST'; let's assume this is a typo. -# From Peter Ilieve <peter@aldie.co.uk> (1998-04-19): -# The following list attempts to show the complete history of Summer Time -# legislation in the United Kingdom, and has quite a bit to say about -# the Isle of Man and the Channel Islands as well. -# -# Things that I have not personally seen are marked (???). Things that -# I haven't seen but Joseph Myers has are marked (jsm). The problem -# with finding old Orders (rather than Acts) is that nobody seems to -# keep the actual documents themselves, not even the Government. They -# get bound into annual volumes, which are published, but by the time -# this happens the Orders are mainly spent as the years they refer -# to have come and gone, so they don't get included in the annual -# volumes. -# -# Thanks are due to my learned legal friend Lorna Montgomerie, who dug out -# the dusty old statutes, to Melanie Allison of the Ministry of Defence, -# who provided the wartime regulations and a snippet of Hansard explaining -# why double summer time started on a Monday in 1945 (it was Easter), -# and to Joseph Myers <jsm28@cam.ac.uk>, who tracked down the Orders -# up to 1945, some of the old Acts, and the first five EC Directives. -# -# Some definitions: -# -# Great Britain: England, Scotland and Wales -# United Kingdom: Great Britain plus Ireland (up to 1922) or Northern -# Ireland (since 1922) -# S.I.: Statutory Instrument, the modern name for secondary legislation -# S.R.&O.: Statutory Rules and Orders, the older name for secondary legislation -# -# Unless otherwise specified, Acts and secondary legislation are assumed -# to apply throughout the United Kingdom, but not to the Isle of Man -# or the Channel Islands. -# -# Some of the Acts and Orders I found in various libraries, and I don't -# have copies. When I looked at them I was looking for dates and not things -# like whether they applied to the Bailiwick of Jersey. I will try to -# check these documents again. -# -# --- -# -# - The Statutes (Definition of Time) Act, 1880 (43 & 44 Vict. c. 9) -# -# Defined Greenwich mean time to be the standard time in Great Britain -# and Dublin mean time to be the standard time in Ireland, superseding -# various forms of local mean time. -# -# - The Statutory Time Act, 1883 (???) -# -# An Act of Tynwald, the Isle of Man Parliament. It appears to have -# defined the standard time on the Isle of Man as GMT but as I haven't -# seen it I don't know if it used Greenwich mean time, some other definition, -# or just said that Isle of Man time would be the same as in Great Britain. -# -# - The Isle of Man (War Legislation) Act, 1914 (4 & 5 Geo. 5. c. 62) -# -# Gives the power, by Order in Council, to extend wartime legislation -# to the Isle of Man. -# -# - The Summer Time Act, 1916 (6 & 7 Geo. 5. c. 14) -# -# Introduced Summer Time for the first time, in Great Britain and Ireland. -# Specified a one hour offset from GMT (DMT in Ireland), dates of -# Sunday 21 May and Sunday 1 October and times of 02:00 (GMT/DMT). -# Gave a power to make Orders in subsequent years, for the duration -# of the then current war. -# -# - The Time (Ireland) Act, 1916 (6 & 7 Geo. 5. c. 45) -# -# This abolished Dublin mean time at 02:00 DMT on Sunday 1 October 1916, -# bringing the whole of the United Kingdom onto GMT. As Ireland was behind -# GMT/BST at 02:00 DMT on 1 Oct Great Britain had already put the clocks back. -# Using Paul Eggert's suggestion of IST for Irish Summer Time and the figure -# derived from Whitman for the offset of IST from GMT (00:34:39) the sequence -# would have been: -# Dublin London -# 02:34:38 IST 02:59:59 BST -# 02:34:39 IST 02:00:00 GMT -# 02:59:59 IST 02:25:20 GMT -# 02:25:21 GMT 02:25:21 GMT -# with the transition 03:00:00 IST -> 02:00:00 DMT -> 02:25:21 GMT all at once. -# -# - S.R.&O. 1916, No. 382 -# -# An Order made under the Isle of Man (War Legislation) Act, 1914 -# extending the Summer Time Act, 1916 to the Isle of Man. Dated -# 23 May 1916, two days after the start of Summer Time, but it says that -# the Act is deemed to have taken effect in the Isle of Man at the same -# time as it took effect in the United Kingdom. -# -# - S.R.&O. 1917, No. 362 -# -# An Order made under the Summer Time Act, 1916 giving dates -# for Summer Time in 1917 of Sunday 8 April to Monday 17 September, -# both at 02:00 GMT. Note that Summer Time ends on a Monday. -# -# - S.R.&O. 1917, No. 358 -# -# An Order made under the Summer Time (Isle of Man) Act, 1916 -# (the thing created by S.R.&O. 1916, No. 382) specifying the same -# dates of 8 April to 17 September, at 02:00 GMT for the Isle of Man. -# -# - S.R.&O. 1918, No. 274 -# -# An Order made under the Summer Time Act, 1916 giving dates -# for Summer Time in 1918 of Sunday 24 March to Monday 30 September, -# both at 02:00 GMT. -# -# - S.R.&O. 1918, No. 429 -# -# The matching Isle of Man Order for 1918 with the same dates and times. -# -# - The Termination of the Present War (Definition) Act, 1918 -# (8 & 9 Geo. 5. c. 59) -# -# This gave power to specify a legal end date for the war just ended, -# which would affect things like the Summer Time Act, 1916, which applied -# only in wartime. This date was to be close to the date of formal -# ratification of the treaty or treaties of peace. -# -# - S.R.&O. 1919, No. 297 -# -# An Order made under the Summer Time Act, 1916 giving dates -# for Summer Time in 1919 of Sunday 30 March to Monday 29 September, -# both at 02:00 GMT. -# -# - S.R.&O. 1919, No. 366 -# -# The matching Isle of Man Order for 1919 with the same dates and times. -# -# - S.R.&O. 1920, No. 458 -# -# An Order made under the Summer Time Act, 1916 giving dates -# for Summer Time in 1920 of Sunday 28 March to Monday 27 September, -# both at 02:00 GMT. -# -# - S.R.&O. 1920, No. 573 -# -# The matching Isle of Man Order for 1920 with the same dates and times. -# -# - S.R.&O. 1920, No. 1844 -# -# An Order modifying both S.R.&O. 1920, No. 458 and S.R.&O. 1920, No. 573 to -# change the end date for Summer Time from Monday 27 September to -# Monday 25 October (the time remaining 02:00 GMT). The 1989 Green -# Paper (Cm 722) says this was done because of a coal strike. -# -# - The War Emergency Laws (Continuance) Act, 1920 (10 Geo. 5. c. 5) -# -# This extends the power to make Orders under the Summer Time Act, 1916 -# for a period of 12 months after the termination of the war. -# Came into force on 31 March 1920. Although the war had been over for more -# than 12 months by then the legal end date had not yet been set. -# -# - S.R.&O. 1921, No. 363 -# -# An Order made under the Summer Time Act, 1916 and the War -# Emergency Laws (Continuance) Act, 1920 giving dates for Summer Time -# in 1921 of Sunday 3 April to Monday 3 October, both at 02:00 GMT. -# -# - S.R.&O. 1921, No. 364 -# -# The matching Isle of Man Order for 1921 with the same dates and times. -# -# - S.R.&O. 1922, No. 264 -# -# An Order made under the Summer Time Act, 1916 and the War -# Emergency Laws (Continuance) Act, 1920 giving dates for Summer Time -# in 1921 of Sunday 26 March to Sunday 8 October, both at 02:00 GMT. -# It also mentions the arrangements for defining the legal end date -# for the late war. An Order was made on 10 August 1921, under the -# Termination of the Present War (Definition) Act, 1918, setting -# a date of 31 August 1921. This means the powers of the Summer Time -# Act, 1916 would finally expire on 31 August 1922. -# -# - S.R.&O. 1922, No. 290 (???) -# -# This is probably the matching Isle of Man Order. -# -# - The Summer Time Act, 1922 (12 & 13 Geo. 5. c. 22) -# -# This specifies an offset of 1 hour and dates of the day after the third -# Saturday in April, unless that be Easter, in which case it is the day after -# the second Saturday, and the day after the third Saturday in September. -# The time is 02:00 GMT. It applied in 1922 and 1923, and longer if Parliament -# so approved. It applied to the Isle of Man and the Channel Islands as well. -# Came into Force on 20 July 1920. Note the reversion to ending on a Sunday. -# -# - S.R.&O. 1922, No. 1205 -# -# An Order made under the War Emergency Laws (Continuance) Act, 1920 -# dated 13 October 1922. It revokes (among other things) the Order extending -# the Summer Time Act, 1916 to the Isle of Man. -# -# - The Expiring Laws Continuance Act, 1923 (13 & 14 Geo. 5. c. 37) -# -# This extended the Summer Time Act, 1922 (among other things) until -# 31 December 1924. -# -# - The Expiring Laws Continuance Act, 1924 (15 Geo. 5. c. 1) (jsm) -# -# This further extended the Summer Time Act, 1922 (among other things) until -# 31 December 1925. -# -# - The Time Act (Northern Ireland), 1924 (14 & 15 Geo. 5. c. 24 (N.I.)) -# -# This Act says that while it remains in force, any Act or Order relating -# to the time for general purposes in Great Britain shall also apply -# in Northern Ireland, and the Time (Ireland) Act, 1916 shall have effect -# accordingly. -# -# - The Summer Time Act, 1925 (15 & 16 Geo. 5. c. 64) -# -# This makes the 1922 Act permanent, with a change to the end date to the -# day after the first Saturday in October. Came into force on 7 August 1925. -# -# - The Emergency Powers (Defence) Act, 1939 (2 & 3 Geo. 6. c. 62) (???) -# -# I haven't seen this one. It presumably gave the Government powers to -# do all manner of things during the newly started war. -# -# - The Defence (Summer Time) Regulations, 1939, S.R.&O. 1939, No. 1379 -# -# These were made under the Emergency Powers (Defence) Act, 1939. -# They change the end date to be the day after the third Saturday in November. -# -# - S.R.&O. 1940, No. 172 -# -# An Order in Council amending the Defence (Summer Time) Regulations, 1939. -# It changed the start date to the day after the fourth Saturday in February -# (ie. 25 Feb 1940). -# -# - S.R.&O. 1940, No. 1883 -# -# Another Order amending the Defence (Summer Time) Regulations, 1939. -# This continues summer time throughout the year after it starts in 1940. -# -# - S.R.&O. 1941, No. 476 -# -# Another Order amending the Defence (Summer Time) Regulations, 1939. -# This introduces double summer time, starting at 01:00 GMT on the day after -# the first Saturday in May and ending at 01:00 GMT on the day after the -# second Saturday in August, offset another hour from normal summer time, -# which continues throughout the rest of the year. -# -# - S.R.&O. 1942, No. 506 -# -# Another Order amending the Defence (Summer Time) Regulations, 1939. -# This changes the start date of Double Summer Time to the day after the first -# Saturday in April, bringing it forward from May. -# -# - S.R.&O. 1944, No. 932 -# -# Another Order amending the Defence (Summer Time) Regulations, 1939. -# This changed the end date of Double Summer Time to the day after the -# third Saturday in September (ie. 17 September 1944). -# -# - S.R.&O. 1945, No. 312 -# -# Another Order amending the Defence (Summer Time) Regulations, 1939. -# This changes the start and end dates of Double Summer Time to the -# day after the first Sunday in April and the day after the second Saturday -# in July (ie. Mon 2 April to Sun 15 July). -# -# I have this quote from Hansard (the official record of the United Kingdom -# Parliament), Oral Answers, 1 March 1945, cols 1559--60, explaining the -# unusual start on a Monday: -# -# `58. Major Sir Goronwy Owen asked the Secretary of State for the Home -# Department if he is now able to state the Government's proposals -# regarding double summer time. -# -# [two other similar questions omitted] -# -# Mr. H. Morrison: The Government, in reviewing the matter, have -# considered, [...] the conclusion has been reached that the adoption of -# double summer time from the beginning of April is essential to the -# maintenance of the war effort. [...] As 1st April is Easter Sunday, -# when very early services are held in many churches, it is proposed that -# double summer time shall start not in the night preceding Easter -# Sunday, but in the night of Sunday-Monday so that it will operate from -# Monday, 2nd April.' -# -# - S.R.&O. 1945, No. 1208 -# -# An Order under the Emergency Powers (Defence) Acts, 1939 and 1940 revoking -# a long list of things, including the Defence (Summer Time) Regulations, 1939. -# This meant that Summer Time reverted to being set by the 1922 and 1925 Acts. -# It was made on 28 September, early enough to end Summer Time on the -# date defined by the 1925 Act: 7 October. -# -# - The Summer Time Act, 1947 (10 & 11 Geo. 6. c. 16) -# -# Came into force on 11 March 1947. Amended the Summer Time Acts, 1922 and -# 1925 to change the dates of Summer Time and to introduce Double Summer Time -# (although it doesn't give this, or any, name for this period of 2 hour -# offset from GMT). Dates are given for 1947 only and are: 02:00 GMT Sunday -# 16 March, 01:00 GMT Sunday 13 April, 01:00 GMT Sunday 10 August, and 02:00 -# Sunday 2 November. It gave a power to make Orders for subsequent years, -# both to vary the dates and to continue Double Summer Time. It applied -# to the Isle of Man and the Channel Islands. -# -# - Summer Time Order, 1948 (S.I. 1948/495) -# -# An Order made under the Summer Time Act, 1947. Gave dates for 1948 of -# 14 March and 31 October, both at 02:00 GMT. -# -# Although the 1947 Act had legislated for Double Summer Time, this was -# not continued after 1947. -# -# - Summer Time Order, 1949 (S.I. 1949/373) -# -# Another Order made under the Summer Time Act, 1947. Gave dates for 1949 -# of 3 April and 30 October, both at 02:00 GMT. -# -# - Summer Time Order, 1950 (S.I. 1950/518) -# -# Another Order made under the Summer Time Act, 1947. Gave dates for 1950 -# of 16 April and 22 October, both at 02:00 GMT. -# -# - Summer Time Order, 1951 (S.I. 1951/430) -# -# Another Order made under the Summer Time Act, 1947. Gave dates for 1951 -# of 15 April and 21 October, both at 02:00 GMT. -# -# - Summer Time Order, 1952 (S.I. 1952/451) -# -# Another Order made under the Summer Time Act, 1947. Gave dates for 1952 -# of 20 April and 26 October, both at 02:00 GMT. -# -# This is the last of this run of Orders, so for 1953 things reverted -# to the 1922 and 1925 Acts. -# -# - The Interpretation Act (Northern Ireland), 1954 (1954 c. 33 (N.I.)) (???) -# -# I presume that section 39 of this Act is similar to section 9 of the -# Interpretation Act, 1978 (listed below) in specifying GMT as the -# legal time in Northern Ireland, replacing the Time (Ireland) Act, 1916. -# -# - Summer Time Order, 1961 (S.I. 1961/71) -# -# Specified dates of 26 March and 29 October (02:00 GMT) for 1961 -# -# - Summer Time (1962) Order, 1961 (S.I. 1961/2465) -# -# Specified dates of 25 March to 28 October (02:00 GMT) for 1962. -# -# - Summer Time Order, 1963 (S.I. 1963/81) -# -# Specified dates of 31 March to 27 October (02:00 GMT) for 1963. -# -# - Summer Time (1964) Order, 1963 (S.I. 1963/2101) -# -# Specified dates of 22 March to 25 October (02:00 GMT) for 1964. -# -# - Summer Time Order, 1964 (S.I. 1964/1201) -# -# Specified dates for three years (all 02:00 GMT): -# 1965: 21 March to 24 October -# 1966: 20 March to 23 October -# 1967: 19 March to 29 October -# -# - Summer Time Order, 1967 (S.I. 1967/1148) -# - Summer Time Order, 1968 (S.I. 1968/117) -# -# The first of these specifies dates for 1968 of 18 February for the United -# Kingdom but 7 April for the Isle of Man, both ending on 27 October, -# all at 02:00 GMT. The second Order changes the Isle of Man start date -# to 18 February to match the United Kingdom. -# -# - The British Standard Time Act 1968 (1968 c. 45) -# -# This came into force on 27 October 1968 and continued summer time throughout -# the year. It expired at 02:00 GMT on 31 October 1971, as specified in the -# Act, as Parliament did not move to make this experment permanent. -# It applied to the Isle of Man and the Channel Islands. -# -# Interestingly, it says baldly `This Act shall come into force on -# 27 October 1968', without giving a time. As S1 of the Act merely -# stated that `The time for general purposes in the United Kingdom -# (to be known as British standard time) shall be one hour in -# advance of Greenwich mean time throughout the year; ...' you could -# possibly argue that the start time of BStandardT was 00:00 1968-10-27, -# especially as the Act repealed the Summer Time Acts 1916--1947 in toto, -# thereby destroying the authority of the Summer Time Order specifying -# summer time in 1968. -# -# - The Manx Time Act 1968 -# -# This is an Act of Tynwald (the Isle of Man Parliament) that said that -# henceforth Manx time would be the same as the time in Great Britain. -# -# - The Summer Time Act 1972 (1972 c. 6) -# -# This specified a reversion to normal Summer Time behaviour with a start -# date of the day after the third Saturday in March, unless that is Easter, -# when it is the day after the second Saturday, and an end date of the day -# after the fourth Saturday in October. Times are at 02:00 GMT, offset is -# 1 hour. It gives the power to make Orders to vary these dates and -# times. This Act is still in force and is the legal authority for -# implementing the EC Directives in the United Kingdom. -# -# - The Interpretation Act 1978 (1978 c. 30) -# -# Section 9 of this Act replaces section 1 of the Statutes (Definition of -# Time) Act, 1880 with very similar wording maintaining GMT as the legal -# time in Great Britain. This does not apply in Northern Ireland (it -# has its own Interpretation Act listed above). -# -# - Council Directive of 22 July 1980 on summertime arrangements (80/737/EEC) -# -# The first of the European Directives on Summer Time. It specified start -# dates for 1981 and 1982. No agreement had been reached on end dates. -# Only dates were given, there was no rule like `last Sunday in March'. -# The main change for the United Kingdom was a move to a 01:00 GMT change -# time. The dates: -# 1981: 29 March -# 1982: 28 March -# -# - Summer Time Order, 1980 (S.I. 1980/1089) -# -# Specified dates for 1981 and 1982, with the start dates as in the -# EC Directive and all times 01:00 GMT: -# 1981: 29 March to 25 October -# 1982: 28 March to 24 October -# -# - Second Council Directive of 10 June 1982 on summertime arrangements -# (82/399/EEC) -# -# The next European Directive. Specified dates for three years, 1983 to 1985. -# Agreement still hadn't been reached on a common end date, and wouldn't -# be until 1994 with the appeareance of the seventh Directive with a common -# date for 1996 and beyond, but this time the Directive gave two sets of -# end dates. The start date was specified by rule: the last Sunday in March. -# All times were 01:00 GMT. The end dates were given without rule, as: -# 1983: 25 September or 23 October -# 1984: 30 September or 28 october -# 1985: 29 September or 27 October -# -# - Summer Time Order, 1982 (S.I. 1982/1673) -# -# Implemented the second EC Directive, using the October end dates. -# 1983: 27 March to 23 October -# 1984: 25 March to 28 october -# 1985: 31 March to 27 October -# -# - Third Council Directive of 12 December 1984 on summertime arrangements -# (84/634/EEC) -# -# Specified start dates of the last Sunday in March and two sets of end -# dates, last Sunday in September and fourth Sunday in October, all at -# 01:00 GMT. The end dates were also specified as dates: -# 1986: 28 September or 26 October -# 1987: 27 September or 25 October -# 1988: 25 September or 23 October -# -# - Summer Time Order, 1986 (S.I. 1986/223) -# -# Implemented the third EC Directive, using the October end dates. -# 1986: 30 March to 26 October -# 1987: 29 March to 25 October -# 1988: 27 March to 23 October -# -# - Council Directive of 20 December 1985 amending Directive 84/634/EEC -# on summertime arrangements (85/582/EEC) -# -# This was to do with the accession of Spain and Portugal to the EEC. -# The previous directve had used wording like `Member States belonging -# to the zero (Greenwich) time zone' when refering to the different -# sets of end dates. Portugal was in that time zone but was not going -# to follow the United Kingdom and Ireland dates, so the text was reworded -# without any change to the dates themselves. -# -# - Fourth Council Directive of 22 December 1987 on summertime arrangements -# (88/14/EEC) -# -# This Directive covered only a single year: 1989. My guess is that -# this was because 1989 was one of the years when the historic United Kingdom -# end date of the Sunday after the fourth Saturday in October differed from -# the rule in the previous Directive of the fourth Sunday in October. -# All times are 01:00 GMT. No rule was specified, specific dates were given: -# 1989: 26 March to 24 September or 29 October -# -# - Summer Time Order, 1988 (S.I. 1988/931) -# -# Implemented the dates of 26 March to 29 October for 1989. -# -# - Fifth Council Directive of 21 December 1988 on summertime arrangements -# (89/47/EEC) -# -# Covered the three years 1990 to 1992. All times are 01:00 GMT. Gave both -# rules (last Sunday in March, last Sunday in September or fourth Sunday -# in October) and specific dates: -# 1990: 25 March to 30 September or 28 October -# 1991: 31 March to 29 September or 27 October -# 1992: 29 March to 27 September or 25 October -# -# - Summer Time Order, 1989 (S.I. 1989/985) -# -# Implemented the fifth Directive using the October end dates. -# -# - Sixth Council Directive 92/20/EEC of 26 March 1992 on summertime -# arrangements -# -# Covered the two years 1993 and 1994. All times are 01:00 GMT. Specified -# both rules (same as the fifth Directive) and specific dates: -# 1993: 28 March to 26 September or 24 October -# 1994: 27 March to 25 September or 23 October -# -# - Summer Time Order, 1992 (S.I. 1992/1729) -# -# Implemented the sixth Directive using the October end dates. -# -# - Seventh Directive 94/21/EC of the European Parliament and of the Council -# of 30 May 1994 on summer-time arrangements -# -# Covered the three years 1995 to 1997. Agreement had finally been reached -# on a common end date, to start in 1996. Both rules and dates were given. -# The rules were the same last Sunday in March to last Sunday in September -# or fourth Sunday in October for 1995, with the end rule changing to the -# last Sunday in October for 1996 and 1997. The year 1995 was another of -# the tricky ones where the EC and traditional United Kingdom rules differed -# but this time the UK changed on the fourth Sunday, 22 October, earlier -# than usual. All times are 01:00 GMT. Specific dates were also given: -# 1995: 26 March to 24 September or 22 October -# 1996: 31 March to 27 October -# 1997: 30 March to 26 October -# -# - Summer Time Order 1994 (S.I. 1994/2798) -# -# Implements the seventh Directive using the October end date in 1995. -# Applies also to the Bailiwick of Guernsey but not to the Bailiwick of -# Jersey or the Isle of Man, which have their own (unspecified) legislation -# on the subject. -# -# - Eighth Directive 97/44/EC of the European Parliament and of the Council -# of 22 July 1997 on summer-time arrangements -# -# Covers four years: 1998 to 2001. All times are 01:00 GMT. Specifies both -# rules, last Sunday in March and last Sunday in October, and specific dates: -# 1998: 29 March to 25 October -# 1999: 28 March to 31 October -# 2000: 26 March to 29 October -# 2001: 25 March to 28 October -# -# <a href="http://www.hmso.gov.uk/si/si1997/97298201.htm"> -# - Summer Time Order 1997 (S.I. 1997/2982) -# </a> -# -# Implements the eighth Directive. Has the same text about the Isle of Man, -# Guernsey and Jersey as the 1994 Order. +# Peter Ilieve <peter@aldie.co.uk> (1998-04-19) described at length +# the history of summer time legislation in the United Kingdom. +# Since 1998 Joseph S. Myers <jsm28@cam.ac.uk> has been updating +# and extending this list, which can be found in +# <a href="http://student.cusu.cam.ac.uk/~jsm28/british-time/"> +# History of legal time in Britain +# </a> (2000-02-12). -# From Joseph S. Myers <jsm28@hermes.cam.ac.uk> (1998-01-06): +# From Joseph S. Myers <jsm28@cam.ac.uk> (1998-01-06): # # The legal time in the UK outside of summer time is definitely GMT, not UTC; # see Lord Tanlaw's speech @@ -716,19 +178,11 @@ # (Lords Hansard 11 June 1997 columns 964 to 976) # </a>. -# From Paul Eggert <eggert@twinsun.com> (1996-06-12): +# From Paul Eggert (2000-02-17): # -# The date `20 April 1924' in the table of ``Summer Time: A -# Consultation Document'' (Cm 722, 1989) table is a transcription error; -# 20 April was an Easter Sunday. Shanks has 13 April, the correct date. -# Also, the table is not quite right for 1925 through 1938; the correct rules -# (which Shanks uses) are given in the Summer Time Acts of 1922 and 1925. -# Shanks and the UK Government paper disagree about the Apr 1956 transition; -# since we have no other data, and since Shanks was correct in the other -# points of disagreement about London, we'll believe Shanks for now. -# Also, for lack of other data, we'll follow Shanks for Eire in 1940-1948. +# For lack of other data, we'll follow Shanks for Eire in 1940-1948. # -# Given Peter Ilieve's comments, the following claims by Shanks are incorrect: +# Given Ilieve and Myers's data, the following claims by Shanks are incorrect: # * Wales did not switch from GMT to daylight saving time until # 1921 Apr 3, when they began to conform with the rest of Great Britain. # Actually, Wales was identical after 1880. @@ -740,11 +194,14 @@ # Actually, that date saw the usual switch to summer time. # Standard time was not changed until 1968-10-27 (the clocks didn't change). # -# The following claims by Shanks are possible though doubtful; -# we'll ignore them for now. +# Here is another incorrect claim by Shanks: # * Jersey, Guernsey, and the Isle of Man did not switch from GMT # to daylight saving time until 1921 Apr 3, when they began to # conform with Great Britain. +# S.R.&O. 1916, No. 382 and HO 45/10811/312364 (quoted above) say otherwise. +# +# The following claim by Shanks is possible though doubtful; +# we'll ignore it for now. # * Dublin's 1971-10-31 switch was at 02:00, even though London's was 03:00. # # @@ -794,8 +251,8 @@ Rule GB-Eire 1921 only - Apr 3 2:00s 1: Rule GB-Eire 1921 only - Oct 3 2:00s 0 GMT # S.R.&O. 1922, No. 264 Rule GB-Eire 1922 only - Mar 26 2:00s 1:00 BST -# The Summer Time Act, 1922 Rule GB-Eire 1922 only - Oct 8 2:00s 0 GMT +# The Summer Time Act, 1922 Rule GB-Eire 1923 only - Apr Sun>=16 2:00s 1:00 BST Rule GB-Eire 1923 1924 - Sep Sun>=16 2:00s 0 GMT Rule GB-Eire 1924 only - Apr Sun>=9 2:00s 1:00 BST @@ -964,14 +421,11 @@ Rule E-Eur 1996 max - Oct lastSun 0:00 Rule Russia 1917 only - Jul 1 23:00 1:00 MST # Moscow Summer Time Rule Russia 1917 only - Dec 28 0:00 0 MMT # Moscow Mean Time Rule Russia 1918 only - May 31 22:00 2:00 MDST # Moscow Double Summer Time -Rule Russia 1918 only - Sep 17 0:00 1:00 MST +Rule Russia 1918 only - Sep 16 1:00 1:00 MST Rule Russia 1919 only - May 31 23:00 2:00 MDST Rule Russia 1919 only - Jul 1 2:00 1:00 S Rule Russia 1919 only - Aug 16 0:00 0 - Rule Russia 1921 only - Feb 14 23:00 1:00 S -# Shanks gives 1921 Mar 21 for the following transition. -# From Andrey A. Chernov <ache@astral.msk.su> (1993-11-12): -# My sources says, that it is Mar 20, not 21. Rule Russia 1921 only - Mar 20 23:00 2:00 M # Midsummer Rule Russia 1921 only - Sep 1 0:00 1:00 S Rule Russia 1921 only - Oct 1 0:00 0 - @@ -1054,7 +508,6 @@ Rule Albania 1984 only - Apr 1 0:00 1:0 # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Tirane 1:19:20 - LMT 1914 1:00 - CET 1940 Jun 16 -# The following transition is from Shanks's 4th edition (1995). 1:00 Albania CE%sT 1984 Jul 1:00 EU CE%sT @@ -1084,17 +537,17 @@ Zone Europe/Vienna 1:05:20 - LMT 1893 Ap 1:00 EU CE%sT # Belarus -# Transitions before 1991 are from Shanks (1995). # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Minsk 1:50:16 - LMT 1880 1:50 - MMT 1924 May 2 # Minsk Mean Time 2:00 - EET 1930 Jun 21 3:00 - MSK 1941 Jun 28 1:00 C-Eur CE%sT 1944 Jul 3 - 3:00 Russia MSK/MSD 1991 Mar 31 2:00s + 3:00 Russia MSK/MSD 1990 + 3:00 - MSK 1991 Mar 31 2:00s 2:00 1:00 EEST 1991 Sep 29 2:00s - 2:00 - EET 1992 Mar 29 2:00s - 2:00 1:00 EEST 1992 Sep 27 2:00s + 2:00 - EET 1992 Mar 29 0:00s + 2:00 1:00 EEST 1992 Sep 27 0:00s 2:00 Russia EE%sT # Belgium @@ -1165,6 +618,12 @@ Zone Europe/Brussels 0:17:30 - LMT 1880 # see Yugoslavia # Bulgaria +# +# From Plamen Simenov <P.Simeonov@cnsys.bg> via Steffen Thorsen (1999-09-09): +# A document of Government of Bulgaria (No.94/1997) says: +# EET --> EETDST is in 03:00 Local time in last Sunday of March ... +# EETDST --> EET is in 04:00 Local time in last Sunday of October +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Bulg 1979 only - Mar 31 23:00 1:00 S Rule Bulg 1979 only - Oct 1 1:00 0 - @@ -1179,7 +638,8 @@ Zone Europe/Sofia 1:33:16 - LMT 1880 2:00 - EET 1979 Mar 31 23:00 2:00 Bulg EE%sT 1982 Sep 26 2:00 2:00 C-Eur EE%sT 1991 - 2:00 E-Eur EE%sT + 2:00 E-Eur EE%sT 1997 + 2:00 EU EE%sT # Croatia # see Yugosloavia @@ -1278,6 +738,20 @@ Zone America/Thule -4:35:08 - LMT 1916 J # for their standard and summer times. He says no, they use "suveaeg" # (summer time) and "talveaeg" (winter time). +# From <a href="http://www.baltictimes.com/">The Baltic Times</a> (1999-09-09) +# via Steffen Thorsen: +# This year will mark the last time Estonia shifts to summer time, +# a council of the ruling coalition announced Sept. 6.... +# But what this could mean for Estonia's chances of joining the European +# Union are still unclear. In 1994, the EU declared summer time compulsory +# for all member states until 2001. Brussels has yet to decide what to do +# after that. + +# From Mart Oruaas (2000-01-29): +# Regulation no. 301 (1999-10-12) obsoletes previous regulation +# no. 206 (1998-09-22) and thus sticks Estonia to +02:00 GMT for all +# the year round. The regulation is effective 1999-11-01. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Tallinn 1:39:00 - LMT 1880 1:39:00 - TMT 1918 Feb # Tallinn Mean Time @@ -1289,7 +763,8 @@ Zone Europe/Tallinn 1:39:00 - LMT 1880 3:00 Russia MSK/MSD 1989 Mar 26 2:00s 2:00 1:00 EEST 1989 Sep 24 2:00s 2:00 C-Eur EE%sT 1998 Sep 22 - 2:00 EU EE%sT + 2:00 EU EE%sT 1999 Nov 1 + 2:00 - EET # Finland # @@ -1313,7 +788,6 @@ Zone Europe/Helsinki 1:39:52 - LMT 1878 # France # # Shanks seems to use `24:00' ambiguously; we resolve it with Whitman. -# From Shanks (1991): # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule France 1916 only - Jun 14 23:00s 1:00 S Rule France 1916 1919 - Oct Sun>=1 23:00s 0 - @@ -1401,7 +875,6 @@ Rule Germany 1945 only - May 31 3:00 2:0 Rule Germany 1945 only - Sep 23 3:00 1:00 S Rule Germany 1945 only - Nov 18 2:00s 0 - Rule Germany 1946 only - Apr 14 2:00s 1:00 S -# Shanks gives 1946-10-06; go with the PTB. Rule Germany 1946 only - Oct 7 2:00s 0 - Rule Germany 1947 1949 - Oct Sun>=1 2:00s 0 - Rule Germany 1947 only - Apr 6 2:00s 1:00 S @@ -1518,10 +991,10 @@ Zone Europe/Budapest 1:16:20 - LMT 1890 # might be a reference to the Julian calendar as opposed to Gregorian, or it # might mean something else (???). # -# From Paul Eggert <eggert@twinsun.com> (1993-12-09): +# From Paul Eggert <eggert@twinsun.com> (1999-10-29): # The Iceland Almanak, Shanks and Whitman disagree on many points. # We go with the Almanak, except for one claim from Shanks, namely that -# Reykavik was -1:28 from 1837 to 1908, local mean time before that. +# Reykavik was 21W57 from 1837 to 1908, local mean time before that. # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Iceland 1917 1918 - Feb 19 23:00 1:00 S @@ -1675,8 +1148,6 @@ Zone Europe/Riga 1:36:24 - LMT 1880 2:00 - EET 1940 Aug 5 3:00 - MSK 1941 Jul 1:00 C-Eur CE%sT 1944 Oct 13 - # Shanks says 1944-08-08, but - # Riga fell to the Red Army on 1944-10-13. 3:00 Russia MSK/MSD 1989 Mar lastSun 2:00s 2:00 1:00 EEST 1989 Sep lastSun 2:00s 2:00 Latvia EE%sT 1997 Jan 21 @@ -1689,6 +1160,24 @@ Zone Europe/Vaduz 0:38:04 - LMT 1894 Jun 1:00 EU CE%sT # Lithuania + +# From Paul Eggert (1996-11-22): +# IATA SSIM (1992/1996) says Lithuania uses W-Eur rules, but since it is +# known to be wrong about Estonia and Latvia, assume it's wrong here too. + +# From Marius Gedminas <mgedmin@pub.osf.lt> (1998-08-07): +# I would like to inform that in this year Lithuanian time zone +# (Europe/Vilnius) was changed. + +# From <a href="http://www.elta.lt/">ELTA</a> No. 972 (2582) (1999-09-29), +# via Steffen Thorsen: +# Lithuania has shifted back to the second time zone (GMT plus two hours) +# to be valid here starting from October 31, +# as decided by the national government on Wednesday.... +# The Lithuanian government also announced plans to consider a +# motion to give up shifting to summer time in spring, as it was +# already done by Estonia. + # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Vilnius 1:41:16 - LMT 1880 1:24:00 - WMT 1917 # Warsaw Mean Time @@ -1702,14 +1191,8 @@ Zone Europe/Vilnius 1:41:16 - LMT 1880 2:00 1:00 EEST 1991 Sep 29 2:00s 2:00 C-Eur EE%sT 1998 2:00 - EET 1998 Mar 29 1:00u - 1:00 EU CE%sT -# From Paul Eggert (1996-11-22): -# IATA SSIM (1992/1996) says Lithuania uses W-Eur rules, but since it is -# known to be wrong about Estonia and Latvia, assume it's wrong here too. - -# From Marius Gedminas <mgedmin@pub.osf.lt> (1998-08-07): -# I would like to inform that in this year Lithuanian time zone -# (Europe/Vilnius) was changed. + 1:00 EU CE%sT 1999 Oct 31 1:00u + 2:00 EU EE%sT # Luxembourg # Whitman disagrees with most of these dates in minor ways; go with Shanks. @@ -1768,11 +1251,28 @@ Zone Europe/Malta 0:58:04 - LMT 1893 Nov # Moldova # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Europe/Chisinau 1:55:20 - LMT 1924 May 2 - 2:00 - EET 1930 Jun 21 - 3:00 Russia MSK/MSD 1991 Mar 31 2:00s - 2:00 1:00 EEST 1991 Sep 29 2:00s - 2:00 E-Eur EE%sT +Zone Europe/Chisinau 1:55:20 - LMT 1880 + 1:55 - CMT 1918 Feb 15 # Chisinau MT + 1:44:24 - BMT 1931 Jul 24 # Bucharest MT + 2:00 Romania EE%sT 1940 Aug 15 + 2:00 1:00 EEST 1941 Jul 17 + 1:00 C-Eur CE%sT 1944 Aug 24 + 3:00 Russia MSK/MSD 1990 + 3:00 - MSK 1990 May 6 + 2:00 - EET 1991 + 2:00 Russia EE%sT 1992 + 2:00 E-Eur EE%sT 1997 +# See Romania commentary for the guessed 1997 transition to EU rules. + 2:00 EU EE%sT +Zone Europe/Tiraspol 1:58:32 - LMT 1880 + 1:55 - CMT 1918 Feb 15 # Chisinau MT + 1:44:24 - BMT 1931 Jul 24 # Bucharest MT + 2:00 Romania EE%sT 1940 Aug 15 + 2:00 1:00 EEST 1941 Jul 17 + 1:00 C-Eur CE%sT 1944 Aug 24 + 3:00 Russia MSK/MSD 1991 Mar 31 2:00 + 2:00 Russia EE%sT 1992 Jan 19 2:00 + 3:00 Russia MSK/MSD # Monaco # Shanks gives 0:09 for Paris Mean Time; go with Howse's more precise 0:09:21. @@ -1787,7 +1287,7 @@ Zone Europe/Monaco 0:29:32 - LMT 1891 Ma # Howse writes that the Netherlands' railways used GMT between 1892 and 1940, # but for other purposes the Netherlands used Amsterdam mean time. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -# Shanks gives 1916 May 1 0:00 and 1916 Oct 1 0:00; go with Whitman. +# Shanks gives 1916 Apr 30 24:00 and 1916 Oct 1 00:00; go with Whitman. Rule Neth 1916 only - May 1 2:00s 1:00 NST # Netherlands Summer Time Rule Neth 1916 only - Oct 2 2:00s 0 AMT # Amsterdam Mean Time Rule Neth 1917 only - Apr 16 2:00s 1:00 NST @@ -1813,7 +1313,6 @@ Rule Neth 1937 1939 - Oct Sun>=2 2:00s 0 Rule Neth 1938 1939 - May 15 2:00s 1:00 S Rule Neth 1945 only - Apr 2 2:00s 1:00 S Rule Neth 1945 only - May 20 2:00s 0 - -# Before 1937, Shanks says just `0:20'; we use Whitman's more precise figure. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Amsterdam 0:19:28 - LMT 1892 May 0:19:28 Neth %s 1937 Jul @@ -2002,6 +1501,14 @@ Zone Atlantic/Madeira -1:07:36 - LMT 188 0:00 EU WE%sT # Romania +# +# From Paul Eggert (1999-10-07): +# <a href="http://www.nineoclock.ro/POL/1778pol.html"> +# Nine O'clock</a> (1998-10-23) reports that the switch occurred at +# 04:00 local time in fall 1998. For lack of better info, +# assume that Romania and Moldova switched to EU rules in 1997, +# the same year as Bulgaria. +# # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Romania 1932 only - May 21 0:00s 1:00 S Rule Romania 1932 1939 - Oct Sun>=1 0:00s 0 - @@ -2018,15 +1525,16 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 2:00 Romania EE%sT 1981 Mar 29 2:00s 2:00 C-Eur EE%sT 1991 2:00 Romania EE%sT 1994 - 2:00 E-Eur EE%sT + 2:00 E-Eur EE%sT 1997 + 2:00 EU EE%sT # Russia -# From Paul Eggert <eggert@twinsun.com> (1996-11-22): -# Except for Moscow after 1919-07-01, I invented the time zone abbreviations, -# and (unless otherwise specified) guessed what happened after 1991. +# From Paul Eggert <eggert@twinsun.com> (1999-11-12): +# Except for Moscow after 1919-07-01, I invented the time zone abbreviations. # Moscow time zone abbreviations after 1919-07-01, and Moscow rules after 1991, -# are from Andrey A. Chernov. The rest is from Shanks and the IATA. +# are from Andrey A. Chernov. The rest is from Shanks, except we follow +# Chernov's report that 1992 DST transitions were Sat 23:00, not Sun 02:00s. # # From Andrey A. Chernov <ache@nagual.ru> (1996-10-04): # `MSK' and `MSD' were born and used initially on Moscow computers with @@ -2042,97 +1550,83 @@ Zone Europe/Bucharest 1:44:24 - LMT 1891 # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Europe/Kaliningrad 1:22:00 - LMT 1893 Apr 1:00 C-Eur CE%sT 1945 - 2:00 Poland CET 1946 + 2:00 Poland CE%sT 1946 3:00 Russia MSK/MSD 1991 Mar 31 2:00s - 2:00 1:00 EEST 1991 Sep 29 2:00s - 2:00 - EET 1992 Jan 19 2:00s - 3:00 Russia MSK/MSD 1994 -# IATA SSIM (1994-02) says Kaliningrad is at UTC+2; guess 1994 change. 2:00 Russia EE%sT Zone Europe/Moscow 2:30:20 - LMT 1880 - 2:30:20 Russia %s 1919 Jul 1 2:00 + 2:30 - MMT 1916 Jul 3 # Moscow Mean Time + 2:30:48 Russia %s 1919 Jul 1 2:00 3:00 Russia MSK/MSD 1922 Oct 2:00 - EET 1930 Jun 21 3:00 Russia MSK/MSD 1991 Mar 31 2:00s - 2:00 1:00 EEST 1991 Sep 29 2:00s - 2:00 - EET 1992 Jan 19 2:00s + 2:00 Russia EE%sT 1992 Jan 19 2:00s 3:00 Russia MSK/MSD -Zone Europe/Samara 3:20:36 - LMT 1924 May 2 - 3:00 - KUYT 1957 Mar # Kuybyshev Time - 4:00 Russia KUY%sT 1991 Mar 31 2:00s - 3:00 1:00 KUYST 1991 Sep 29 2:00s - 3:00 - SAMT 1992 Jan 19 2:00s # Samara Time - 4:00 Russia SAM%sT -Zone Asia/Yekaterinburg 4:02:34 - LMT 1924 May 2 - 4:00 - SVET 1957 Mar # Sverdlovsk Time +Zone Europe/Samara 3:20:36 - LMT 1919 Jul 1 2:00 + 3:00 - KUYT 1930 Jun 21 # Kuybyshev + 4:00 Russia KUY%sT 1989 Mar 26 2:00s + 3:00 Russia KUY%sT 1991 Mar 31 2:00s + 2:00 Russia KUY%sT 1991 Sep 29 2:00s + 3:00 - KUYT 1991 Oct 20 3:00 + 4:00 Russia SAM%sT # Samara Time +Zone Asia/Yekaterinburg 4:02:24 - LMT 1919 Jul 15 4:00 + 4:00 - SVET 1930 Jun 21 # Sverdlovsk Time 5:00 Russia SVE%sT 1991 Mar 31 2:00s - 4:00 1:00 SVEST 1991 Sep 29 2:00s - 4:00 - SVET 1992 Jan 19 2:00s + 4:00 Russia SVE%sT 1992 Jan 19 2:00s 5:00 Russia YEK%sT # Yekaterinburg Time -Zone Asia/Omsk 4:53:36 - LMT 1924 May 2 - 5:00 - OMST 1957 Mar # Omsk Time +Zone Asia/Omsk 4:53:36 - LMT 1919 Nov 14 + 5:00 - OMST 1930 Jun 21 # Omsk TIme 6:00 Russia OMS%sT 1991 Mar 31 2:00s - 5:00 1:00 OMSST 1991 Sep 29 2:00s - 5:00 - OMST 1992 Jan 19 2:00s + 5:00 Russia OMS%sT 1992 Jan 19 2:00s 6:00 Russia OMS%sT # From Stanislaw A. Kuzikowski <S.A.Kuz@iae.nsk.su> (1994-06-29): # But now it is some months since Novosibirsk is 3 hours ahead of Moscow! # I do not know why they have decided to make this change; # as far as I remember it was done exactly during winter->summer switching # so we (Novosibirsk) simply did not switch. -Zone Asia/Novosibirsk 5:31:40 - LMT 1924 May 2 - 6:00 - NOVT 1957 Mar # Novosibirsk Time +Zone Asia/Novosibirsk 5:31:40 - LMT 1919 Dec 14 6:00 + 6:00 - NOVT 1930 Jun 21 # Novosibirsk Time 7:00 Russia NOV%sT 1991 Mar 31 2:00s - 6:00 1:00 NOVST 1991 Sep 29 2:00s - 6:00 - NOVT 1992 Jan 19 2:00s - 7:00 Russia NOV%sT 1994 Mar 27 2:00s - 6:00 1:00 NOVST 1994 Sep 25 2:00s + 6:00 Russia NOV%sT 1992 Jan 19 2:00s + 7:00 Russia NOV%sT 1993 May 23 # says Shanks 6:00 Russia NOV%sT -Zone Asia/Krasnoyarsk 6:11:20 - LMT 1924 May 2 - 6:00 - KRAT 1957 Mar # Krasnoyarsk Time +Zone Asia/Krasnoyarsk 6:11:20 - LMT 1920 Jan 6 + 6:00 - KRAT 1930 Jun 21 # Krasnoyarsk Time 7:00 Russia KRA%sT 1991 Mar 31 2:00s - 6:00 1:00 KRAST 1991 Sep 29 2:00s - 6:00 - KRAT 1992 Jan 19 2:00s + 6:00 Russia KRA%sT 1992 Jan 19 2:00s 7:00 Russia KRA%sT Zone Asia/Irkutsk 6:57:20 - LMT 1880 - 6:57:20 - IMT 1924 May 2 # Irkutsk Mean Time - 7:00 - IRKT 1957 Mar # Irkutsk Time + 6:57:20 - IMT 1920 Jan 25 # Irkutsk Mean Time + 7:00 - IRKT 1930 Jun 21 # Irkutsk Time 8:00 Russia IRK%sT 1991 Mar 31 2:00s - 7:00 1:00 IRKST 1991 Sep 29 2:00s - 7:00 - IRKT 1992 Jan 19 2:00s + 7:00 Russia IRK%sT 1992 Jan 19 2:00s 8:00 Russia IRK%sT -Zone Asia/Yakutsk 8:38:40 - LMT 1924 May 2 - 8:00 - YAKT 1957 Mar # Yakutsk Time +Zone Asia/Yakutsk 8:38:40 - LMT 1919 Dec 15 + 8:00 - YAKT 1930 Jun 21 # Yakutsk Time 9:00 Russia YAK%sT 1991 Mar 31 2:00s - 8:00 1:00 YAKST 1991 Sep 29 2:00s - 8:00 - YAKT 1992 Jan 19 2:00s + 8:00 Russia YAK%sT 1992 Jan 19 2:00s 9:00 Russia YAK%sT -Zone Asia/Vladivostok 8:47:44 - LMT 1880 - 8:47:44 - VMT 1924 May 2 # Vladivostok MT - 9:00 - VLAT 1957 Mar # Vladivostok Time +Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15 + 9:00 - VLAT 1930 Jun 21 # Vladivostok Time 10:00 Russia VLA%sT 1991 Mar 31 2:00s - 9:00 1:00 VLAST 1991 Sep 29 2:00s - 9:00 - VLAT 1992 Jan 19 2:00s + 9:00 Russia VLA%sST 1992 Jan 19 2:00s 10:00 Russia VLA%sT Zone Asia/Magadan 10:03:12 - LMT 1924 May 2 - 10:00 - MAGT 1957 Mar # Magadan Time + 10:00 - MAGT 1930 Jun 21 # Magadan Time 11:00 Russia MAG%sT 1991 Mar 31 2:00s - 10:00 1:00 MAGST 1991 Sep 29 2:00s - 10:00 - MAGT 1992 Jan 19 2:00s + 10:00 Russia MAG%sT 1992 Jan 19 2:00s 11:00 Russia MAG%sT # This name should be Asia/Petropavlovsk-Kamchatski, but that's too long. -Zone Asia/Kamchatka 10:34:36 - LMT 1924 May 2 - 11:00 - PETT 1957 Mar # P-K Time +Zone Asia/Kamchatka 10:34:36 - LMT 1922 Nov 10 + 11:00 - PETT 1930 Jun 21 # P-K Time 12:00 Russia PET%sT 1991 Mar 31 2:00s - 11:00 1:00 PETST 1991 Sep 29 2:00s - 11:00 - PETT 1992 Jan 19 2:00s + 11:00 Russia PET%sT 1992 Jan 19 2:00s 12:00 Russia PET%sT Zone Asia/Anadyr 11:49:56 - LMT 1924 May 2 - 12:00 - ANAT 1957 Mar # Anadyr Time - 13:00 Russia ANA%sT 1991 Mar 31 2:00s - 12:00 1:00 ANAST 1991 Sep 29 2:00s - 12:00 - ANAT 1992 Jan 19 2:00s - 13:00 Russia ANA%sT + 12:00 - ANAT 1930 Jun 21 # Anadyr Time + 13:00 Russia ANA%sT 1982 Apr 1 0:00s + 12:00 Russia ANA%sT 1991 Mar 31 2:00s + 11:00 Russia ANA%sT 1992 Jan 19 2:00s + 12:00 Russia ANA%sT # Slovakia Link Europe/Prague Europe/Bratislava @@ -2228,7 +1722,7 @@ Zone Europe/Stockholm 1:12:12 - LMT 1878 # From Whitman (who writes ``Midnight?''): Rule Swiss 1940 only - Nov 2 0:00 1:00 S Rule Swiss 1940 only - Dec 31 0:00 0 - -# From Shanks (1991): +# From Shanks: Rule Swiss 1941 1942 - May Sun>=1 2:00 1:00 S Rule Swiss 1941 1942 - Oct Sun>=1 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -2251,7 +1745,6 @@ Rule Turkey 1922 only - Oct 8 0:00 0 - Rule Turkey 1924 only - May 13 0:00 1:00 S Rule Turkey 1924 1925 - Oct 1 0:00 0 - Rule Turkey 1925 only - May 1 0:00 1:00 S -# Shanks omits the first two transitions in 1940; go with Whitman. Rule Turkey 1940 only - Jun 30 0:00 1:00 S Rule Turkey 1940 only - Oct 5 0:00 0 - Rule Turkey 1940 only - Dec 1 0:00 1:00 S @@ -2302,53 +1795,61 @@ Zone Europe/Istanbul 1:55:52 - LMT 1880 Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents. # Ukraine -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Ukraine 1917 only - Jul 1 23:00 1:00 UST # Ukrainian Summer Time -Rule Ukraine 1917 only - Dec 28 0:00 0 KMT # Kiev Mean Time -Rule Ukraine 1918 only - May 31 22:00 2:00 UDST # Ukrainian Double Summer Time -Rule Ukraine 1918 only - Sep 17 0:00 1:00 UST -Rule Ukraine 1919 only - May 31 23:00 2:00 UDST -Rule Ukraine 1919 only - Jul 1 2:00 1:00 UST -Rule Ukraine 1919 only - Aug 16 0:00 0 KMT -Rule Ukraine 1921 only - Feb 14 23:00 1:00 UST -Rule Ukraine 1921 only - Mar 21 23:00 2:00 UDST -Rule Ukraine 1921 only - Sep 1 0:00 1:00 UST -Rule Ukraine 1921 only - Oct 1 0:00 0 KMT -Rule Crimea 1917 only - Jul 1 23:00 1:00 CST # Crimean Summer Time -Rule Crimea 1917 only - Dec 28 0:00 0 NMT # Nikolayev Mean Time -Rule Crimea 1918 only - May 31 22:00 2:00 CDST # Crimean Double Summer Time -Rule Crimea 1918 only - Sep 17 0:00 1:00 CST -Rule Crimea 1919 only - May 31 23:00 2:00 CDST -Rule Crimea 1919 only - Jul 1 2:00 1:00 CST -Rule Crimea 1919 only - Aug 16 0:00 0 NMT -Rule Crimea 1921 only - Feb 14 23:00 1:00 CST -Rule Crimea 1921 only - Mar 21 23:00 2:00 CDST -Rule Crimea 1921 only - Sep 1 0:00 1:00 CST -Rule Crimea 1921 only - Oct 1 0:00 0 NMT -Rule Crimea 1996 only - Mar lastSun 0:00u 1:00 - -Rule Crimea 1996 only - Oct lastSun 0:00u 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] +# Most of Ukraine since 1970 has been like Kiev. Zone Europe/Kiev 2:02:04 - LMT 1880 - 2:02:04 Ukraine %s 1924 May 2 + 2:02:04 - KMT 1924 May 2 # Kiev Mean Time 2:00 - EET 1930 Jun 21 - 3:00 Russia MSK/MSD 1990 Jul 17 - 2:00 E-Eur EE%sT 1996 + 3:00 - MSK 1941 Sep 20 + 1:00 C-Eur CE%sT 1943 Nov 6 + 3:00 Russia MSK/MSD 1990 + 3:00 - MSK 1990 Jul 1 2:00 + 2:00 - EET 1992 + 2:00 E-Eur EE%sT 1995 + 2:00 EU EE%sT +# Ruthenia used CET 1990/1991. +Zone Europe/Uzhgorod 1:29:12 - LMT 1890 Oct + 1:00 - CET 1940 + 1:00 C-Eur CE%sT 1944 Oct + 1:00 1:00 CEST 1944 Oct 26 + 1:00 - CET 1945 Jun 29 + 3:00 Russia MSK/MSD 1990 + 3:00 - MSK 1990 Jul 1 2:00 + 1:00 - CET 1991 Mar 31 3:00 + 2:00 - EET 1992 + 2:00 E-Eur EE%sT 1995 + 2:00 EU EE%sT +# Zaporozh'ye and eastern Lugansk oblasts observed DST 1990/1991. +# Zaporozh'ye has an apostrophe, but Posix file names can't have apostrophes. +Zone Europe/Zaporozhye 2:20:40 - LMT 1880 + 2:20 - CUT 1924 May 2 # Central Ukraine T + 2:00 - EET 1930 Jun 21 + 3:00 - MSK 1941 Aug 25 + 1:00 C-Eur CE%sT 1943 Oct 25 + 3:00 Russia MSK/MSD 1991 Mar 31 2:00 + 2:00 E-Eur EE%sT 1995 2:00 EU EE%sT +# Central Crimea used Moscow time 1994/1997. Zone Europe/Simferopol 2:16:24 - LMT 1880 - 2:08:00 Crimea %s 1924 May 2 + 2:16 - SMT 1924 May 2 # Simferopol Mean T 2:00 - EET 1930 Jun 21 - 3:00 Russia MSK/MSD 1991 Mar 31 2:00s - 2:00 1:00 EEST 1991 Sep 29 2:00s -# From Paul Eggert <eggert@twinsun.com> (1996-10-21): -# The _Economist_ (1994-05-28, p 45) reports that most of Crimea switched + 3:00 - MSK 1941 Nov + 1:00 C-Eur CE%sT 1944 Apr 13 + 3:00 Russia MSK/MSD 1990 + 3:00 - MSK 1990 Jul 1 2:00 + 2:00 - EET 1992 +# From Paul Eggert <eggert@twinsun.com> (1999-11-12): +# The _Economist_ (1994-05-28, p 45) reports that central Crimea switched # from Kiev to Moscow time sometime after the January 1994 elections. -# For now, guess it changed Feb 1. - 2:00 C-Eur EE%sT 1994 Feb +# Shanks says ``date of change uncertain'', but implies that it happened +# sometime between the 1994 DST switches. For now, guess it changed in May. + 2:00 E-Eur EE%sT 1994 May # From IATA SSIM (1994/1997), which also says that Kerch is still like Kiev. - 3:00 E-Eur MSK/MSD 1996 + 3:00 E-Eur MSK/MSD 1996 Mar 31 3:00s + 3:00 1:00 MSD 1996 Oct 27 3:00s # IATA SSIM (1997-09) says Crimea switched to EET/EEST. # Assume it happened in March by not changing the clocks. - 3:00 Crimea MSK/MSD 1997 Mar lastSun 1:00u + 3:00 Russia MSK/MSD 1997 Mar lastSun 1:00u 2:00 EU EE%sT # Yugoslavia diff -durpN glibc-2.1.2/timezone/iso3166.tab glibc-2.1.3/timezone/iso3166.tab --- glibc-2.1.2/timezone/iso3166.tab Fri May 29 02:44:28 1998 +++ glibc-2.1.3/timezone/iso3166.tab Tue Nov 9 20:53:23 1999 @@ -1,19 +1,18 @@ # ISO 3166 2-letter country codes # -# From Paul Eggert <eggert@twinsun.com> (1996-09-03): +# @(#)iso3166.tab 1.7 +# +# From Paul Eggert <eggert@twinsun.com> (1999-10-13): # # This file contains a table with the following columns: -# 1. ISO 3166-1:1997 2-character country code. See: +# 1. ISO 3166-1:1999 2-character country code. See: +# <a href="http://www.din.de/gremien/nas/nabd/iso3166ma/codlstp1.html"> +# ISO 3166-1: The Code List +# </a>. # 2. The usual English name for the country, # chosen so that alphabetic sorting of subsets produces helpful lists. # This is not the same as the English name in the ISO 3166 tables. # -# The PS code below has been reserved for Palestine by the ISO; -# however, the code is not yet officially assigned to Palestine. Please see -# <a href="ftp://ftp.informatik.uni-erlangen.de/pub/doc/ISO/ISO-3166-background"> -# Cord Wischhoefer, Country Code Elements for Palestine (1996-07-24) -# </a>. -# # Columns are separated by a single tab. # The table is sorted by country code. # @@ -93,7 +92,6 @@ FK Falkland Islands FM Micronesia FO Faeroe Islands FR France -FX France, Metropolitan GA Gabon GB Britain (UK) GD Grenada @@ -112,6 +110,7 @@ GT Guatemala GU Guam GW Guinea-Bissau GY Guyana +HK Hong Kong HM Heard Island & McDonald Islands HN Honduras HR Croatia diff -durpN glibc-2.1.2/timezone/northamerica glibc-2.1.3/timezone/northamerica --- glibc-2.1.2/timezone/northamerica Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/northamerica Thu Jan 20 17:40:46 2000 @@ -1,4 +1,4 @@ -# @(#)northamerica 7.45 +# @(#)northamerica 7.50 # also includes Central America and the Caribbean # This data is by no means authoritative; if you think you know better, @@ -408,6 +408,28 @@ Zone America/Louisville -5:43:02 - LMT 1 -5:00 US E%sT 1974 Jan 6 2:00 -6:00 1:00 CDT 1974 Oct 27 2:00 -5:00 US E%sT +# Wayne, Clinton, and Russell Counties, Kentucky +# From +# <a href="http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=1999_register&docid=99-26945-filed"> +# Federal Register Doc. 99-26945 +# </a> (1999-10-14 08:45-04) +# In response to a petition by the Wayne County, Kentucky, Fiscal Court, +# the Department of Transportation (DOT) proposed to move Wayne County, +# Kentucky, from the Central Time Zone to the Eastern Time Zone.... Now +# the earliest date that the proposed change might take effect is +# October 29, 2000. +# +# From +# <a href="http://www.lake-cumberland.com/life/archive/news990129time.shtml"> +# Lake Cumberland LIFE +# </a> (1999-01-29) via WKYM-101.7: +# Clinton County has joined Wayne County in asking the DoT to change from +# the Central to the Eastern time zone.... The Wayne County government made +# the same request in December. And while Russell County officials have not +# taken action, the majority of respondents to a poll conducted there in +# August indicated they would like to change to "fast time" also. +# The three Lake Cumberland counties are the farthest east of any U.S. +# location in the Central time zone. # Michigan # @@ -482,10 +504,10 @@ Link Pacific/Honolulu HST ################################################################################ -# From Paul Eggert <eggert@twinsun.com> (1996-11-22): +# From Paul Eggert <eggert@twinsun.com> (1999-10-29): # A good source for time zone historical data outside the US is -# Thomas G. Shanks, The International Atlas (4th edition), -# San Diego: ACS Publications, Inc. (1995). +# Thomas G. Shanks, The International Atlas (5th edition), +# San Diego: ACS Publications, Inc. (1999). # # Gwillim Law <LAW@encmail.encompass.com> writes that a good source # for recent time zone data is the International Air Transport @@ -536,7 +558,7 @@ Link Pacific/Honolulu HST # From Paul Eggert <eggert@twinsun.com> (1994-11-22): # Alas, this sort of thing must be handled by localization software. -# The data for Canada are all from Shanks (1991). +# The data for Canada are all from Shanks. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S @@ -682,7 +704,7 @@ Zone America/Glace_Bay -3:59:48 - LMT 19 # says that Ontario east of 90W uses EST/EDT, and west of 90W uses CST/CDT. # Officially Atikokan is therefore on CST/CDT, and most likely this report # concerns a non-official time observed as a matter of local practice. -# For what it's worth, Shanks (1995) says that Atikokan has agreed with +# For what it's worth, Shanks says that Atikokan has agreed with # Rainy River ever since standard time was introduced. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S @@ -854,7 +876,7 @@ Zone America/Edmonton -7:33:52 - LMT 190 # From Paul Eggert (1996-06-12): # Shanks writes that since 1970 most of this region has been like Vancouver. -# Dawswon Creek uses MST. Much of east BC is like Edmonton. +# Dawson Creek uses MST. Much of east BC is like Edmonton. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Vanc 1918 only - Apr 14 2:00 1:00 D @@ -877,9 +899,8 @@ Zone America/Dawson_Creek -8:00:56 - LMT # Northwest Territories, Nunavut, Yukon -# From Paul Eggert (1996-10-07): +# From Paul Eggert (1999-10-29): # Dawson switched to PST in 1973. Inuvik switched to MST in 1979. -# Shanks's table for Watson Lake is corrupted, so we have no data there. # Mathew Englander <mathew@io.org> (1996-10-07) gives the following refs: # * 1967. Paragraph 28(34)(g) of the Interpretation Act, S.C. 1967-68, # c. 7 defines Yukon standard time as UTC-9. This is still valid; @@ -889,6 +910,56 @@ Zone America/Dawson_Creek -8:00:56 - LMT # * O.I.C. 1987/056 changed DST to Apr firstSun 2:00 to Oct lastSun 2:00. # Shanks says Yukon's 1973-10-28 switch was at 2:00; go with Englander. +# From Rives McDow (1999-09-04): +# Nunavut ... moved ... to incorporate the whole territory into one time zone. +# <a href="http://www.nunatsiaq.com/nunavut/nvt90903_13.html"> +# Nunavut moves to single time zone Oct. 31 +# </a> +# +# From Antoine Leca (1999-09-06): +# We then need to create a new timezone for the Kitikmeot region of Nunavut +# to differentiate it from the Yellowknife region. + +# From Paul Eggert (1999-09-20): +# <a href="http://www.nunavut.com/basicfacts/english/basicfacts_1territory.html"> +# Basic Facts: The New Territory +# </a> (1999) reports that Pangnirtung operates on Eastern time, +# and that Coral Harbour does not observe DST. We don't know when +# Pangnirtung switched to Eastern time; we'll guess 1995. +# We'll ignore the claim about Coral Harbour for now, +# since we have no further info. + +# From Rives McDow (1999-11-08): +# On October 31, when the rest of Nunavut went to Central time, +# Pangnirtung wobbled. Here is the result of their wobble: +# +# The following businesses and organizations in Pangnirtung use Central Time: +# +# First Air, Power Corp, Nunavut Construction, Health Center, RCMP, +# Eastern Arctic National Parks, A & D Specialist +# +# The following businesses and organizations in Pangnirtung use Eastern Time: +# +# Hamlet office, All other businesses, Both schools, Airport operator +# +# This has made for an interesting situation there, which warranted the news. +# No one there that I spoke with seems concerned, or has plans to +# change the local methods of keeping time, as it evidently does not +# really interfere with any activities or make things difficult locally. +# They plan to celebrate New Year's turn-over twice, one hour apart, +# so it appears that the situation will last at least that long. +# The Nunavut Intergovernmental Affairs hopes that they will "come to +# their senses", but the locals evidently don't see any problem with +# the current state of affairs. + +# From Michaela Rodrigue, writing in the +# <a href="http://www.nunatsiaq.com/archives/nunavut991130/nvt91119_17.html"> +# Nunatsiaq News (1999-11-19)</a>: +# Clyde River, Pangnirtung and Sanikiluaq now operate with two time zones, +# central - or Nunavut time - for government offices, and eastern time +# for municipal offices and schools.... Igloolik [was similar but then] +# made the switch to central time on Saturday, Nov. 6. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule NT_YK 1918 only - Apr 14 2:00 1:00 D Rule NT_YK 1918 only - Oct 27 2:00 0 S @@ -903,11 +974,17 @@ Rule NT_YK 1980 max - Oct lastSun 2:00 0 Rule NT_YK 1987 max - Apr Sun>=1 2:00 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Pangnirtung -4:22:56 - LMT 1884 - -4:00 NT_YK A%sT -Zone America/Iqaluit -4:33:52 - LMT 1884 # Frobisher Bay - -5:00 NT_YK E%sT + -4:00 NT_YK A%sT 1995 Apr Sun>=1 2:00 + -5:00 Canada E%sT 1999 Oct 31 2:00 + -6:00 Canada C%sT +Zone America/Iqaluit -4:33:52 - LMT 1884 # Frobisher Bay before 1987 + -5:00 NT_YK E%sT 1999 Oct 31 2:00 + -6:00 Canada C%sT Zone America/Rankin_Inlet -6:08:40 - LMT 1884 -6:00 NT_YK C%sT +Zone America/Cambridge_Bay -7:00:20 - LMT 1884 + -7:00 NT_YK M%sT 1999 Oct 31 2:00 + -6:00 Canada C%sT Zone America/Yellowknife -7:37:24 - LMT 1884 -7:00 NT_YK M%sT Zone America/Inuvik -8:54:00 - LMT 1884 @@ -937,7 +1014,7 @@ Zone America/Dawson -9:17:40 - LMT 1900 # The Federal District (where Mexico City is) has observed [DST] several # times but not recently. # -# I don't where to drawn the line in the North Baja area. 28th latitude +# I don't where to draw the line in the North Baja area. 28th latitude # sounds good -- but it may be higher (how far [d]o radio stations from # San Diego affect culture?). # @@ -972,37 +1049,33 @@ Zone America/Dawson -9:17:40 - LMT 1900 # a zone that's GMT-8 with DST; a zone that's always GMT-7; # a zone that's GMT-6 with DST; and a zone that's always GMT-6. -# From Paul Eggert <eggert@twinsun.com> (1993-11-18): -# Shanks also says there are four zones, but disagrees about the fourth. -# Instead of GMT-6 with DST, he says there's GMT-8 without DST. - # From Alan Perry <alan.perry@eng.sun.com> (1996-02-15): # A guy from our Mexico subsidiary finally found the Presidential Decree # outlining the timezone changes in Mexico. -# +# # ------------- Begin Forwarded Message ------------- -# +# # I finally got my hands on the Official Presidential Decree that sets up the # rules for the DST changes. The rules are: -# +# # 1. The country is divided in 3 timezones: # - Baja California Norte (the Mexico/BajaNorte TZ) # - Baja California Sur, Nayarit, Sinaloa and Sonora (the Mexico/BajaSur TZ) # - The rest of the country (the Mexico/General TZ) -# +# # 2. From the first Sunday in April at 2:00 AM to the last Sunday in October # at 2:00 AM, the times in each zone are as follows: # BajaNorte: GMT+7 # BajaSur: GMT+6 # General: GMT+5 -# +# # 3. The rest of the year, the times are as follows: # BajaNorte: GMT+8 # BajaSur: GMT+7 # General: GMT+6 -# +# # The Decree was published in Mexico's Official Newspaper on January 4th. -# +# # -------------- End Forwarded Message -------------- # From Paul Eggert (1996-06-12): # For an English translation of the decree, see @@ -1014,7 +1087,13 @@ Zone America/Dawson -9:17:40 - LMT 1900 # The State of Quintana Roo has reverted back to central STD and DST times # (i.e. UTC -0600 and -0500 as of 1998-08-02). -# From Shanks (1991): +# From Rives McDow (2000-01-10): +# Effective April 4, 1999 at 2:00 AM local time, Sonora changed to the time +# zone 5 hours from the International Date Line, and will not observe daylight +# savings time so as to stay on the same time zone as the southern part of +# Arizona year round. + +# From Shanks: # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Mexico 1939 only - Feb 5 0:00 1:00 D Rule Mexico 1939 only - Jun 25 0:00 0 S @@ -1027,12 +1106,11 @@ Rule Mexico 1950 only - Jul 30 0:00 0 S Rule Mexico 1996 max - Apr Sun>=1 2:00 1:00 D Rule Mexico 1996 max - Oct lastSun 2:00 0 S # -Rule BajaN 1950 1966 - Apr lastSun 2:00 1:00 D -Rule BajaN 1950 1961 - Sep lastSun 2:00 0 S -Rule BajaN 1961 1966 - Oct lastSun 2:00 0 S +Rule BajaN 1954 1961 - Apr lastSun 2:00 1:00 D +Rule BajaN 1954 1961 - Sep lastSun 2:00 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] # Quintana Roo -Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 1:12:42 +Zone America/Cancun -5:47:04 - LMT 1922 Jan 1 0:12:56 -6:00 - CST 1996 -6:00 Mexico C%sT 1997 Oct lastSun 2:00 -5:00 Mexico E%sT 1998 Aug 2 2:00 @@ -1046,7 +1124,7 @@ Zone America/Mexico_City -6:36:36 - LMT -7:00 - MST 1932 Mar 30 23:00 -6:00 Mexico C%sT # Chihuahua -Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:44 +Zone America/Chihuahua -7:04:20 - LMT 1921 Dec 31 23:55:40 -7:00 - MST 1927 Jun 10 23:00 -6:00 - CST 1930 Nov 15 -7:00 - MST 1931 May 1 23:00 @@ -1056,7 +1134,19 @@ Zone America/Chihuahua -7:04:20 - LMT 19 -6:00 Mexico C%sT 1998 -6:00 - CST 1998 Apr Sun>=1 3:00 -7:00 Mexico M%sT -# S Baja California, Nayarit, Sinaloa, Sonora +# Sonora +Zone America/Hermosillo -7:23:52 - LMT 1921 Dec 31 23:36:08 + -7:00 - MST 1927 Jun 10 23:00 + -6:00 - CST 1930 Nov 15 + -7:00 - MST 1931 May 1 23:00 + -6:00 - CST 1931 Oct + -7:00 - MST 1932 Mar 30 23:00 + -6:00 - CST 1942 Apr + -7:00 - MST 1949 Jan 14 + -8:00 - PST 1970 + -7:00 Mexico M%sT 1999 + -7:00 - MST +# S Baja California, Nayarit, Sinaloa Zone America/Mazatlan -7:05:40 - LMT 1921 Dec 31 23:54:20 -7:00 - MST 1927 Jun 10 23:00 -6:00 - CST 1930 Nov 15 @@ -1067,23 +1157,15 @@ Zone America/Mazatlan -7:05:40 - LMT 192 -7:00 - MST 1949 Jan 14 -8:00 - PST 1970 -7:00 Mexico M%sT -# N Baja California +# Baja California Zone America/Tijuana -7:48:04 - LMT 1922 Jan 1 0:11:56 -8:00 - PST 1927 Jun 10 23:00 -7:00 - MST 1930 Nov 16 -8:00 - PST 1942 Apr -7:00 - MST 1949 Jan 14 - -8:00 BajaN P%sT 1967 Apr lastSun 2:00 + -8:00 BajaN P%sT 1976 -8:00 US P%sT 1996 -8:00 Mexico P%sT -# Baja California -Zone America/Ensenada -7:46:28 - LMT 1922 Jan 1 0:13:32 - -8:00 - PST 1927 Jun 10 23:00 - -7:00 - MST 1930 Nov 16 - -8:00 - PST 1942 Apr - -7:00 - MST 1949 Jan 14 - -8:00 - PST 1996 - -8:00 Mexico P%sT # # Revillagigedo Is # no information @@ -1148,8 +1230,6 @@ Zone America/Cayman -5:25:32 - LMT 1890 -5:00 - EST # Costa Rica -# Shanks gives some very odd dates for 1991, and stops there. -# For now, we won't guess further. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CR 1979 1980 - Feb lastSun 0:00 1:00 D Rule CR 1979 1980 - Jun Sun>=1 0:00 0 S @@ -1160,7 +1240,7 @@ Rule CR 1992 only - Mar 15 0:00 0 S # There are too many San Joses elsewhere, so we'll use `Costa Rica'. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Costa_Rica -5:36:20 - LMT 1890 # San Jose - -5:36 - SJMT 1921 Jan 15 # San Jose Mean Time + -5:36:20 - SJMT 1921 Jan 15 # San Jose Mean Time -6:00 CR C%sT # Coco # no information; probably like America/Costa_Rica @@ -1205,12 +1285,13 @@ Rule Cuba 1990 1997 - Apr Sun>=1 0:00 1: Rule Cuba 1991 1995 - Oct Sun>=8 0:00s 0 S Rule Cuba 1996 only - Oct 6 0:00s 0 S Rule Cuba 1997 only - Oct 12 0:00s 0 S -Rule Cuba 1998 max - Mar lastSun 0:00s 1:00 D +Rule Cuba 1998 1999 - Mar lastSun 0:00s 1:00 D Rule Cuba 1998 max - Oct lastSun 0:00s 0 S +Rule Cuba 2000 max - Apr Sun>=1 0:00s 1:00 D # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Havana -5:29:28 - LMT 1890 - -5:30 - HMT 1925 Jul 19 12:00 # Havana MT + -5:29:36 - HMT 1925 Jul 19 12:00 # Havana MT -5:00 Cuba C%sT # Dominica @@ -1268,7 +1349,7 @@ Zone America/Guatemala -6:02:04 - LMT 19 Rule Haiti 1983 only - May 8 0:00 1:00 D Rule Haiti 1984 1987 - Apr lastSun 0:00 1:00 D Rule Haiti 1983 1987 - Oct lastSun 0:00 0 S -# Shanks says AT is 2:00, but IATA SSIM (1991/1996) says 1:00s. Go with IATA. +# Shanks says AT is 2:00, but IATA SSIM (1991/1997) says 1:00s. Go with IATA. Rule Haiti 1988 1997 - Apr Sun>=1 1:00s 1:00 D Rule Haiti 1988 1997 - Oct lastSun 1:00s 0 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -1292,11 +1373,11 @@ Zone America/Tegucigalpa -5:48:52 - LMT # From U. S. Naval Observatory (1989-01-19): # JAMAICA 5 H BEHIND UTC -# From Shanks (1991): +# From Shanks: # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Jamaica -5:07:12 - LMT 1890 # Kingston -5:07:12 - KMT 1912 Feb # Kingston Mean Time - -5:00 - EST 1974 Jan 6 2:00 + -5:00 - EST 1974 Apr 28 2:00 -5:00 US E%sT 1984 -5:00 - EST diff -durpN glibc-2.1.2/timezone/southamerica glibc-2.1.3/timezone/southamerica --- glibc-2.1.2/timezone/southamerica Tue Aug 17 13:50:16 1999 +++ glibc-2.1.3/timezone/southamerica Thu Jan 20 17:40:46 2000 @@ -1,4 +1,4 @@ -# @(#)southamerica 7.28 +# @(#)southamerica 7.34 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to @@ -6,8 +6,8 @@ # From Paul Eggert <eggert@twinsun.com> (1999-07-07): # A good source for time zone historical data outside the U.S. is -# Thomas G. Shanks, The International Atlas (4th edition), -# San Diego: ACS Publications, Inc. (1995). +# Thomas G. Shanks, The International Atlas (5th edition), +# San Diego: ACS Publications, Inc. (1999). # # Gwillim Law <LAW@encmail.encompass.com> writes that a good source # for recent time zone data is the International Air Transport @@ -80,12 +80,12 @@ Rule Arg 1963 only - Dec 15 0:00 1:00 S Rule Arg 1964 1966 - Mar 1 0:00 0 - Rule Arg 1964 1966 - Oct 15 0:00 1:00 S Rule Arg 1967 only - Apr 1 0:00 0 - -Rule Arg 1967 1968 - Oct Sun<=7 0:00 1:00 S -Rule Arg 1968 1969 - Apr Sun<=7 0:00 0 - +Rule Arg 1967 1968 - Oct Sun>=1 0:00 1:00 S +Rule Arg 1968 1969 - Apr Sun>=1 0:00 0 - Rule Arg 1974 only - Jan 23 0:00 1:00 S Rule Arg 1974 only - May 1 0:00 0 - -Rule Arg 1974 1976 - Oct Sun<=7 0:00 1:00 S -Rule Arg 1975 1977 - Apr Sun<=7 0:00 0 - +Rule Arg 1974 1976 - Oct Sun>=1 0:00 1:00 S +Rule Arg 1975 1977 - Apr Sun>=1 0:00 0 - Rule Arg 1985 only - Nov 2 0:00 1:00 S Rule Arg 1986 only - Mar 14 0:00 0 - Rule Arg 1986 1987 - Oct 25 0:00 1:00 S @@ -99,7 +99,7 @@ Rule Arg 1988 only - Dec 1 0:00 1:00 S # Talleres de Hidrografia Naval Argentina # (Argentine Naval Hydrography Institute) # -# Shanks gives 1989 Mar 16 and stops after 1990 Mar 4; go with Otero. +# Shanks stops after 1992-03-01; go with Otero. Rule Arg 1989 1993 - Mar Sun>=1 0:00 0 - Rule Arg 1989 1992 - Oct Sun>=15 0:00 1:00 S # @@ -108,6 +108,15 @@ Rule Arg 1989 1992 - Oct Sun>=15 0:00 1: # time corrections was derogated and no more modifications # to the time zones (for daylight saving) are now made. # +# From Rives McDow (2000-01-10): +# On October 3, 1999, 0:00 local, Argentina implemented daylight savings time, +# which did not result in the switch of a time zone, as they stayed 9 hours +# from the International Date Line. On March 5, 2000, at 0:00 local time, +# Argentina will come off daylight savings time, which will bring them to 8 +# hours from the International Date Line. +Rule Arg 1999 max - Oct Sun>=1 0:00 1:00 S +Rule Arg 2000 max - Mar Sun>=1 0:00 0 - +# # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Buenos Aires (BA), Distrito Federal (DF), Santa Cruz (SC), @@ -115,26 +124,29 @@ Rule Arg 1989 1992 - Oct Sun>=15 0:00 1: Zone America/Buenos_Aires -3:53:48 - LMT 1894 Nov -4:16:44 - CMT 1920 May # Cordoba Mean Time -4:00 - ART 1930 Dec - -4:00 Arg AR%sT 1969 Oct 5 - -3:00 Arg AR%sT + -4:00 Arg AR%sT 1969 Oct 5 + -3:00 Arg AR%sT 1999 Oct 3 0:00 + -4:00 Arg AR%sT # # Santa Fe (SF), Entre Rios (ER), Corrientes (CN), Misiones (MN), Chaco (CC), # Formosa (FM), La Pampa (LP), Chubut (CH) Zone America/Rosario -4:02:40 - LMT 1894 Nov -4:16:44 - CMT 1920 May -4:00 - ART 1930 Dec - -4:00 Arg AR%sT 1969 Oct 5 + -4:00 Arg AR%sT 1969 Oct 5 -3:00 Arg AR%sT 1991 Jul - -3:00 - ART + -3:00 - ART 1999 Oct 3 0:00 + -4:00 Arg AR%sT # # Cordoba (CB), Santiago del Estero (SE), Salta (SA), Tucuman (TM), La Rioja (LR), San Juan (SJ), San Luis (SL), # Neuquen (NQ), Rio Negro (RN) Zone America/Cordoba -4:16:44 - LMT 1894 Nov -4:16:44 - CMT 1920 May -4:00 - ART 1930 Dec - -4:00 Arg AR%sT 1969 Oct 5 + -4:00 Arg AR%sT 1969 Oct 5 -3:00 Arg AR%sT 1990 Jul - -3:00 - ART + -3:00 - ART 1999 Oct 3 0:00 + -4:00 Arg AR%sT # # Jujuy (JY) Zone America/Jujuy -4:21:12 - LMT 1894 Nov @@ -145,17 +157,19 @@ Zone America/Jujuy -4:21:12 - LMT 1894 N -4:00 - WART 1991 Oct 6 -4:00 1:00 WARST 1992 Mar 15 -4:00 - WART 1992 Oct 18 - -3:00 - ART + -3:00 - ART 1999 Oct 3 0:00 + -4:00 Arg AR%sT # # Catamarca (CT) Zone America/Catamarca -4:23:08 - LMT 1894 Nov -4:16:44 - CMT 1920 May -4:00 - ART 1930 Dec - -4:00 Arg AR%sT 1969 Oct 5 + -4:00 Arg AR%sT 1969 Oct 5 -3:00 Arg AR%sT 1990 Jul -3:00 - ART 1991 Jul -3:00 Arg AR%sT 1992 Jul - -3:00 - ART + -3:00 - ART 1999 Oct 3 0:00 + -4:00 Arg AR%sT # # Mendoza (MZ) Zone America/Mendoza -4:35:16 - LMT 1894 Nov @@ -166,7 +180,8 @@ Zone America/Mendoza -4:35:16 - LMT 1894 -4:00 - WART 1991 Oct 15 -4:00 1:00 WARST 1992 Mar 1 -4:00 - WART 1992 Oct 18 - -3:00 - ART + -3:00 - ART 1999 Oct 3 0:00 + -4:00 Arg AR%sT # Aruba # Zone NAME GMTOFF RULES FORMAT [UNTIL] @@ -216,38 +231,16 @@ Zone America/La_Paz -4:32:36 - LMT 1890 # Maranhao (MA), Paraiba (PR), Pernambuco (PE), Piaui (PI), and Rio Grande do # Norte (RN), and the eastern part of Para (PA) are all in BR1 without DST. -# From Paul Eggert (1996-11-22): -# Let's make the following assumptions: -# -# * All data in Shanks are correct through 1990. In particular, -# Shanks was right when he said Acre stopped observing DST in mid-1988. -# * Areas where Shanks reports DST up to 1990, but the IATA reports no DST -# in 1995, stopped observing DST in mid-1990. -# -# Under these assumptions Brazil needs 7 entries to cover all the distinct -# time zone histories since 1970: -# -# Noronha (UTC-2), Fortaleza (UTC-3), and Manaus (UTC-4) stopped observing DST -# in mid-1990. -# Maceio (UTC-3) stopped observing DST in mid-1990, but started again mid-1995. -# Sao Paulo (UTC-3) and Cuiaba (UTC-4) always observed DST. -# Porto Acre (UTC-5) stopped observing DST in mid-1988. - -# From Rodrigo Feher <feher@pobox.com> (1998-01-17): -# Reading "southamerica" file in timezone 7.55 I've found an -# error. Line 193 say "Territory of Acre". It is not a territory anymore -# but a state. - # From Marcos Tadeu (1998-09-27): # <a href="http://pcdsh01.on.br/verao1.html"> # Brazilian official page # </a> # -# From Paul Eggert (1998-09-28): +# From Paul Eggert (1998-10-29): # The official decrees referenced below are taken from # <a href="http://pcdsh01.on.br/DecHV.html"> # Decretos sobre o Horario de Verao no Brasil -# </a> (1998-09-25, in Portuguese). +# </a> (1999-10-04, in Portuguese). # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Decree <a href="http://pcdsh01.on.br/HV20466.htm">20,466</a> (1931-10-01) @@ -351,76 +344,89 @@ Rule Brazil 1997 only - Oct 6 0:00 1:0 # (1998-02-10) Rule Brazil 1998 only - Mar 1 0:00 0 - # Decree <a href="http://pcdsh01.on.br/figuras/Hv98.jpg">2,780</a> (1998-09-11) -# adopted by the same states as before, -# specifies only the 1998-10-11 and 1999-02-21 transitions; -# after that, these rules are guesses and are quite possibly wrong, -# but they are more likely than no DST at all. -Rule Brazil 1998 max - Oct Sun>=8 0:00 1:00 S -Rule Brazil 1999 max - Feb Sun>=15 0:00 0 - +# adopted by the same states as before. +Rule Brazil 1998 only - Oct 11 0:00 1:00 S +Rule Brazil 1999 only - Feb 21 0:00 0 - +# Decree <a href="http://pcdsh01.on.br/figuras/HV3150.gif">3,150</a> +# (1999-08-23) adopted by same states. +# Decree <a href="http://pcdsh01.on.br/DecHV99.gif">3,188</a> (1999-09-30) +# adds SE, AL, PE, PR, RN, CE, PI, MA and RR. +# These give only one year's rules. After that, the rules are guesses +# and are quite possibly wrong, but are more likely than no DST at all. +Rule Brazil 1999 max - Oct Sun>=1 0:00 1:00 S +Rule Brazil 2000 max - Feb lastSun 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] # # Fernando de Noronha Zone America/Noronha -2:09:40 - LMT 1914 - -2:00 Brazil FN%sT 1990 Jul + -2:00 Brazil FN%sT 1990 Sep 17 -2:00 - FNT # -# Amapa, east Para +# Amapa (AP), east Para (PA) Zone America/Belem -3:13:56 - LMT 1914 - -3:00 Brazil BR%sT 1988 Jul + -3:00 Brazil BR%sT 1988 Sep 12 -3:00 - BRT # -# Maranhao, Piaui, Ceara, Rio Grande do Norte, Paraiba, -# Pernambuco (except Fernando de Noronha) +# Maranhao (MA), Piaui (PI), Ceara (CE), Rio Grande do Norte (RN), +# Paraiba (PB), Pernambuco (PE) (except Fernando de Noronha) Zone America/Fortaleza -2:34:00 - LMT 1914 - -3:00 Brazil BR%sT 1990 Jul - -3:00 - BRT + -3:00 Brazil BR%sT 1990 Sep 17 + -3:00 - BRT 1999 Sep 30 + -3:00 Brazil BR%sT # -# Tocantins +# Tocantins (TO) Zone America/Araguaina -3:12:48 - LMT 1914 - -3:00 Brazil BR%sT 1990 Jul - -3:00 - BRT 1995 Jul + -3:00 Brazil BR%sT 1990 Sep 17 + -3:00 - BRT 1995 Sep 14 -3:00 Brazil BR%sT # -# Alagoas, Sergipe +# Alagoas (AL), Sergipe (SE) Zone America/Maceio -2:22:52 - LMT 1914 - -3:00 Brazil BR%sT 1990 Jul - -3:00 - BRT 1995 Jul - -3:00 Brazil BR%sT 1996 Jul - -3:00 - BRT + -3:00 Brazil BR%sT 1990 Sep 17 + -3:00 - BRT 1995 Oct 13 + -3:00 Brazil BR%sT 1996 Sep 4 + -3:00 - BRT 1999 Sep 30 + -3:00 Brazil BR%sT # -# Bahia, Goias, Distrito Federal, Minas Gerais, Espirito Santo, Rio de Janeiro, -# Sao Paulo, Parana, Santa Catarina, Rio Grande do Sul +# Bahia (BA), Goias (GO), Distrito Federal (DF), Minas Gerais (MG), +# Espirito Santo (ES), Rio de Janeiro (RJ), Sao Paulo (SP), Parana (PR), +# Santa Catarina (SC), Rio Grande do Sul (RS) Zone America/Sao_Paulo -3:06:28 - LMT 1914 -3:00 Brazil BR%sT 1963 Oct 23 00:00 - -3:00 - BRST 1964 + -3:00 1:00 BRST 1964 -3:00 Brazil BR%sT # # Mato Grosso, Mato Grosso do Sul Zone America/Cuiaba -3:44:20 - LMT 1914 - -4:00 Brazil AM%sT 1990 Jul - -4:00 - AMT + -4:00 Brazil AM%sT # -# Roraima, west Para, Rondonia +# west Para (PA), Rondonia (RO) Zone America/Porto_Velho -4:15:36 - LMT 1914 - -4:00 Brazil AM%sT 1988 Jul + -4:00 Brazil AM%sT 1988 Sep 12 -4:00 - AMT # -# Amazonas +# Roraima (RR) +Zone America/Boa_Vista -4:02:40 - LMT 1914 + -4:00 Brazil AM%sT 1988 Sep 12 + -4:00 - AMT 1999 Sep 30 + -4:00 Brazil AM%sT +# +# Amazonas (AM) Zone America/Manaus -4:00:04 - LMT 1914 - -4:00 Brazil AM%sT 1988 Jul - -4:00 - AMT 1993 Jul - -4:00 Brazil AM%sT 1994 Jul + -4:00 Brazil AM%sT 1988 Sep 12 + -4:00 - AMT 1993 Sep 28 + -4:00 Brazil AM%sT 1994 Sep 22 -4:00 - AMT # -# Acre +# Acre (AC) # Rio_Branco is too ambiguous, since there's a Rio Branco in Uruguay too. Zone America/Porto_Acre -4:31:12 - LMT 1914 - -5:00 Brazil AC%sT 1988 Jul + -5:00 Brazil AC%sT 1988 Sep 12 -5:00 - ACT # -# Martin Vaz and Trinidade are like America/Noronha. +# Martin Vaz and Trindade are like America/Noronha. # Chile @@ -449,7 +455,7 @@ Rule Chile 1999 only - Apr 4 0:00 0 - Rule Chile 1999 max - Oct Sun>=9 0:00 1:00 S Rule Chile 2000 max - Mar Sun>=9 0:00 0 - # IATA SSIM anomalies: (1990-09) says 1990-09-16; (1992-02) says 1992-03-14; -# (1996-09) says 1998-03-08. Ignore these for now. +# (1996-09) says 1998-03-08. Ignore these. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Santiago -4:42:40 - LMT 1890 -4:42:40 - SMT 1910 # Santiago Mean Time @@ -466,9 +472,10 @@ Zone Pacific/Easter -7:17:28 - LMT 1890 # Colombia +# Shanks specifies 24:00 for 1992 transition times; go with IATA, +# as it seems implausible to change clocks at midnight New Year's Eve. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule CO 1992 only - May 2 0:00 1:00 S -# Shanks (1995) estimates 1993-04-03 24:00 for this; go with IATA. Rule CO 1992 only - Dec 31 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Bogota -4:56:20 - LMT 1884 Mar 13 @@ -478,7 +485,7 @@ Zone America/Bogota -4:56:20 - LMT 1884 # no information; probably like America/Bogota # Curacao -# Shanks (1995) says that Bottom and Oranjestad have been at -4:00 since +# Shanks says that Bottom and Oranjestad have been at -4:00 since # standard time was introduced on 1912-03-02; and that Kralendijk and Rincon # used Kralendijk Mean Time (-4:33:08) from 1912-02-02 to 1965-01-01. # This all predates our 1970 cutoff, though. @@ -532,22 +539,14 @@ Zone America/Guyana -3:52:40 - LMT 1915 -4:00 - GYT # Paraguay - -# From Bob Devine (1988-01-28): -# Paraguay: First day in October to last in March. Midnight switch?? -# Since 1980. - -# From U. S. Naval Observatory (1989-01-19): -# PARAGUAY 4 H BEHIND UTC -# PARAGUAY 3 H BEHIND UTC OCT 1, '88-MAR 31, '89 - -# From Shanks (1991): +# From Paul Eggert (1999-10-29): +# Shanks (1999) says that spring transitions are from 01:00 -> 02:00, +# and autumn transitions are from 00:00 -> 23:00. Go with earlier +# editions of Shanks, and with the IATA, who say transitions occur at 00:00. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Para 1975 1978 - Oct 1 0:00 1:00 S +Rule Para 1975 1988 - Oct 1 0:00 1:00 S Rule Para 1975 1978 - Mar 1 0:00 0 - -# Shanks says 1979 was all DST. -Rule Para 1980 1991 - Apr 1 0:00 0 - -Rule Para 1980 1988 - Oct 1 0:00 1:00 S +Rule Para 1979 1991 - Apr 1 0:00 0 - Rule Para 1989 only - Oct 22 0:00 1:00 S Rule Para 1990 only - Oct 1 0:00 1:00 S Rule Para 1991 only - Oct 6 0:00 1:00 S @@ -556,8 +555,13 @@ Rule Para 1992 only - Oct 5 0:00 1:00 S Rule Para 1993 only - Mar 31 0:00 0 - Rule Para 1993 1995 - Oct 1 0:00 1:00 S Rule Para 1994 1995 - Feb lastSun 0:00 0 - -Rule Para 1996 1998 - Mar 1 0:00 0 - +Rule Para 1996 only - Mar 1 0:00 0 - +# IATA SSIM (1997-09) says Mar 1; go with Shanks. +Rule Para 1997 only - Feb lastSun 0:00 0 - +Rule Para 1998 only - Mar 1 0:00 0 - Rule Para 1996 max - Oct Sun>=1 0:00 1:00 S +# IATA SSIM (1999-02) says lastSat, not lastSun; (1999-09) reports no date; +# go with Shanks. Rule Para 1999 max - Feb lastSun 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Asuncion -3:50:40 - LMT 1890 @@ -576,8 +580,9 @@ Rule Peru 1987 only - Jan 1 0:00 1:00 S Rule Peru 1987 only - Apr 1 0:00 0 - Rule Peru 1990 only - Jan 1 0:00 1:00 S Rule Peru 1990 only - Apr 1 0:00 0 - -Rule Peru 1993 only - Jan 1 0:00 1:00 S -Rule Peru 1993 only - Apr 1 0:00 0 - +# IATA is ambiguous for 1993/1995; go with Shanks. +Rule Peru 1994 only - Jan 1 0:00 1:00 S +Rule Peru 1994 only - Apr 1 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Lima -5:08:12 - LMT 1890 -5:09 - LMT 1908 Jul 28 # Lima Mean Time @@ -608,7 +613,7 @@ Zone America/Port_of_Spain -4:06:04 - LM # Uruguay # From Paul Eggert <eggert@twinsun.com> (1993-11-18): # Uruguay wins the prize for the strangest peacetime manipulation of the rules. -# From Shanks (1991): +# From Shanks: # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S # Whitman gives 1923 Oct 1; go with Shanks. Rule Uruguay 1923 only - Oct 2 0:00 0:30 HS @@ -650,10 +655,10 @@ Rule Uruguay 1988 only - Mar 14 0:00 0 Rule Uruguay 1988 only - Dec 11 0:00 1:00 S Rule Uruguay 1989 only - Mar 12 0:00 0 - Rule Uruguay 1989 only - Oct 29 0:00 1:00 S +# Shanks says no DST was observed in 1990/1 and 1991/2, +# and that 1992/3's DST was from 10-25 to 03-01. Go with IATA. Rule Uruguay 1990 1992 - Mar Sun>=1 0:00 0 - Rule Uruguay 1990 1991 - Oct Sun>=21 0:00 1:00 S -# Shanks's 4th edition (1995) says no DST was observed in 1990/1 and 1991/2, -# and that 1992/3's DST was from 10-25 to 03-01. Go with IATA. Rule Uruguay 1992 only - Oct 18 0:00 1:00 S Rule Uruguay 1993 only - Feb 28 0:00 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] diff -durpN glibc-2.1.2/timezone/test-tz.c glibc-2.1.3/timezone/test-tz.c --- glibc-2.1.2/timezone/test-tz.c Thu May 21 08:55:24 1998 +++ glibc-2.1.3/timezone/test-tz.c Tue Nov 9 20:53:23 1999 @@ -7,11 +7,11 @@ struct { const char * env; time_t expected; } tests[] = { - {"TZ=MST", 832935315}, - {"TZ=", 832910115}, - {"TZ=:UTC", 832910115}, - {"TZ=UTC", 832910115}, - {"TZ=UTC0", 832910115} + {"MST", 832935315}, + {"", 832910115}, + {":UTC", 832910115}, + {"UTC", 832910115}, + {"UTC0", 832910115} }; @@ -34,7 +34,7 @@ main (int argc, char ** argv) for (i = 0; i < sizeof (tests) / sizeof (tests[0]); ++i) { - putenv (tests[i].env); + setenv ("TZ", tests[i].env, 1); t = mktime (&tm); if (t != tests[i].expected) { diff -durpN glibc-2.1.2/timezone/tst-timezone.c glibc-2.1.3/timezone/tst-timezone.c --- glibc-2.1.2/timezone/tst-timezone.c Wed Aug 18 16:54:29 1999 +++ glibc-2.1.3/timezone/tst-timezone.c Tue Nov 9 20:53:23 1999 @@ -49,6 +49,8 @@ static const struct test_times tests[] = { NULL, 0, 0 } }; +/* This string will be used for `putenv' calls. */ +char envstring[100]; void print_tzvars (void) @@ -123,7 +125,8 @@ main (int argc, char ** argv) { struct tm tmBuf = {0, 0, 0, 10, 3, 98, 0, 0, -1}; char buf[200]; - putenv ("TZ=Europe/London"); + strcpy (envstring, "TZ=Europe/London"); + putenv (envstring); t = mktime (&tmBuf); snprintf (buf, sizeof (buf), "TZ=%s %ld %d %d %d %d %d %d %d %d %d", getenv ("TZ"), t, @@ -145,7 +148,8 @@ main (int argc, char ** argv) { struct tm tmBuf = {0, 0, 0, 10, 3, 98, 0, 0, -1}; char buf[200]; - putenv ("TZ=GMT"); + strcpy (envstring, "TZ=GMT"); + /* No putenv call needed! */ t = mktime (&tmBuf); snprintf (buf, sizeof (buf), "TZ=%s %ld %d %d %d %d %d %d %d %d %d", getenv ("TZ"), t, diff -durpN glibc-2.1.2/timezone/tzselect.ksh glibc-2.1.3/timezone/tzselect.ksh --- glibc-2.1.2/timezone/tzselect.ksh Fri May 29 02:44:30 1998 +++ glibc-2.1.3/timezone/tzselect.ksh Mon Oct 4 12:58:47 1999 @@ -1,4 +1,7 @@ #! @KSH@ + +# '@(#)tzselect.ksh 1.7' + # Ask the user about the time zone, and output the resulting TZ value to stdout. # Interact with the user via stderr and stdin. @@ -289,5 +292,17 @@ Universal Time is now: $UTdate." do : done -# Output the answer. +case $SHELL in +*csh) file=.login line="setenv TZ '$TZ'";; +*) file=.profile line="TZ='$TZ'; export TZ" +esac + +echo >&2 " +You can make this change permanent for yourself by appending the line + $line +to the file '$file' in your home directory; then log out and log in again. + +Here is that TZ value again, this time on standard output so that you +can use the $0 command in shell scripts:" + echo "$TZ" diff -durpN glibc-2.1.2/timezone/zone.tab glibc-2.1.3/timezone/zone.tab --- glibc-2.1.2/timezone/zone.tab Sun Mar 28 16:19:03 1999 +++ glibc-2.1.3/timezone/zone.tab Thu Jan 20 17:40:46 2000 @@ -1,3 +1,5 @@ +# @(#)zone.tab 1.18 +# # TZ zone descriptions # # From Paul Eggert <eggert@twinsun.com> (1996-08-05): @@ -76,7 +78,8 @@ BR -0712-04812 America/Araguaina Tocanti BR -0940-03543 America/Maceio Alagoas, Sergipe BR -2332-04637 America/Sao_Paulo S & SE Brazil (BA, GO, DF, MG, ES, RJ, SP, PR, SC, RS) BR -1535-05605 America/Cuiaba Mato Grosso, Mato Grosso do Sul -BR -0846-06354 America/Porto_Velho W Para, Rondonia, Roraima +BR -0846-06354 America/Porto_Velho W Para, Rondonia +BR +0249-06040 America/Boa_Vista Roraima BR -0308-06001 America/Manaus Amazonas BR -0934-06731 America/Porto_Acre Acre BS +2505-07721 America/Nassau @@ -88,14 +91,15 @@ CA +4734-05243 America/St_Johns Newfound CA +4439-06336 America/Halifax Atlantic Time - Nova Scotia (most places), NB, W Labrador, E Quebec & PEI CA +4612-05957 America/Glace_Bay Atlantic Time - Nova Scotia - places that did not observe DST 1966-1971 CA +5320-06025 America/Goose_Bay Atlantic Time - E Labrador -CA +6608-06544 America/Pangnirtung Atlantic Time - Northwest Territories CA +4531-07334 America/Montreal Eastern Time - Ontario & Quebec - most locations CA +4901-08816 America/Nipigon Eastern Time - Ontario & Quebec - places that did not observe DST 1967-1973 CA +4823-08915 America/Thunder_Bay Eastern Time - Thunder Bay, Ontario -CA +6344-06828 America/Iqaluit Eastern Time - Northwest Territories CA +4953-09709 America/Winnipeg Central Time - Manitoba & west Ontario CA +4843-09429 America/Rainy_River Central Time - Rainy River & Fort Frances, Ontario -CA +6245-09210 America/Rankin_Inlet Central Time - Northwest Territories +CA +6608-06544 America/Pangnirtung Central Time - Pangnirtung, Nunavut +CA +6344-06828 America/Iqaluit Central Time - east Nunavut +CA +6245-09210 America/Rankin_Inlet Central Time - central Nunavut +CA +6903-10505 America/Cambridge_Bay Central Time - west Nunavut CA +5024-10439 America/Regina Central Standard Time - Saskatchewan - most locations CA +5017-10750 America/Swift_Current Central Standard Time - Saskatchewan - midwest CA +5333-11328 America/Edmonton Mountain Time - Alberta, east British Columbia & west Saskatchewan @@ -118,7 +122,6 @@ CL -2710-10927 Pacific/Easter Easter Isl CM +0403+00942 Africa/Douala CN +4545+12641 Asia/Harbin north Manchuria CN +3114+12128 Asia/Shanghai China coast -CN +2217+11409 Asia/Hong_Kong Hong Kong CN +2934+10635 Asia/Chungking China mountains CN +4348+08735 Asia/Urumqi Tibet & Xinjiang CN +3929+07559 Asia/Kashgar Eastern Turkestan @@ -175,6 +178,7 @@ GT +1438-09031 America/Guatemala GU +1328+14445 Pacific/Guam GW +1151-01535 Africa/Bissau GY +0648-05810 America/Guyana +HK +2217+11409 Asia/Hong_Kong HN +1406-08713 America/Tegucigalpa HR +4548+01558 Europe/Zagreb HT +1832-07220 America/Port-au-Prince @@ -221,7 +225,8 @@ LV +5657+02406 Europe/Riga LY +3254+01311 Africa/Tripoli MA +3339-00735 Africa/Casablanca MC +4342+00723 Europe/Monaco -MD +4700+02850 Europe/Chisinau +MD +4700+02850 Europe/Chisinau most locations +MD +4651+02938 Europe/Tiraspol Transdniestria MG -1855+04731 Indian/Antananarivo MH +0709+17112 Pacific/Majuro most locations MH +0905+16720 Pacific/Kwajalein Kwajalein @@ -229,7 +234,8 @@ MK +4159+02126 Europe/Skopje ML +1239-00800 Africa/Bamako southwest Mali ML +1446-00301 Africa/Timbuktu northeast Mali MM +1647+09610 Asia/Rangoon -MN +4755+10653 Asia/Ulan_Bator +MN +4755+10653 Asia/Ulaanbaatar most locations +MN +4801+09139 Asia/Hovd Bayan-Olgiy, Hovd, Uvs MO +2214+11335 Asia/Macao MP +1512+14545 Pacific/Saipan MQ +1436-06105 America/Martinique @@ -239,12 +245,12 @@ MT +3554+01431 Europe/Malta MU -2010+05730 Indian/Mauritius MV +0410+07330 Indian/Maldives MW -1547+03500 Africa/Blantyre -MX +2105-08646 America/Cancun Eastern Time -MX +1924-09909 America/Mexico_City Central Time -MX +2313-10625 America/Mazatlan Mountain Time - most locations +MX +1924-09909 America/Mexico_City Central Time - most locations +MX +2105-08646 America/Cancun Central Time - Quintana Roo +MX +2313-10625 America/Mazatlan Mountain Time - S Baja, Nayarit, Sinaloa MX +2838-10605 America/Chihuahua Mountain Time - Chihuahua -MX +3152-11637 America/Ensenada Pacific Time - most locations -MX +3232-11701 America/Tijuana Pacific Time - north Baja California +MX +2904-11058 America/Hermosillo Mountain Standard Time - Sonora +MX +3232-11701 America/Tijuana Pacific Time MY +0310+10142 Asia/Kuala_Lumpur peninsular Malaysia MY +0133+11020 Asia/Kuching Sabah & Sarawak MZ -2558+03235 Africa/Maputo @@ -327,13 +333,16 @@ TK -0922-17114 Pacific/Fakaofo TM +3757+05823 Asia/Ashkhabad TN +3648+01011 Africa/Tunis TO -2110+17510 Pacific/Tongatapu +TP -0833+12535 Asia/Dili TR +4101+02858 Europe/Istanbul TT +1039-06131 America/Port_of_Spain TV -0831+17913 Pacific/Funafuti TW +2503+12130 Asia/Taipei TZ -0648+03917 Africa/Dar_es_Salaam UA +5026+03031 Europe/Kiev most locations -UA +4457+03406 Europe/Simferopol Crimea +UA +4837+02218 Europe/Uzhgorod Ruthenia +UA +4750+03510 Europe/Zaporozhye Zaporozh'ye, E Lugansk +UA +4457+03406 Europe/Simferopol central Crimea UG +0019+03225 Africa/Kampala UM +1700-16830 Pacific/Johnston Johnston Atoll UM +2813-17722 Pacific/Midway Midway Islands diff -durpN glibc-2.1.2/version.h glibc-2.1.3/version.h --- glibc-2.1.2/version.h Tue May 25 14:30:40 1999 +++ glibc-2.1.3/version.h Mon Sep 13 10:24:32 1999 @@ -1,4 +1,4 @@ /* This file just defines the current version number of libc. */ #define RELEASE "stable" -#define VERSION "2.1.2" +#define VERSION "2.1.3" diff -durpN glibc-2.1.2/wcsmbs/mbrtowc.c glibc-2.1.3/wcsmbs/mbrtowc.c --- glibc-2.1.2/wcsmbs/mbrtowc.c Mon Mar 15 12:40:22 1999 +++ glibc-2.1.3/wcsmbs/mbrtowc.c Thu Jan 20 17:40:46 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996. @@ -90,9 +90,11 @@ __mbrtowc (wchar_t *pwc, const char *s, else result = inbuf - (const unsigned char *) s; } + else if (status == GCONV_INCOMPLETE_INPUT) + result = (size_t) -2; else { - result = status == GCONV_INCOMPLETE_INPUT ? (size_t) -2 : (size_t) -1; + result = (size_t) -1; __set_errno (EILSEQ); } diff -durpN glibc-2.1.2/wcsmbs/mbsrtowcs.c glibc-2.1.3/wcsmbs/mbsrtowcs.c --- glibc-2.1.2/wcsmbs/mbsrtowcs.c Sun Apr 18 10:10:19 1999 +++ glibc-2.1.3/wcsmbs/mbsrtowcs.c Thu Jan 20 17:40:46 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996. @@ -42,7 +42,7 @@ __mbsrtowcs (dst, src, len, ps) mbstate_t *ps; { struct gconv_step_data data; - size_t result = 0; + size_t result; int status; /* Tell where we want the result. */ @@ -61,6 +61,7 @@ __mbsrtowcs (dst, src, len, ps) const unsigned char *inbuf = (const unsigned char *) *src; const unsigned char *srcend = inbuf + strlen (inbuf) + 1; + result = 0; data.outbufend = (char *) buf + sizeof (buf); do { @@ -69,6 +70,8 @@ __mbsrtowcs (dst, src, len, ps) status = (*__wcsmbs_gconv_fcts.towc->fct) (__wcsmbs_gconv_fcts.towc, &data, &inbuf, srcend, &result, 0); + + result += (wchar_t *) data.outbuf - buf; } while (status == GCONV_FULL_OUTPUT); @@ -98,6 +101,8 @@ __mbsrtowcs (dst, src, len, ps) &data, (const unsigned char **) src, srcend, &result, 0); + + result = (wchar_t *) data.outbuf - dst; /* We have to determine whether the last character converted is the NUL character. */ diff -durpN glibc-2.1.2/wcsmbs/wchar.h glibc-2.1.3/wcsmbs/wchar.h --- glibc-2.1.2/wcsmbs/wchar.h Tue Oct 13 08:11:48 1998 +++ glibc-2.1.3/wcsmbs/wchar.h Mon Sep 13 10:47:18 1999 @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997, 1998, 1999 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 @@ -58,8 +58,8 @@ typedef struct #ifndef WCHAR_MIN /* These constants might also be defined in <inttypes.h>. */ -# define WCHAR_MIN ((wchar_t) 0) -# define WCHAR_MAX (~WCHAR_MIN) +# define WCHAR_MIN (0) +# define WCHAR_MAX (0x7fffffff) #endif #ifndef WEOF diff -durpN glibc-2.1.2/wcsmbs/wcrtomb.c glibc-2.1.3/wcsmbs/wcrtomb.c --- glibc-2.1.2/wcsmbs/wcrtomb.c Mon Mar 15 12:40:26 1999 +++ glibc-2.1.3/wcsmbs/wcrtomb.c Thu Jan 20 17:40:46 2000 @@ -1,6 +1,6 @@ -/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -94,7 +94,7 @@ __wcrtomb (char *s, wchar_t wc, mbstate_ if (status == GCONV_OK || status == GCONV_EMPTY_INPUT || status == GCONV_FULL_OUTPUT) - result = data.outbuf - (unsigned char *) s; + result = data.outbuf - (unsigned char *) (s ?: buf); else { result = (size_t) -1; diff -durpN glibc-2.1.2/wctype/wcfuncs.c glibc-2.1.3/wctype/wcfuncs.c --- glibc-2.1.2/wctype/wcfuncs.c Wed Apr 14 05:55:35 1999 +++ glibc-2.1.3/wctype/wcfuncs.c Tue Feb 15 10:59:50 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998, 1999, 2000 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 @@ -18,7 +18,7 @@ #define __NO_WCTYPE #include <wctype.h> -#include <ctype.h> /* For __ctype_tolower and __ctype_toupper. */ +#include <stdint.h> #include "cname-lookup.h" @@ -26,6 +26,10 @@ is not visible in the header. */ extern unsigned int *__ctype32_b; +/* These are not exported. */ +extern const uint32_t *__ctype32_toupper; +extern const uint32_t *__ctype32_tolower; + /* Provide real-function versions of all the wctype macros. */ #define func(name, type) \ @@ -76,7 +80,7 @@ wint_t /* Character is not known. Default action is to simply return it. */ return wc; - return (wint_t) __ctype_tolower[idx]; + return (wint_t) __ctype32_tolower[idx]; } wint_t @@ -90,5 +94,5 @@ wint_t /* Character is not known. Default action is to simply return it. */ return wc; - return (wint_t) __ctype_toupper[idx]; + return (wint_t) __ctype32_toupper[idx]; } diff -durpN glibc-2.1.2/wctype/wcfuncs_l.c glibc-2.1.3/wctype/wcfuncs_l.c --- glibc-2.1.2/wctype/wcfuncs_l.c Fri Feb 13 09:35:52 1998 +++ glibc-2.1.3/wctype/wcfuncs_l.c Tue Feb 15 10:59:50 2000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 2000 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 @@ -18,6 +18,12 @@ #define __NO_WCTYPE #include <wctype.h> +#include <endian.h> +#include <stdint.h> +#include "../locale/localeinfo.h" + +#define USE_IN_EXTENDED_LOCALE_MODEL +#include "cname-lookup.h" /* Provide real-function versions of all the wctype macros. */ @@ -40,11 +46,41 @@ func (__iswxdigit_l, _ISwxdigit) wint_t (__towlower_l) (wint_t wc, __locale_t locale) { - return __towctrans_l (wc, locale->__ctype_tolower, locale); + const int32_t *class32_tolower; + size_t idx; + + idx = cname_lookup (wc, locale); + if (idx == ~((size_t) 0)) + return 0; + +#if BYTE_ORDER == BIG_ENDIAN + class32_tolower = (const int32_t *) + locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_TOLOWER32_EB)].string; +#else + class32_tolower = (const int32_t *) + locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_TOLOWER32_EL)].string; +#endif + + return class32_tolower[idx]; } wint_t (__towupper_l) (wint_t wc, __locale_t locale) { - return __towctrans_l (wc, locale->__ctype_toupper, locale); + const int32_t *class32_toupper; + size_t idx; + + idx = cname_lookup (wc, locale); + if (idx == ~((size_t) 0)) + return 0; + +#if BYTE_ORDER == BIG_ENDIAN + class32_toupper = (const int32_t *) + locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_TOUPPER32_EB)].string; +#else + class32_toupper = (const int32_t *) + locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_TOUPPER32_EL)].string; +#endif + + return class32_toupper[idx]; } diff -durpN glibc-2.1.2/wctype/wctype.h glibc-2.1.3/wctype/wctype.h --- glibc-2.1.2/wctype/wctype.h Tue Feb 16 09:10:35 1999 +++ glibc-2.1.3/wctype/wctype.h Mon Sep 13 10:47:30 1999 @@ -235,21 +235,6 @@ extern wint_t towupper __P ((wint_t __wc /* Map the wide character WC using the mapping described by DESC. */ extern wint_t __towctrans __P ((wint_t __wc, wctrans_t __desc)); -#if __GNUC__ >= 2 && defined __OPTIMIZE__ -/* The tables are always organized in a way which allows direct access - for single byte characters. */ -extern __const __int32_t *__ctype_tolower; /* Case conversions. */ -extern __const __int32_t *__ctype_toupper; /* Case conversions. */ - -# define towlower(wc) \ - (__builtin_constant_p (wc) && (wc) >= L'\0' && (wc) <= L'\xff' \ - ? (wint_t) __ctype_tolower[wc] : towlower (wc)) -# define towuppert(wc) \ - (__builtin_constant_p (wc) && (wc) >= L'\0' && (wc) <= L'\xff' \ - ? (wint_t) __ctype_toupper[wc] : towupper (wc)) - -#endif /* gcc && optimizing */ - __END_DECLS #endif /* need iswxxx. */