diff options
author | Florian Weimer <fweimer@redhat.com> | 2018-05-23 15:26:19 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2018-05-23 15:27:24 +0200 |
commit | 7f9f1ecb710eac4d65bb02785ddf288cac098323 (patch) | |
tree | b93086996bfb5edf0221b895128ef5a6e709dead | |
parent | 5f7b841d3aebdccc2baed27cb4b22ddb08cd7c0c (diff) | |
download | glibc-7f9f1ecb710eac4d65bb02785ddf288cac098323.zip glibc-7f9f1ecb710eac4d65bb02785ddf288cac098323.tar.gz glibc-7f9f1ecb710eac4d65bb02785ddf288cac098323.tar.bz2 |
Switch IDNA implementation to libidn2 [BZ #19728] [BZ #19729] [BZ #22247]
This provides an implementation of the IDNA2008 standard and fixes
CVE-2016-6261, CVE-2016-6263, CVE-2017-14062.
44 files changed, 1351 insertions, 19143 deletions
@@ -1,5 +1,69 @@ 2018-05-23 Florian Weimer <fweimer@redhat.com> + [BZ #19728] + [BZ #19729] + [BZ #22247] + CVE-2016-6261 + CVE-2016-6263 + CVE-2017-14062 + Switch to extern IDNA implementation (libidn2). + * libidn: Remove subdirectory. + * LICENSES: Do not mention licensing conditions for the removed + libidn code. + * config.h.in (HAVE_LIBIDN): Remove. + * include/dlfcn.h (__libc_dlopen): Update comment. + * include/idna.h: Remove file. + * inet/Makefile (routines): Add idna. + (tests-static, tests-internal): Add tst-idna_name_classify. + (LOCALES): Generate locales for tests. + (tst-idna_name_classify.out): Depend on generated locales. + * inet/idna_name_classify.c: New file. + * inet/tst-idna_name_classify.c: Likewise. + * inet/net-internal.h (__idna_to_dns_encoding) + (__idna_from_dns_encoding): Declare. + * inet/net-internal.h (enum idna_name_classification): Define. + (__idna_name_classify): Declare. + * inet/Versions (GLIBC_PRIVATE): Add __idna_to_dns_encoding, + __idna_from_dns_encoding. + * inet/getnameinfo.c (DEPRECATED_NI_IDN): Define. + (gni_host_inet_name): Call __idna_from_dns_encoding. Use punycode + name as a fallback in case of encoding errors. + (getnameinfo): Use DEPRECATED_NI_IDN. + * inet/idna.c: New file. + * nscd/gai.c: Do not include <libidn/idn-stub.c>. + * resolv/Makefile (tests): Add tst-resolv-ai_idn, + tst-resolv-ai_idn-latin1, tst-resolv-ai_idn-nolibidn2. + (modules-names): Add tst-no-libidn2. + (extra-test-objs): Add tst-no-libidn2.os. + (LDFLAGS-tst-no-libidn2.so): Set soname. + (LOCALES): Set, and generate locales. + (tst-resolv-ai_idn): Link with -ldl -lresolv -lpthread. + (tst-resolv-ai_idn-latin1): Likewise. + (tst-resolv-ai_idn-nolibidn2): Likewise. + (tst-resolv-ai_idn.out): Depend on locales. + (tst-resolv-ai_idn-latin1.out): Depend on locales. + (tst-resolv-ai_idn-nolibidn2.out): Depend on locales and + tst-no-libidn2.so. + * resolv/netdb.h (AI_IDN_ALLOW_UNASSIGNED) + (AI_IDN_USE_STD3_ASCII_RULES, NI_IDN_ALLOW_UNASSIGNED) + (NI_IDN_USE_STD3_ASCII_RULES): Deprecate. + * resolv/tst-resolv-ai_idn.c: New file. + * resolv/tst-resolv-ai_idn-latin1.c: Likewise. + * resolv/tst-resolv-ai_idn-nolibidn2.c: Likewise. + * resolv/tst-no-libidn2.c: Likewise. + * support/support_format_addrinfo.c (format_ai_flags): Do not + handle AI_IDN_ALLOW_UNASSIGNED, AI_IDN_USE_STD3_ASCII_RULES. + * sysdeps/posix/getaddrinfo.c (DEPRECATED_AI_IDN): Define. + (gaih_inet): Call __idna_to_dns_encoding and + __idna_from_dns_encoding, and use the original (punycode) name if + __idna_from_dns_encoding fails due to an encoding error. + (getaddrinfo): Use DEPRECATED_AI_IDN. + * sysdeps/unix/inet/Subdirs (libidn): Remove. + * sysdeps/unix/inet/configure: Remove file. + * sysdeps/unix/inet/configure.ac: Likewise. + +2018-05-23 Florian Weimer <fweimer@redhat.com> + Implement allocate_once. * include/allocate_once.h: New file. * misc/allocate_once.c: Likewise. @@ -248,75 +248,6 @@ Public License, version 2.1 or later - see the file COPYING.LIB for details. If you did not receive a copy of the license with this program, please see <http://www.gnu.org/licenses/> to obtain a copy. -The libidn code is copyright Simon Josefsson, with portions copyright -The Internet Society, Tom Tromey and Red Hat, Inc.: - -Copyright (C) 2002, 2003, 2004, 2011 Simon Josefsson - -This file is part of GNU Libidn. - -GNU Libidn is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -GNU Libidn is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - -The following notice applies to portions of libidn/nfkc.c: - -This file contains functions from GLIB, including gutf8.c and -gunidecomp.c, all licensed under LGPL and copyright hold by: - -Copyright (C) 1999, 2000 Tom Tromey -Copyright 2000 Red Hat, Inc. - -The following applies to portions of libidn/punycode.c and -libidn/punycode.h: - -This file is derived from RFC 3492bis written by Adam M. Costello. - -Disclaimer and license: Regarding this entire document or any -portion of it (including the pseudocode and C code), the author -makes no guarantees and is not responsible for any damage resulting -from its use. The author grants irrevocable permission to anyone -to use, modify, and distribute it in any way that does not diminish -the rights of anyone else to use, modify, and distribute it, -provided that redistributed derivative works do not contain -misleading author or version information. Derivative works need -not be licensed under similar terms. - -Copyright (C) The Internet Society (2003). All Rights Reserved. - -This document and translations of it may be copied and furnished to -others, and derivative works that comment on or otherwise explain it -or assist in its implementation may be prepared, copied, published -and distributed, in whole or in part, without restriction of any -kind, provided that the above copyright notice and this paragraph are -included on all such copies and derivative works. However, this -document itself may not be modified in any way, such as by removing -the copyright notice or references to the Internet Society or other -Internet organizations, except as needed for the purpose of -developing Internet standards in which case the procedures for -copyrights defined in the Internet Standards process must be -followed, or as required to translate it into languages other than -English. - -The limited permissions granted above are perpetual and will not be -revoked by the Internet Society or its successors or assigns. - -This document and the information contained herein is provided on an -"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING -TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING -BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION -HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - The file inet/rcmd.c is under a UCB copyright and the following: Copyright (C) 1998 WIDE Project. @@ -31,6 +31,16 @@ Major new features: * Building and running on GNU/Hurd systems now works without out-of-tree patches. +* IDN domain names in getaddrinfo and getnameinfo now use the system libidn2 + library if installed. libidn2 version 2.0.5 or later is recommended. If + libidn2 is not available, internationalized domain names are not encoded + or decoded even if the AI_IDN or NI_IDN flags are passed to getaddrinfo or + getnameinfo. (getaddrinfo calls with non-ASCII names and AI_IDN will fail + with an encoding error.) Flags which used to change the IDN encoding and + decoding behavior (AI_IDN_ALLOW_UNASSIGNED, AI_IDN_USE_STD3_ASCII_RULES, + NI_IDN_ALLOW_UNASSIGNED, NI_IDN_USE_STD3_ASCII_RULES) have been + deprecated. They no longer have any effect. + Deprecated and removed features, and other changes affecting compatibility: * The nonstandard header files <libio.h> and <_G_config.h> are no longer @@ -79,13 +89,25 @@ Deprecated and removed features, and other changes affecting compatibility: and was not declared in a header. Programs should use the lseek64 name for this function instead. +* The AI_IDN_ALLOW_UNASSIGNED and NI_IDN_ALLOW_UNASSIGNED flags for the + getaddrinfo and getnameinfo functions have been deprecated. The behavior + previously selected by them is now always enabled. + +* The AI_IDN_USE_STD3_ASCII_RULES and NI_IDN_USE_STD3_ASCII_RULES flags for + the getaddrinfo and getnameinfo functions have been deprecated. The STD3 + restriction (rejecting '_' in host names, among other things) has been + removed, for increased compatibility with non-IDN name resolution. + Changes to build and runtime requirements: [Add changes to build and runtime requirements here] Security related changes: - [Add security related changes here] + CVE-2016-6261, CVE-2016-6263, CVE-2017-14062: Various vulnerabilities have + been fixed by removing the glibc-internal IDNA implementation and using + the system-provided libidn2 library instead. Originally reported by Hanno + Böck and Christian Weisgerber. The following bugs are resolved with this release: diff --git a/config.h.in b/config.h.in index b0b7cf2..141db21 100644 --- a/config.h.in +++ b/config.h.in @@ -124,9 +124,6 @@ /* Mach/i386 specific: define if the `i386_set_gdt' RPC is available. */ #undef HAVE_I386_SET_GDT -/* Defined of libidn is available. */ -#undef HAVE_LIBIDN - /* Define if inlined system calls are available. */ #undef HAVE_INLINED_SYSCALLS diff --git a/include/dlfcn.h b/include/dlfcn.h index 694e71c..c231309 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -46,7 +46,7 @@ extern char **__libc_argv attribute_hidden; The use of RTLD_NOW also impacts gconv module loading, backtracing (where the unwinder form libgcc_s.so is used), and IDNA functions - (which load libidn), all of which load their respective DSOs on + (which load libidn2), all of which load their respective DSOs on demand, and so should not impact program startup. That is to say that the DSOs are loaded as part of an API call and therefore we will be calling that family of API functions shortly so RTLD_NOW or diff --git a/include/idna.h b/include/idna.h deleted file mode 100644 index dcb271d..0000000 --- a/include/idna.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _IDNA_H -#include <libidn/idna.h> - -extern __typeof (idna_to_ascii_lz) __idna_to_ascii_lz attribute_hidden; -extern __typeof (idna_to_unicode_lzlz ) __idna_to_unicode_lzlz - attribute_hidden; - -#endif diff --git a/inet/Makefile b/inet/Makefile index 5d02c37..09f5ba7 100644 --- a/inet/Makefile +++ b/inet/Makefile @@ -45,7 +45,7 @@ routines := htonl htons \ in6_addr getnameinfo if_index ifaddrs inet6_option \ getipv4sourcefilter setipv4sourcefilter \ getsourcefilter setsourcefilter inet6_opt inet6_rth \ - inet6_scopeid_pton deadline + inet6_scopeid_pton deadline idna idna_name_classify aux := check_pf check_native ifreq @@ -59,12 +59,20 @@ tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \ tests-static += tst-deadline tests-internal += tst-deadline +# tst-idna_name_classify must be linked statically because it tests +# internal functionality. +tests-static += tst-idna_name_classify +tests-internal += tst-idna_name_classify + # tst-inet6_scopeid_pton also needs internal functions but does not # need to be linked statically. tests-internal += tst-inet6_scopeid_pton include ../Rules +LOCALES := en_US.UTF-8 en_US.ISO-8859-1 +include ../gen-locales.mk + ifeq ($(have-thread-library),yes) CFLAGS-gethstbyad_r.c += -fexceptions @@ -103,3 +111,5 @@ endif ifeq ($(build-static-nss),yes) CFLAGS += -DSTATIC_NSS endif + +$(objpfx)tst-idna_name_classify.out: $(gen-locales) diff --git a/inet/Versions b/inet/Versions index 6f663f3..9b3661e 100644 --- a/inet/Versions +++ b/inet/Versions @@ -88,5 +88,7 @@ libc { # Used from nscd. __inet6_scopeid_pton; + __idna_to_dns_encoding; + __idna_from_dns_encoding; } } diff --git a/inet/getnameinfo.c b/inet/getnameinfo.c index a20d20b..5d4978e 100644 --- a/inet/getnameinfo.c +++ b/inet/getnameinfo.c @@ -71,10 +71,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <sys/utsname.h> #include <libc-lock.h> #include <scratch_buffer.h> - -#ifdef HAVE_LIBIDN -# include <idna.h> -#endif +#include <net-internal.h> #ifndef min # define min(x,y) (((x) > (y)) ? (y) : (x)) @@ -82,6 +79,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. libc_freeres_ptr (static char *domain); +/* Former NI_IDN_ALLOW_UNASSIGNED, NI_IDN_USE_STD3_ASCII_RULES flags, + now ignored. */ +#define DEPRECATED_NI_IDN 192 static char * nrl_domainname (void) @@ -285,41 +285,28 @@ gni_host_inet_name (struct scratch_buffer *tmpbuf, /* Terminate the string after the prefix. */ *c = '\0'; -#ifdef HAVE_LIBIDN /* If requested, convert from the IDN format. */ - if (flags & NI_IDN) + bool do_idn = flags & NI_IDN; + char *h_name; + if (do_idn) { - int idn_flags = 0; - if (flags & NI_IDN_ALLOW_UNASSIGNED) - idn_flags |= IDNA_ALLOW_UNASSIGNED; - if (flags & NI_IDN_USE_STD3_ASCII_RULES) - idn_flags |= IDNA_USE_STD3_ASCII_RULES; - - char *out; - int rc = __idna_to_unicode_lzlz (h->h_name, &out, - idn_flags); - if (rc != IDNA_SUCCESS) - { - if (rc == IDNA_MALLOC_ERROR) - return EAI_MEMORY; - if (rc == IDNA_DLOPEN_ERROR) - return EAI_SYSTEM; - return EAI_IDN_ENCODE; - } - - if (out != h->h_name) - { - h->h_name = strdupa (out); - free (out); - } + int rc = __idna_from_dns_encoding (h->h_name, &h_name); + if (rc == EAI_IDN_ENCODE) + /* Use the punycode name as a fallback. */ + do_idn = false; + else if (rc != 0) + return rc; } -#endif + if (!do_idn) + h_name = h->h_name; - size_t len = strlen (h->h_name) + 1; + size_t len = strlen (h_name) + 1; if (len > hostlen) return EAI_OVERFLOW; + memcpy (host, h_name, len); - memcpy (host, h->h_name, len); + if (do_idn) + free (h_name); return 0; } @@ -501,10 +488,7 @@ getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host, int flags) { if (flags & ~(NI_NUMERICHOST|NI_NUMERICSERV|NI_NOFQDN|NI_NAMEREQD|NI_DGRAM -#ifdef HAVE_LIBIDN - |NI_IDN|NI_IDN_ALLOW_UNASSIGNED|NI_IDN_USE_STD3_ASCII_RULES -#endif - )) + |NI_IDN|DEPRECATED_NI_IDN)) return EAI_BADFLAGS; if (sa == NULL || addrlen < sizeof (sa_family_t)) diff --git a/inet/idna.c b/inet/idna.c new file mode 100644 index 0000000..c561bf2 --- /dev/null +++ b/inet/idna.c @@ -0,0 +1,182 @@ +/* IDNA functions, forwarding to implementations in libidn2. + Copyright (C) 2018 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <allocate_once.h> +#include <dlfcn.h> +#include <inet/net-internal.h> +#include <netdb.h> +#include <stdbool.h> + +/* Use the soname and version to locate libidn2, to ensure a + compatible ABI. */ +#define LIBIDN2_SONAME "libidn2.so.0" +#define LIBIDN2_VERSION "IDN2_0.0.0" + +/* Return codes from libidn2. */ +enum + { + IDN2_OK = 0, + IDN2_MALLOC = -100, + }; + +/* Functions from libidn2. */ +struct functions +{ + void *handle; + int (*lookup_ul) (const char *src, char **result, int flags); + int (*to_unicode_lzlz) (const char *name, char **result, int flags); +}; + +static void * +functions_allocate (void *closure) +{ + struct functions *result = malloc (sizeof (*result)); + if (result == NULL) + return NULL; + + void *handle = __libc_dlopen (LIBIDN2_SONAME); + if (handle == NULL) + /* Do not cache open failures. The library may appear + later. */ + { + free (result); + return NULL; + } + + void *ptr_lookup_ul + = __libc_dlvsym (handle, "idn2_lookup_ul", LIBIDN2_VERSION); + void *ptr_to_unicode_lzlz + = __libc_dlvsym (handle, "idn2_to_unicode_lzlz", LIBIDN2_VERSION); + if (ptr_lookup_ul == NULL || ptr_to_unicode_lzlz == NULL) + { + __libc_dlclose (handle); + free (result); + return NULL; + } + + result->handle = handle; + result->lookup_ul = ptr_lookup_ul; + result->to_unicode_lzlz = ptr_to_unicode_lzlz; +#ifdef PTR_MANGLE + PTR_MANGLE (result->lookup_ul); + PTR_MANGLE (result->to_unicode_lzlz); +#endif + + return result; +} + +static void +functions_deallocate (void *closure, void *ptr) +{ + struct functions *functions = ptr; + __libc_dlclose (functions->handle); + free (functions); +} + +/* Ensure that *functions is initialized and return the value of the + pointer. If the library cannot be loaded, return NULL. */ +static inline struct functions * +get_functions (void) +{ + static void *functions; + return allocate_once (&functions, functions_allocate, functions_deallocate, + NULL); +} + +/* strdup with an EAI_* error code. */ +static int +gai_strdup (const char *name, char **result) +{ + char *ptr = __strdup (name); + if (ptr == NULL) + return EAI_MEMORY; + *result = ptr; + return 0; +} + +int +__idna_to_dns_encoding (const char *name, char **result) +{ + switch (__idna_name_classify (name)) + { + case idna_name_ascii: + /* Nothing to convert. */ + return gai_strdup (name, result); + case idna_name_nonascii: + /* Encoding needed. Handled below. */ + break; + case idna_name_nonascii_backslash: + case idna_name_encoding_error: + return EAI_IDN_ENCODE; + case idna_name_memory_error: + return EAI_MEMORY; + case idna_name_error: + return EAI_SYSTEM; + } + + struct functions *functions = get_functions (); + if (functions == NULL) + /* We report this as an encoding error (assuming that libidn2 is + not installed), although the root cause may be a temporary + error condition due to resource shortage. */ + return EAI_IDN_ENCODE; + char *ptr = NULL; + __typeof__ (functions->lookup_ul) fptr = functions->lookup_ul; +#ifdef PTR_DEMANGLE + PTR_DEMANGLE (fptr); +#endif + int ret = fptr (name, &ptr, 0); + if (ret == 0) + { + /* Assume that idn2_free is equivalent to free. */ + *result = ptr; + return 0; + } + else if (ret == IDN2_MALLOC) + return EAI_MEMORY; + else + return EAI_IDN_ENCODE; +} +libc_hidden_def (__idna_to_dns_encoding) + +int +__idna_from_dns_encoding (const char *name, char **result) +{ + struct functions *functions = get_functions (); + if (functions == NULL) + /* Simply use the encoded name, assuming that it is not punycode + (but even a punycode name would be syntactically valid). */ + return gai_strdup (name, result); + char *ptr = NULL; + __typeof__ (functions->to_unicode_lzlz) fptr = functions->to_unicode_lzlz; +#ifdef PTR_DEMANGLE + PTR_DEMANGLE (fptr); +#endif + int ret = fptr (name, &ptr, 0); + if (ret == 0) + { + /* Assume that idn2_free is equivalent to free. */ + *result = ptr; + return 0; + } + else if (ret == IDN2_MALLOC) + return EAI_MEMORY; + else + return EAI_IDN_ENCODE; +} +libc_hidden_def (__idna_from_dns_encoding) diff --git a/inet/idna_name_classify.c b/inet/idna_name_classify.c new file mode 100644 index 0000000..3683e11 --- /dev/null +++ b/inet/idna_name_classify.c @@ -0,0 +1,75 @@ +/* Classify a domain name for IDNA purposes. + Copyright (C) 2018 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <errno.h> +#include <inet/net-internal.h> +#include <stdbool.h> +#include <string.h> +#include <wchar.h> + +enum idna_name_classification +__idna_name_classify (const char *name) +{ + mbstate_t mbs; + memset (&mbs, 0, sizeof (mbs)); + const char *p = name; + const char *end = p + strlen (p) + 1; + bool nonascii = false; + bool backslash = false; + while (true) + { + wchar_t wc; + size_t result = mbrtowc (&wc, p, end - p, &mbs); + if (result == 0) + /* NUL terminator was reached. */ + break; + else if (result == (size_t) -2) + /* Incomplete trailing multi-byte character. This is an + encoding error becaue we received the full name. */ + return idna_name_encoding_error; + else if (result == (size_t) -1) + { + /* Other error, including EILSEQ. */ + if (errno == EILSEQ) + return idna_name_encoding_error; + else if (errno == ENOMEM) + return idna_name_memory_error; + else + return idna_name_error; + } + else + { + /* A wide character was decoded. */ + p += result; + if (wc == L'\\') + backslash = true; + else if (wc > 127) + nonascii = true; + } + } + + if (nonascii) + { + if (backslash) + return idna_name_nonascii_backslash; + else + return idna_name_nonascii; + } + else + return idna_name_ascii; +} diff --git a/inet/net-internal.h b/inet/net-internal.h index 8a9505c..0ba6736 100644 --- a/inet/net-internal.h +++ b/inet/net-internal.h @@ -29,6 +29,33 @@ int __inet6_scopeid_pton (const struct in6_addr *address, libc_hidden_proto (__inet6_scopeid_pton) +/* IDNA conversion. These functions convert domain names between the + current multi-byte character set and the IDNA encoding. On + success, the result string is written to *RESULT (which the caller + has to free), and zero is returned. On error, an EAI_* error code + is returned (see <netdb.h>), and *RESULT is not changed. */ +int __idna_to_dns_encoding (const char *name, char **result); +libc_hidden_proto (__idna_to_dns_encoding) +int __idna_from_dns_encoding (const char *name, char **result); +libc_hidden_proto (__idna_from_dns_encoding) + + +/* Return value of __idna_name_classify below. */ +enum idna_name_classification +{ + idna_name_ascii, /* No non-ASCII characters. */ + idna_name_nonascii, /* Non-ASCII characters, no backslash. */ + idna_name_nonascii_backslash, /* Non-ASCII characters with backslash. */ + idna_name_encoding_error, /* Decoding error. */ + idna_name_memory_error, /* Memory allocation failure. */ + idna_name_error, /* Other error during decoding. Check errno. */ +}; + +/* Check the specified name for non-ASCII characters and backslashes + or encoding errors. */ +enum idna_name_classification __idna_name_classify (const char *name) + attribute_hidden; + /* Deadline handling for enforcing timeouts. Code should call __deadline_current_time to obtain the current time diff --git a/inet/tst-idna_name_classify.c b/inet/tst-idna_name_classify.c new file mode 100644 index 0000000..c4a2c91 --- /dev/null +++ b/inet/tst-idna_name_classify.c @@ -0,0 +1,73 @@ +/* Test IDNA name classification. + Copyright (C) 2018 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#include <inet/net-internal.h> +#include <locale.h> +#include <stdio.h> +#include <support/check.h> + +static void +locale_insensitive_tests (void) +{ + TEST_COMPARE (__idna_name_classify (""), idna_name_ascii); + TEST_COMPARE (__idna_name_classify ("abc"), idna_name_ascii); + TEST_COMPARE (__idna_name_classify (".."), idna_name_ascii); + TEST_COMPARE (__idna_name_classify ("\001abc\177"), idna_name_ascii); + TEST_COMPARE (__idna_name_classify ("\\065bc"), idna_name_ascii); +} + +static int +do_test (void) +{ + puts ("info: C locale tests"); + locale_insensitive_tests (); + TEST_COMPARE (__idna_name_classify ("abc\200def"), + idna_name_encoding_error); + TEST_COMPARE (__idna_name_classify ("abc\200\\def"), + idna_name_encoding_error); + TEST_COMPARE (__idna_name_classify ("abc\377def"), + idna_name_encoding_error); + + puts ("info: en_US.ISO-8859-1 locale tests"); + if (setlocale (LC_CTYPE, "en_US.ISO-8859-1") == 0) + FAIL_EXIT1 ("setlocale for en_US.ISO-8859-1: %m\n"); + locale_insensitive_tests (); + TEST_COMPARE (__idna_name_classify ("abc\200def"), idna_name_nonascii); + TEST_COMPARE (__idna_name_classify ("abc\377def"), idna_name_nonascii); + TEST_COMPARE (__idna_name_classify ("abc\\\200def"), + idna_name_nonascii_backslash); + TEST_COMPARE (__idna_name_classify ("abc\200\\def"), + idna_name_nonascii_backslash); + + puts ("info: en_US.UTF-8 locale tests"); + if (setlocale (LC_CTYPE, "en_US.UTF-8") == 0) + FAIL_EXIT1 ("setlocale for en_US.UTF-8: %m\n"); + locale_insensitive_tests (); + TEST_COMPARE (__idna_name_classify ("abc\xc3\x9f""def"), idna_name_nonascii); + TEST_COMPARE (__idna_name_classify ("abc\\\xc3\x9f""def"), + idna_name_nonascii_backslash); + TEST_COMPARE (__idna_name_classify ("abc\xc3\x9f\\def"), + idna_name_nonascii_backslash); + TEST_COMPARE (__idna_name_classify ("abc\200def"), idna_name_encoding_error); + TEST_COMPARE (__idna_name_classify ("abc\xc3""def"), idna_name_encoding_error); + TEST_COMPARE (__idna_name_classify ("abc\xc3"), idna_name_encoding_error); + + return 0; +} + +#include <support/test-driver.c> diff --git a/libidn/Makefile b/libidn/Makefile deleted file mode 100644 index d61bab5..0000000 --- a/libidn/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# Copyright (C) 2003-2018 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 Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, see -# <http://www.gnu.org/licenses/>. - -# Makefile for libidn subdirectory of GNU C Library. - -subdir := libidn - -include ../Makeconfig - -routines = idn-stub - -extra-libs = libcidn -extra-libs-others = $(extra-libs) - -libcidn-routines := punycode toutf8 nfkc stringprep rfc3454 profiles idna \ - iconvme - -libcidn-inhibit-o = $(filter-out .os,$(object-suffixes)) - -include $(..)Rules diff --git a/libidn/Versions b/libidn/Versions deleted file mode 100644 index 0897fd1..0000000 --- a/libidn/Versions +++ /dev/null @@ -1,6 +0,0 @@ -libcidn { - GLIBC_PRIVATE { - idna_to_ascii_lz; - idna_to_unicode_lzlz; - } -} diff --git a/libidn/gunicomp.h b/libidn/gunicomp.h deleted file mode 100644 index 6b738c8..0000000 --- a/libidn/gunicomp.h +++ /dev/null @@ -1,658 +0,0 @@ -#define COMPOSE_FIRST_START 1 -#define COMPOSE_FIRST_SINGLE_START 147 -#define COMPOSE_SECOND_START 357 -#define COMPOSE_SECOND_SINGLE_START 388 - -#define COMPOSE_TABLE_LAST 48 - -static const guint16 compose_data[][256] = { - { /* page 0, index 0 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 147, 148, 149, 0, 0, 1, 2, 3, 4, 5, - 150, 6, 7, 8, 151, 9, 10, 11, 12, 13, 14, 0, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 0, 0, 0, 0, 0, 0, 24, 25, 26, 27, 28, 152, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 153, 154, - 50, 155, 0, 0, 51, 0, 0, 0, 0, 156, 0, 0, 0, 0, 52, 53, 157, 0, 158, 0, - 0, 0, 54, 0, 0, 0, 0, 0, 55, 0, 159, 160, 56, 161, 0, 0, 57, 0, 0, 0, 0, - 162, 0, 0, 0, 0, 58, 59, 163, 0, 164, 0, 0, 0, 60, 0, 0, 0 - }, - { /* page 1, index 1 */ - 0, 0, 61, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 65, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 165, 166, 0, - 0, 0, 0, 167, 168, 0, 0, 0, 0, 0, 0, 169, 170, 171, 172, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 70, 0, 0, 0, 0, 0, 0, 174, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 175, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0 - }, - { /* page 2, index 2 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 177, 178, 179, 180, 0, 0, 0, 0, - 181, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 3, index 3 */ - 357, 358, 359, 360, 361, 0, 362, 363, 364, 365, 366, 367, 368, 0, 0, 369, - 0, 370, 0, 371, 372, 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, 0, 0, 374, - 375, 376, 377, 378, 379, 0, 0, 0, 0, 380, 381, 0, 382, 383, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 384, 0, 0, 385, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, - 72, 0, 73, 0, 74, 0, 0, 0, 0, 0, 75, 0, 184, 0, 0, 0, 76, 0, 0, 0, 77, 0, - 0, 185, 0, 186, 0, 0, 78, 0, 0, 0, 79, 0, 80, 0, 81, 0, 0, 0, 0, 0, 82, - 0, 83, 0, 0, 0, 84, 0, 0, 0, 85, 86, 87, 0, 0, 187, 0, 0, 0, 88, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 4, index 4 */ - 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 189, 0, 90, - 91, 190, 92, 0, 191, 0, 0, 0, 192, 0, 0, 0, 0, 93, 0, 0, 0, 193, 0, 0, 0, - 194, 0, 195, 0, 0, 94, 0, 0, 196, 0, 95, 96, 197, 97, 0, 198, 0, 0, 0, - 199, 0, 0, 0, 0, 98, 0, 0, 0, 200, 0, 0, 0, 201, 0, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 206, 207, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 6, index 5 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 210, 0, 211, 0, 0, 0, 0, 0, 0, 0, 0, 388, 389, 390, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 0, - 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 9, index 6 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, - 216, 0, 0, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, - 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 11, index 7 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 393, 0, 0, 0, 0, 0, 0, 0, 0, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 394, 395, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 396, 0, 0, 0, 0, 0, 0, 0, 102, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 12, index 8 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 0, 398, 0, 0, 0, 103, 0, 0, 0, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 399, - 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 13, index 9 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 401, 0, 0, 0, 0, 0, 0, 0, 104, - 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 402, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 403, 0, 0, 0, 0, 404, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 105, 0, 0, 224, 0, 0, 405, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 16, index 10 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 30, index 11 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 226, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, 0, 0, - 0, 0, 0, 0, 230, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 106, 107, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 233, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 234, 235, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 31, index 12 */ - 108, 109, 236, 237, 238, 239, 240, 241, 110, 111, 242, 243, 244, 245, - 246, 247, 112, 113, 0, 0, 0, 0, 0, 0, 114, 115, 0, 0, 0, 0, 0, 0, 116, - 117, 248, 249, 250, 251, 252, 253, 118, 119, 254, 255, 256, 257, 258, - 259, 120, 121, 0, 0, 0, 0, 0, 0, 122, 123, 0, 0, 0, 0, 0, 0, 124, 125, 0, - 0, 0, 0, 0, 0, 126, 127, 0, 0, 0, 0, 0, 0, 128, 129, 0, 0, 0, 0, 0, 0, 0, - 130, 0, 0, 0, 0, 0, 0, 131, 132, 260, 261, 262, 263, 264, 265, 133, 134, - 266, 267, 268, 269, 270, 271, 272, 0, 0, 0, 273, 0, 0, 0, 0, 0, 0, 0, - 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 0, 0, - 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 136, 0 - }, - { /* page 33, index 13 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 278, 0, 279, 0, 280, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 281, 0, 282, 0, - 283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 34, index 14 */ - 0, 0, 0, 284, 0, 0, 0, 0, 285, 0, 0, 286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, 0, 288, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 289, 0, 0, 0, 0, 0, 0, 290, - 0, 291, 0, 0, 292, 0, 0, 0, 0, 293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 295, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 297, 298, 0, 0, 299, 300, 0, 0, 301, 302, 303, 304, 0, 0, 0, 0, - 305, 306, 0, 0, 307, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 309, 310, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 311, 0, 0, 0, 0, 0, 312, 313, 0, 314, - 0, 0, 0, 0, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 48, index 15 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 319, 0, - 0, 0, 0, 320, 0, 321, 0, 322, 0, 323, 0, 324, 0, 325, 0, 326, 0, 327, 0, - 328, 0, 329, 0, 330, 0, 331, 0, 0, 332, 0, 333, 0, 334, 0, 0, 0, 0, 0, 0, - 137, 0, 0, 138, 0, 0, 139, 0, 0, 140, 0, 0, 141, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 386, 387, - 0, 0, 335, 0, 0, 0, 0, 0, 0, 0, 0, 336, 0, 0, 0, 0, 337, 0, 338, 0, 339, - 0, 340, 0, 341, 0, 342, 0, 343, 0, 344, 0, 345, 0, 346, 0, 347, 0, 348, - 0, 0, 349, 0, 350, 0, 351, 0, 0, 0, 0, 0, 0, 142, 0, 0, 143, 0, 0, 144, - 0, 0, 145, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 352, 353, 354, 355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 0, 0 - } -}; - -static const gint16 compose_table[COMPOSE_TABLE_LAST + 1] = { - 0 /* page 0 */, - 1 /* page 1 */, - 2 /* page 2 */, - 3 /* page 3 */, - 4 /* page 4 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 5 /* page 6 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 6 /* page 9 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 7 /* page 11 */, - 8 /* page 12 */, - 9 /* page 13 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 10 /* page 16 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 11 /* page 30 */, - 12 /* page 31 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 13 /* page 33 */, - 14 /* page 34 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 15 /* page 48 */ -}; - -static const guint16 compose_first_single[][2] = { - { 0x0338, 0x226e }, - { 0x0338, 0x2260 }, - { 0x0338, 0x226f }, - { 0x0307, 0x1e1e }, - { 0x0302, 0x0134 }, - { 0x0307, 0x1e1f }, - { 0x0304, 0x01de }, - { 0x0301, 0x01fa }, - { 0x0301, 0x1e08 }, - { 0x0301, 0x1e2e }, - { 0x0304, 0x022a }, - { 0x0301, 0x01fe }, - { 0x0304, 0x01df }, - { 0x0301, 0x01fb }, - { 0x0301, 0x1e09 }, - { 0x0301, 0x1e2f }, - { 0x0304, 0x022b }, - { 0x0301, 0x01ff }, - { 0x0307, 0x1e64 }, - { 0x0307, 0x1e65 }, - { 0x0307, 0x1e66 }, - { 0x0307, 0x1e67 }, - { 0x0301, 0x1e78 }, - { 0x0301, 0x1e79 }, - { 0x0308, 0x1e7a }, - { 0x0308, 0x1e7b }, - { 0x0307, 0x1e9b }, - { 0x030c, 0x01ee }, - { 0x0304, 0x01ec }, - { 0x0304, 0x01ed }, - { 0x0304, 0x01e0 }, - { 0x0304, 0x01e1 }, - { 0x0306, 0x1e1c }, - { 0x0306, 0x1e1d }, - { 0x0304, 0x0230 }, - { 0x0304, 0x0231 }, - { 0x030c, 0x01ef }, - { 0x0314, 0x1fec }, - { 0x0345, 0x1fb4 }, - { 0x0345, 0x1fc4 }, - { 0x0345, 0x1ff4 }, - { 0x0308, 0x0407 }, - { 0x0301, 0x0403 }, - { 0x0308, 0x04de }, - { 0x0301, 0x040c }, - { 0x0308, 0x04e6 }, - { 0x0308, 0x04f4 }, - { 0x0308, 0x04f8 }, - { 0x0308, 0x04ec }, - { 0x0301, 0x0453 }, - { 0x0308, 0x04df }, - { 0x0301, 0x045c }, - { 0x0308, 0x04e7 }, - { 0x0308, 0x04f5 }, - { 0x0308, 0x04f9 }, - { 0x0308, 0x04ed }, - { 0x0308, 0x0457 }, - { 0x030f, 0x0476 }, - { 0x030f, 0x0477 }, - { 0x0308, 0x04da }, - { 0x0308, 0x04db }, - { 0x0308, 0x04ea }, - { 0x0308, 0x04eb }, - { 0x0654, 0x0624 }, - { 0x0654, 0x0626 }, - { 0x0654, 0x06c2 }, - { 0x0654, 0x06d3 }, - { 0x0654, 0x06c0 }, - { 0x093c, 0x0929 }, - { 0x093c, 0x0931 }, - { 0x093c, 0x0934 }, - { 0x0bd7, 0x0b94 }, - { 0x0bbe, 0x0bcb }, - { 0x0c56, 0x0c48 }, - { 0x0cd5, 0x0cc0 }, - { 0x0cd5, 0x0ccb }, - { 0x0d3e, 0x0d4b }, - { 0x0dca, 0x0ddd }, - { 0x102e, 0x1026 }, - { 0x0304, 0x1e38 }, - { 0x0304, 0x1e39 }, - { 0x0304, 0x1e5c }, - { 0x0304, 0x1e5d }, - { 0x0307, 0x1e68 }, - { 0x0307, 0x1e69 }, - { 0x0302, 0x1ec6 }, - { 0x0302, 0x1ec7 }, - { 0x0302, 0x1ed8 }, - { 0x0302, 0x1ed9 }, - { 0x0345, 0x1f82 }, - { 0x0345, 0x1f83 }, - { 0x0345, 0x1f84 }, - { 0x0345, 0x1f85 }, - { 0x0345, 0x1f86 }, - { 0x0345, 0x1f87 }, - { 0x0345, 0x1f8a }, - { 0x0345, 0x1f8b }, - { 0x0345, 0x1f8c }, - { 0x0345, 0x1f8d }, - { 0x0345, 0x1f8e }, - { 0x0345, 0x1f8f }, - { 0x0345, 0x1f92 }, - { 0x0345, 0x1f93 }, - { 0x0345, 0x1f94 }, - { 0x0345, 0x1f95 }, - { 0x0345, 0x1f96 }, - { 0x0345, 0x1f97 }, - { 0x0345, 0x1f9a }, - { 0x0345, 0x1f9b }, - { 0x0345, 0x1f9c }, - { 0x0345, 0x1f9d }, - { 0x0345, 0x1f9e }, - { 0x0345, 0x1f9f }, - { 0x0345, 0x1fa2 }, - { 0x0345, 0x1fa3 }, - { 0x0345, 0x1fa4 }, - { 0x0345, 0x1fa5 }, - { 0x0345, 0x1fa6 }, - { 0x0345, 0x1fa7 }, - { 0x0345, 0x1faa }, - { 0x0345, 0x1fab }, - { 0x0345, 0x1fac }, - { 0x0345, 0x1fad }, - { 0x0345, 0x1fae }, - { 0x0345, 0x1faf }, - { 0x0345, 0x1fb2 }, - { 0x0345, 0x1fc2 }, - { 0x0345, 0x1ff2 }, - { 0x0345, 0x1fb7 }, - { 0x0345, 0x1fc7 }, - { 0x0345, 0x1ff7 }, - { 0x0338, 0x219a }, - { 0x0338, 0x219b }, - { 0x0338, 0x21ae }, - { 0x0338, 0x21cd }, - { 0x0338, 0x21cf }, - { 0x0338, 0x21ce }, - { 0x0338, 0x2204 }, - { 0x0338, 0x2209 }, - { 0x0338, 0x220c }, - { 0x0338, 0x2224 }, - { 0x0338, 0x2226 }, - { 0x0338, 0x2241 }, - { 0x0338, 0x2244 }, - { 0x0338, 0x2247 }, - { 0x0338, 0x2249 }, - { 0x0338, 0x226d }, - { 0x0338, 0x2262 }, - { 0x0338, 0x2270 }, - { 0x0338, 0x2271 }, - { 0x0338, 0x2274 }, - { 0x0338, 0x2275 }, - { 0x0338, 0x2278 }, - { 0x0338, 0x2279 }, - { 0x0338, 0x2280 }, - { 0x0338, 0x2281 }, - { 0x0338, 0x22e0 }, - { 0x0338, 0x22e1 }, - { 0x0338, 0x2284 }, - { 0x0338, 0x2285 }, - { 0x0338, 0x2288 }, - { 0x0338, 0x2289 }, - { 0x0338, 0x22e2 }, - { 0x0338, 0x22e3 }, - { 0x0338, 0x22ac }, - { 0x0338, 0x22ad }, - { 0x0338, 0x22ae }, - { 0x0338, 0x22af }, - { 0x0338, 0x22ea }, - { 0x0338, 0x22eb }, - { 0x0338, 0x22ec }, - { 0x0338, 0x22ed }, - { 0x3099, 0x3094 }, - { 0x3099, 0x304c }, - { 0x3099, 0x304e }, - { 0x3099, 0x3050 }, - { 0x3099, 0x3052 }, - { 0x3099, 0x3054 }, - { 0x3099, 0x3056 }, - { 0x3099, 0x3058 }, - { 0x3099, 0x305a }, - { 0x3099, 0x305c }, - { 0x3099, 0x305e }, - { 0x3099, 0x3060 }, - { 0x3099, 0x3062 }, - { 0x3099, 0x3065 }, - { 0x3099, 0x3067 }, - { 0x3099, 0x3069 }, - { 0x3099, 0x309e }, - { 0x3099, 0x30f4 }, - { 0x3099, 0x30ac }, - { 0x3099, 0x30ae }, - { 0x3099, 0x30b0 }, - { 0x3099, 0x30b2 }, - { 0x3099, 0x30b4 }, - { 0x3099, 0x30b6 }, - { 0x3099, 0x30b8 }, - { 0x3099, 0x30ba }, - { 0x3099, 0x30bc }, - { 0x3099, 0x30be }, - { 0x3099, 0x30c0 }, - { 0x3099, 0x30c2 }, - { 0x3099, 0x30c5 }, - { 0x3099, 0x30c7 }, - { 0x3099, 0x30c9 }, - { 0x3099, 0x30f7 }, - { 0x3099, 0x30f8 }, - { 0x3099, 0x30f9 }, - { 0x3099, 0x30fa }, - { 0x3099, 0x30fe } -}; -static const guint16 compose_second_single[][2] = { - { 0x0627, 0x0622 }, - { 0x0627, 0x0623 }, - { 0x0627, 0x0625 }, - { 0x09c7, 0x09cb }, - { 0x09c7, 0x09cc }, - { 0x0b47, 0x0b4b }, - { 0x0b47, 0x0b48 }, - { 0x0b47, 0x0b4c }, - { 0x0bc6, 0x0bca }, - { 0x0bc6, 0x0bcc }, - { 0x0cc6, 0x0cca }, - { 0x0cc6, 0x0cc7 }, - { 0x0cc6, 0x0cc8 }, - { 0x0d46, 0x0d4a }, - { 0x0d46, 0x0d4c }, - { 0x0dd9, 0x0dda }, - { 0x0dd9, 0x0ddc }, - { 0x0dd9, 0x0dde } -}; -static const guint16 compose_array[146][31] = { - { 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x0100, 0x0102, 0x0226, 0x00c4, 0x1ea2, 0x00c5, 0, 0x01cd, 0x0200, 0x0202, 0, 0, 0, 0x1ea0, 0, 0x1e00, 0, 0, 0x0104, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e04, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e06, 0, 0, 0, 0 }, - { 0, 0x0106, 0x0108, 0, 0, 0, 0x010a, 0, 0, 0, 0, 0x010c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00c7, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e0a, 0, 0, 0, 0, 0x010e, 0, 0, 0, 0, 0, 0x1e0c, 0, 0, 0, 0x1e10, 0, 0x1e12, 0, 0, 0x1e0e, 0, 0, 0, 0 }, - { 0x00c8, 0x00c9, 0x00ca, 0x1ebc, 0x0112, 0x0114, 0x0116, 0x00cb, 0x1eba, 0, 0, 0x011a, 0x0204, 0x0206, 0, 0, 0, 0x1eb8, 0, 0, 0, 0x0228, 0x0118, 0x1e18, 0, 0x1e1a, 0, 0, 0, 0, 0 }, - { 0, 0x01f4, 0x011c, 0, 0x1e20, 0x011e, 0x0120, 0, 0, 0, 0, 0x01e6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0122, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0x0124, 0, 0, 0, 0x1e22, 0x1e26, 0, 0, 0, 0x021e, 0, 0, 0, 0, 0, 0x1e24, 0, 0, 0, 0x1e28, 0, 0, 0x1e2a, 0, 0, 0, 0, 0, 0 }, - { 0x00cc, 0x00cd, 0x00ce, 0x0128, 0x012a, 0x012c, 0x0130, 0x00cf, 0x1ec8, 0, 0, 0x01cf, 0x0208, 0x020a, 0, 0, 0, 0x1eca, 0, 0, 0, 0, 0x012e, 0, 0, 0x1e2c, 0, 0, 0, 0, 0 }, - { 0, 0x1e30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01e8, 0, 0, 0, 0, 0, 0x1e32, 0, 0, 0, 0x0136, 0, 0, 0, 0, 0x1e34, 0, 0, 0, 0 }, - { 0, 0x0139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x013d, 0, 0, 0, 0, 0, 0x1e36, 0, 0, 0, 0x013b, 0, 0x1e3c, 0, 0, 0x1e3a, 0, 0, 0, 0 }, - { 0, 0x1e3e, 0, 0, 0, 0, 0x1e40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x01f8, 0x0143, 0, 0x00d1, 0, 0, 0x1e44, 0, 0, 0, 0, 0x0147, 0, 0, 0, 0, 0, 0x1e46, 0, 0, 0, 0x0145, 0, 0x1e4a, 0, 0, 0x1e48, 0, 0, 0, 0 }, - { 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x014c, 0x014e, 0x022e, 0x00d6, 0x1ece, 0, 0x0150, 0x01d1, 0x020c, 0x020e, 0, 0, 0x01a0, 0x1ecc, 0, 0, 0, 0, 0x01ea, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x1e54, 0, 0, 0, 0, 0x1e56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x0154, 0, 0, 0, 0, 0x1e58, 0, 0, 0, 0, 0x0158, 0x0210, 0x0212, 0, 0, 0, 0x1e5a, 0, 0, 0, 0x0156, 0, 0, 0, 0, 0x1e5e, 0, 0, 0, 0 }, - { 0, 0x015a, 0x015c, 0, 0, 0, 0x1e60, 0, 0, 0, 0, 0x0160, 0, 0, 0, 0, 0, 0x1e62, 0, 0, 0x0218, 0x015e, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e6a, 0, 0, 0, 0, 0x0164, 0, 0, 0, 0, 0, 0x1e6c, 0, 0, 0x021a, 0x0162, 0, 0x1e70, 0, 0, 0x1e6e, 0, 0, 0, 0 }, - { 0x00d9, 0x00da, 0x00db, 0x0168, 0x016a, 0x016c, 0, 0x00dc, 0x1ee6, 0x016e, 0x0170, 0x01d3, 0x0214, 0x0216, 0, 0, 0x01af, 0x1ee4, 0x1e72, 0, 0, 0, 0x0172, 0x1e76, 0, 0x1e74, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x1e7c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e7e, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1e80, 0x1e82, 0x0174, 0, 0, 0, 0x1e86, 0x1e84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e8a, 0x1e8c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ef2, 0x00dd, 0x0176, 0x1ef8, 0x0232, 0, 0x1e8e, 0x0178, 0x1ef6, 0, 0, 0, 0, 0, 0, 0, 0, 0x1ef4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x0179, 0x1e90, 0, 0, 0, 0x017b, 0, 0, 0, 0, 0x017d, 0, 0, 0, 0, 0, 0x1e92, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e94, 0, 0, 0, 0 }, - { 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x0101, 0x0103, 0x0227, 0x00e4, 0x1ea3, 0x00e5, 0, 0x01ce, 0x0201, 0x0203, 0, 0, 0, 0x1ea1, 0, 0x1e01, 0, 0, 0x0105, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e03, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e05, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e07, 0, 0, 0, 0 }, - { 0, 0x0107, 0x0109, 0, 0, 0, 0x010b, 0, 0, 0, 0, 0x010d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00e7, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e0b, 0, 0, 0, 0, 0x010f, 0, 0, 0, 0, 0, 0x1e0d, 0, 0, 0, 0x1e11, 0, 0x1e13, 0, 0, 0x1e0f, 0, 0, 0, 0 }, - { 0x00e8, 0x00e9, 0x00ea, 0x1ebd, 0x0113, 0x0115, 0x0117, 0x00eb, 0x1ebb, 0, 0, 0x011b, 0x0205, 0x0207, 0, 0, 0, 0x1eb9, 0, 0, 0, 0x0229, 0x0119, 0x1e19, 0, 0x1e1b, 0, 0, 0, 0, 0 }, - { 0, 0x01f5, 0x011d, 0, 0x1e21, 0x011f, 0x0121, 0, 0, 0, 0, 0x01e7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0123, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0x0125, 0, 0, 0, 0x1e23, 0x1e27, 0, 0, 0, 0x021f, 0, 0, 0, 0, 0, 0x1e25, 0, 0, 0, 0x1e29, 0, 0, 0x1e2b, 0, 0x1e96, 0, 0, 0, 0 }, - { 0x00ec, 0x00ed, 0x00ee, 0x0129, 0x012b, 0x012d, 0, 0x00ef, 0x1ec9, 0, 0, 0x01d0, 0x0209, 0x020b, 0, 0, 0, 0x1ecb, 0, 0, 0, 0, 0x012f, 0, 0, 0x1e2d, 0, 0, 0, 0, 0 }, - { 0, 0, 0x0135, 0, 0, 0, 0, 0, 0, 0, 0, 0x01f0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x1e31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x01e9, 0, 0, 0, 0, 0, 0x1e33, 0, 0, 0, 0x0137, 0, 0, 0, 0, 0x1e35, 0, 0, 0, 0 }, - { 0, 0x013a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x013e, 0, 0, 0, 0, 0, 0x1e37, 0, 0, 0, 0x013c, 0, 0x1e3d, 0, 0, 0x1e3b, 0, 0, 0, 0 }, - { 0, 0x1e3f, 0, 0, 0, 0, 0x1e41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x01f9, 0x0144, 0, 0x00f1, 0, 0, 0x1e45, 0, 0, 0, 0, 0x0148, 0, 0, 0, 0, 0, 0x1e47, 0, 0, 0, 0x0146, 0, 0x1e4b, 0, 0, 0x1e49, 0, 0, 0, 0 }, - { 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x014d, 0x014f, 0x022f, 0x00f6, 0x1ecf, 0, 0x0151, 0x01d2, 0x020d, 0x020f, 0, 0, 0x01a1, 0x1ecd, 0, 0, 0, 0, 0x01eb, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x1e55, 0, 0, 0, 0, 0x1e57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x0155, 0, 0, 0, 0, 0x1e59, 0, 0, 0, 0, 0x0159, 0x0211, 0x0213, 0, 0, 0, 0x1e5b, 0, 0, 0, 0x0157, 0, 0, 0, 0, 0x1e5f, 0, 0, 0, 0 }, - { 0, 0x015b, 0x015d, 0, 0, 0, 0x1e61, 0, 0, 0, 0, 0x0161, 0, 0, 0, 0, 0, 0x1e63, 0, 0, 0x0219, 0x015f, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e6b, 0x1e97, 0, 0, 0, 0x0165, 0, 0, 0, 0, 0, 0x1e6d, 0, 0, 0x021b, 0x0163, 0, 0x1e71, 0, 0, 0x1e6f, 0, 0, 0, 0 }, - { 0x00f9, 0x00fa, 0x00fb, 0x0169, 0x016b, 0x016d, 0, 0x00fc, 0x1ee7, 0x016f, 0x0171, 0x01d4, 0x0215, 0x0217, 0, 0, 0x01b0, 0x1ee5, 0x1e73, 0, 0, 0, 0x0173, 0x1e77, 0, 0x1e75, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0x1e7d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e7f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1e81, 0x1e83, 0x0175, 0, 0, 0, 0x1e87, 0x1e85, 0, 0x1e98, 0, 0, 0, 0, 0, 0, 0, 0x1e89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0x1e8b, 0x1e8d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ef3, 0x00fd, 0x0177, 0x1ef9, 0x0233, 0, 0x1e8f, 0x00ff, 0x1ef7, 0x1e99, 0, 0, 0, 0, 0, 0, 0, 0x1ef5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x017a, 0x1e91, 0, 0, 0, 0x017c, 0, 0, 0, 0, 0x017e, 0, 0, 0, 0, 0, 0x1e93, 0, 0, 0, 0, 0, 0, 0, 0, 0x1e95, 0, 0, 0, 0 }, - { 0x1fed, 0x0385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fc1, 0, 0, 0 }, - { 0x1ea6, 0x1ea4, 0, 0x1eaa, 0, 0, 0, 0, 0x1ea8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x01fc, 0, 0, 0x01e2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ec0, 0x1ebe, 0, 0x1ec4, 0, 0, 0, 0, 0x1ec2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ed2, 0x1ed0, 0, 0x1ed6, 0, 0, 0, 0, 0x1ed4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x1e4c, 0, 0, 0x022c, 0, 0, 0x1e4e, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x01db, 0x01d7, 0, 0, 0x01d5, 0, 0, 0, 0, 0, 0, 0x01d9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ea7, 0x1ea5, 0, 0x1eab, 0, 0, 0, 0, 0x1ea9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x01fd, 0, 0, 0x01e3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ec1, 0x1ebf, 0, 0x1ec5, 0, 0, 0, 0, 0x1ec3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ed3, 0x1ed1, 0, 0x1ed7, 0, 0, 0, 0, 0x1ed5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0x1e4d, 0, 0, 0x022d, 0, 0, 0x1e4f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x01dc, 0x01d8, 0, 0, 0x01d6, 0, 0, 0, 0, 0, 0, 0x01da, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1eb0, 0x1eae, 0, 0x1eb4, 0, 0, 0, 0, 0x1eb2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1eb1, 0x1eaf, 0, 0x1eb5, 0, 0, 0, 0, 0x1eb3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1e14, 0x1e16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1e15, 0x1e17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1e50, 0x1e52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1e51, 0x1e53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1edc, 0x1eda, 0, 0x1ee0, 0, 0, 0, 0, 0x1ede, 0, 0, 0, 0, 0, 0, 0, 0, 0x1ee2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1edd, 0x1edb, 0, 0x1ee1, 0, 0, 0, 0, 0x1edf, 0, 0, 0, 0, 0, 0, 0, 0, 0x1ee3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1eea, 0x1ee8, 0, 0x1eee, 0, 0, 0, 0, 0x1eec, 0, 0, 0, 0, 0, 0, 0, 0, 0x1ef0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1eeb, 0x1ee9, 0, 0x1eef, 0, 0, 0, 0, 0x1eed, 0, 0, 0, 0, 0, 0, 0, 0, 0x1ef1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1fba, 0x0386, 0, 0, 0x1fb9, 0x1fb8, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f08, 0x1f09, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fbc, 0, 0 }, - { 0x1fc8, 0x0388, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f18, 0x1f19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1fca, 0x0389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f28, 0x1f29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fcc, 0, 0 }, - { 0x1fda, 0x038a, 0, 0, 0x1fd9, 0x1fd8, 0, 0x03aa, 0, 0, 0, 0, 0, 0, 0x1f38, 0x1f39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ff8, 0x038c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f48, 0x1f49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1fea, 0x038e, 0, 0, 0x1fe9, 0x1fe8, 0, 0x03ab, 0, 0, 0, 0, 0, 0, 0, 0x1f59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1ffa, 0x038f, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f68, 0x1f69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1ffc, 0, 0 }, - { 0x1f70, 0x03ac, 0, 0, 0x1fb1, 0x1fb0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f00, 0x1f01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fb6, 0x1fb3, 0, 0 }, - { 0x1f72, 0x03ad, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f10, 0x1f11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f74, 0x03ae, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f20, 0x1f21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fc6, 0x1fc3, 0, 0 }, - { 0x1f76, 0x03af, 0, 0, 0x1fd1, 0x1fd0, 0, 0x03ca, 0, 0, 0, 0, 0, 0, 0x1f30, 0x1f31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fd6, 0, 0, 0 }, - { 0x1f78, 0x03cc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f40, 0x1f41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fe4, 0x1fe5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f7a, 0x03cd, 0, 0, 0x1fe1, 0x1fe0, 0, 0x03cb, 0, 0, 0, 0, 0, 0, 0x1f50, 0x1f51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fe6, 0, 0, 0 }, - { 0x1f7c, 0x03ce, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f60, 0x1f61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1ff6, 0x1ff3, 0, 0 }, - { 0x1fd2, 0x0390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fd7, 0, 0, 0 }, - { 0x1fe2, 0x03b0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fe7, 0, 0, 0 }, - { 0, 0x03d3, 0, 0, 0, 0, 0, 0x03d4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0x04d0, 0, 0x04d2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x0400, 0, 0, 0, 0, 0x04d6, 0, 0x0401, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0x04c1, 0, 0x04dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x040d, 0, 0, 0, 0x04e2, 0x0419, 0, 0x04e4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0x04ee, 0x040e, 0, 0x04f0, 0, 0, 0x04f2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0x04d1, 0, 0x04d3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x0450, 0, 0, 0, 0, 0x04d7, 0, 0x0451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0x04c2, 0, 0x04dd, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x045d, 0, 0, 0, 0x04e3, 0x0439, 0, 0x04e5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0x04ef, 0x045e, 0, 0x04f1, 0, 0, 0x04f3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0x1eac, 0, 0, 0x1eb6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0, 0, 0x1ead, 0, 0, 0x1eb7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f02, 0x1f04, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f06, 0x1f80, 0, 0 }, - { 0x1f03, 0x1f05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f07, 0x1f81, 0, 0 }, - { 0x1f0a, 0x1f0c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f0e, 0x1f88, 0, 0 }, - { 0x1f0b, 0x1f0d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f0f, 0x1f89, 0, 0 }, - { 0x1f12, 0x1f14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f13, 0x1f15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f1a, 0x1f1c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f1b, 0x1f1d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f22, 0x1f24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f26, 0x1f90, 0, 0 }, - { 0x1f23, 0x1f25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f27, 0x1f91, 0, 0 }, - { 0x1f2a, 0x1f2c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f2e, 0x1f98, 0, 0 }, - { 0x1f2b, 0x1f2d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f2f, 0x1f99, 0, 0 }, - { 0x1f32, 0x1f34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f36, 0, 0, 0 }, - { 0x1f33, 0x1f35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f37, 0, 0, 0 }, - { 0x1f3a, 0x1f3c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f3e, 0, 0, 0 }, - { 0x1f3b, 0x1f3d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f3f, 0, 0, 0 }, - { 0x1f42, 0x1f44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f43, 0x1f45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f4a, 0x1f4c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f4b, 0x1f4d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { 0x1f52, 0x1f54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f56, 0, 0, 0 }, - { 0x1f53, 0x1f55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f57, 0, 0, 0 }, - { 0x1f5b, 0x1f5d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f5f, 0, 0, 0 }, - { 0x1f62, 0x1f64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f66, 0x1fa0, 0, 0 }, - { 0x1f63, 0x1f65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f67, 0x1fa1, 0, 0 }, - { 0x1f6a, 0x1f6c, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f6e, 0x1fa8, 0, 0 }, - { 0x1f6b, 0x1f6d, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1f6f, 0x1fa9, 0, 0 }, - { 0x1fcd, 0x1fce, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fcf, 0, 0, 0 }, - { 0x1fdd, 0x1fde, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1fdf, 0, 0, 0 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3070, 0x3071 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3073, 0x3074 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3076, 0x3077 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3079, 0x307a }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x307c, 0x307d }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x30d0, 0x30d1 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x30d3, 0x30d4 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x30d6, 0x30d7 }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x30d9, 0x30da }, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x30dc, 0x30dd } -}; diff --git a/libidn/gunidecomp.h b/libidn/gunidecomp.h deleted file mode 100644 index e6fc97e..0000000 --- a/libidn/gunidecomp.h +++ /dev/null @@ -1,10362 +0,0 @@ -/* This file is automatically generated. DO NOT EDIT! */ - -#ifndef DECOMP_H -#define DECOMP_H - -#define G_UNICODE_LAST_CHAR 0x10ffff - -#define G_UNICODE_MAX_TABLE_INDEX (0x110000 / 256) - -#define G_UNICODE_LAST_CHAR_PART1 0x2FAFF - -#define G_UNICODE_LAST_PAGE_PART1 762 - -#define G_UNICODE_NOT_PRESENT_OFFSET 65535 - -static const guchar cclass_data[][256] = { - { /* page 3, index 0 */ - 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 230, 230, 232, 220, 220, 220, 220, 232, 216, - 220, 220, 220, 220, 220, 202, 202, 220, 220, 220, 220, 202, 202, 220, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, 1, 1, 1, 1, 1, 220, - 220, 220, 220, 230, 230, 230, 230, 230, 230, 230, 230, 240, 230, 220, - 220, 220, 230, 230, 230, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 234, 234, 233, 230, 230, 230, 230, 230, 230, 230, 230, 230, - 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0 - }, - { /* page 4, index 1 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 5, index 2 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 220, 230, 230, 230, 230, 220, 230, 230, 230, 222, 220, 230, 230, 230, - 230, 230, 230, 0, 220, 220, 220, 220, 220, 230, 230, 220, 230, 230, 222, - 228, 230, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 0, 20, 21, 22, 0, 23, - 0, 24, 25, 0, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 6, index 3 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 230, 230, 220, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 230, 230, 230, 230, 230, 230, 230, 0, 0, 230, 230, 230, 230, 220, - 230, 0, 0, 230, 230, 0, 220, 230, 230, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 7, index 4 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 230, 220, 230, 230, 220, 230, 230, 220, 220, 220, 230, 220, 220, 230, - 220, 230, 230, 230, 220, 230, 220, 230, 220, 230, 220, 230, 230, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 9, index 5 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 0, 0, 0, 230, 220, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 10, index 6 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 11, index 7 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 12, index 8 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 84, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 13, index 9 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 14, index 10 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 103, 103, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 107, 107, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118, 118, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122, 122, 122, 122, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 15, index 11 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 220, 0, 220, 0, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 129, 130, 0, - 132, 0, 0, 0, 0, 0, 130, 130, 130, 130, 0, 0, 130, 0, 230, 230, 9, 0, - 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0 - }, - { /* page 16, index 12 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 23, index 13 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 24, index 14 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 32, index 15 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 1, 1, 230, 230, - 230, 230, 1, 1, 1, 230, 230, 0, 0, 0, 0, 230, 0, 0, 0, 1, 1, 230, 220, - 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 48, index 16 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 218, 228, 232, 222, - 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 251, index 17 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 254, index 18 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }, - { /* page 465, index 19 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 216, 216, 1, 1, 1, 0, 0, 0, 226, 216, 216, 216, 216, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 220, 220, 220, 220, 220, 220, 220, 0, 0, - 230, 230, 230, 230, 230, 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 230, 230, 230, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0 - } -}; - -static const gint16 combining_class_table_part1[763] = { - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 /* page 3 */, - 1 /* page 4 */, - 2 /* page 5 */, - 3 /* page 6 */, - 4 /* page 7 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 5 /* page 9 */, - 6 /* page 10 */, - 7 /* page 11 */, - 8 /* page 12 */, - 9 /* page 13 */, - 10 /* page 14 */, - 11 /* page 15 */, - 12 /* page 16 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 13 /* page 23 */, - 14 /* page 24 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 15 /* page 32 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 16 /* page 48 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 17 /* page 251 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 18 /* page 254 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 19 /* page 465 */, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX -}; - -static const gint16 combining_class_table_part2[768] = { - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX, - 0 + G_UNICODE_MAX_TABLE_INDEX -}; - -typedef struct -{ - gunichar ch; - guint16 canon_offset; - guint16 compat_offset; -} decomposition; - -static const decomposition decomp_table[] = -{ - { 0x00a0, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x00a8, G_UNICODE_NOT_PRESENT_OFFSET, 2 }, - { 0x00aa, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x00af, G_UNICODE_NOT_PRESENT_OFFSET, 8 }, - { 0x00b2, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x00b3, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x00b4, G_UNICODE_NOT_PRESENT_OFFSET, 16 }, - { 0x00b5, G_UNICODE_NOT_PRESENT_OFFSET, 20 }, - { 0x00b8, G_UNICODE_NOT_PRESENT_OFFSET, 23 }, - { 0x00b9, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x00ba, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x00bc, G_UNICODE_NOT_PRESENT_OFFSET, 31 }, - { 0x00bd, G_UNICODE_NOT_PRESENT_OFFSET, 37 }, - { 0x00be, G_UNICODE_NOT_PRESENT_OFFSET, 43 }, - { 0x00c0, 49, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c1, 53, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c2, 57, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c3, 61, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c4, 65, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c5, 69, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c7, 73, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c8, 77, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00c9, 81, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ca, 85, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00cb, 89, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00cc, 93, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00cd, 97, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ce, 101, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00cf, 105, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00d1, 109, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00d2, 113, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00d3, 117, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00d4, 121, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00d5, 125, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00d6, 129, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00d9, 133, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00da, 137, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00db, 141, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00dc, 145, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00dd, 149, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e0, 153, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e1, 157, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e2, 161, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e3, 165, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e4, 169, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e5, 173, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e7, 177, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e8, 181, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00e9, 185, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ea, 189, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00eb, 193, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ec, 197, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ed, 201, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ee, 205, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ef, 209, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00f1, 213, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00f2, 217, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00f3, 221, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00f4, 225, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00f5, 229, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00f6, 233, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00f9, 237, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00fa, 241, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00fb, 245, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00fc, 249, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00fd, 253, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x00ff, 257, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0100, 261, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0101, 265, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0102, 269, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0103, 273, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0104, 277, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0105, 281, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0106, 285, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0107, 289, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0108, 293, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0109, 297, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x010a, 301, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x010b, 305, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x010c, 309, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x010d, 313, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x010e, 317, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x010f, 321, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0112, 325, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0113, 329, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0114, 333, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0115, 337, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0116, 341, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0117, 345, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0118, 349, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0119, 353, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x011a, 357, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x011b, 361, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x011c, 365, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x011d, 369, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x011e, 373, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x011f, 377, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0120, 381, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0121, 385, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0122, 389, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0123, 393, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0124, 397, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0125, 401, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0128, 405, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0129, 409, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x012a, 413, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x012b, 417, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x012c, 421, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x012d, 425, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x012e, 429, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x012f, 433, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0130, 437, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0132, G_UNICODE_NOT_PRESENT_OFFSET, 441 }, - { 0x0133, G_UNICODE_NOT_PRESENT_OFFSET, 444 }, - { 0x0134, 447, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0135, 451, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0136, 455, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0137, 459, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0139, 463, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x013a, 467, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x013b, 471, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x013c, 475, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x013d, 479, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x013e, 483, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x013f, G_UNICODE_NOT_PRESENT_OFFSET, 487 }, - { 0x0140, G_UNICODE_NOT_PRESENT_OFFSET, 491 }, - { 0x0143, 495, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0144, 499, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0145, 503, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0146, 507, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0147, 511, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0148, 515, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0149, G_UNICODE_NOT_PRESENT_OFFSET, 519 }, - { 0x014c, 523, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x014d, 527, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x014e, 531, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x014f, 535, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0150, 539, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0151, 543, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0154, 547, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0155, 551, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0156, 555, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0157, 559, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0158, 563, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0159, 567, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x015a, 571, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x015b, 575, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x015c, 579, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x015d, 583, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x015e, 587, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x015f, 591, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0160, 595, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0161, 599, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0162, 603, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0163, 607, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0164, 611, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0165, 615, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0168, 619, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0169, 623, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x016a, 627, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x016b, 631, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x016c, 635, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x016d, 639, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x016e, 643, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x016f, 647, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0170, 651, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0171, 655, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0172, 659, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0173, 663, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0174, 667, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0175, 671, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0176, 675, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0177, 679, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0178, 683, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0179, 687, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x017a, 691, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x017b, 695, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x017c, 699, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x017d, 703, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x017e, 707, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x017f, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x01a0, 713, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01a1, 717, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01af, 721, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01b0, 725, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01c4, G_UNICODE_NOT_PRESENT_OFFSET, 729 }, - { 0x01c5, G_UNICODE_NOT_PRESENT_OFFSET, 734 }, - { 0x01c6, G_UNICODE_NOT_PRESENT_OFFSET, 739 }, - { 0x01c7, G_UNICODE_NOT_PRESENT_OFFSET, 744 }, - { 0x01c8, G_UNICODE_NOT_PRESENT_OFFSET, 747 }, - { 0x01c9, G_UNICODE_NOT_PRESENT_OFFSET, 750 }, - { 0x01ca, G_UNICODE_NOT_PRESENT_OFFSET, 753 }, - { 0x01cb, G_UNICODE_NOT_PRESENT_OFFSET, 756 }, - { 0x01cc, G_UNICODE_NOT_PRESENT_OFFSET, 759 }, - { 0x01cd, 762, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01ce, 766, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01cf, 770, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d0, 774, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d1, 778, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d2, 782, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d3, 786, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d4, 790, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d5, 794, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d6, 800, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d7, 806, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d8, 812, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01d9, 818, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01da, 824, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01db, 830, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01dc, 836, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01de, 842, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01df, 848, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e0, 854, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e1, 860, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e2, 866, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e3, 871, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e6, 876, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e7, 880, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e8, 884, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01e9, 888, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01ea, 892, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01eb, 896, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01ec, 900, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01ed, 906, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01ee, 912, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01ef, 917, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01f0, 922, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01f1, G_UNICODE_NOT_PRESENT_OFFSET, 926 }, - { 0x01f2, G_UNICODE_NOT_PRESENT_OFFSET, 929 }, - { 0x01f3, G_UNICODE_NOT_PRESENT_OFFSET, 932 }, - { 0x01f4, 935, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01f5, 939, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01f8, 943, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01f9, 947, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01fa, 951, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01fb, 957, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01fc, 963, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01fd, 968, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01fe, 973, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x01ff, 978, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0200, 983, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0201, 987, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0202, 991, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0203, 995, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0204, 999, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0205, 1003, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0206, 1007, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0207, 1011, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0208, 1015, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0209, 1019, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x020a, 1023, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x020b, 1027, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x020c, 1031, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x020d, 1035, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x020e, 1039, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x020f, 1043, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0210, 1047, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0211, 1051, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0212, 1055, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0213, 1059, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0214, 1063, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0215, 1067, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0216, 1071, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0217, 1075, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0218, 1079, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0219, 1083, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x021a, 1087, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x021b, 1091, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x021e, 1095, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x021f, 1099, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0226, 1103, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0227, 1107, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0228, 1111, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0229, 1115, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x022a, 1119, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x022b, 1125, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x022c, 1131, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x022d, 1137, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x022e, 1143, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x022f, 1147, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0230, 1151, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0231, 1157, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0232, 1163, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0233, 1167, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x02b0, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x02b1, G_UNICODE_NOT_PRESENT_OFFSET, 1173 }, - { 0x02b2, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x02b3, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x02b4, G_UNICODE_NOT_PRESENT_OFFSET, 1180 }, - { 0x02b5, G_UNICODE_NOT_PRESENT_OFFSET, 1183 }, - { 0x02b6, G_UNICODE_NOT_PRESENT_OFFSET, 1186 }, - { 0x02b7, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x02b8, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x02d8, G_UNICODE_NOT_PRESENT_OFFSET, 1193 }, - { 0x02d9, G_UNICODE_NOT_PRESENT_OFFSET, 1197 }, - { 0x02da, G_UNICODE_NOT_PRESENT_OFFSET, 1201 }, - { 0x02db, G_UNICODE_NOT_PRESENT_OFFSET, 1205 }, - { 0x02dc, G_UNICODE_NOT_PRESENT_OFFSET, 1209 }, - { 0x02dd, G_UNICODE_NOT_PRESENT_OFFSET, 1213 }, - { 0x02e0, G_UNICODE_NOT_PRESENT_OFFSET, 1217 }, - { 0x02e1, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x02e2, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x02e3, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x02e4, G_UNICODE_NOT_PRESENT_OFFSET, 1224 }, - { 0x0340, 1227, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0341, 1230, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0343, 1233, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0344, 1236, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0374, 1241, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x037a, G_UNICODE_NOT_PRESENT_OFFSET, 1244 }, - { 0x037e, 1248, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0384, G_UNICODE_NOT_PRESENT_OFFSET, 16 }, - { 0x0385, 1250, 1255 }, - { 0x0386, 1261, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0387, 1266, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0388, 1269, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0389, 1274, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x038a, 1279, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x038c, 1284, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x038e, 1289, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x038f, 1294, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0390, 1299, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03aa, 1306, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03ab, 1311, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03ac, 1316, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03ad, 1321, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03ae, 1326, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03af, 1331, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03b0, 1336, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03ca, 1343, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03cb, 1348, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03cc, 1353, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03cd, 1358, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03ce, 1363, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x03d0, G_UNICODE_NOT_PRESENT_OFFSET, 1368 }, - { 0x03d1, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x03d2, G_UNICODE_NOT_PRESENT_OFFSET, 1374 }, - { 0x03d3, 1377, 1289 }, - { 0x03d4, 1382, 1311 }, - { 0x03d5, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x03d6, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x03f0, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x03f1, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x03f2, G_UNICODE_NOT_PRESENT_OFFSET, 1399 }, - { 0x03f4, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x03f5, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x0400, 1408, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0401, 1413, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0403, 1418, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0407, 1423, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x040c, 1428, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x040d, 1433, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x040e, 1438, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0419, 1443, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0439, 1448, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0450, 1453, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0451, 1458, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0453, 1463, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0457, 1468, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x045c, 1473, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x045d, 1478, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x045e, 1483, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0476, 1488, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0477, 1493, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04c1, 1498, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04c2, 1503, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04d0, 1508, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04d1, 1513, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04d2, 1518, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04d3, 1523, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04d6, 1528, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04d7, 1533, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04da, 1538, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04db, 1543, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04dc, 1548, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04dd, 1553, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04de, 1558, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04df, 1563, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04e2, 1568, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04e3, 1573, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04e4, 1578, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04e5, 1583, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04e6, 1588, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04e7, 1593, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04ea, 1598, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04eb, 1603, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04ec, 1608, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04ed, 1613, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04ee, 1618, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04ef, 1623, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f0, 1628, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f1, 1633, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f2, 1638, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f3, 1643, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f4, 1648, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f5, 1653, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f8, 1658, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x04f9, 1663, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0587, G_UNICODE_NOT_PRESENT_OFFSET, 1668 }, - { 0x0622, 1673, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0623, 1678, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0624, 1683, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0625, 1688, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0626, 1693, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0675, G_UNICODE_NOT_PRESENT_OFFSET, 1698 }, - { 0x0676, G_UNICODE_NOT_PRESENT_OFFSET, 1703 }, - { 0x0677, G_UNICODE_NOT_PRESENT_OFFSET, 1708 }, - { 0x0678, G_UNICODE_NOT_PRESENT_OFFSET, 1713 }, - { 0x06c0, 1718, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x06c2, 1723, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x06d3, 1728, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0929, 1733, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0931, 1740, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0934, 1747, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0958, 1754, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0959, 1761, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x095a, 1768, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x095b, 1775, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x095c, 1782, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x095d, 1789, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x095e, 1796, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x095f, 1803, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x09cb, 1810, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x09cc, 1817, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x09dc, 1824, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x09dd, 1831, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x09df, 1838, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0a33, 1845, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0a36, 1852, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0a59, 1859, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0a5a, 1866, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0a5b, 1873, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0a5e, 1880, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0b48, 1887, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0b4b, 1894, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0b4c, 1901, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0b5c, 1908, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0b5d, 1915, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0b94, 1922, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0bca, 1929, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0bcb, 1936, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0bcc, 1943, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0c48, 1950, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0cc0, 1957, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0cc7, 1964, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0cc8, 1971, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0cca, 1978, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0ccb, 1985, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0d4a, 1995, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0d4b, 2002, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0d4c, 2009, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0dda, 2016, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0ddc, 2023, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0ddd, 2030, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0dde, 2040, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0e33, G_UNICODE_NOT_PRESENT_OFFSET, 2047 }, - { 0x0eb3, G_UNICODE_NOT_PRESENT_OFFSET, 2054 }, - { 0x0edc, G_UNICODE_NOT_PRESENT_OFFSET, 2061 }, - { 0x0edd, G_UNICODE_NOT_PRESENT_OFFSET, 2068 }, - { 0x0f0c, G_UNICODE_NOT_PRESENT_OFFSET, 2075 }, - { 0x0f43, 2079, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f4d, 2086, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f52, 2093, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f57, 2100, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f5c, 2107, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f69, 2114, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f73, 2121, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f75, 2128, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f76, 2135, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f77, G_UNICODE_NOT_PRESENT_OFFSET, 2142 }, - { 0x0f78, 2152, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f79, G_UNICODE_NOT_PRESENT_OFFSET, 2159 }, - { 0x0f81, 2169, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f93, 2176, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0f9d, 2183, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0fa2, 2190, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0fa7, 2197, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0fac, 2204, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x0fb9, 2211, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1026, 2218, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e00, 2225, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e01, 2229, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e02, 2233, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e03, 2237, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e04, 2241, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e05, 2245, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e06, 2249, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e07, 2253, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e08, 2257, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e09, 2263, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e0a, 2269, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e0b, 2273, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e0c, 2277, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e0d, 2281, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e0e, 2285, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e0f, 2289, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e10, 2293, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e11, 2297, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e12, 2301, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e13, 2305, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e14, 2309, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e15, 2315, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e16, 2321, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e17, 2327, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e18, 2333, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e19, 2337, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e1a, 2341, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e1b, 2345, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e1c, 2349, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e1d, 2355, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e1e, 2361, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e1f, 2365, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e20, 2369, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e21, 2373, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e22, 2377, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e23, 2381, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e24, 2385, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e25, 2389, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e26, 2393, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e27, 2397, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e28, 2401, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e29, 2405, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e2a, 2409, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e2b, 2413, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e2c, 2417, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e2d, 2421, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e2e, 2425, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e2f, 2431, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e30, 2437, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e31, 2441, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e32, 2445, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e33, 2449, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e34, 2453, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e35, 2457, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e36, 2461, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e37, 2465, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e38, 2469, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e39, 2475, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e3a, 2481, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e3b, 2485, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e3c, 2489, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e3d, 2493, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e3e, 2497, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e3f, 2501, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e40, 2505, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e41, 2509, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e42, 2513, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e43, 2517, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e44, 2521, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e45, 2525, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e46, 2529, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e47, 2533, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e48, 2537, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e49, 2541, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e4a, 2545, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e4b, 2549, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e4c, 2553, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e4d, 2559, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e4e, 2565, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e4f, 2571, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e50, 2577, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e51, 2583, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e52, 2589, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e53, 2595, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e54, 2601, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e55, 2605, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e56, 2609, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e57, 2613, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e58, 2617, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e59, 2621, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e5a, 2625, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e5b, 2629, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e5c, 2633, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e5d, 2639, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e5e, 2645, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e5f, 2649, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e60, 2653, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e61, 2657, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e62, 2661, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e63, 2665, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e64, 2669, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e65, 2675, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e66, 2681, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e67, 2687, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e68, 2693, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e69, 2699, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e6a, 2705, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e6b, 2709, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e6c, 2713, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e6d, 2717, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e6e, 2721, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e6f, 2725, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e70, 2729, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e71, 2733, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e72, 2737, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e73, 2741, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e74, 2745, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e75, 2749, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e76, 2753, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e77, 2757, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e78, 2761, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e79, 2767, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e7a, 2773, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e7b, 2779, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e7c, 2785, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e7d, 2789, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e7e, 2793, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e7f, 2797, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e80, 2801, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e81, 2805, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e82, 2809, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e83, 2813, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e84, 2817, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e85, 2821, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e86, 2825, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e87, 2829, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e88, 2833, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e89, 2837, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e8a, 2841, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e8b, 2845, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e8c, 2849, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e8d, 2853, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e8e, 2857, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e8f, 2861, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e90, 2865, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e91, 2869, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e92, 2873, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e93, 2877, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e94, 2881, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e95, 2885, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e96, 2889, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e97, 2893, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e98, 2897, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e99, 2901, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1e9a, G_UNICODE_NOT_PRESENT_OFFSET, 2905 }, - { 0x1e9b, 2909, 2657 }, - { 0x1ea0, 2914, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea1, 2918, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea2, 2922, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea3, 2926, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea4, 2930, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea5, 2936, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea6, 2942, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea7, 2948, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea8, 2954, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ea9, 2960, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eaa, 2966, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eab, 2972, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eac, 2978, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ead, 2984, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eae, 2990, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eaf, 2996, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb0, 3002, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb1, 3008, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb2, 3014, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb3, 3020, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb4, 3026, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb5, 3032, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb6, 3038, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb7, 3044, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb8, 3050, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eb9, 3054, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eba, 3058, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ebb, 3062, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ebc, 3066, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ebd, 3070, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ebe, 3074, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ebf, 3080, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec0, 3086, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec1, 3092, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec2, 3098, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec3, 3104, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec4, 3110, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec5, 3116, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec6, 3122, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec7, 3128, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec8, 3134, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ec9, 3138, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eca, 3142, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ecb, 3146, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ecc, 3150, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ecd, 3154, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ece, 3158, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ecf, 3162, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed0, 3166, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed1, 3172, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed2, 3178, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed3, 3184, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed4, 3190, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed5, 3196, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed6, 3202, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed7, 3208, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed8, 3214, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ed9, 3220, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eda, 3226, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1edb, 3232, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1edc, 3238, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1edd, 3244, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ede, 3250, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1edf, 3256, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee0, 3262, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee1, 3268, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee2, 3274, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee3, 3280, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee4, 3286, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee5, 3290, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee6, 3294, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee7, 3298, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee8, 3302, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ee9, 3308, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eea, 3314, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eeb, 3320, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eec, 3326, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eed, 3332, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eee, 3338, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1eef, 3344, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef0, 3350, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef1, 3356, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef2, 3362, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef3, 3366, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef4, 3370, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef5, 3374, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef6, 3378, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef7, 3382, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef8, 3386, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ef9, 3390, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f00, 3394, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f01, 3399, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f02, 3404, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f03, 3411, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f04, 3418, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f05, 3425, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f06, 3432, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f07, 3439, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f08, 3446, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f09, 3451, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f0a, 3456, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f0b, 3463, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f0c, 3470, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f0d, 3477, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f0e, 3484, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f0f, 3491, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f10, 3498, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f11, 3503, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f12, 3508, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f13, 3515, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f14, 3522, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f15, 3529, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f18, 3536, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f19, 3541, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f1a, 3546, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f1b, 3553, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f1c, 3560, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f1d, 3567, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f20, 3574, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f21, 3579, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f22, 3584, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f23, 3591, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f24, 3598, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f25, 3605, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f26, 3612, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f27, 3619, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f28, 3626, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f29, 3631, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f2a, 3636, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f2b, 3643, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f2c, 3650, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f2d, 3657, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f2e, 3664, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f2f, 3671, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f30, 3678, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f31, 3683, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f32, 3688, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f33, 3695, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f34, 3702, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f35, 3709, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f36, 3716, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f37, 3723, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f38, 3730, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f39, 3735, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f3a, 3740, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f3b, 3747, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f3c, 3754, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f3d, 3761, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f3e, 3768, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f3f, 3775, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f40, 3782, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f41, 3787, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f42, 3792, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f43, 3799, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f44, 3806, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f45, 3813, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f48, 3820, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f49, 3825, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f4a, 3830, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f4b, 3837, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f4c, 3844, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f4d, 3851, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f50, 3858, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f51, 3863, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f52, 3868, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f53, 3875, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f54, 3882, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f55, 3889, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f56, 3896, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f57, 3903, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f59, 3910, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f5b, 3915, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f5d, 3922, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f5f, 3929, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f60, 3936, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f61, 3941, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f62, 3946, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f63, 3953, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f64, 3960, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f65, 3967, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f66, 3974, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f67, 3981, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f68, 3988, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f69, 3993, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f6a, 3998, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f6b, 4005, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f6c, 4012, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f6d, 4019, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f6e, 4026, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f6f, 4033, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f70, 4040, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f71, 1316, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f72, 4045, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f73, 1321, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f74, 4050, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f75, 1326, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f76, 4055, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f77, 1331, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f78, 4060, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f79, 1353, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f7a, 4065, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f7b, 1358, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f7c, 4070, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f7d, 1363, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f80, 4075, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f81, 4082, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f82, 4089, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f83, 4098, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f84, 4107, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f85, 4116, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f86, 4125, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f87, 4134, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f88, 4143, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f89, 4150, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f8a, 4157, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f8b, 4166, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f8c, 4175, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f8d, 4184, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f8e, 4193, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f8f, 4202, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f90, 4211, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f91, 4218, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f92, 4225, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f93, 4234, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f94, 4243, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f95, 4252, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f96, 4261, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f97, 4270, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f98, 4279, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f99, 4286, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f9a, 4293, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f9b, 4302, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f9c, 4311, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f9d, 4320, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f9e, 4329, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1f9f, 4338, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa0, 4347, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa1, 4354, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa2, 4361, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa3, 4370, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa4, 4379, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa5, 4388, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa6, 4397, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa7, 4406, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa8, 4415, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fa9, 4422, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1faa, 4429, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fab, 4438, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fac, 4447, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fad, 4456, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fae, 4465, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1faf, 4474, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb0, 4483, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb1, 4488, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb2, 4493, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb3, 4500, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb4, 4505, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb6, 4512, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb7, 4517, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb8, 4524, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fb9, 4529, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fba, 4534, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fbb, 1261, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fbc, 4539, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fbd, G_UNICODE_NOT_PRESENT_OFFSET, 4544 }, - { 0x1fbe, 4548, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fbf, G_UNICODE_NOT_PRESENT_OFFSET, 4544 }, - { 0x1fc0, G_UNICODE_NOT_PRESENT_OFFSET, 4551 }, - { 0x1fc1, 4555, 4560 }, - { 0x1fc2, 4566, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fc3, 4573, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fc4, 4578, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fc6, 4585, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fc7, 4590, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fc8, 4597, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fc9, 1269, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fca, 4602, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fcb, 1274, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fcc, 4607, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fcd, 4612, 4618 }, - { 0x1fce, 4624, 4630 }, - { 0x1fcf, 4636, 4642 }, - { 0x1fd0, 4648, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fd1, 4653, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fd2, 4658, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fd3, 1299, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fd6, 4665, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fd7, 4670, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fd8, 4677, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fd9, 4682, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fda, 4687, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fdb, 1279, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fdd, 4692, 4698 }, - { 0x1fde, 4704, 4710 }, - { 0x1fdf, 4716, 4722 }, - { 0x1fe0, 4728, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe1, 4733, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe2, 4738, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe3, 1336, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe4, 4745, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe5, 4750, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe6, 4755, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe7, 4760, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe8, 4767, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fe9, 4772, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fea, 4777, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1feb, 1289, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fec, 4782, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1fed, 4787, 4792 }, - { 0x1fee, 1250, 1255 }, - { 0x1fef, 4798, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ff2, 4800, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ff3, 4807, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ff4, 4812, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ff6, 4819, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ff7, 4824, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ff8, 4831, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ff9, 1284, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ffa, 4836, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ffb, 1294, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ffc, 4841, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1ffd, 4846, 16 }, - { 0x1ffe, G_UNICODE_NOT_PRESENT_OFFSET, 4849 }, - { 0x2000, 4853, 0 }, - { 0x2001, 4857, 0 }, - { 0x2002, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2003, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2004, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2005, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2006, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2007, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2008, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2009, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x200a, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2011, G_UNICODE_NOT_PRESENT_OFFSET, 4861 }, - { 0x2017, G_UNICODE_NOT_PRESENT_OFFSET, 4865 }, - { 0x2024, G_UNICODE_NOT_PRESENT_OFFSET, 4869 }, - { 0x2025, G_UNICODE_NOT_PRESENT_OFFSET, 4871 }, - { 0x2026, G_UNICODE_NOT_PRESENT_OFFSET, 4874 }, - { 0x202f, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2033, G_UNICODE_NOT_PRESENT_OFFSET, 4878 }, - { 0x2034, G_UNICODE_NOT_PRESENT_OFFSET, 4885 }, - { 0x2036, G_UNICODE_NOT_PRESENT_OFFSET, 4895 }, - { 0x2037, G_UNICODE_NOT_PRESENT_OFFSET, 4902 }, - { 0x203c, G_UNICODE_NOT_PRESENT_OFFSET, 4912 }, - { 0x203e, G_UNICODE_NOT_PRESENT_OFFSET, 4915 }, - { 0x2047, G_UNICODE_NOT_PRESENT_OFFSET, 4919 }, - { 0x2048, G_UNICODE_NOT_PRESENT_OFFSET, 4922 }, - { 0x2049, G_UNICODE_NOT_PRESENT_OFFSET, 4925 }, - { 0x2057, G_UNICODE_NOT_PRESENT_OFFSET, 4928 }, - { 0x205f, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x2070, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x2071, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x2074, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x2075, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x2076, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x2077, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x2078, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x2079, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x207a, G_UNICODE_NOT_PRESENT_OFFSET, 4957 }, - { 0x207b, G_UNICODE_NOT_PRESENT_OFFSET, 4959 }, - { 0x207c, G_UNICODE_NOT_PRESENT_OFFSET, 4963 }, - { 0x207d, G_UNICODE_NOT_PRESENT_OFFSET, 4965 }, - { 0x207e, G_UNICODE_NOT_PRESENT_OFFSET, 4967 }, - { 0x207f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x2080, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x2081, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x2082, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x2083, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x2084, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x2085, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x2086, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x2087, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x2088, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x2089, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x208a, G_UNICODE_NOT_PRESENT_OFFSET, 4957 }, - { 0x208b, G_UNICODE_NOT_PRESENT_OFFSET, 4959 }, - { 0x208c, G_UNICODE_NOT_PRESENT_OFFSET, 4963 }, - { 0x208d, G_UNICODE_NOT_PRESENT_OFFSET, 4965 }, - { 0x208e, G_UNICODE_NOT_PRESENT_OFFSET, 4967 }, - { 0x20a8, G_UNICODE_NOT_PRESENT_OFFSET, 4971 }, - { 0x2100, G_UNICODE_NOT_PRESENT_OFFSET, 4974 }, - { 0x2101, G_UNICODE_NOT_PRESENT_OFFSET, 4978 }, - { 0x2102, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x2103, G_UNICODE_NOT_PRESENT_OFFSET, 4984 }, - { 0x2105, G_UNICODE_NOT_PRESENT_OFFSET, 4988 }, - { 0x2106, G_UNICODE_NOT_PRESENT_OFFSET, 4992 }, - { 0x2107, G_UNICODE_NOT_PRESENT_OFFSET, 4996 }, - { 0x2109, G_UNICODE_NOT_PRESENT_OFFSET, 4999 }, - { 0x210a, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x210b, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x210c, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x210d, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x210e, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x210f, G_UNICODE_NOT_PRESENT_OFFSET, 5007 }, - { 0x2110, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x2111, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x2112, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x2113, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x2115, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x2116, G_UNICODE_NOT_PRESENT_OFFSET, 5016 }, - { 0x2119, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x211a, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x211b, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x211c, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x211d, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x2120, G_UNICODE_NOT_PRESENT_OFFSET, 5025 }, - { 0x2121, G_UNICODE_NOT_PRESENT_OFFSET, 5028 }, - { 0x2122, G_UNICODE_NOT_PRESENT_OFFSET, 5032 }, - { 0x2124, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x2126, 5037, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2128, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x212a, 5040, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x212b, 69, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x212c, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x212d, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x212f, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x2130, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x2131, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x2133, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x2134, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x2135, G_UNICODE_NOT_PRESENT_OFFSET, 5052 }, - { 0x2136, G_UNICODE_NOT_PRESENT_OFFSET, 5055 }, - { 0x2137, G_UNICODE_NOT_PRESENT_OFFSET, 5058 }, - { 0x2138, G_UNICODE_NOT_PRESENT_OFFSET, 5061 }, - { 0x2139, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x213d, G_UNICODE_NOT_PRESENT_OFFSET, 5064 }, - { 0x213e, G_UNICODE_NOT_PRESENT_OFFSET, 5067 }, - { 0x213f, G_UNICODE_NOT_PRESENT_OFFSET, 5070 }, - { 0x2140, G_UNICODE_NOT_PRESENT_OFFSET, 5073 }, - { 0x2145, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x2146, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x2147, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x2148, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x2149, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x2153, G_UNICODE_NOT_PRESENT_OFFSET, 5081 }, - { 0x2154, G_UNICODE_NOT_PRESENT_OFFSET, 5087 }, - { 0x2155, G_UNICODE_NOT_PRESENT_OFFSET, 5093 }, - { 0x2156, G_UNICODE_NOT_PRESENT_OFFSET, 5099 }, - { 0x2157, G_UNICODE_NOT_PRESENT_OFFSET, 5105 }, - { 0x2158, G_UNICODE_NOT_PRESENT_OFFSET, 5111 }, - { 0x2159, G_UNICODE_NOT_PRESENT_OFFSET, 5117 }, - { 0x215a, G_UNICODE_NOT_PRESENT_OFFSET, 5123 }, - { 0x215b, G_UNICODE_NOT_PRESENT_OFFSET, 5129 }, - { 0x215c, G_UNICODE_NOT_PRESENT_OFFSET, 5135 }, - { 0x215d, G_UNICODE_NOT_PRESENT_OFFSET, 5141 }, - { 0x215e, G_UNICODE_NOT_PRESENT_OFFSET, 5147 }, - { 0x215f, G_UNICODE_NOT_PRESENT_OFFSET, 5153 }, - { 0x2160, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x2161, G_UNICODE_NOT_PRESENT_OFFSET, 5158 }, - { 0x2162, G_UNICODE_NOT_PRESENT_OFFSET, 5161 }, - { 0x2163, G_UNICODE_NOT_PRESENT_OFFSET, 5165 }, - { 0x2164, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x2165, G_UNICODE_NOT_PRESENT_OFFSET, 5170 }, - { 0x2166, G_UNICODE_NOT_PRESENT_OFFSET, 5173 }, - { 0x2167, G_UNICODE_NOT_PRESENT_OFFSET, 5177 }, - { 0x2168, G_UNICODE_NOT_PRESENT_OFFSET, 5182 }, - { 0x2169, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x216a, G_UNICODE_NOT_PRESENT_OFFSET, 5187 }, - { 0x216b, G_UNICODE_NOT_PRESENT_OFFSET, 5190 }, - { 0x216c, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x216d, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x216e, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x216f, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x2170, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x2171, G_UNICODE_NOT_PRESENT_OFFSET, 5194 }, - { 0x2172, G_UNICODE_NOT_PRESENT_OFFSET, 5197 }, - { 0x2173, G_UNICODE_NOT_PRESENT_OFFSET, 5201 }, - { 0x2174, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x2175, G_UNICODE_NOT_PRESENT_OFFSET, 5206 }, - { 0x2176, G_UNICODE_NOT_PRESENT_OFFSET, 5209 }, - { 0x2177, G_UNICODE_NOT_PRESENT_OFFSET, 5213 }, - { 0x2178, G_UNICODE_NOT_PRESENT_OFFSET, 5218 }, - { 0x2179, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x217a, G_UNICODE_NOT_PRESENT_OFFSET, 5221 }, - { 0x217b, G_UNICODE_NOT_PRESENT_OFFSET, 5224 }, - { 0x217c, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x217d, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x217e, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x217f, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x219a, 5232, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x219b, 5238, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x21ae, 5244, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x21cd, 5250, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x21ce, 5256, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x21cf, 5262, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2204, 5268, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2209, 5274, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x220c, 5280, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2224, 5286, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2226, 5292, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x222c, G_UNICODE_NOT_PRESENT_OFFSET, 5298 }, - { 0x222d, G_UNICODE_NOT_PRESENT_OFFSET, 5305 }, - { 0x222f, G_UNICODE_NOT_PRESENT_OFFSET, 5315 }, - { 0x2230, G_UNICODE_NOT_PRESENT_OFFSET, 5322 }, - { 0x2241, 5332, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2244, 5338, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2247, 5344, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2249, 5350, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2260, 5356, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2262, 5360, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x226d, 5366, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x226e, 5372, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x226f, 5376, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2270, 5380, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2271, 5386, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2274, 5392, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2275, 5398, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2278, 5404, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2279, 5410, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2280, 5416, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2281, 5422, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2284, 5428, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2285, 5434, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2288, 5440, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2289, 5446, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22ac, 5452, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22ad, 5458, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22ae, 5464, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22af, 5470, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22e0, 5476, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22e1, 5482, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22e2, 5488, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22e3, 5494, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22ea, 5500, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22eb, 5506, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22ec, 5512, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x22ed, 5518, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2329, 5524, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x232a, 5528, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2460, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x2461, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x2462, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x2463, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x2464, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x2465, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x2466, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x2467, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x2468, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x2469, G_UNICODE_NOT_PRESENT_OFFSET, 5532 }, - { 0x246a, G_UNICODE_NOT_PRESENT_OFFSET, 5535 }, - { 0x246b, G_UNICODE_NOT_PRESENT_OFFSET, 5538 }, - { 0x246c, G_UNICODE_NOT_PRESENT_OFFSET, 5541 }, - { 0x246d, G_UNICODE_NOT_PRESENT_OFFSET, 5544 }, - { 0x246e, G_UNICODE_NOT_PRESENT_OFFSET, 5547 }, - { 0x246f, G_UNICODE_NOT_PRESENT_OFFSET, 5550 }, - { 0x2470, G_UNICODE_NOT_PRESENT_OFFSET, 5553 }, - { 0x2471, G_UNICODE_NOT_PRESENT_OFFSET, 5556 }, - { 0x2472, G_UNICODE_NOT_PRESENT_OFFSET, 5559 }, - { 0x2473, G_UNICODE_NOT_PRESENT_OFFSET, 5562 }, - { 0x2474, G_UNICODE_NOT_PRESENT_OFFSET, 5565 }, - { 0x2475, G_UNICODE_NOT_PRESENT_OFFSET, 5569 }, - { 0x2476, G_UNICODE_NOT_PRESENT_OFFSET, 5573 }, - { 0x2477, G_UNICODE_NOT_PRESENT_OFFSET, 5577 }, - { 0x2478, G_UNICODE_NOT_PRESENT_OFFSET, 5581 }, - { 0x2479, G_UNICODE_NOT_PRESENT_OFFSET, 5585 }, - { 0x247a, G_UNICODE_NOT_PRESENT_OFFSET, 5589 }, - { 0x247b, G_UNICODE_NOT_PRESENT_OFFSET, 5593 }, - { 0x247c, G_UNICODE_NOT_PRESENT_OFFSET, 5597 }, - { 0x247d, G_UNICODE_NOT_PRESENT_OFFSET, 5601 }, - { 0x247e, G_UNICODE_NOT_PRESENT_OFFSET, 5606 }, - { 0x247f, G_UNICODE_NOT_PRESENT_OFFSET, 5611 }, - { 0x2480, G_UNICODE_NOT_PRESENT_OFFSET, 5616 }, - { 0x2481, G_UNICODE_NOT_PRESENT_OFFSET, 5621 }, - { 0x2482, G_UNICODE_NOT_PRESENT_OFFSET, 5626 }, - { 0x2483, G_UNICODE_NOT_PRESENT_OFFSET, 5631 }, - { 0x2484, G_UNICODE_NOT_PRESENT_OFFSET, 5636 }, - { 0x2485, G_UNICODE_NOT_PRESENT_OFFSET, 5641 }, - { 0x2486, G_UNICODE_NOT_PRESENT_OFFSET, 5646 }, - { 0x2487, G_UNICODE_NOT_PRESENT_OFFSET, 5651 }, - { 0x2488, G_UNICODE_NOT_PRESENT_OFFSET, 5656 }, - { 0x2489, G_UNICODE_NOT_PRESENT_OFFSET, 5659 }, - { 0x248a, G_UNICODE_NOT_PRESENT_OFFSET, 5662 }, - { 0x248b, G_UNICODE_NOT_PRESENT_OFFSET, 5665 }, - { 0x248c, G_UNICODE_NOT_PRESENT_OFFSET, 5668 }, - { 0x248d, G_UNICODE_NOT_PRESENT_OFFSET, 5671 }, - { 0x248e, G_UNICODE_NOT_PRESENT_OFFSET, 5674 }, - { 0x248f, G_UNICODE_NOT_PRESENT_OFFSET, 5677 }, - { 0x2490, G_UNICODE_NOT_PRESENT_OFFSET, 5680 }, - { 0x2491, G_UNICODE_NOT_PRESENT_OFFSET, 5683 }, - { 0x2492, G_UNICODE_NOT_PRESENT_OFFSET, 5687 }, - { 0x2493, G_UNICODE_NOT_PRESENT_OFFSET, 5691 }, - { 0x2494, G_UNICODE_NOT_PRESENT_OFFSET, 5695 }, - { 0x2495, G_UNICODE_NOT_PRESENT_OFFSET, 5699 }, - { 0x2496, G_UNICODE_NOT_PRESENT_OFFSET, 5703 }, - { 0x2497, G_UNICODE_NOT_PRESENT_OFFSET, 5707 }, - { 0x2498, G_UNICODE_NOT_PRESENT_OFFSET, 5711 }, - { 0x2499, G_UNICODE_NOT_PRESENT_OFFSET, 5715 }, - { 0x249a, G_UNICODE_NOT_PRESENT_OFFSET, 5719 }, - { 0x249b, G_UNICODE_NOT_PRESENT_OFFSET, 5723 }, - { 0x249c, G_UNICODE_NOT_PRESENT_OFFSET, 5727 }, - { 0x249d, G_UNICODE_NOT_PRESENT_OFFSET, 5731 }, - { 0x249e, G_UNICODE_NOT_PRESENT_OFFSET, 5735 }, - { 0x249f, G_UNICODE_NOT_PRESENT_OFFSET, 5739 }, - { 0x24a0, G_UNICODE_NOT_PRESENT_OFFSET, 5743 }, - { 0x24a1, G_UNICODE_NOT_PRESENT_OFFSET, 5747 }, - { 0x24a2, G_UNICODE_NOT_PRESENT_OFFSET, 5751 }, - { 0x24a3, G_UNICODE_NOT_PRESENT_OFFSET, 5755 }, - { 0x24a4, G_UNICODE_NOT_PRESENT_OFFSET, 5759 }, - { 0x24a5, G_UNICODE_NOT_PRESENT_OFFSET, 5763 }, - { 0x24a6, G_UNICODE_NOT_PRESENT_OFFSET, 5767 }, - { 0x24a7, G_UNICODE_NOT_PRESENT_OFFSET, 5771 }, - { 0x24a8, G_UNICODE_NOT_PRESENT_OFFSET, 5775 }, - { 0x24a9, G_UNICODE_NOT_PRESENT_OFFSET, 5779 }, - { 0x24aa, G_UNICODE_NOT_PRESENT_OFFSET, 5783 }, - { 0x24ab, G_UNICODE_NOT_PRESENT_OFFSET, 5787 }, - { 0x24ac, G_UNICODE_NOT_PRESENT_OFFSET, 5791 }, - { 0x24ad, G_UNICODE_NOT_PRESENT_OFFSET, 5795 }, - { 0x24ae, G_UNICODE_NOT_PRESENT_OFFSET, 5799 }, - { 0x24af, G_UNICODE_NOT_PRESENT_OFFSET, 5803 }, - { 0x24b0, G_UNICODE_NOT_PRESENT_OFFSET, 5807 }, - { 0x24b1, G_UNICODE_NOT_PRESENT_OFFSET, 5811 }, - { 0x24b2, G_UNICODE_NOT_PRESENT_OFFSET, 5815 }, - { 0x24b3, G_UNICODE_NOT_PRESENT_OFFSET, 5819 }, - { 0x24b4, G_UNICODE_NOT_PRESENT_OFFSET, 5823 }, - { 0x24b5, G_UNICODE_NOT_PRESENT_OFFSET, 5827 }, - { 0x24b6, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x24b7, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x24b8, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x24b9, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x24ba, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x24bb, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x24bc, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x24bd, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x24be, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x24bf, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x24c0, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x24c1, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x24c2, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x24c3, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x24c4, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x24c5, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x24c6, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x24c7, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x24c8, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x24c9, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x24ca, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x24cb, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x24cc, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x24cd, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x24ce, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x24cf, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x24d0, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x24d1, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x24d2, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x24d3, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x24d4, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x24d5, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x24d6, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x24d7, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x24d8, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x24d9, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x24da, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x24db, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x24dc, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x24dd, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x24de, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x24df, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x24e0, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x24e1, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x24e2, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x24e3, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x24e4, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x24e5, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x24e6, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x24e7, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x24e8, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x24e9, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x24ea, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x2a0c, G_UNICODE_NOT_PRESENT_OFFSET, 5865 }, - { 0x2a74, G_UNICODE_NOT_PRESENT_OFFSET, 5878 }, - { 0x2a75, G_UNICODE_NOT_PRESENT_OFFSET, 5882 }, - { 0x2a76, G_UNICODE_NOT_PRESENT_OFFSET, 5885 }, - { 0x2adc, 5889, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2e9f, G_UNICODE_NOT_PRESENT_OFFSET, 5895 }, - { 0x2ef3, G_UNICODE_NOT_PRESENT_OFFSET, 5899 }, - { 0x2f00, G_UNICODE_NOT_PRESENT_OFFSET, 5903 }, - { 0x2f01, G_UNICODE_NOT_PRESENT_OFFSET, 5907 }, - { 0x2f02, G_UNICODE_NOT_PRESENT_OFFSET, 5911 }, - { 0x2f03, G_UNICODE_NOT_PRESENT_OFFSET, 5915 }, - { 0x2f04, G_UNICODE_NOT_PRESENT_OFFSET, 5919 }, - { 0x2f05, G_UNICODE_NOT_PRESENT_OFFSET, 5923 }, - { 0x2f06, G_UNICODE_NOT_PRESENT_OFFSET, 5927 }, - { 0x2f07, G_UNICODE_NOT_PRESENT_OFFSET, 5931 }, - { 0x2f08, G_UNICODE_NOT_PRESENT_OFFSET, 5935 }, - { 0x2f09, G_UNICODE_NOT_PRESENT_OFFSET, 5939 }, - { 0x2f0a, G_UNICODE_NOT_PRESENT_OFFSET, 5943 }, - { 0x2f0b, G_UNICODE_NOT_PRESENT_OFFSET, 5947 }, - { 0x2f0c, G_UNICODE_NOT_PRESENT_OFFSET, 5951 }, - { 0x2f0d, G_UNICODE_NOT_PRESENT_OFFSET, 5955 }, - { 0x2f0e, G_UNICODE_NOT_PRESENT_OFFSET, 5959 }, - { 0x2f0f, G_UNICODE_NOT_PRESENT_OFFSET, 5963 }, - { 0x2f10, G_UNICODE_NOT_PRESENT_OFFSET, 5967 }, - { 0x2f11, G_UNICODE_NOT_PRESENT_OFFSET, 5971 }, - { 0x2f12, G_UNICODE_NOT_PRESENT_OFFSET, 5975 }, - { 0x2f13, G_UNICODE_NOT_PRESENT_OFFSET, 5979 }, - { 0x2f14, G_UNICODE_NOT_PRESENT_OFFSET, 5983 }, - { 0x2f15, G_UNICODE_NOT_PRESENT_OFFSET, 5987 }, - { 0x2f16, G_UNICODE_NOT_PRESENT_OFFSET, 5991 }, - { 0x2f17, G_UNICODE_NOT_PRESENT_OFFSET, 5995 }, - { 0x2f18, G_UNICODE_NOT_PRESENT_OFFSET, 5999 }, - { 0x2f19, G_UNICODE_NOT_PRESENT_OFFSET, 6003 }, - { 0x2f1a, G_UNICODE_NOT_PRESENT_OFFSET, 6007 }, - { 0x2f1b, G_UNICODE_NOT_PRESENT_OFFSET, 6011 }, - { 0x2f1c, G_UNICODE_NOT_PRESENT_OFFSET, 6015 }, - { 0x2f1d, G_UNICODE_NOT_PRESENT_OFFSET, 6019 }, - { 0x2f1e, G_UNICODE_NOT_PRESENT_OFFSET, 6023 }, - { 0x2f1f, G_UNICODE_NOT_PRESENT_OFFSET, 6027 }, - { 0x2f20, G_UNICODE_NOT_PRESENT_OFFSET, 6031 }, - { 0x2f21, G_UNICODE_NOT_PRESENT_OFFSET, 6035 }, - { 0x2f22, G_UNICODE_NOT_PRESENT_OFFSET, 6039 }, - { 0x2f23, G_UNICODE_NOT_PRESENT_OFFSET, 6043 }, - { 0x2f24, G_UNICODE_NOT_PRESENT_OFFSET, 6047 }, - { 0x2f25, G_UNICODE_NOT_PRESENT_OFFSET, 6051 }, - { 0x2f26, G_UNICODE_NOT_PRESENT_OFFSET, 6055 }, - { 0x2f27, G_UNICODE_NOT_PRESENT_OFFSET, 6059 }, - { 0x2f28, G_UNICODE_NOT_PRESENT_OFFSET, 6063 }, - { 0x2f29, G_UNICODE_NOT_PRESENT_OFFSET, 6067 }, - { 0x2f2a, G_UNICODE_NOT_PRESENT_OFFSET, 6071 }, - { 0x2f2b, G_UNICODE_NOT_PRESENT_OFFSET, 6075 }, - { 0x2f2c, G_UNICODE_NOT_PRESENT_OFFSET, 6079 }, - { 0x2f2d, G_UNICODE_NOT_PRESENT_OFFSET, 6083 }, - { 0x2f2e, G_UNICODE_NOT_PRESENT_OFFSET, 6087 }, - { 0x2f2f, G_UNICODE_NOT_PRESENT_OFFSET, 6091 }, - { 0x2f30, G_UNICODE_NOT_PRESENT_OFFSET, 6095 }, - { 0x2f31, G_UNICODE_NOT_PRESENT_OFFSET, 6099 }, - { 0x2f32, G_UNICODE_NOT_PRESENT_OFFSET, 6103 }, - { 0x2f33, G_UNICODE_NOT_PRESENT_OFFSET, 6107 }, - { 0x2f34, G_UNICODE_NOT_PRESENT_OFFSET, 6111 }, - { 0x2f35, G_UNICODE_NOT_PRESENT_OFFSET, 6115 }, - { 0x2f36, G_UNICODE_NOT_PRESENT_OFFSET, 6119 }, - { 0x2f37, G_UNICODE_NOT_PRESENT_OFFSET, 6123 }, - { 0x2f38, G_UNICODE_NOT_PRESENT_OFFSET, 6127 }, - { 0x2f39, G_UNICODE_NOT_PRESENT_OFFSET, 6131 }, - { 0x2f3a, G_UNICODE_NOT_PRESENT_OFFSET, 6135 }, - { 0x2f3b, G_UNICODE_NOT_PRESENT_OFFSET, 6139 }, - { 0x2f3c, G_UNICODE_NOT_PRESENT_OFFSET, 6143 }, - { 0x2f3d, G_UNICODE_NOT_PRESENT_OFFSET, 6147 }, - { 0x2f3e, G_UNICODE_NOT_PRESENT_OFFSET, 6151 }, - { 0x2f3f, G_UNICODE_NOT_PRESENT_OFFSET, 6155 }, - { 0x2f40, G_UNICODE_NOT_PRESENT_OFFSET, 6159 }, - { 0x2f41, G_UNICODE_NOT_PRESENT_OFFSET, 6163 }, - { 0x2f42, G_UNICODE_NOT_PRESENT_OFFSET, 6167 }, - { 0x2f43, G_UNICODE_NOT_PRESENT_OFFSET, 6171 }, - { 0x2f44, G_UNICODE_NOT_PRESENT_OFFSET, 6175 }, - { 0x2f45, G_UNICODE_NOT_PRESENT_OFFSET, 6179 }, - { 0x2f46, G_UNICODE_NOT_PRESENT_OFFSET, 6183 }, - { 0x2f47, G_UNICODE_NOT_PRESENT_OFFSET, 6187 }, - { 0x2f48, G_UNICODE_NOT_PRESENT_OFFSET, 6191 }, - { 0x2f49, G_UNICODE_NOT_PRESENT_OFFSET, 6195 }, - { 0x2f4a, G_UNICODE_NOT_PRESENT_OFFSET, 6199 }, - { 0x2f4b, G_UNICODE_NOT_PRESENT_OFFSET, 6203 }, - { 0x2f4c, G_UNICODE_NOT_PRESENT_OFFSET, 6207 }, - { 0x2f4d, G_UNICODE_NOT_PRESENT_OFFSET, 6211 }, - { 0x2f4e, G_UNICODE_NOT_PRESENT_OFFSET, 6215 }, - { 0x2f4f, G_UNICODE_NOT_PRESENT_OFFSET, 6219 }, - { 0x2f50, G_UNICODE_NOT_PRESENT_OFFSET, 6223 }, - { 0x2f51, G_UNICODE_NOT_PRESENT_OFFSET, 6227 }, - { 0x2f52, G_UNICODE_NOT_PRESENT_OFFSET, 6231 }, - { 0x2f53, G_UNICODE_NOT_PRESENT_OFFSET, 6235 }, - { 0x2f54, G_UNICODE_NOT_PRESENT_OFFSET, 6239 }, - { 0x2f55, G_UNICODE_NOT_PRESENT_OFFSET, 6243 }, - { 0x2f56, G_UNICODE_NOT_PRESENT_OFFSET, 6247 }, - { 0x2f57, G_UNICODE_NOT_PRESENT_OFFSET, 6251 }, - { 0x2f58, G_UNICODE_NOT_PRESENT_OFFSET, 6255 }, - { 0x2f59, G_UNICODE_NOT_PRESENT_OFFSET, 6259 }, - { 0x2f5a, G_UNICODE_NOT_PRESENT_OFFSET, 6263 }, - { 0x2f5b, G_UNICODE_NOT_PRESENT_OFFSET, 6267 }, - { 0x2f5c, G_UNICODE_NOT_PRESENT_OFFSET, 6271 }, - { 0x2f5d, G_UNICODE_NOT_PRESENT_OFFSET, 6275 }, - { 0x2f5e, G_UNICODE_NOT_PRESENT_OFFSET, 6279 }, - { 0x2f5f, G_UNICODE_NOT_PRESENT_OFFSET, 6283 }, - { 0x2f60, G_UNICODE_NOT_PRESENT_OFFSET, 6287 }, - { 0x2f61, G_UNICODE_NOT_PRESENT_OFFSET, 6291 }, - { 0x2f62, G_UNICODE_NOT_PRESENT_OFFSET, 6295 }, - { 0x2f63, G_UNICODE_NOT_PRESENT_OFFSET, 6299 }, - { 0x2f64, G_UNICODE_NOT_PRESENT_OFFSET, 6303 }, - { 0x2f65, G_UNICODE_NOT_PRESENT_OFFSET, 6307 }, - { 0x2f66, G_UNICODE_NOT_PRESENT_OFFSET, 6311 }, - { 0x2f67, G_UNICODE_NOT_PRESENT_OFFSET, 6315 }, - { 0x2f68, G_UNICODE_NOT_PRESENT_OFFSET, 6319 }, - { 0x2f69, G_UNICODE_NOT_PRESENT_OFFSET, 6323 }, - { 0x2f6a, G_UNICODE_NOT_PRESENT_OFFSET, 6327 }, - { 0x2f6b, G_UNICODE_NOT_PRESENT_OFFSET, 6331 }, - { 0x2f6c, G_UNICODE_NOT_PRESENT_OFFSET, 6335 }, - { 0x2f6d, G_UNICODE_NOT_PRESENT_OFFSET, 6339 }, - { 0x2f6e, G_UNICODE_NOT_PRESENT_OFFSET, 6343 }, - { 0x2f6f, G_UNICODE_NOT_PRESENT_OFFSET, 6347 }, - { 0x2f70, G_UNICODE_NOT_PRESENT_OFFSET, 6351 }, - { 0x2f71, G_UNICODE_NOT_PRESENT_OFFSET, 6355 }, - { 0x2f72, G_UNICODE_NOT_PRESENT_OFFSET, 6359 }, - { 0x2f73, G_UNICODE_NOT_PRESENT_OFFSET, 6363 }, - { 0x2f74, G_UNICODE_NOT_PRESENT_OFFSET, 6367 }, - { 0x2f75, G_UNICODE_NOT_PRESENT_OFFSET, 6371 }, - { 0x2f76, G_UNICODE_NOT_PRESENT_OFFSET, 6375 }, - { 0x2f77, G_UNICODE_NOT_PRESENT_OFFSET, 6379 }, - { 0x2f78, G_UNICODE_NOT_PRESENT_OFFSET, 6383 }, - { 0x2f79, G_UNICODE_NOT_PRESENT_OFFSET, 6387 }, - { 0x2f7a, G_UNICODE_NOT_PRESENT_OFFSET, 6391 }, - { 0x2f7b, G_UNICODE_NOT_PRESENT_OFFSET, 6395 }, - { 0x2f7c, G_UNICODE_NOT_PRESENT_OFFSET, 6399 }, - { 0x2f7d, G_UNICODE_NOT_PRESENT_OFFSET, 6403 }, - { 0x2f7e, G_UNICODE_NOT_PRESENT_OFFSET, 6407 }, - { 0x2f7f, G_UNICODE_NOT_PRESENT_OFFSET, 6411 }, - { 0x2f80, G_UNICODE_NOT_PRESENT_OFFSET, 6415 }, - { 0x2f81, G_UNICODE_NOT_PRESENT_OFFSET, 6419 }, - { 0x2f82, G_UNICODE_NOT_PRESENT_OFFSET, 6423 }, - { 0x2f83, G_UNICODE_NOT_PRESENT_OFFSET, 6427 }, - { 0x2f84, G_UNICODE_NOT_PRESENT_OFFSET, 6431 }, - { 0x2f85, G_UNICODE_NOT_PRESENT_OFFSET, 6435 }, - { 0x2f86, G_UNICODE_NOT_PRESENT_OFFSET, 6439 }, - { 0x2f87, G_UNICODE_NOT_PRESENT_OFFSET, 6443 }, - { 0x2f88, G_UNICODE_NOT_PRESENT_OFFSET, 6447 }, - { 0x2f89, G_UNICODE_NOT_PRESENT_OFFSET, 6451 }, - { 0x2f8a, G_UNICODE_NOT_PRESENT_OFFSET, 6455 }, - { 0x2f8b, G_UNICODE_NOT_PRESENT_OFFSET, 6459 }, - { 0x2f8c, G_UNICODE_NOT_PRESENT_OFFSET, 6463 }, - { 0x2f8d, G_UNICODE_NOT_PRESENT_OFFSET, 6467 }, - { 0x2f8e, G_UNICODE_NOT_PRESENT_OFFSET, 6471 }, - { 0x2f8f, G_UNICODE_NOT_PRESENT_OFFSET, 6475 }, - { 0x2f90, G_UNICODE_NOT_PRESENT_OFFSET, 6479 }, - { 0x2f91, G_UNICODE_NOT_PRESENT_OFFSET, 6483 }, - { 0x2f92, G_UNICODE_NOT_PRESENT_OFFSET, 6487 }, - { 0x2f93, G_UNICODE_NOT_PRESENT_OFFSET, 6491 }, - { 0x2f94, G_UNICODE_NOT_PRESENT_OFFSET, 6495 }, - { 0x2f95, G_UNICODE_NOT_PRESENT_OFFSET, 6499 }, - { 0x2f96, G_UNICODE_NOT_PRESENT_OFFSET, 6503 }, - { 0x2f97, G_UNICODE_NOT_PRESENT_OFFSET, 6507 }, - { 0x2f98, G_UNICODE_NOT_PRESENT_OFFSET, 6511 }, - { 0x2f99, G_UNICODE_NOT_PRESENT_OFFSET, 6515 }, - { 0x2f9a, G_UNICODE_NOT_PRESENT_OFFSET, 6519 }, - { 0x2f9b, G_UNICODE_NOT_PRESENT_OFFSET, 6523 }, - { 0x2f9c, G_UNICODE_NOT_PRESENT_OFFSET, 6527 }, - { 0x2f9d, G_UNICODE_NOT_PRESENT_OFFSET, 6531 }, - { 0x2f9e, G_UNICODE_NOT_PRESENT_OFFSET, 6535 }, - { 0x2f9f, G_UNICODE_NOT_PRESENT_OFFSET, 6539 }, - { 0x2fa0, G_UNICODE_NOT_PRESENT_OFFSET, 6543 }, - { 0x2fa1, G_UNICODE_NOT_PRESENT_OFFSET, 6547 }, - { 0x2fa2, G_UNICODE_NOT_PRESENT_OFFSET, 6551 }, - { 0x2fa3, G_UNICODE_NOT_PRESENT_OFFSET, 6555 }, - { 0x2fa4, G_UNICODE_NOT_PRESENT_OFFSET, 6559 }, - { 0x2fa5, G_UNICODE_NOT_PRESENT_OFFSET, 6563 }, - { 0x2fa6, G_UNICODE_NOT_PRESENT_OFFSET, 6567 }, - { 0x2fa7, G_UNICODE_NOT_PRESENT_OFFSET, 6571 }, - { 0x2fa8, G_UNICODE_NOT_PRESENT_OFFSET, 6575 }, - { 0x2fa9, G_UNICODE_NOT_PRESENT_OFFSET, 6579 }, - { 0x2faa, G_UNICODE_NOT_PRESENT_OFFSET, 6583 }, - { 0x2fab, G_UNICODE_NOT_PRESENT_OFFSET, 6587 }, - { 0x2fac, G_UNICODE_NOT_PRESENT_OFFSET, 6591 }, - { 0x2fad, G_UNICODE_NOT_PRESENT_OFFSET, 6595 }, - { 0x2fae, G_UNICODE_NOT_PRESENT_OFFSET, 6599 }, - { 0x2faf, G_UNICODE_NOT_PRESENT_OFFSET, 6603 }, - { 0x2fb0, G_UNICODE_NOT_PRESENT_OFFSET, 6607 }, - { 0x2fb1, G_UNICODE_NOT_PRESENT_OFFSET, 6611 }, - { 0x2fb2, G_UNICODE_NOT_PRESENT_OFFSET, 6615 }, - { 0x2fb3, G_UNICODE_NOT_PRESENT_OFFSET, 6619 }, - { 0x2fb4, G_UNICODE_NOT_PRESENT_OFFSET, 6623 }, - { 0x2fb5, G_UNICODE_NOT_PRESENT_OFFSET, 6627 }, - { 0x2fb6, G_UNICODE_NOT_PRESENT_OFFSET, 6631 }, - { 0x2fb7, G_UNICODE_NOT_PRESENT_OFFSET, 6635 }, - { 0x2fb8, G_UNICODE_NOT_PRESENT_OFFSET, 6639 }, - { 0x2fb9, G_UNICODE_NOT_PRESENT_OFFSET, 6643 }, - { 0x2fba, G_UNICODE_NOT_PRESENT_OFFSET, 6647 }, - { 0x2fbb, G_UNICODE_NOT_PRESENT_OFFSET, 6651 }, - { 0x2fbc, G_UNICODE_NOT_PRESENT_OFFSET, 6655 }, - { 0x2fbd, G_UNICODE_NOT_PRESENT_OFFSET, 6659 }, - { 0x2fbe, G_UNICODE_NOT_PRESENT_OFFSET, 6663 }, - { 0x2fbf, G_UNICODE_NOT_PRESENT_OFFSET, 6667 }, - { 0x2fc0, G_UNICODE_NOT_PRESENT_OFFSET, 6671 }, - { 0x2fc1, G_UNICODE_NOT_PRESENT_OFFSET, 6675 }, - { 0x2fc2, G_UNICODE_NOT_PRESENT_OFFSET, 6679 }, - { 0x2fc3, G_UNICODE_NOT_PRESENT_OFFSET, 6683 }, - { 0x2fc4, G_UNICODE_NOT_PRESENT_OFFSET, 6687 }, - { 0x2fc5, G_UNICODE_NOT_PRESENT_OFFSET, 6691 }, - { 0x2fc6, G_UNICODE_NOT_PRESENT_OFFSET, 6695 }, - { 0x2fc7, G_UNICODE_NOT_PRESENT_OFFSET, 6699 }, - { 0x2fc8, G_UNICODE_NOT_PRESENT_OFFSET, 6703 }, - { 0x2fc9, G_UNICODE_NOT_PRESENT_OFFSET, 6707 }, - { 0x2fca, G_UNICODE_NOT_PRESENT_OFFSET, 6711 }, - { 0x2fcb, G_UNICODE_NOT_PRESENT_OFFSET, 6715 }, - { 0x2fcc, G_UNICODE_NOT_PRESENT_OFFSET, 6719 }, - { 0x2fcd, G_UNICODE_NOT_PRESENT_OFFSET, 6723 }, - { 0x2fce, G_UNICODE_NOT_PRESENT_OFFSET, 6727 }, - { 0x2fcf, G_UNICODE_NOT_PRESENT_OFFSET, 6731 }, - { 0x2fd0, G_UNICODE_NOT_PRESENT_OFFSET, 6735 }, - { 0x2fd1, G_UNICODE_NOT_PRESENT_OFFSET, 6739 }, - { 0x2fd2, G_UNICODE_NOT_PRESENT_OFFSET, 6743 }, - { 0x2fd3, G_UNICODE_NOT_PRESENT_OFFSET, 6747 }, - { 0x2fd4, G_UNICODE_NOT_PRESENT_OFFSET, 6751 }, - { 0x2fd5, G_UNICODE_NOT_PRESENT_OFFSET, 6755 }, - { 0x3000, G_UNICODE_NOT_PRESENT_OFFSET, 0 }, - { 0x3036, G_UNICODE_NOT_PRESENT_OFFSET, 6759 }, - { 0x3038, G_UNICODE_NOT_PRESENT_OFFSET, 5995 }, - { 0x3039, G_UNICODE_NOT_PRESENT_OFFSET, 6763 }, - { 0x303a, G_UNICODE_NOT_PRESENT_OFFSET, 6767 }, - { 0x304c, 6771, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x304e, 6778, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3050, 6785, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3052, 6792, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3054, 6799, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3056, 6806, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3058, 6813, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x305a, 6820, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x305c, 6827, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x305e, 6834, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3060, 6841, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3062, 6848, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3065, 6855, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3067, 6862, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3069, 6869, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3070, 6876, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3071, 6883, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3073, 6890, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3074, 6897, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3076, 6904, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3077, 6911, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3079, 6918, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x307a, 6925, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x307c, 6932, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x307d, 6939, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x3094, 6946, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x309b, G_UNICODE_NOT_PRESENT_OFFSET, 6953 }, - { 0x309c, G_UNICODE_NOT_PRESENT_OFFSET, 6958 }, - { 0x309e, 6963, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x309f, G_UNICODE_NOT_PRESENT_OFFSET, 6970 }, - { 0x30ac, 6977, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30ae, 6984, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30b0, 6991, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30b2, 6998, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30b4, 7005, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30b6, 7012, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30b8, 7019, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30ba, 7026, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30bc, 7033, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30be, 7040, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30c0, 7047, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30c2, 7054, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30c5, 7061, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30c7, 7068, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30c9, 7075, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30d0, 7082, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30d1, 7089, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30d3, 7096, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30d4, 7103, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30d6, 7110, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30d7, 7117, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30d9, 7124, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30da, 7131, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30dc, 7138, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30dd, 7145, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30f4, 7152, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30f7, 7159, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30f8, 7166, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30f9, 7173, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30fa, 7180, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30fe, 7187, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x30ff, G_UNICODE_NOT_PRESENT_OFFSET, 7194 }, - { 0x3131, G_UNICODE_NOT_PRESENT_OFFSET, 7201 }, - { 0x3132, G_UNICODE_NOT_PRESENT_OFFSET, 7205 }, - { 0x3133, G_UNICODE_NOT_PRESENT_OFFSET, 7209 }, - { 0x3134, G_UNICODE_NOT_PRESENT_OFFSET, 7213 }, - { 0x3135, G_UNICODE_NOT_PRESENT_OFFSET, 7217 }, - { 0x3136, G_UNICODE_NOT_PRESENT_OFFSET, 7221 }, - { 0x3137, G_UNICODE_NOT_PRESENT_OFFSET, 7225 }, - { 0x3138, G_UNICODE_NOT_PRESENT_OFFSET, 7229 }, - { 0x3139, G_UNICODE_NOT_PRESENT_OFFSET, 7233 }, - { 0x313a, G_UNICODE_NOT_PRESENT_OFFSET, 7237 }, - { 0x313b, G_UNICODE_NOT_PRESENT_OFFSET, 7241 }, - { 0x313c, G_UNICODE_NOT_PRESENT_OFFSET, 7245 }, - { 0x313d, G_UNICODE_NOT_PRESENT_OFFSET, 7249 }, - { 0x313e, G_UNICODE_NOT_PRESENT_OFFSET, 7253 }, - { 0x313f, G_UNICODE_NOT_PRESENT_OFFSET, 7257 }, - { 0x3140, G_UNICODE_NOT_PRESENT_OFFSET, 7261 }, - { 0x3141, G_UNICODE_NOT_PRESENT_OFFSET, 7265 }, - { 0x3142, G_UNICODE_NOT_PRESENT_OFFSET, 7269 }, - { 0x3143, G_UNICODE_NOT_PRESENT_OFFSET, 7273 }, - { 0x3144, G_UNICODE_NOT_PRESENT_OFFSET, 7277 }, - { 0x3145, G_UNICODE_NOT_PRESENT_OFFSET, 7281 }, - { 0x3146, G_UNICODE_NOT_PRESENT_OFFSET, 7285 }, - { 0x3147, G_UNICODE_NOT_PRESENT_OFFSET, 7289 }, - { 0x3148, G_UNICODE_NOT_PRESENT_OFFSET, 7293 }, - { 0x3149, G_UNICODE_NOT_PRESENT_OFFSET, 7297 }, - { 0x314a, G_UNICODE_NOT_PRESENT_OFFSET, 7301 }, - { 0x314b, G_UNICODE_NOT_PRESENT_OFFSET, 7305 }, - { 0x314c, G_UNICODE_NOT_PRESENT_OFFSET, 7309 }, - { 0x314d, G_UNICODE_NOT_PRESENT_OFFSET, 7313 }, - { 0x314e, G_UNICODE_NOT_PRESENT_OFFSET, 7317 }, - { 0x314f, G_UNICODE_NOT_PRESENT_OFFSET, 7321 }, - { 0x3150, G_UNICODE_NOT_PRESENT_OFFSET, 7325 }, - { 0x3151, G_UNICODE_NOT_PRESENT_OFFSET, 7329 }, - { 0x3152, G_UNICODE_NOT_PRESENT_OFFSET, 7333 }, - { 0x3153, G_UNICODE_NOT_PRESENT_OFFSET, 7337 }, - { 0x3154, G_UNICODE_NOT_PRESENT_OFFSET, 7341 }, - { 0x3155, G_UNICODE_NOT_PRESENT_OFFSET, 7345 }, - { 0x3156, G_UNICODE_NOT_PRESENT_OFFSET, 7349 }, - { 0x3157, G_UNICODE_NOT_PRESENT_OFFSET, 7353 }, - { 0x3158, G_UNICODE_NOT_PRESENT_OFFSET, 7357 }, - { 0x3159, G_UNICODE_NOT_PRESENT_OFFSET, 7361 }, - { 0x315a, G_UNICODE_NOT_PRESENT_OFFSET, 7365 }, - { 0x315b, G_UNICODE_NOT_PRESENT_OFFSET, 7369 }, - { 0x315c, G_UNICODE_NOT_PRESENT_OFFSET, 7373 }, - { 0x315d, G_UNICODE_NOT_PRESENT_OFFSET, 7377 }, - { 0x315e, G_UNICODE_NOT_PRESENT_OFFSET, 7381 }, - { 0x315f, G_UNICODE_NOT_PRESENT_OFFSET, 7385 }, - { 0x3160, G_UNICODE_NOT_PRESENT_OFFSET, 7389 }, - { 0x3161, G_UNICODE_NOT_PRESENT_OFFSET, 7393 }, - { 0x3162, G_UNICODE_NOT_PRESENT_OFFSET, 7397 }, - { 0x3163, G_UNICODE_NOT_PRESENT_OFFSET, 7401 }, - { 0x3164, G_UNICODE_NOT_PRESENT_OFFSET, 7405 }, - { 0x3165, G_UNICODE_NOT_PRESENT_OFFSET, 7409 }, - { 0x3166, G_UNICODE_NOT_PRESENT_OFFSET, 7413 }, - { 0x3167, G_UNICODE_NOT_PRESENT_OFFSET, 7417 }, - { 0x3168, G_UNICODE_NOT_PRESENT_OFFSET, 7421 }, - { 0x3169, G_UNICODE_NOT_PRESENT_OFFSET, 7425 }, - { 0x316a, G_UNICODE_NOT_PRESENT_OFFSET, 7429 }, - { 0x316b, G_UNICODE_NOT_PRESENT_OFFSET, 7433 }, - { 0x316c, G_UNICODE_NOT_PRESENT_OFFSET, 7437 }, - { 0x316d, G_UNICODE_NOT_PRESENT_OFFSET, 7441 }, - { 0x316e, G_UNICODE_NOT_PRESENT_OFFSET, 7445 }, - { 0x316f, G_UNICODE_NOT_PRESENT_OFFSET, 7449 }, - { 0x3170, G_UNICODE_NOT_PRESENT_OFFSET, 7453 }, - { 0x3171, G_UNICODE_NOT_PRESENT_OFFSET, 7457 }, - { 0x3172, G_UNICODE_NOT_PRESENT_OFFSET, 7461 }, - { 0x3173, G_UNICODE_NOT_PRESENT_OFFSET, 7465 }, - { 0x3174, G_UNICODE_NOT_PRESENT_OFFSET, 7469 }, - { 0x3175, G_UNICODE_NOT_PRESENT_OFFSET, 7473 }, - { 0x3176, G_UNICODE_NOT_PRESENT_OFFSET, 7477 }, - { 0x3177, G_UNICODE_NOT_PRESENT_OFFSET, 7481 }, - { 0x3178, G_UNICODE_NOT_PRESENT_OFFSET, 7485 }, - { 0x3179, G_UNICODE_NOT_PRESENT_OFFSET, 7489 }, - { 0x317a, G_UNICODE_NOT_PRESENT_OFFSET, 7493 }, - { 0x317b, G_UNICODE_NOT_PRESENT_OFFSET, 7497 }, - { 0x317c, G_UNICODE_NOT_PRESENT_OFFSET, 7501 }, - { 0x317d, G_UNICODE_NOT_PRESENT_OFFSET, 7505 }, - { 0x317e, G_UNICODE_NOT_PRESENT_OFFSET, 7509 }, - { 0x317f, G_UNICODE_NOT_PRESENT_OFFSET, 7513 }, - { 0x3180, G_UNICODE_NOT_PRESENT_OFFSET, 7517 }, - { 0x3181, G_UNICODE_NOT_PRESENT_OFFSET, 7521 }, - { 0x3182, G_UNICODE_NOT_PRESENT_OFFSET, 7525 }, - { 0x3183, G_UNICODE_NOT_PRESENT_OFFSET, 7529 }, - { 0x3184, G_UNICODE_NOT_PRESENT_OFFSET, 7533 }, - { 0x3185, G_UNICODE_NOT_PRESENT_OFFSET, 7537 }, - { 0x3186, G_UNICODE_NOT_PRESENT_OFFSET, 7541 }, - { 0x3187, G_UNICODE_NOT_PRESENT_OFFSET, 7545 }, - { 0x3188, G_UNICODE_NOT_PRESENT_OFFSET, 7549 }, - { 0x3189, G_UNICODE_NOT_PRESENT_OFFSET, 7553 }, - { 0x318a, G_UNICODE_NOT_PRESENT_OFFSET, 7557 }, - { 0x318b, G_UNICODE_NOT_PRESENT_OFFSET, 7561 }, - { 0x318c, G_UNICODE_NOT_PRESENT_OFFSET, 7565 }, - { 0x318d, G_UNICODE_NOT_PRESENT_OFFSET, 7569 }, - { 0x318e, G_UNICODE_NOT_PRESENT_OFFSET, 7573 }, - { 0x3192, G_UNICODE_NOT_PRESENT_OFFSET, 5903 }, - { 0x3193, G_UNICODE_NOT_PRESENT_OFFSET, 5927 }, - { 0x3194, G_UNICODE_NOT_PRESENT_OFFSET, 7577 }, - { 0x3195, G_UNICODE_NOT_PRESENT_OFFSET, 7581 }, - { 0x3196, G_UNICODE_NOT_PRESENT_OFFSET, 7585 }, - { 0x3197, G_UNICODE_NOT_PRESENT_OFFSET, 7589 }, - { 0x3198, G_UNICODE_NOT_PRESENT_OFFSET, 7593 }, - { 0x3199, G_UNICODE_NOT_PRESENT_OFFSET, 7597 }, - { 0x319a, G_UNICODE_NOT_PRESENT_OFFSET, 5919 }, - { 0x319b, G_UNICODE_NOT_PRESENT_OFFSET, 7601 }, - { 0x319c, G_UNICODE_NOT_PRESENT_OFFSET, 7605 }, - { 0x319d, G_UNICODE_NOT_PRESENT_OFFSET, 7609 }, - { 0x319e, G_UNICODE_NOT_PRESENT_OFFSET, 7613 }, - { 0x319f, G_UNICODE_NOT_PRESENT_OFFSET, 5935 }, - { 0x3200, G_UNICODE_NOT_PRESENT_OFFSET, 7617 }, - { 0x3201, G_UNICODE_NOT_PRESENT_OFFSET, 7623 }, - { 0x3202, G_UNICODE_NOT_PRESENT_OFFSET, 7629 }, - { 0x3203, G_UNICODE_NOT_PRESENT_OFFSET, 7635 }, - { 0x3204, G_UNICODE_NOT_PRESENT_OFFSET, 7641 }, - { 0x3205, G_UNICODE_NOT_PRESENT_OFFSET, 7647 }, - { 0x3206, G_UNICODE_NOT_PRESENT_OFFSET, 7653 }, - { 0x3207, G_UNICODE_NOT_PRESENT_OFFSET, 7659 }, - { 0x3208, G_UNICODE_NOT_PRESENT_OFFSET, 7665 }, - { 0x3209, G_UNICODE_NOT_PRESENT_OFFSET, 7671 }, - { 0x320a, G_UNICODE_NOT_PRESENT_OFFSET, 7677 }, - { 0x320b, G_UNICODE_NOT_PRESENT_OFFSET, 7683 }, - { 0x320c, G_UNICODE_NOT_PRESENT_OFFSET, 7689 }, - { 0x320d, G_UNICODE_NOT_PRESENT_OFFSET, 7695 }, - { 0x320e, G_UNICODE_NOT_PRESENT_OFFSET, 7701 }, - { 0x320f, G_UNICODE_NOT_PRESENT_OFFSET, 7710 }, - { 0x3210, G_UNICODE_NOT_PRESENT_OFFSET, 7719 }, - { 0x3211, G_UNICODE_NOT_PRESENT_OFFSET, 7728 }, - { 0x3212, G_UNICODE_NOT_PRESENT_OFFSET, 7737 }, - { 0x3213, G_UNICODE_NOT_PRESENT_OFFSET, 7746 }, - { 0x3214, G_UNICODE_NOT_PRESENT_OFFSET, 7755 }, - { 0x3215, G_UNICODE_NOT_PRESENT_OFFSET, 7764 }, - { 0x3216, G_UNICODE_NOT_PRESENT_OFFSET, 7773 }, - { 0x3217, G_UNICODE_NOT_PRESENT_OFFSET, 7782 }, - { 0x3218, G_UNICODE_NOT_PRESENT_OFFSET, 7791 }, - { 0x3219, G_UNICODE_NOT_PRESENT_OFFSET, 7800 }, - { 0x321a, G_UNICODE_NOT_PRESENT_OFFSET, 7809 }, - { 0x321b, G_UNICODE_NOT_PRESENT_OFFSET, 7818 }, - { 0x321c, G_UNICODE_NOT_PRESENT_OFFSET, 7827 }, - { 0x3220, G_UNICODE_NOT_PRESENT_OFFSET, 7836 }, - { 0x3221, G_UNICODE_NOT_PRESENT_OFFSET, 7842 }, - { 0x3222, G_UNICODE_NOT_PRESENT_OFFSET, 7848 }, - { 0x3223, G_UNICODE_NOT_PRESENT_OFFSET, 7854 }, - { 0x3224, G_UNICODE_NOT_PRESENT_OFFSET, 7860 }, - { 0x3225, G_UNICODE_NOT_PRESENT_OFFSET, 7866 }, - { 0x3226, G_UNICODE_NOT_PRESENT_OFFSET, 7872 }, - { 0x3227, G_UNICODE_NOT_PRESENT_OFFSET, 7878 }, - { 0x3228, G_UNICODE_NOT_PRESENT_OFFSET, 7884 }, - { 0x3229, G_UNICODE_NOT_PRESENT_OFFSET, 7890 }, - { 0x322a, G_UNICODE_NOT_PRESENT_OFFSET, 7896 }, - { 0x322b, G_UNICODE_NOT_PRESENT_OFFSET, 7902 }, - { 0x322c, G_UNICODE_NOT_PRESENT_OFFSET, 7908 }, - { 0x322d, G_UNICODE_NOT_PRESENT_OFFSET, 7914 }, - { 0x322e, G_UNICODE_NOT_PRESENT_OFFSET, 7920 }, - { 0x322f, G_UNICODE_NOT_PRESENT_OFFSET, 7926 }, - { 0x3230, G_UNICODE_NOT_PRESENT_OFFSET, 7932 }, - { 0x3231, G_UNICODE_NOT_PRESENT_OFFSET, 7938 }, - { 0x3232, G_UNICODE_NOT_PRESENT_OFFSET, 7944 }, - { 0x3233, G_UNICODE_NOT_PRESENT_OFFSET, 7950 }, - { 0x3234, G_UNICODE_NOT_PRESENT_OFFSET, 7956 }, - { 0x3235, G_UNICODE_NOT_PRESENT_OFFSET, 7962 }, - { 0x3236, G_UNICODE_NOT_PRESENT_OFFSET, 7968 }, - { 0x3237, G_UNICODE_NOT_PRESENT_OFFSET, 7974 }, - { 0x3238, G_UNICODE_NOT_PRESENT_OFFSET, 7980 }, - { 0x3239, G_UNICODE_NOT_PRESENT_OFFSET, 7986 }, - { 0x323a, G_UNICODE_NOT_PRESENT_OFFSET, 7992 }, - { 0x323b, G_UNICODE_NOT_PRESENT_OFFSET, 7998 }, - { 0x323c, G_UNICODE_NOT_PRESENT_OFFSET, 8004 }, - { 0x323d, G_UNICODE_NOT_PRESENT_OFFSET, 8010 }, - { 0x323e, G_UNICODE_NOT_PRESENT_OFFSET, 8016 }, - { 0x323f, G_UNICODE_NOT_PRESENT_OFFSET, 8022 }, - { 0x3240, G_UNICODE_NOT_PRESENT_OFFSET, 8028 }, - { 0x3241, G_UNICODE_NOT_PRESENT_OFFSET, 8034 }, - { 0x3242, G_UNICODE_NOT_PRESENT_OFFSET, 8040 }, - { 0x3243, G_UNICODE_NOT_PRESENT_OFFSET, 8046 }, - { 0x3251, G_UNICODE_NOT_PRESENT_OFFSET, 8052 }, - { 0x3252, G_UNICODE_NOT_PRESENT_OFFSET, 8055 }, - { 0x3253, G_UNICODE_NOT_PRESENT_OFFSET, 8058 }, - { 0x3254, G_UNICODE_NOT_PRESENT_OFFSET, 8061 }, - { 0x3255, G_UNICODE_NOT_PRESENT_OFFSET, 8064 }, - { 0x3256, G_UNICODE_NOT_PRESENT_OFFSET, 8067 }, - { 0x3257, G_UNICODE_NOT_PRESENT_OFFSET, 8070 }, - { 0x3258, G_UNICODE_NOT_PRESENT_OFFSET, 8073 }, - { 0x3259, G_UNICODE_NOT_PRESENT_OFFSET, 8076 }, - { 0x325a, G_UNICODE_NOT_PRESENT_OFFSET, 8079 }, - { 0x325b, G_UNICODE_NOT_PRESENT_OFFSET, 8082 }, - { 0x325c, G_UNICODE_NOT_PRESENT_OFFSET, 8085 }, - { 0x325d, G_UNICODE_NOT_PRESENT_OFFSET, 8088 }, - { 0x325e, G_UNICODE_NOT_PRESENT_OFFSET, 8091 }, - { 0x325f, G_UNICODE_NOT_PRESENT_OFFSET, 8094 }, - { 0x3260, G_UNICODE_NOT_PRESENT_OFFSET, 7201 }, - { 0x3261, G_UNICODE_NOT_PRESENT_OFFSET, 7213 }, - { 0x3262, G_UNICODE_NOT_PRESENT_OFFSET, 7225 }, - { 0x3263, G_UNICODE_NOT_PRESENT_OFFSET, 7233 }, - { 0x3264, G_UNICODE_NOT_PRESENT_OFFSET, 7265 }, - { 0x3265, G_UNICODE_NOT_PRESENT_OFFSET, 7269 }, - { 0x3266, G_UNICODE_NOT_PRESENT_OFFSET, 7281 }, - { 0x3267, G_UNICODE_NOT_PRESENT_OFFSET, 7289 }, - { 0x3268, G_UNICODE_NOT_PRESENT_OFFSET, 7293 }, - { 0x3269, G_UNICODE_NOT_PRESENT_OFFSET, 7301 }, - { 0x326a, G_UNICODE_NOT_PRESENT_OFFSET, 7305 }, - { 0x326b, G_UNICODE_NOT_PRESENT_OFFSET, 7309 }, - { 0x326c, G_UNICODE_NOT_PRESENT_OFFSET, 7313 }, - { 0x326d, G_UNICODE_NOT_PRESENT_OFFSET, 7317 }, - { 0x326e, G_UNICODE_NOT_PRESENT_OFFSET, 8097 }, - { 0x326f, G_UNICODE_NOT_PRESENT_OFFSET, 8104 }, - { 0x3270, G_UNICODE_NOT_PRESENT_OFFSET, 8111 }, - { 0x3271, G_UNICODE_NOT_PRESENT_OFFSET, 8118 }, - { 0x3272, G_UNICODE_NOT_PRESENT_OFFSET, 8125 }, - { 0x3273, G_UNICODE_NOT_PRESENT_OFFSET, 8132 }, - { 0x3274, G_UNICODE_NOT_PRESENT_OFFSET, 8139 }, - { 0x3275, G_UNICODE_NOT_PRESENT_OFFSET, 8146 }, - { 0x3276, G_UNICODE_NOT_PRESENT_OFFSET, 8153 }, - { 0x3277, G_UNICODE_NOT_PRESENT_OFFSET, 8160 }, - { 0x3278, G_UNICODE_NOT_PRESENT_OFFSET, 8167 }, - { 0x3279, G_UNICODE_NOT_PRESENT_OFFSET, 8174 }, - { 0x327a, G_UNICODE_NOT_PRESENT_OFFSET, 8181 }, - { 0x327b, G_UNICODE_NOT_PRESENT_OFFSET, 8188 }, - { 0x3280, G_UNICODE_NOT_PRESENT_OFFSET, 5903 }, - { 0x3281, G_UNICODE_NOT_PRESENT_OFFSET, 5927 }, - { 0x3282, G_UNICODE_NOT_PRESENT_OFFSET, 7577 }, - { 0x3283, G_UNICODE_NOT_PRESENT_OFFSET, 7581 }, - { 0x3284, G_UNICODE_NOT_PRESENT_OFFSET, 8195 }, - { 0x3285, G_UNICODE_NOT_PRESENT_OFFSET, 8199 }, - { 0x3286, G_UNICODE_NOT_PRESENT_OFFSET, 8203 }, - { 0x3287, G_UNICODE_NOT_PRESENT_OFFSET, 5947 }, - { 0x3288, G_UNICODE_NOT_PRESENT_OFFSET, 8207 }, - { 0x3289, G_UNICODE_NOT_PRESENT_OFFSET, 5995 }, - { 0x328a, G_UNICODE_NOT_PRESENT_OFFSET, 6195 }, - { 0x328b, G_UNICODE_NOT_PRESENT_OFFSET, 6243 }, - { 0x328c, G_UNICODE_NOT_PRESENT_OFFSET, 6239 }, - { 0x328d, G_UNICODE_NOT_PRESENT_OFFSET, 6199 }, - { 0x328e, G_UNICODE_NOT_PRESENT_OFFSET, 6567 }, - { 0x328f, G_UNICODE_NOT_PRESENT_OFFSET, 6027 }, - { 0x3290, G_UNICODE_NOT_PRESENT_OFFSET, 6187 }, - { 0x3291, G_UNICODE_NOT_PRESENT_OFFSET, 8211 }, - { 0x3292, G_UNICODE_NOT_PRESENT_OFFSET, 8215 }, - { 0x3293, G_UNICODE_NOT_PRESENT_OFFSET, 8219 }, - { 0x3294, G_UNICODE_NOT_PRESENT_OFFSET, 8223 }, - { 0x3295, G_UNICODE_NOT_PRESENT_OFFSET, 8227 }, - { 0x3296, G_UNICODE_NOT_PRESENT_OFFSET, 8231 }, - { 0x3297, G_UNICODE_NOT_PRESENT_OFFSET, 8235 }, - { 0x3298, G_UNICODE_NOT_PRESENT_OFFSET, 8239 }, - { 0x3299, G_UNICODE_NOT_PRESENT_OFFSET, 8243 }, - { 0x329a, G_UNICODE_NOT_PRESENT_OFFSET, 8247 }, - { 0x329b, G_UNICODE_NOT_PRESENT_OFFSET, 6051 }, - { 0x329c, G_UNICODE_NOT_PRESENT_OFFSET, 8251 }, - { 0x329d, G_UNICODE_NOT_PRESENT_OFFSET, 8255 }, - { 0x329e, G_UNICODE_NOT_PRESENT_OFFSET, 8259 }, - { 0x329f, G_UNICODE_NOT_PRESENT_OFFSET, 8263 }, - { 0x32a0, G_UNICODE_NOT_PRESENT_OFFSET, 8267 }, - { 0x32a1, G_UNICODE_NOT_PRESENT_OFFSET, 8271 }, - { 0x32a2, G_UNICODE_NOT_PRESENT_OFFSET, 8275 }, - { 0x32a3, G_UNICODE_NOT_PRESENT_OFFSET, 8279 }, - { 0x32a4, G_UNICODE_NOT_PRESENT_OFFSET, 7585 }, - { 0x32a5, G_UNICODE_NOT_PRESENT_OFFSET, 7589 }, - { 0x32a6, G_UNICODE_NOT_PRESENT_OFFSET, 7593 }, - { 0x32a7, G_UNICODE_NOT_PRESENT_OFFSET, 8283 }, - { 0x32a8, G_UNICODE_NOT_PRESENT_OFFSET, 8287 }, - { 0x32a9, G_UNICODE_NOT_PRESENT_OFFSET, 8291 }, - { 0x32aa, G_UNICODE_NOT_PRESENT_OFFSET, 8295 }, - { 0x32ab, G_UNICODE_NOT_PRESENT_OFFSET, 8299 }, - { 0x32ac, G_UNICODE_NOT_PRESENT_OFFSET, 8303 }, - { 0x32ad, G_UNICODE_NOT_PRESENT_OFFSET, 8307 }, - { 0x32ae, G_UNICODE_NOT_PRESENT_OFFSET, 8311 }, - { 0x32af, G_UNICODE_NOT_PRESENT_OFFSET, 8315 }, - { 0x32b0, G_UNICODE_NOT_PRESENT_OFFSET, 8319 }, - { 0x32b1, G_UNICODE_NOT_PRESENT_OFFSET, 8323 }, - { 0x32b2, G_UNICODE_NOT_PRESENT_OFFSET, 8326 }, - { 0x32b3, G_UNICODE_NOT_PRESENT_OFFSET, 8329 }, - { 0x32b4, G_UNICODE_NOT_PRESENT_OFFSET, 8332 }, - { 0x32b5, G_UNICODE_NOT_PRESENT_OFFSET, 8335 }, - { 0x32b6, G_UNICODE_NOT_PRESENT_OFFSET, 8338 }, - { 0x32b7, G_UNICODE_NOT_PRESENT_OFFSET, 8341 }, - { 0x32b8, G_UNICODE_NOT_PRESENT_OFFSET, 8344 }, - { 0x32b9, G_UNICODE_NOT_PRESENT_OFFSET, 8347 }, - { 0x32ba, G_UNICODE_NOT_PRESENT_OFFSET, 8350 }, - { 0x32bb, G_UNICODE_NOT_PRESENT_OFFSET, 8353 }, - { 0x32bc, G_UNICODE_NOT_PRESENT_OFFSET, 8356 }, - { 0x32bd, G_UNICODE_NOT_PRESENT_OFFSET, 8359 }, - { 0x32be, G_UNICODE_NOT_PRESENT_OFFSET, 8362 }, - { 0x32bf, G_UNICODE_NOT_PRESENT_OFFSET, 8365 }, - { 0x32c0, G_UNICODE_NOT_PRESENT_OFFSET, 8368 }, - { 0x32c1, G_UNICODE_NOT_PRESENT_OFFSET, 8373 }, - { 0x32c2, G_UNICODE_NOT_PRESENT_OFFSET, 8378 }, - { 0x32c3, G_UNICODE_NOT_PRESENT_OFFSET, 8383 }, - { 0x32c4, G_UNICODE_NOT_PRESENT_OFFSET, 8388 }, - { 0x32c5, G_UNICODE_NOT_PRESENT_OFFSET, 8393 }, - { 0x32c6, G_UNICODE_NOT_PRESENT_OFFSET, 8398 }, - { 0x32c7, G_UNICODE_NOT_PRESENT_OFFSET, 8403 }, - { 0x32c8, G_UNICODE_NOT_PRESENT_OFFSET, 8408 }, - { 0x32c9, G_UNICODE_NOT_PRESENT_OFFSET, 8413 }, - { 0x32ca, G_UNICODE_NOT_PRESENT_OFFSET, 8419 }, - { 0x32cb, G_UNICODE_NOT_PRESENT_OFFSET, 8425 }, - { 0x32d0, G_UNICODE_NOT_PRESENT_OFFSET, 8431 }, - { 0x32d1, G_UNICODE_NOT_PRESENT_OFFSET, 8435 }, - { 0x32d2, G_UNICODE_NOT_PRESENT_OFFSET, 8439 }, - { 0x32d3, G_UNICODE_NOT_PRESENT_OFFSET, 8443 }, - { 0x32d4, G_UNICODE_NOT_PRESENT_OFFSET, 8447 }, - { 0x32d5, G_UNICODE_NOT_PRESENT_OFFSET, 8451 }, - { 0x32d6, G_UNICODE_NOT_PRESENT_OFFSET, 8455 }, - { 0x32d7, G_UNICODE_NOT_PRESENT_OFFSET, 8459 }, - { 0x32d8, G_UNICODE_NOT_PRESENT_OFFSET, 8463 }, - { 0x32d9, G_UNICODE_NOT_PRESENT_OFFSET, 8467 }, - { 0x32da, G_UNICODE_NOT_PRESENT_OFFSET, 8471 }, - { 0x32db, G_UNICODE_NOT_PRESENT_OFFSET, 8475 }, - { 0x32dc, G_UNICODE_NOT_PRESENT_OFFSET, 8479 }, - { 0x32dd, G_UNICODE_NOT_PRESENT_OFFSET, 8483 }, - { 0x32de, G_UNICODE_NOT_PRESENT_OFFSET, 8487 }, - { 0x32df, G_UNICODE_NOT_PRESENT_OFFSET, 8491 }, - { 0x32e0, G_UNICODE_NOT_PRESENT_OFFSET, 8495 }, - { 0x32e1, G_UNICODE_NOT_PRESENT_OFFSET, 8499 }, - { 0x32e2, G_UNICODE_NOT_PRESENT_OFFSET, 8503 }, - { 0x32e3, G_UNICODE_NOT_PRESENT_OFFSET, 8507 }, - { 0x32e4, G_UNICODE_NOT_PRESENT_OFFSET, 8511 }, - { 0x32e5, G_UNICODE_NOT_PRESENT_OFFSET, 8515 }, - { 0x32e6, G_UNICODE_NOT_PRESENT_OFFSET, 8519 }, - { 0x32e7, G_UNICODE_NOT_PRESENT_OFFSET, 8523 }, - { 0x32e8, G_UNICODE_NOT_PRESENT_OFFSET, 8527 }, - { 0x32e9, G_UNICODE_NOT_PRESENT_OFFSET, 8531 }, - { 0x32ea, G_UNICODE_NOT_PRESENT_OFFSET, 8535 }, - { 0x32eb, G_UNICODE_NOT_PRESENT_OFFSET, 8539 }, - { 0x32ec, G_UNICODE_NOT_PRESENT_OFFSET, 8543 }, - { 0x32ed, G_UNICODE_NOT_PRESENT_OFFSET, 8547 }, - { 0x32ee, G_UNICODE_NOT_PRESENT_OFFSET, 8551 }, - { 0x32ef, G_UNICODE_NOT_PRESENT_OFFSET, 8555 }, - { 0x32f0, G_UNICODE_NOT_PRESENT_OFFSET, 8559 }, - { 0x32f1, G_UNICODE_NOT_PRESENT_OFFSET, 8563 }, - { 0x32f2, G_UNICODE_NOT_PRESENT_OFFSET, 8567 }, - { 0x32f3, G_UNICODE_NOT_PRESENT_OFFSET, 8571 }, - { 0x32f4, G_UNICODE_NOT_PRESENT_OFFSET, 8575 }, - { 0x32f5, G_UNICODE_NOT_PRESENT_OFFSET, 8579 }, - { 0x32f6, G_UNICODE_NOT_PRESENT_OFFSET, 8583 }, - { 0x32f7, G_UNICODE_NOT_PRESENT_OFFSET, 8587 }, - { 0x32f8, G_UNICODE_NOT_PRESENT_OFFSET, 8591 }, - { 0x32f9, G_UNICODE_NOT_PRESENT_OFFSET, 8595 }, - { 0x32fa, G_UNICODE_NOT_PRESENT_OFFSET, 8599 }, - { 0x32fb, G_UNICODE_NOT_PRESENT_OFFSET, 8603 }, - { 0x32fc, G_UNICODE_NOT_PRESENT_OFFSET, 8607 }, - { 0x32fd, G_UNICODE_NOT_PRESENT_OFFSET, 8611 }, - { 0x32fe, G_UNICODE_NOT_PRESENT_OFFSET, 8615 }, - { 0x3300, G_UNICODE_NOT_PRESENT_OFFSET, 8619 }, - { 0x3301, G_UNICODE_NOT_PRESENT_OFFSET, 8635 }, - { 0x3302, G_UNICODE_NOT_PRESENT_OFFSET, 8648 }, - { 0x3303, G_UNICODE_NOT_PRESENT_OFFSET, 8664 }, - { 0x3304, G_UNICODE_NOT_PRESENT_OFFSET, 8674 }, - { 0x3305, G_UNICODE_NOT_PRESENT_OFFSET, 8690 }, - { 0x3306, G_UNICODE_NOT_PRESENT_OFFSET, 8700 }, - { 0x3307, G_UNICODE_NOT_PRESENT_OFFSET, 8710 }, - { 0x3308, G_UNICODE_NOT_PRESENT_OFFSET, 8729 }, - { 0x3309, G_UNICODE_NOT_PRESENT_OFFSET, 8742 }, - { 0x330a, G_UNICODE_NOT_PRESENT_OFFSET, 8752 }, - { 0x330b, G_UNICODE_NOT_PRESENT_OFFSET, 8762 }, - { 0x330c, G_UNICODE_NOT_PRESENT_OFFSET, 8772 }, - { 0x330d, G_UNICODE_NOT_PRESENT_OFFSET, 8785 }, - { 0x330e, G_UNICODE_NOT_PRESENT_OFFSET, 8798 }, - { 0x330f, G_UNICODE_NOT_PRESENT_OFFSET, 8811 }, - { 0x3310, G_UNICODE_NOT_PRESENT_OFFSET, 8824 }, - { 0x3311, G_UNICODE_NOT_PRESENT_OFFSET, 8837 }, - { 0x3312, G_UNICODE_NOT_PRESENT_OFFSET, 8850 }, - { 0x3313, G_UNICODE_NOT_PRESENT_OFFSET, 8863 }, - { 0x3314, G_UNICODE_NOT_PRESENT_OFFSET, 8882 }, - { 0x3315, G_UNICODE_NOT_PRESENT_OFFSET, 8889 }, - { 0x3316, G_UNICODE_NOT_PRESENT_OFFSET, 8908 }, - { 0x3317, G_UNICODE_NOT_PRESENT_OFFSET, 8927 }, - { 0x3318, G_UNICODE_NOT_PRESENT_OFFSET, 8943 }, - { 0x3319, G_UNICODE_NOT_PRESENT_OFFSET, 8956 }, - { 0x331a, G_UNICODE_NOT_PRESENT_OFFSET, 8975 }, - { 0x331b, G_UNICODE_NOT_PRESENT_OFFSET, 8994 }, - { 0x331c, G_UNICODE_NOT_PRESENT_OFFSET, 9007 }, - { 0x331d, G_UNICODE_NOT_PRESENT_OFFSET, 9017 }, - { 0x331e, G_UNICODE_NOT_PRESENT_OFFSET, 9027 }, - { 0x331f, G_UNICODE_NOT_PRESENT_OFFSET, 9040 }, - { 0x3320, G_UNICODE_NOT_PRESENT_OFFSET, 9053 }, - { 0x3321, G_UNICODE_NOT_PRESENT_OFFSET, 9069 }, - { 0x3322, G_UNICODE_NOT_PRESENT_OFFSET, 9085 }, - { 0x3323, G_UNICODE_NOT_PRESENT_OFFSET, 9095 }, - { 0x3324, G_UNICODE_NOT_PRESENT_OFFSET, 9105 }, - { 0x3325, G_UNICODE_NOT_PRESENT_OFFSET, 9118 }, - { 0x3326, G_UNICODE_NOT_PRESENT_OFFSET, 9128 }, - { 0x3327, G_UNICODE_NOT_PRESENT_OFFSET, 9138 }, - { 0x3328, G_UNICODE_NOT_PRESENT_OFFSET, 9145 }, - { 0x3329, G_UNICODE_NOT_PRESENT_OFFSET, 9152 }, - { 0x332a, G_UNICODE_NOT_PRESENT_OFFSET, 9162 }, - { 0x332b, G_UNICODE_NOT_PRESENT_OFFSET, 9172 }, - { 0x332c, G_UNICODE_NOT_PRESENT_OFFSET, 9191 }, - { 0x332d, G_UNICODE_NOT_PRESENT_OFFSET, 9204 }, - { 0x332e, G_UNICODE_NOT_PRESENT_OFFSET, 9220 }, - { 0x332f, G_UNICODE_NOT_PRESENT_OFFSET, 9239 }, - { 0x3330, G_UNICODE_NOT_PRESENT_OFFSET, 9252 }, - { 0x3331, G_UNICODE_NOT_PRESENT_OFFSET, 9262 }, - { 0x3332, G_UNICODE_NOT_PRESENT_OFFSET, 9272 }, - { 0x3333, G_UNICODE_NOT_PRESENT_OFFSET, 9291 }, - { 0x3334, G_UNICODE_NOT_PRESENT_OFFSET, 9304 }, - { 0x3335, G_UNICODE_NOT_PRESENT_OFFSET, 9323 }, - { 0x3336, G_UNICODE_NOT_PRESENT_OFFSET, 9333 }, - { 0x3337, G_UNICODE_NOT_PRESENT_OFFSET, 9349 }, - { 0x3338, G_UNICODE_NOT_PRESENT_OFFSET, 9359 }, - { 0x3339, G_UNICODE_NOT_PRESENT_OFFSET, 9372 }, - { 0x333a, G_UNICODE_NOT_PRESENT_OFFSET, 9382 }, - { 0x333b, G_UNICODE_NOT_PRESENT_OFFSET, 9395 }, - { 0x333c, G_UNICODE_NOT_PRESENT_OFFSET, 9411 }, - { 0x333d, G_UNICODE_NOT_PRESENT_OFFSET, 9424 }, - { 0x333e, G_UNICODE_NOT_PRESENT_OFFSET, 9440 }, - { 0x333f, G_UNICODE_NOT_PRESENT_OFFSET, 9453 }, - { 0x3340, G_UNICODE_NOT_PRESENT_OFFSET, 9460 }, - { 0x3341, G_UNICODE_NOT_PRESENT_OFFSET, 9476 }, - { 0x3342, G_UNICODE_NOT_PRESENT_OFFSET, 9486 }, - { 0x3343, G_UNICODE_NOT_PRESENT_OFFSET, 9496 }, - { 0x3344, G_UNICODE_NOT_PRESENT_OFFSET, 9509 }, - { 0x3345, G_UNICODE_NOT_PRESENT_OFFSET, 9519 }, - { 0x3346, G_UNICODE_NOT_PRESENT_OFFSET, 9529 }, - { 0x3347, G_UNICODE_NOT_PRESENT_OFFSET, 9539 }, - { 0x3348, G_UNICODE_NOT_PRESENT_OFFSET, 9555 }, - { 0x3349, G_UNICODE_NOT_PRESENT_OFFSET, 9568 }, - { 0x334a, G_UNICODE_NOT_PRESENT_OFFSET, 9575 }, - { 0x334b, G_UNICODE_NOT_PRESENT_OFFSET, 9594 }, - { 0x334c, G_UNICODE_NOT_PRESENT_OFFSET, 9604 }, - { 0x334d, G_UNICODE_NOT_PRESENT_OFFSET, 9620 }, - { 0x334e, G_UNICODE_NOT_PRESENT_OFFSET, 9633 }, - { 0x334f, G_UNICODE_NOT_PRESENT_OFFSET, 9646 }, - { 0x3350, G_UNICODE_NOT_PRESENT_OFFSET, 9656 }, - { 0x3351, G_UNICODE_NOT_PRESENT_OFFSET, 9666 }, - { 0x3352, G_UNICODE_NOT_PRESENT_OFFSET, 9679 }, - { 0x3353, G_UNICODE_NOT_PRESENT_OFFSET, 9686 }, - { 0x3354, G_UNICODE_NOT_PRESENT_OFFSET, 9699 }, - { 0x3355, G_UNICODE_NOT_PRESENT_OFFSET, 9715 }, - { 0x3356, G_UNICODE_NOT_PRESENT_OFFSET, 9722 }, - { 0x3357, G_UNICODE_NOT_PRESENT_OFFSET, 9741 }, - { 0x3358, G_UNICODE_NOT_PRESENT_OFFSET, 9751 }, - { 0x3359, G_UNICODE_NOT_PRESENT_OFFSET, 9756 }, - { 0x335a, G_UNICODE_NOT_PRESENT_OFFSET, 9761 }, - { 0x335b, G_UNICODE_NOT_PRESENT_OFFSET, 9766 }, - { 0x335c, G_UNICODE_NOT_PRESENT_OFFSET, 9771 }, - { 0x335d, G_UNICODE_NOT_PRESENT_OFFSET, 9776 }, - { 0x335e, G_UNICODE_NOT_PRESENT_OFFSET, 9781 }, - { 0x335f, G_UNICODE_NOT_PRESENT_OFFSET, 9786 }, - { 0x3360, G_UNICODE_NOT_PRESENT_OFFSET, 9791 }, - { 0x3361, G_UNICODE_NOT_PRESENT_OFFSET, 9796 }, - { 0x3362, G_UNICODE_NOT_PRESENT_OFFSET, 9801 }, - { 0x3363, G_UNICODE_NOT_PRESENT_OFFSET, 9807 }, - { 0x3364, G_UNICODE_NOT_PRESENT_OFFSET, 9813 }, - { 0x3365, G_UNICODE_NOT_PRESENT_OFFSET, 9819 }, - { 0x3366, G_UNICODE_NOT_PRESENT_OFFSET, 9825 }, - { 0x3367, G_UNICODE_NOT_PRESENT_OFFSET, 9831 }, - { 0x3368, G_UNICODE_NOT_PRESENT_OFFSET, 9837 }, - { 0x3369, G_UNICODE_NOT_PRESENT_OFFSET, 9843 }, - { 0x336a, G_UNICODE_NOT_PRESENT_OFFSET, 9849 }, - { 0x336b, G_UNICODE_NOT_PRESENT_OFFSET, 9855 }, - { 0x336c, G_UNICODE_NOT_PRESENT_OFFSET, 9861 }, - { 0x336d, G_UNICODE_NOT_PRESENT_OFFSET, 9867 }, - { 0x336e, G_UNICODE_NOT_PRESENT_OFFSET, 9873 }, - { 0x336f, G_UNICODE_NOT_PRESENT_OFFSET, 9879 }, - { 0x3370, G_UNICODE_NOT_PRESENT_OFFSET, 9885 }, - { 0x3371, G_UNICODE_NOT_PRESENT_OFFSET, 9891 }, - { 0x3372, G_UNICODE_NOT_PRESENT_OFFSET, 9895 }, - { 0x3373, G_UNICODE_NOT_PRESENT_OFFSET, 9898 }, - { 0x3374, G_UNICODE_NOT_PRESENT_OFFSET, 9901 }, - { 0x3375, G_UNICODE_NOT_PRESENT_OFFSET, 9905 }, - { 0x3376, G_UNICODE_NOT_PRESENT_OFFSET, 9908 }, - { 0x337b, G_UNICODE_NOT_PRESENT_OFFSET, 9911 }, - { 0x337c, G_UNICODE_NOT_PRESENT_OFFSET, 9918 }, - { 0x337d, G_UNICODE_NOT_PRESENT_OFFSET, 9925 }, - { 0x337e, G_UNICODE_NOT_PRESENT_OFFSET, 9932 }, - { 0x337f, G_UNICODE_NOT_PRESENT_OFFSET, 9939 }, - { 0x3380, G_UNICODE_NOT_PRESENT_OFFSET, 9952 }, - { 0x3381, G_UNICODE_NOT_PRESENT_OFFSET, 9955 }, - { 0x3382, G_UNICODE_NOT_PRESENT_OFFSET, 9958 }, - { 0x3383, G_UNICODE_NOT_PRESENT_OFFSET, 9962 }, - { 0x3384, G_UNICODE_NOT_PRESENT_OFFSET, 9965 }, - { 0x3385, G_UNICODE_NOT_PRESENT_OFFSET, 9968 }, - { 0x3386, G_UNICODE_NOT_PRESENT_OFFSET, 9971 }, - { 0x3387, G_UNICODE_NOT_PRESENT_OFFSET, 9974 }, - { 0x3388, G_UNICODE_NOT_PRESENT_OFFSET, 9977 }, - { 0x3389, G_UNICODE_NOT_PRESENT_OFFSET, 9981 }, - { 0x338a, G_UNICODE_NOT_PRESENT_OFFSET, 9986 }, - { 0x338b, G_UNICODE_NOT_PRESENT_OFFSET, 9989 }, - { 0x338c, G_UNICODE_NOT_PRESENT_OFFSET, 9992 }, - { 0x338d, G_UNICODE_NOT_PRESENT_OFFSET, 9996 }, - { 0x338e, G_UNICODE_NOT_PRESENT_OFFSET, 10000 }, - { 0x338f, G_UNICODE_NOT_PRESENT_OFFSET, 10003 }, - { 0x3390, G_UNICODE_NOT_PRESENT_OFFSET, 10006 }, - { 0x3391, G_UNICODE_NOT_PRESENT_OFFSET, 10009 }, - { 0x3392, G_UNICODE_NOT_PRESENT_OFFSET, 10013 }, - { 0x3393, G_UNICODE_NOT_PRESENT_OFFSET, 10017 }, - { 0x3394, G_UNICODE_NOT_PRESENT_OFFSET, 10021 }, - { 0x3395, G_UNICODE_NOT_PRESENT_OFFSET, 10025 }, - { 0x3396, G_UNICODE_NOT_PRESENT_OFFSET, 10029 }, - { 0x3397, G_UNICODE_NOT_PRESENT_OFFSET, 10032 }, - { 0x3398, G_UNICODE_NOT_PRESENT_OFFSET, 10035 }, - { 0x3399, G_UNICODE_NOT_PRESENT_OFFSET, 10038 }, - { 0x339a, G_UNICODE_NOT_PRESENT_OFFSET, 10041 }, - { 0x339b, G_UNICODE_NOT_PRESENT_OFFSET, 10044 }, - { 0x339c, G_UNICODE_NOT_PRESENT_OFFSET, 10048 }, - { 0x339d, G_UNICODE_NOT_PRESENT_OFFSET, 10051 }, - { 0x339e, G_UNICODE_NOT_PRESENT_OFFSET, 10054 }, - { 0x339f, G_UNICODE_NOT_PRESENT_OFFSET, 10057 }, - { 0x33a0, G_UNICODE_NOT_PRESENT_OFFSET, 10061 }, - { 0x33a1, G_UNICODE_NOT_PRESENT_OFFSET, 10065 }, - { 0x33a2, G_UNICODE_NOT_PRESENT_OFFSET, 10068 }, - { 0x33a3, G_UNICODE_NOT_PRESENT_OFFSET, 10072 }, - { 0x33a4, G_UNICODE_NOT_PRESENT_OFFSET, 10076 }, - { 0x33a5, G_UNICODE_NOT_PRESENT_OFFSET, 10080 }, - { 0x33a6, G_UNICODE_NOT_PRESENT_OFFSET, 10083 }, - { 0x33a7, G_UNICODE_NOT_PRESENT_OFFSET, 10087 }, - { 0x33a8, G_UNICODE_NOT_PRESENT_OFFSET, 10093 }, - { 0x33a9, G_UNICODE_NOT_PRESENT_OFFSET, 10100 }, - { 0x33aa, G_UNICODE_NOT_PRESENT_OFFSET, 10103 }, - { 0x33ab, G_UNICODE_NOT_PRESENT_OFFSET, 10107 }, - { 0x33ac, G_UNICODE_NOT_PRESENT_OFFSET, 10111 }, - { 0x33ad, G_UNICODE_NOT_PRESENT_OFFSET, 10115 }, - { 0x33ae, G_UNICODE_NOT_PRESENT_OFFSET, 10119 }, - { 0x33af, G_UNICODE_NOT_PRESENT_OFFSET, 10127 }, - { 0x33b0, G_UNICODE_NOT_PRESENT_OFFSET, 10136 }, - { 0x33b1, G_UNICODE_NOT_PRESENT_OFFSET, 10139 }, - { 0x33b2, G_UNICODE_NOT_PRESENT_OFFSET, 10142 }, - { 0x33b3, G_UNICODE_NOT_PRESENT_OFFSET, 10146 }, - { 0x33b4, G_UNICODE_NOT_PRESENT_OFFSET, 10149 }, - { 0x33b5, G_UNICODE_NOT_PRESENT_OFFSET, 10152 }, - { 0x33b6, G_UNICODE_NOT_PRESENT_OFFSET, 10155 }, - { 0x33b7, G_UNICODE_NOT_PRESENT_OFFSET, 10159 }, - { 0x33b8, G_UNICODE_NOT_PRESENT_OFFSET, 10162 }, - { 0x33b9, G_UNICODE_NOT_PRESENT_OFFSET, 10165 }, - { 0x33ba, G_UNICODE_NOT_PRESENT_OFFSET, 10168 }, - { 0x33bb, G_UNICODE_NOT_PRESENT_OFFSET, 10171 }, - { 0x33bc, G_UNICODE_NOT_PRESENT_OFFSET, 10174 }, - { 0x33bd, G_UNICODE_NOT_PRESENT_OFFSET, 10178 }, - { 0x33be, G_UNICODE_NOT_PRESENT_OFFSET, 10181 }, - { 0x33bf, G_UNICODE_NOT_PRESENT_OFFSET, 10184 }, - { 0x33c0, G_UNICODE_NOT_PRESENT_OFFSET, 10187 }, - { 0x33c1, G_UNICODE_NOT_PRESENT_OFFSET, 10191 }, - { 0x33c2, G_UNICODE_NOT_PRESENT_OFFSET, 10195 }, - { 0x33c3, G_UNICODE_NOT_PRESENT_OFFSET, 10200 }, - { 0x33c4, G_UNICODE_NOT_PRESENT_OFFSET, 10203 }, - { 0x33c5, G_UNICODE_NOT_PRESENT_OFFSET, 10206 }, - { 0x33c6, G_UNICODE_NOT_PRESENT_OFFSET, 10209 }, - { 0x33c7, G_UNICODE_NOT_PRESENT_OFFSET, 10216 }, - { 0x33c8, G_UNICODE_NOT_PRESENT_OFFSET, 10220 }, - { 0x33c9, G_UNICODE_NOT_PRESENT_OFFSET, 10223 }, - { 0x33ca, G_UNICODE_NOT_PRESENT_OFFSET, 10226 }, - { 0x33cb, G_UNICODE_NOT_PRESENT_OFFSET, 10229 }, - { 0x33cc, G_UNICODE_NOT_PRESENT_OFFSET, 10232 }, - { 0x33cd, G_UNICODE_NOT_PRESENT_OFFSET, 10235 }, - { 0x33ce, G_UNICODE_NOT_PRESENT_OFFSET, 10238 }, - { 0x33cf, G_UNICODE_NOT_PRESENT_OFFSET, 10241 }, - { 0x33d0, G_UNICODE_NOT_PRESENT_OFFSET, 10244 }, - { 0x33d1, G_UNICODE_NOT_PRESENT_OFFSET, 10247 }, - { 0x33d2, G_UNICODE_NOT_PRESENT_OFFSET, 10250 }, - { 0x33d3, G_UNICODE_NOT_PRESENT_OFFSET, 10254 }, - { 0x33d4, G_UNICODE_NOT_PRESENT_OFFSET, 10257 }, - { 0x33d5, G_UNICODE_NOT_PRESENT_OFFSET, 10260 }, - { 0x33d6, G_UNICODE_NOT_PRESENT_OFFSET, 10264 }, - { 0x33d7, G_UNICODE_NOT_PRESENT_OFFSET, 10268 }, - { 0x33d8, G_UNICODE_NOT_PRESENT_OFFSET, 10271 }, - { 0x33d9, G_UNICODE_NOT_PRESENT_OFFSET, 10276 }, - { 0x33da, G_UNICODE_NOT_PRESENT_OFFSET, 10280 }, - { 0x33db, G_UNICODE_NOT_PRESENT_OFFSET, 10283 }, - { 0x33dc, G_UNICODE_NOT_PRESENT_OFFSET, 10286 }, - { 0x33dd, G_UNICODE_NOT_PRESENT_OFFSET, 10289 }, - { 0x33e0, G_UNICODE_NOT_PRESENT_OFFSET, 10292 }, - { 0x33e1, G_UNICODE_NOT_PRESENT_OFFSET, 10297 }, - { 0x33e2, G_UNICODE_NOT_PRESENT_OFFSET, 10302 }, - { 0x33e3, G_UNICODE_NOT_PRESENT_OFFSET, 10307 }, - { 0x33e4, G_UNICODE_NOT_PRESENT_OFFSET, 10312 }, - { 0x33e5, G_UNICODE_NOT_PRESENT_OFFSET, 10317 }, - { 0x33e6, G_UNICODE_NOT_PRESENT_OFFSET, 10322 }, - { 0x33e7, G_UNICODE_NOT_PRESENT_OFFSET, 10327 }, - { 0x33e8, G_UNICODE_NOT_PRESENT_OFFSET, 10332 }, - { 0x33e9, G_UNICODE_NOT_PRESENT_OFFSET, 10337 }, - { 0x33ea, G_UNICODE_NOT_PRESENT_OFFSET, 10343 }, - { 0x33eb, G_UNICODE_NOT_PRESENT_OFFSET, 10349 }, - { 0x33ec, G_UNICODE_NOT_PRESENT_OFFSET, 10355 }, - { 0x33ed, G_UNICODE_NOT_PRESENT_OFFSET, 10361 }, - { 0x33ee, G_UNICODE_NOT_PRESENT_OFFSET, 10367 }, - { 0x33ef, G_UNICODE_NOT_PRESENT_OFFSET, 10373 }, - { 0x33f0, G_UNICODE_NOT_PRESENT_OFFSET, 10379 }, - { 0x33f1, G_UNICODE_NOT_PRESENT_OFFSET, 10385 }, - { 0x33f2, G_UNICODE_NOT_PRESENT_OFFSET, 10391 }, - { 0x33f3, G_UNICODE_NOT_PRESENT_OFFSET, 10397 }, - { 0x33f4, G_UNICODE_NOT_PRESENT_OFFSET, 10403 }, - { 0x33f5, G_UNICODE_NOT_PRESENT_OFFSET, 10409 }, - { 0x33f6, G_UNICODE_NOT_PRESENT_OFFSET, 10415 }, - { 0x33f7, G_UNICODE_NOT_PRESENT_OFFSET, 10421 }, - { 0x33f8, G_UNICODE_NOT_PRESENT_OFFSET, 10427 }, - { 0x33f9, G_UNICODE_NOT_PRESENT_OFFSET, 10433 }, - { 0x33fa, G_UNICODE_NOT_PRESENT_OFFSET, 10439 }, - { 0x33fb, G_UNICODE_NOT_PRESENT_OFFSET, 10445 }, - { 0x33fc, G_UNICODE_NOT_PRESENT_OFFSET, 10451 }, - { 0x33fd, G_UNICODE_NOT_PRESENT_OFFSET, 10457 }, - { 0x33fe, G_UNICODE_NOT_PRESENT_OFFSET, 10463 }, - { 0xf900, 10469, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf901, 10473, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf902, 6535, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf903, 10477, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf904, 10481, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf905, 10485, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf906, 10489, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf907, 6751, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf908, 6751, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf909, 10493, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf90a, 6567, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf90b, 10497, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf90c, 10501, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf90d, 10505, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf90e, 10509, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf90f, 10513, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf910, 10517, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf911, 10521, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf912, 10525, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf913, 10529, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf914, 10533, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf915, 10537, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf916, 10541, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf917, 10545, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf918, 10549, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf919, 10553, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf91a, 10557, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf91b, 10561, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf91c, 10565, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf91d, 10569, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf91e, 10573, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf91f, 10577, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf920, 10581, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf921, 10585, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf922, 10589, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf923, 10593, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf924, 10597, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf925, 10601, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf926, 10605, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf927, 10609, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf928, 10613, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf929, 10617, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf92a, 10621, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf92b, 10625, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf92c, 10629, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf92d, 10633, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf92e, 10637, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf92f, 10641, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf930, 10645, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf931, 10649, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf932, 10653, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf933, 10657, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf934, 6399, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf935, 10661, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf936, 10665, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf937, 10669, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf938, 10673, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf939, 10677, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf93a, 10681, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf93b, 10685, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf93c, 10689, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf93d, 10693, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf93e, 10697, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf93f, 10701, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf940, 6691, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf941, 10705, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf942, 10709, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf943, 10713, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf944, 10717, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf945, 10721, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf946, 10725, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf947, 10729, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf948, 10733, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf949, 10737, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf94a, 10741, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf94b, 10745, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf94c, 10749, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf94d, 10753, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf94e, 10757, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf94f, 10761, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf950, 10765, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf951, 10769, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf952, 10773, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf953, 10777, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf954, 10781, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf955, 10785, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf956, 10789, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf957, 10793, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf958, 10797, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf959, 10801, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf95a, 10805, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf95b, 10809, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf95c, 10533, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf95d, 10813, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf95e, 10817, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf95f, 10821, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf960, 10825, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf961, 10829, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf962, 10833, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf963, 10837, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf964, 10841, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf965, 10845, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf966, 10849, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf967, 10853, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf968, 10857, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf969, 10861, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf96a, 10865, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf96b, 10869, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf96c, 10873, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf96d, 10877, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf96e, 10881, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf96f, 10885, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf970, 10889, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf971, 6543, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf972, 10893, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf973, 10897, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf974, 10901, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf975, 10905, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf976, 10909, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf977, 10913, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf978, 10917, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf979, 10921, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf97a, 10925, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf97b, 10929, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf97c, 10933, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf97d, 10937, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf97e, 10941, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf97f, 10945, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf980, 10949, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf981, 6051, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf982, 10953, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf983, 10957, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf984, 10961, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf985, 10965, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf986, 10969, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf987, 10973, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf988, 10977, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf989, 10981, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf98a, 5975, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf98b, 10985, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf98c, 10989, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf98d, 10993, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf98e, 10997, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf98f, 11001, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf990, 11005, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf991, 11009, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf992, 11013, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf993, 11017, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf994, 11021, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf995, 11025, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf996, 11029, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf997, 11033, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf998, 11037, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf999, 11041, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf99a, 11045, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf99b, 11049, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf99c, 11053, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf99d, 11057, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf99e, 11061, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf99f, 11065, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a0, 11069, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a1, 10885, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a2, 11073, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a3, 11077, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a4, 11081, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a5, 11085, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a6, 11089, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a7, 11093, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a8, 11097, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9a9, 11101, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9aa, 10821, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ab, 11105, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ac, 11109, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ad, 11113, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ae, 11117, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9af, 11121, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b0, 11125, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b1, 11129, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b2, 11133, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b3, 11137, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b4, 11141, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b5, 11145, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b6, 11149, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b7, 11153, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b8, 11157, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9b9, 11161, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ba, 11165, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9bb, 11169, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9bc, 11173, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9bd, 11177, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9be, 11181, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9bf, 10533, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c0, 11185, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c1, 11189, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c2, 11193, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c3, 11197, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c4, 6747, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c5, 11201, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c6, 11205, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c7, 11209, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c8, 11213, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9c9, 11217, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ca, 11221, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9cb, 11225, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9cc, 11229, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9cd, 11233, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ce, 11237, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9cf, 11241, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d0, 11245, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d1, 8199, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d2, 11249, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d3, 11253, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d4, 11257, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d5, 11261, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d6, 11265, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d7, 11269, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d8, 11273, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9d9, 11277, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9da, 11281, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9db, 10829, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9dc, 11285, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9dd, 11289, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9de, 11293, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9df, 11297, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e0, 11301, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e1, 11305, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e2, 11309, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e3, 11313, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e4, 11317, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e5, 11321, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e6, 11325, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e7, 11329, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e8, 11333, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9e9, 6563, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ea, 11337, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9eb, 11341, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ec, 11345, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ed, 11349, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ee, 11353, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ef, 11357, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f0, 11361, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f1, 11365, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f2, 11369, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f3, 11373, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f4, 11377, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f5, 11381, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f6, 11385, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f7, 6367, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f8, 11389, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9f9, 11393, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9fa, 11397, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9fb, 11401, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9fc, 11405, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9fd, 11409, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9fe, 11413, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xf9ff, 11417, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa00, 11421, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa01, 11425, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa02, 11429, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa03, 11433, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa04, 11437, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa05, 11441, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa06, 11445, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa07, 11449, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa08, 6475, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa09, 11453, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa0a, 6487, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa0b, 11457, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa0c, 11461, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa0d, 11465, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa10, 11469, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa12, 11473, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa15, 11477, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa16, 11481, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa17, 11485, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa18, 11489, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa19, 11493, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa1a, 11497, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa1b, 11501, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa1c, 11505, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa1d, 11509, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa1e, 6395, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa20, 11513, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa22, 11517, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa25, 11521, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa26, 11525, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa2a, 11529, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa2b, 11533, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa2c, 11537, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa2d, 11541, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa30, 11545, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa31, 11549, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa32, 11553, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa33, 11557, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa34, 11561, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa35, 11565, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa36, 11569, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa37, 11573, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa38, 11577, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa39, 11581, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa3a, 11585, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa3b, 11589, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa3c, 6079, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa3d, 11593, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa3e, 11597, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa3f, 11601, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa40, 11605, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa41, 11609, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa42, 11613, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa43, 11617, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa44, 11621, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa45, 11625, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa46, 11629, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa47, 11633, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa48, 11637, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa49, 11641, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa4a, 11645, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa4b, 11649, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa4c, 8219, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa4d, 11653, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa4e, 11657, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa4f, 11661, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa50, 11665, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa51, 8235, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa52, 11669, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa53, 11673, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa54, 11677, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa55, 11681, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa56, 11685, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa57, 11029, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa58, 11689, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa59, 11693, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa5a, 11697, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa5b, 11701, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa5c, 11705, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa5d, 11709, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa5e, 11709, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa5f, 11713, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa60, 11717, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa61, 11721, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa62, 11725, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa63, 11729, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa64, 11733, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa65, 11737, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa66, 11741, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa67, 11521, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa68, 11745, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa69, 11749, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfa6a, 11753, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb00, G_UNICODE_NOT_PRESENT_OFFSET, 11757 }, - { 0xfb01, G_UNICODE_NOT_PRESENT_OFFSET, 11760 }, - { 0xfb02, G_UNICODE_NOT_PRESENT_OFFSET, 11763 }, - { 0xfb03, G_UNICODE_NOT_PRESENT_OFFSET, 11766 }, - { 0xfb04, G_UNICODE_NOT_PRESENT_OFFSET, 11770 }, - { 0xfb05, G_UNICODE_NOT_PRESENT_OFFSET, 11774 }, - { 0xfb06, G_UNICODE_NOT_PRESENT_OFFSET, 11774 }, - { 0xfb13, G_UNICODE_NOT_PRESENT_OFFSET, 11777 }, - { 0xfb14, G_UNICODE_NOT_PRESENT_OFFSET, 11782 }, - { 0xfb15, G_UNICODE_NOT_PRESENT_OFFSET, 11787 }, - { 0xfb16, G_UNICODE_NOT_PRESENT_OFFSET, 11792 }, - { 0xfb17, G_UNICODE_NOT_PRESENT_OFFSET, 11797 }, - { 0xfb1d, 11802, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb1f, 11807, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb20, G_UNICODE_NOT_PRESENT_OFFSET, 11812 }, - { 0xfb21, G_UNICODE_NOT_PRESENT_OFFSET, 5052 }, - { 0xfb22, G_UNICODE_NOT_PRESENT_OFFSET, 5061 }, - { 0xfb23, G_UNICODE_NOT_PRESENT_OFFSET, 11815 }, - { 0xfb24, G_UNICODE_NOT_PRESENT_OFFSET, 11818 }, - { 0xfb25, G_UNICODE_NOT_PRESENT_OFFSET, 11821 }, - { 0xfb26, G_UNICODE_NOT_PRESENT_OFFSET, 11824 }, - { 0xfb27, G_UNICODE_NOT_PRESENT_OFFSET, 11827 }, - { 0xfb28, G_UNICODE_NOT_PRESENT_OFFSET, 11830 }, - { 0xfb29, G_UNICODE_NOT_PRESENT_OFFSET, 4957 }, - { 0xfb2a, 11833, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb2b, 11838, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb2c, 11843, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb2d, 11850, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb2e, 11857, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb2f, 11862, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb30, 11867, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb31, 11872, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb32, 11877, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb33, 11882, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb34, 11887, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb35, 11892, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb36, 11897, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb38, 11902, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb39, 11907, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb3a, 11912, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb3b, 11917, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb3c, 11922, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb3e, 11927, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb40, 11932, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb41, 11937, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb43, 11942, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb44, 11947, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb46, 11952, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb47, 11957, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb48, 11962, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb49, 11967, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb4a, 11972, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb4b, 11977, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb4c, 11982, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb4d, 11987, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb4e, 11992, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0xfb4f, G_UNICODE_NOT_PRESENT_OFFSET, 11997 }, - { 0xfb50, G_UNICODE_NOT_PRESENT_OFFSET, 12002 }, - { 0xfb51, G_UNICODE_NOT_PRESENT_OFFSET, 12002 }, - { 0xfb52, G_UNICODE_NOT_PRESENT_OFFSET, 12005 }, - { 0xfb53, G_UNICODE_NOT_PRESENT_OFFSET, 12005 }, - { 0xfb54, G_UNICODE_NOT_PRESENT_OFFSET, 12005 }, - { 0xfb55, G_UNICODE_NOT_PRESENT_OFFSET, 12005 }, - { 0xfb56, G_UNICODE_NOT_PRESENT_OFFSET, 12008 }, - { 0xfb57, G_UNICODE_NOT_PRESENT_OFFSET, 12008 }, - { 0xfb58, G_UNICODE_NOT_PRESENT_OFFSET, 12008 }, - { 0xfb59, G_UNICODE_NOT_PRESENT_OFFSET, 12008 }, - { 0xfb5a, G_UNICODE_NOT_PRESENT_OFFSET, 12011 }, - { 0xfb5b, G_UNICODE_NOT_PRESENT_OFFSET, 12011 }, - { 0xfb5c, G_UNICODE_NOT_PRESENT_OFFSET, 12011 }, - { 0xfb5d, G_UNICODE_NOT_PRESENT_OFFSET, 12011 }, - { 0xfb5e, G_UNICODE_NOT_PRESENT_OFFSET, 12014 }, - { 0xfb5f, G_UNICODE_NOT_PRESENT_OFFSET, 12014 }, - { 0xfb60, G_UNICODE_NOT_PRESENT_OFFSET, 12014 }, - { 0xfb61, G_UNICODE_NOT_PRESENT_OFFSET, 12014 }, - { 0xfb62, G_UNICODE_NOT_PRESENT_OFFSET, 12017 }, - { 0xfb63, G_UNICODE_NOT_PRESENT_OFFSET, 12017 }, - { 0xfb64, G_UNICODE_NOT_PRESENT_OFFSET, 12017 }, - { 0xfb65, G_UNICODE_NOT_PRESENT_OFFSET, 12017 }, - { 0xfb66, G_UNICODE_NOT_PRESENT_OFFSET, 12020 }, - { 0xfb67, G_UNICODE_NOT_PRESENT_OFFSET, 12020 }, - { 0xfb68, G_UNICODE_NOT_PRESENT_OFFSET, 12020 }, - { 0xfb69, G_UNICODE_NOT_PRESENT_OFFSET, 12020 }, - { 0xfb6a, G_UNICODE_NOT_PRESENT_OFFSET, 12023 }, - { 0xfb6b, G_UNICODE_NOT_PRESENT_OFFSET, 12023 }, - { 0xfb6c, G_UNICODE_NOT_PRESENT_OFFSET, 12023 }, - { 0xfb6d, G_UNICODE_NOT_PRESENT_OFFSET, 12023 }, - { 0xfb6e, G_UNICODE_NOT_PRESENT_OFFSET, 12026 }, - { 0xfb6f, G_UNICODE_NOT_PRESENT_OFFSET, 12026 }, - { 0xfb70, G_UNICODE_NOT_PRESENT_OFFSET, 12026 }, - { 0xfb71, G_UNICODE_NOT_PRESENT_OFFSET, 12026 }, - { 0xfb72, G_UNICODE_NOT_PRESENT_OFFSET, 12029 }, - { 0xfb73, G_UNICODE_NOT_PRESENT_OFFSET, 12029 }, - { 0xfb74, G_UNICODE_NOT_PRESENT_OFFSET, 12029 }, - { 0xfb75, G_UNICODE_NOT_PRESENT_OFFSET, 12029 }, - { 0xfb76, G_UNICODE_NOT_PRESENT_OFFSET, 12032 }, - { 0xfb77, G_UNICODE_NOT_PRESENT_OFFSET, 12032 }, - { 0xfb78, G_UNICODE_NOT_PRESENT_OFFSET, 12032 }, - { 0xfb79, G_UNICODE_NOT_PRESENT_OFFSET, 12032 }, - { 0xfb7a, G_UNICODE_NOT_PRESENT_OFFSET, 12035 }, - { 0xfb7b, G_UNICODE_NOT_PRESENT_OFFSET, 12035 }, - { 0xfb7c, G_UNICODE_NOT_PRESENT_OFFSET, 12035 }, - { 0xfb7d, G_UNICODE_NOT_PRESENT_OFFSET, 12035 }, - { 0xfb7e, G_UNICODE_NOT_PRESENT_OFFSET, 12038 }, - { 0xfb7f, G_UNICODE_NOT_PRESENT_OFFSET, 12038 }, - { 0xfb80, G_UNICODE_NOT_PRESENT_OFFSET, 12038 }, - { 0xfb81, G_UNICODE_NOT_PRESENT_OFFSET, 12038 }, - { 0xfb82, G_UNICODE_NOT_PRESENT_OFFSET, 12041 }, - { 0xfb83, G_UNICODE_NOT_PRESENT_OFFSET, 12041 }, - { 0xfb84, G_UNICODE_NOT_PRESENT_OFFSET, 12044 }, - { 0xfb85, G_UNICODE_NOT_PRESENT_OFFSET, 12044 }, - { 0xfb86, G_UNICODE_NOT_PRESENT_OFFSET, 12047 }, - { 0xfb87, G_UNICODE_NOT_PRESENT_OFFSET, 12047 }, - { 0xfb88, G_UNICODE_NOT_PRESENT_OFFSET, 12050 }, - { 0xfb89, G_UNICODE_NOT_PRESENT_OFFSET, 12050 }, - { 0xfb8a, G_UNICODE_NOT_PRESENT_OFFSET, 12053 }, - { 0xfb8b, G_UNICODE_NOT_PRESENT_OFFSET, 12053 }, - { 0xfb8c, G_UNICODE_NOT_PRESENT_OFFSET, 12056 }, - { 0xfb8d, G_UNICODE_NOT_PRESENT_OFFSET, 12056 }, - { 0xfb8e, G_UNICODE_NOT_PRESENT_OFFSET, 12059 }, - { 0xfb8f, G_UNICODE_NOT_PRESENT_OFFSET, 12059 }, - { 0xfb90, G_UNICODE_NOT_PRESENT_OFFSET, 12059 }, - { 0xfb91, G_UNICODE_NOT_PRESENT_OFFSET, 12059 }, - { 0xfb92, G_UNICODE_NOT_PRESENT_OFFSET, 12062 }, - { 0xfb93, G_UNICODE_NOT_PRESENT_OFFSET, 12062 }, - { 0xfb94, G_UNICODE_NOT_PRESENT_OFFSET, 12062 }, - { 0xfb95, G_UNICODE_NOT_PRESENT_OFFSET, 12062 }, - { 0xfb96, G_UNICODE_NOT_PRESENT_OFFSET, 12065 }, - { 0xfb97, G_UNICODE_NOT_PRESENT_OFFSET, 12065 }, - { 0xfb98, G_UNICODE_NOT_PRESENT_OFFSET, 12065 }, - { 0xfb99, G_UNICODE_NOT_PRESENT_OFFSET, 12065 }, - { 0xfb9a, G_UNICODE_NOT_PRESENT_OFFSET, 12068 }, - { 0xfb9b, G_UNICODE_NOT_PRESENT_OFFSET, 12068 }, - { 0xfb9c, G_UNICODE_NOT_PRESENT_OFFSET, 12068 }, - { 0xfb9d, G_UNICODE_NOT_PRESENT_OFFSET, 12068 }, - { 0xfb9e, G_UNICODE_NOT_PRESENT_OFFSET, 12071 }, - { 0xfb9f, G_UNICODE_NOT_PRESENT_OFFSET, 12071 }, - { 0xfba0, G_UNICODE_NOT_PRESENT_OFFSET, 12074 }, - { 0xfba1, G_UNICODE_NOT_PRESENT_OFFSET, 12074 }, - { 0xfba2, G_UNICODE_NOT_PRESENT_OFFSET, 12074 }, - { 0xfba3, G_UNICODE_NOT_PRESENT_OFFSET, 12074 }, - { 0xfba4, G_UNICODE_NOT_PRESENT_OFFSET, 1718 }, - { 0xfba5, G_UNICODE_NOT_PRESENT_OFFSET, 1718 }, - { 0xfba6, G_UNICODE_NOT_PRESENT_OFFSET, 12077 }, - { 0xfba7, G_UNICODE_NOT_PRESENT_OFFSET, 12077 }, - { 0xfba8, G_UNICODE_NOT_PRESENT_OFFSET, 12077 }, - { 0xfba9, G_UNICODE_NOT_PRESENT_OFFSET, 12077 }, - { 0xfbaa, G_UNICODE_NOT_PRESENT_OFFSET, 12080 }, - { 0xfbab, G_UNICODE_NOT_PRESENT_OFFSET, 12080 }, - { 0xfbac, G_UNICODE_NOT_PRESENT_OFFSET, 12080 }, - { 0xfbad, G_UNICODE_NOT_PRESENT_OFFSET, 12080 }, - { 0xfbae, G_UNICODE_NOT_PRESENT_OFFSET, 12083 }, - { 0xfbaf, G_UNICODE_NOT_PRESENT_OFFSET, 12083 }, - { 0xfbb0, G_UNICODE_NOT_PRESENT_OFFSET, 1728 }, - { 0xfbb1, G_UNICODE_NOT_PRESENT_OFFSET, 1728 }, - { 0xfbd3, G_UNICODE_NOT_PRESENT_OFFSET, 12086 }, - { 0xfbd4, G_UNICODE_NOT_PRESENT_OFFSET, 12086 }, - { 0xfbd5, G_UNICODE_NOT_PRESENT_OFFSET, 12086 }, - { 0xfbd6, G_UNICODE_NOT_PRESENT_OFFSET, 12086 }, - { 0xfbd7, G_UNICODE_NOT_PRESENT_OFFSET, 12089 }, - { 0xfbd8, G_UNICODE_NOT_PRESENT_OFFSET, 12089 }, - { 0xfbd9, G_UNICODE_NOT_PRESENT_OFFSET, 12092 }, - { 0xfbda, G_UNICODE_NOT_PRESENT_OFFSET, 12092 }, - { 0xfbdb, G_UNICODE_NOT_PRESENT_OFFSET, 12095 }, - { 0xfbdc, G_UNICODE_NOT_PRESENT_OFFSET, 12095 }, - { 0xfbdd, G_UNICODE_NOT_PRESENT_OFFSET, 1708 }, - { 0xfbde, G_UNICODE_NOT_PRESENT_OFFSET, 12098 }, - { 0xfbdf, G_UNICODE_NOT_PRESENT_OFFSET, 12098 }, - { 0xfbe0, G_UNICODE_NOT_PRESENT_OFFSET, 12101 }, - { 0xfbe1, G_UNICODE_NOT_PRESENT_OFFSET, 12101 }, - { 0xfbe2, G_UNICODE_NOT_PRESENT_OFFSET, 12104 }, - { 0xfbe3, G_UNICODE_NOT_PRESENT_OFFSET, 12104 }, - { 0xfbe4, G_UNICODE_NOT_PRESENT_OFFSET, 12107 }, - { 0xfbe5, G_UNICODE_NOT_PRESENT_OFFSET, 12107 }, - { 0xfbe6, G_UNICODE_NOT_PRESENT_OFFSET, 12107 }, - { 0xfbe7, G_UNICODE_NOT_PRESENT_OFFSET, 12107 }, - { 0xfbe8, G_UNICODE_NOT_PRESENT_OFFSET, 12110 }, - { 0xfbe9, G_UNICODE_NOT_PRESENT_OFFSET, 12110 }, - { 0xfbea, G_UNICODE_NOT_PRESENT_OFFSET, 12113 }, - { 0xfbeb, G_UNICODE_NOT_PRESENT_OFFSET, 12113 }, - { 0xfbec, G_UNICODE_NOT_PRESENT_OFFSET, 12120 }, - { 0xfbed, G_UNICODE_NOT_PRESENT_OFFSET, 12120 }, - { 0xfbee, G_UNICODE_NOT_PRESENT_OFFSET, 12127 }, - { 0xfbef, G_UNICODE_NOT_PRESENT_OFFSET, 12127 }, - { 0xfbf0, G_UNICODE_NOT_PRESENT_OFFSET, 12134 }, - { 0xfbf1, G_UNICODE_NOT_PRESENT_OFFSET, 12134 }, - { 0xfbf2, G_UNICODE_NOT_PRESENT_OFFSET, 12141 }, - { 0xfbf3, G_UNICODE_NOT_PRESENT_OFFSET, 12141 }, - { 0xfbf4, G_UNICODE_NOT_PRESENT_OFFSET, 12148 }, - { 0xfbf5, G_UNICODE_NOT_PRESENT_OFFSET, 12148 }, - { 0xfbf6, G_UNICODE_NOT_PRESENT_OFFSET, 12155 }, - { 0xfbf7, G_UNICODE_NOT_PRESENT_OFFSET, 12155 }, - { 0xfbf8, G_UNICODE_NOT_PRESENT_OFFSET, 12155 }, - { 0xfbf9, G_UNICODE_NOT_PRESENT_OFFSET, 12162 }, - { 0xfbfa, G_UNICODE_NOT_PRESENT_OFFSET, 12162 }, - { 0xfbfb, G_UNICODE_NOT_PRESENT_OFFSET, 12162 }, - { 0xfbfc, G_UNICODE_NOT_PRESENT_OFFSET, 12169 }, - { 0xfbfd, G_UNICODE_NOT_PRESENT_OFFSET, 12169 }, - { 0xfbfe, G_UNICODE_NOT_PRESENT_OFFSET, 12169 }, - { 0xfbff, G_UNICODE_NOT_PRESENT_OFFSET, 12169 }, - { 0xfc00, G_UNICODE_NOT_PRESENT_OFFSET, 12172 }, - { 0xfc01, G_UNICODE_NOT_PRESENT_OFFSET, 12179 }, - { 0xfc02, G_UNICODE_NOT_PRESENT_OFFSET, 12186 }, - { 0xfc03, G_UNICODE_NOT_PRESENT_OFFSET, 12162 }, - { 0xfc04, G_UNICODE_NOT_PRESENT_OFFSET, 12193 }, - { 0xfc05, G_UNICODE_NOT_PRESENT_OFFSET, 12200 }, - { 0xfc06, G_UNICODE_NOT_PRESENT_OFFSET, 12205 }, - { 0xfc07, G_UNICODE_NOT_PRESENT_OFFSET, 12210 }, - { 0xfc08, G_UNICODE_NOT_PRESENT_OFFSET, 12215 }, - { 0xfc09, G_UNICODE_NOT_PRESENT_OFFSET, 12220 }, - { 0xfc0a, G_UNICODE_NOT_PRESENT_OFFSET, 12225 }, - { 0xfc0b, G_UNICODE_NOT_PRESENT_OFFSET, 12230 }, - { 0xfc0c, G_UNICODE_NOT_PRESENT_OFFSET, 12235 }, - { 0xfc0d, G_UNICODE_NOT_PRESENT_OFFSET, 12240 }, - { 0xfc0e, G_UNICODE_NOT_PRESENT_OFFSET, 12245 }, - { 0xfc0f, G_UNICODE_NOT_PRESENT_OFFSET, 12250 }, - { 0xfc10, G_UNICODE_NOT_PRESENT_OFFSET, 12255 }, - { 0xfc11, G_UNICODE_NOT_PRESENT_OFFSET, 12260 }, - { 0xfc12, G_UNICODE_NOT_PRESENT_OFFSET, 12265 }, - { 0xfc13, G_UNICODE_NOT_PRESENT_OFFSET, 12270 }, - { 0xfc14, G_UNICODE_NOT_PRESENT_OFFSET, 12275 }, - { 0xfc15, G_UNICODE_NOT_PRESENT_OFFSET, 12280 }, - { 0xfc16, G_UNICODE_NOT_PRESENT_OFFSET, 12285 }, - { 0xfc17, G_UNICODE_NOT_PRESENT_OFFSET, 12290 }, - { 0xfc18, G_UNICODE_NOT_PRESENT_OFFSET, 12295 }, - { 0xfc19, G_UNICODE_NOT_PRESENT_OFFSET, 12300 }, - { 0xfc1a, G_UNICODE_NOT_PRESENT_OFFSET, 12305 }, - { 0xfc1b, G_UNICODE_NOT_PRESENT_OFFSET, 12310 }, - { 0xfc1c, G_UNICODE_NOT_PRESENT_OFFSET, 12315 }, - { 0xfc1d, G_UNICODE_NOT_PRESENT_OFFSET, 12320 }, - { 0xfc1e, G_UNICODE_NOT_PRESENT_OFFSET, 12325 }, - { 0xfc1f, G_UNICODE_NOT_PRESENT_OFFSET, 12330 }, - { 0xfc20, G_UNICODE_NOT_PRESENT_OFFSET, 12335 }, - { 0xfc21, G_UNICODE_NOT_PRESENT_OFFSET, 12340 }, - { 0xfc22, G_UNICODE_NOT_PRESENT_OFFSET, 12345 }, - { 0xfc23, G_UNICODE_NOT_PRESENT_OFFSET, 12350 }, - { 0xfc24, G_UNICODE_NOT_PRESENT_OFFSET, 12355 }, - { 0xfc25, G_UNICODE_NOT_PRESENT_OFFSET, 12360 }, - { 0xfc26, G_UNICODE_NOT_PRESENT_OFFSET, 12365 }, - { 0xfc27, G_UNICODE_NOT_PRESENT_OFFSET, 12370 }, - { 0xfc28, G_UNICODE_NOT_PRESENT_OFFSET, 12375 }, - { 0xfc29, G_UNICODE_NOT_PRESENT_OFFSET, 12380 }, - { 0xfc2a, G_UNICODE_NOT_PRESENT_OFFSET, 12385 }, - { 0xfc2b, G_UNICODE_NOT_PRESENT_OFFSET, 12390 }, - { 0xfc2c, G_UNICODE_NOT_PRESENT_OFFSET, 12395 }, - { 0xfc2d, G_UNICODE_NOT_PRESENT_OFFSET, 12400 }, - { 0xfc2e, G_UNICODE_NOT_PRESENT_OFFSET, 12405 }, - { 0xfc2f, G_UNICODE_NOT_PRESENT_OFFSET, 12410 }, - { 0xfc30, G_UNICODE_NOT_PRESENT_OFFSET, 12415 }, - { 0xfc31, G_UNICODE_NOT_PRESENT_OFFSET, 12420 }, - { 0xfc32, G_UNICODE_NOT_PRESENT_OFFSET, 12425 }, - { 0xfc33, G_UNICODE_NOT_PRESENT_OFFSET, 12430 }, - { 0xfc34, G_UNICODE_NOT_PRESENT_OFFSET, 12435 }, - { 0xfc35, G_UNICODE_NOT_PRESENT_OFFSET, 12440 }, - { 0xfc36, G_UNICODE_NOT_PRESENT_OFFSET, 12445 }, - { 0xfc37, G_UNICODE_NOT_PRESENT_OFFSET, 12450 }, - { 0xfc38, G_UNICODE_NOT_PRESENT_OFFSET, 12455 }, - { 0xfc39, G_UNICODE_NOT_PRESENT_OFFSET, 12460 }, - { 0xfc3a, G_UNICODE_NOT_PRESENT_OFFSET, 12465 }, - { 0xfc3b, G_UNICODE_NOT_PRESENT_OFFSET, 12470 }, - { 0xfc3c, G_UNICODE_NOT_PRESENT_OFFSET, 12475 }, - { 0xfc3d, G_UNICODE_NOT_PRESENT_OFFSET, 12480 }, - { 0xfc3e, G_UNICODE_NOT_PRESENT_OFFSET, 12485 }, - { 0xfc3f, G_UNICODE_NOT_PRESENT_OFFSET, 12490 }, - { 0xfc40, G_UNICODE_NOT_PRESENT_OFFSET, 12495 }, - { 0xfc41, G_UNICODE_NOT_PRESENT_OFFSET, 12500 }, - { 0xfc42, G_UNICODE_NOT_PRESENT_OFFSET, 12505 }, - { 0xfc43, G_UNICODE_NOT_PRESENT_OFFSET, 12510 }, - { 0xfc44, G_UNICODE_NOT_PRESENT_OFFSET, 12515 }, - { 0xfc45, G_UNICODE_NOT_PRESENT_OFFSET, 12520 }, - { 0xfc46, G_UNICODE_NOT_PRESENT_OFFSET, 12525 }, - { 0xfc47, G_UNICODE_NOT_PRESENT_OFFSET, 12530 }, - { 0xfc48, G_UNICODE_NOT_PRESENT_OFFSET, 12535 }, - { 0xfc49, G_UNICODE_NOT_PRESENT_OFFSET, 12540 }, - { 0xfc4a, G_UNICODE_NOT_PRESENT_OFFSET, 12545 }, - { 0xfc4b, G_UNICODE_NOT_PRESENT_OFFSET, 12550 }, - { 0xfc4c, G_UNICODE_NOT_PRESENT_OFFSET, 12555 }, - { 0xfc4d, G_UNICODE_NOT_PRESENT_OFFSET, 12560 }, - { 0xfc4e, G_UNICODE_NOT_PRESENT_OFFSET, 12565 }, - { 0xfc4f, G_UNICODE_NOT_PRESENT_OFFSET, 12570 }, - { 0xfc50, G_UNICODE_NOT_PRESENT_OFFSET, 12575 }, - { 0xfc51, G_UNICODE_NOT_PRESENT_OFFSET, 12580 }, - { 0xfc52, G_UNICODE_NOT_PRESENT_OFFSET, 12585 }, - { 0xfc53, G_UNICODE_NOT_PRESENT_OFFSET, 12590 }, - { 0xfc54, G_UNICODE_NOT_PRESENT_OFFSET, 12595 }, - { 0xfc55, G_UNICODE_NOT_PRESENT_OFFSET, 12600 }, - { 0xfc56, G_UNICODE_NOT_PRESENT_OFFSET, 12605 }, - { 0xfc57, G_UNICODE_NOT_PRESENT_OFFSET, 12610 }, - { 0xfc58, G_UNICODE_NOT_PRESENT_OFFSET, 12615 }, - { 0xfc59, G_UNICODE_NOT_PRESENT_OFFSET, 12620 }, - { 0xfc5a, G_UNICODE_NOT_PRESENT_OFFSET, 12625 }, - { 0xfc5b, G_UNICODE_NOT_PRESENT_OFFSET, 12630 }, - { 0xfc5c, G_UNICODE_NOT_PRESENT_OFFSET, 12635 }, - { 0xfc5d, G_UNICODE_NOT_PRESENT_OFFSET, 12640 }, - { 0xfc5e, G_UNICODE_NOT_PRESENT_OFFSET, 12645 }, - { 0xfc5f, G_UNICODE_NOT_PRESENT_OFFSET, 12651 }, - { 0xfc60, G_UNICODE_NOT_PRESENT_OFFSET, 12657 }, - { 0xfc61, G_UNICODE_NOT_PRESENT_OFFSET, 12663 }, - { 0xfc62, G_UNICODE_NOT_PRESENT_OFFSET, 12669 }, - { 0xfc63, G_UNICODE_NOT_PRESENT_OFFSET, 12675 }, - { 0xfc64, G_UNICODE_NOT_PRESENT_OFFSET, 12681 }, - { 0xfc65, G_UNICODE_NOT_PRESENT_OFFSET, 12688 }, - { 0xfc66, G_UNICODE_NOT_PRESENT_OFFSET, 12186 }, - { 0xfc67, G_UNICODE_NOT_PRESENT_OFFSET, 12695 }, - { 0xfc68, G_UNICODE_NOT_PRESENT_OFFSET, 12162 }, - { 0xfc69, G_UNICODE_NOT_PRESENT_OFFSET, 12193 }, - { 0xfc6a, G_UNICODE_NOT_PRESENT_OFFSET, 12702 }, - { 0xfc6b, G_UNICODE_NOT_PRESENT_OFFSET, 12707 }, - { 0xfc6c, G_UNICODE_NOT_PRESENT_OFFSET, 12215 }, - { 0xfc6d, G_UNICODE_NOT_PRESENT_OFFSET, 12712 }, - { 0xfc6e, G_UNICODE_NOT_PRESENT_OFFSET, 12220 }, - { 0xfc6f, G_UNICODE_NOT_PRESENT_OFFSET, 12225 }, - { 0xfc70, G_UNICODE_NOT_PRESENT_OFFSET, 12717 }, - { 0xfc71, G_UNICODE_NOT_PRESENT_OFFSET, 12722 }, - { 0xfc72, G_UNICODE_NOT_PRESENT_OFFSET, 12245 }, - { 0xfc73, G_UNICODE_NOT_PRESENT_OFFSET, 12727 }, - { 0xfc74, G_UNICODE_NOT_PRESENT_OFFSET, 12250 }, - { 0xfc75, G_UNICODE_NOT_PRESENT_OFFSET, 12255 }, - { 0xfc76, G_UNICODE_NOT_PRESENT_OFFSET, 12732 }, - { 0xfc77, G_UNICODE_NOT_PRESENT_OFFSET, 12737 }, - { 0xfc78, G_UNICODE_NOT_PRESENT_OFFSET, 12265 }, - { 0xfc79, G_UNICODE_NOT_PRESENT_OFFSET, 12742 }, - { 0xfc7a, G_UNICODE_NOT_PRESENT_OFFSET, 12270 }, - { 0xfc7b, G_UNICODE_NOT_PRESENT_OFFSET, 12275 }, - { 0xfc7c, G_UNICODE_NOT_PRESENT_OFFSET, 12420 }, - { 0xfc7d, G_UNICODE_NOT_PRESENT_OFFSET, 12425 }, - { 0xfc7e, G_UNICODE_NOT_PRESENT_OFFSET, 12440 }, - { 0xfc7f, G_UNICODE_NOT_PRESENT_OFFSET, 12445 }, - { 0xfc80, G_UNICODE_NOT_PRESENT_OFFSET, 12450 }, - { 0xfc81, G_UNICODE_NOT_PRESENT_OFFSET, 12470 }, - { 0xfc82, G_UNICODE_NOT_PRESENT_OFFSET, 12475 }, - { 0xfc83, G_UNICODE_NOT_PRESENT_OFFSET, 12480 }, - { 0xfc84, G_UNICODE_NOT_PRESENT_OFFSET, 12485 }, - { 0xfc85, G_UNICODE_NOT_PRESENT_OFFSET, 12505 }, - { 0xfc86, G_UNICODE_NOT_PRESENT_OFFSET, 12510 }, - { 0xfc87, G_UNICODE_NOT_PRESENT_OFFSET, 12515 }, - { 0xfc88, G_UNICODE_NOT_PRESENT_OFFSET, 12747 }, - { 0xfc89, G_UNICODE_NOT_PRESENT_OFFSET, 12535 }, - { 0xfc8a, G_UNICODE_NOT_PRESENT_OFFSET, 12752 }, - { 0xfc8b, G_UNICODE_NOT_PRESENT_OFFSET, 12757 }, - { 0xfc8c, G_UNICODE_NOT_PRESENT_OFFSET, 12565 }, - { 0xfc8d, G_UNICODE_NOT_PRESENT_OFFSET, 12762 }, - { 0xfc8e, G_UNICODE_NOT_PRESENT_OFFSET, 12570 }, - { 0xfc8f, G_UNICODE_NOT_PRESENT_OFFSET, 12575 }, - { 0xfc90, G_UNICODE_NOT_PRESENT_OFFSET, 12640 }, - { 0xfc91, G_UNICODE_NOT_PRESENT_OFFSET, 12767 }, - { 0xfc92, G_UNICODE_NOT_PRESENT_OFFSET, 12772 }, - { 0xfc93, G_UNICODE_NOT_PRESENT_OFFSET, 12615 }, - { 0xfc94, G_UNICODE_NOT_PRESENT_OFFSET, 12777 }, - { 0xfc95, G_UNICODE_NOT_PRESENT_OFFSET, 12620 }, - { 0xfc96, G_UNICODE_NOT_PRESENT_OFFSET, 12625 }, - { 0xfc97, G_UNICODE_NOT_PRESENT_OFFSET, 12172 }, - { 0xfc98, G_UNICODE_NOT_PRESENT_OFFSET, 12179 }, - { 0xfc99, G_UNICODE_NOT_PRESENT_OFFSET, 12782 }, - { 0xfc9a, G_UNICODE_NOT_PRESENT_OFFSET, 12186 }, - { 0xfc9b, G_UNICODE_NOT_PRESENT_OFFSET, 12789 }, - { 0xfc9c, G_UNICODE_NOT_PRESENT_OFFSET, 12200 }, - { 0xfc9d, G_UNICODE_NOT_PRESENT_OFFSET, 12205 }, - { 0xfc9e, G_UNICODE_NOT_PRESENT_OFFSET, 12210 }, - { 0xfc9f, G_UNICODE_NOT_PRESENT_OFFSET, 12215 }, - { 0xfca0, G_UNICODE_NOT_PRESENT_OFFSET, 12796 }, - { 0xfca1, G_UNICODE_NOT_PRESENT_OFFSET, 12230 }, - { 0xfca2, G_UNICODE_NOT_PRESENT_OFFSET, 12235 }, - { 0xfca3, G_UNICODE_NOT_PRESENT_OFFSET, 12240 }, - { 0xfca4, G_UNICODE_NOT_PRESENT_OFFSET, 12245 }, - { 0xfca5, G_UNICODE_NOT_PRESENT_OFFSET, 12801 }, - { 0xfca6, G_UNICODE_NOT_PRESENT_OFFSET, 12265 }, - { 0xfca7, G_UNICODE_NOT_PRESENT_OFFSET, 12280 }, - { 0xfca8, G_UNICODE_NOT_PRESENT_OFFSET, 12285 }, - { 0xfca9, G_UNICODE_NOT_PRESENT_OFFSET, 12290 }, - { 0xfcaa, G_UNICODE_NOT_PRESENT_OFFSET, 12295 }, - { 0xfcab, G_UNICODE_NOT_PRESENT_OFFSET, 12300 }, - { 0xfcac, G_UNICODE_NOT_PRESENT_OFFSET, 12310 }, - { 0xfcad, G_UNICODE_NOT_PRESENT_OFFSET, 12315 }, - { 0xfcae, G_UNICODE_NOT_PRESENT_OFFSET, 12320 }, - { 0xfcaf, G_UNICODE_NOT_PRESENT_OFFSET, 12325 }, - { 0xfcb0, G_UNICODE_NOT_PRESENT_OFFSET, 12330 }, - { 0xfcb1, G_UNICODE_NOT_PRESENT_OFFSET, 12335 }, - { 0xfcb2, G_UNICODE_NOT_PRESENT_OFFSET, 12806 }, - { 0xfcb3, G_UNICODE_NOT_PRESENT_OFFSET, 12340 }, - { 0xfcb4, G_UNICODE_NOT_PRESENT_OFFSET, 12345 }, - { 0xfcb5, G_UNICODE_NOT_PRESENT_OFFSET, 12350 }, - { 0xfcb6, G_UNICODE_NOT_PRESENT_OFFSET, 12355 }, - { 0xfcb7, G_UNICODE_NOT_PRESENT_OFFSET, 12360 }, - { 0xfcb8, G_UNICODE_NOT_PRESENT_OFFSET, 12365 }, - { 0xfcb9, G_UNICODE_NOT_PRESENT_OFFSET, 12375 }, - { 0xfcba, G_UNICODE_NOT_PRESENT_OFFSET, 12380 }, - { 0xfcbb, G_UNICODE_NOT_PRESENT_OFFSET, 12385 }, - { 0xfcbc, G_UNICODE_NOT_PRESENT_OFFSET, 12390 }, - { 0xfcbd, G_UNICODE_NOT_PRESENT_OFFSET, 12395 }, - { 0xfcbe, G_UNICODE_NOT_PRESENT_OFFSET, 12400 }, - { 0xfcbf, G_UNICODE_NOT_PRESENT_OFFSET, 12405 }, - { 0xfcc0, G_UNICODE_NOT_PRESENT_OFFSET, 12410 }, - { 0xfcc1, G_UNICODE_NOT_PRESENT_OFFSET, 12415 }, - { 0xfcc2, G_UNICODE_NOT_PRESENT_OFFSET, 12430 }, - { 0xfcc3, G_UNICODE_NOT_PRESENT_OFFSET, 12435 }, - { 0xfcc4, G_UNICODE_NOT_PRESENT_OFFSET, 12455 }, - { 0xfcc5, G_UNICODE_NOT_PRESENT_OFFSET, 12460 }, - { 0xfcc6, G_UNICODE_NOT_PRESENT_OFFSET, 12465 }, - { 0xfcc7, G_UNICODE_NOT_PRESENT_OFFSET, 12470 }, - { 0xfcc8, G_UNICODE_NOT_PRESENT_OFFSET, 12475 }, - { 0xfcc9, G_UNICODE_NOT_PRESENT_OFFSET, 12490 }, - { 0xfcca, G_UNICODE_NOT_PRESENT_OFFSET, 12495 }, - { 0xfccb, G_UNICODE_NOT_PRESENT_OFFSET, 12500 }, - { 0xfccc, G_UNICODE_NOT_PRESENT_OFFSET, 12505 }, - { 0xfccd, G_UNICODE_NOT_PRESENT_OFFSET, 12811 }, - { 0xfcce, G_UNICODE_NOT_PRESENT_OFFSET, 12520 }, - { 0xfccf, G_UNICODE_NOT_PRESENT_OFFSET, 12525 }, - { 0xfcd0, G_UNICODE_NOT_PRESENT_OFFSET, 12530 }, - { 0xfcd1, G_UNICODE_NOT_PRESENT_OFFSET, 12535 }, - { 0xfcd2, G_UNICODE_NOT_PRESENT_OFFSET, 12550 }, - { 0xfcd3, G_UNICODE_NOT_PRESENT_OFFSET, 12555 }, - { 0xfcd4, G_UNICODE_NOT_PRESENT_OFFSET, 12560 }, - { 0xfcd5, G_UNICODE_NOT_PRESENT_OFFSET, 12565 }, - { 0xfcd6, G_UNICODE_NOT_PRESENT_OFFSET, 12816 }, - { 0xfcd7, G_UNICODE_NOT_PRESENT_OFFSET, 12580 }, - { 0xfcd8, G_UNICODE_NOT_PRESENT_OFFSET, 12585 }, - { 0xfcd9, G_UNICODE_NOT_PRESENT_OFFSET, 12821 }, - { 0xfcda, G_UNICODE_NOT_PRESENT_OFFSET, 12600 }, - { 0xfcdb, G_UNICODE_NOT_PRESENT_OFFSET, 12605 }, - { 0xfcdc, G_UNICODE_NOT_PRESENT_OFFSET, 12610 }, - { 0xfcdd, G_UNICODE_NOT_PRESENT_OFFSET, 12615 }, - { 0xfcde, G_UNICODE_NOT_PRESENT_OFFSET, 12826 }, - { 0xfcdf, G_UNICODE_NOT_PRESENT_OFFSET, 12186 }, - { 0xfce0, G_UNICODE_NOT_PRESENT_OFFSET, 12789 }, - { 0xfce1, G_UNICODE_NOT_PRESENT_OFFSET, 12215 }, - { 0xfce2, G_UNICODE_NOT_PRESENT_OFFSET, 12796 }, - { 0xfce3, G_UNICODE_NOT_PRESENT_OFFSET, 12245 }, - { 0xfce4, G_UNICODE_NOT_PRESENT_OFFSET, 12801 }, - { 0xfce5, G_UNICODE_NOT_PRESENT_OFFSET, 12265 }, - { 0xfce6, G_UNICODE_NOT_PRESENT_OFFSET, 12831 }, - { 0xfce7, G_UNICODE_NOT_PRESENT_OFFSET, 12330 }, - { 0xfce8, G_UNICODE_NOT_PRESENT_OFFSET, 12836 }, - { 0xfce9, G_UNICODE_NOT_PRESENT_OFFSET, 12841 }, - { 0xfcea, G_UNICODE_NOT_PRESENT_OFFSET, 12846 }, - { 0xfceb, G_UNICODE_NOT_PRESENT_OFFSET, 12470 }, - { 0xfcec, G_UNICODE_NOT_PRESENT_OFFSET, 12475 }, - { 0xfced, G_UNICODE_NOT_PRESENT_OFFSET, 12505 }, - { 0xfcee, G_UNICODE_NOT_PRESENT_OFFSET, 12565 }, - { 0xfcef, G_UNICODE_NOT_PRESENT_OFFSET, 12816 }, - { 0xfcf0, G_UNICODE_NOT_PRESENT_OFFSET, 12615 }, - { 0xfcf1, G_UNICODE_NOT_PRESENT_OFFSET, 12826 }, - { 0xfcf2, G_UNICODE_NOT_PRESENT_OFFSET, 12851 }, - { 0xfcf3, G_UNICODE_NOT_PRESENT_OFFSET, 12858 }, - { 0xfcf4, G_UNICODE_NOT_PRESENT_OFFSET, 12865 }, - { 0xfcf5, G_UNICODE_NOT_PRESENT_OFFSET, 12872 }, - { 0xfcf6, G_UNICODE_NOT_PRESENT_OFFSET, 12877 }, - { 0xfcf7, G_UNICODE_NOT_PRESENT_OFFSET, 12882 }, - { 0xfcf8, G_UNICODE_NOT_PRESENT_OFFSET, 12887 }, - { 0xfcf9, G_UNICODE_NOT_PRESENT_OFFSET, 12892 }, - { 0xfcfa, G_UNICODE_NOT_PRESENT_OFFSET, 12897 }, - { 0xfcfb, G_UNICODE_NOT_PRESENT_OFFSET, 12902 }, - { 0xfcfc, G_UNICODE_NOT_PRESENT_OFFSET, 12907 }, - { 0xfcfd, G_UNICODE_NOT_PRESENT_OFFSET, 12912 }, - { 0xfcfe, G_UNICODE_NOT_PRESENT_OFFSET, 12917 }, - { 0xfcff, G_UNICODE_NOT_PRESENT_OFFSET, 12922 }, - { 0xfd00, G_UNICODE_NOT_PRESENT_OFFSET, 12927 }, - { 0xfd01, G_UNICODE_NOT_PRESENT_OFFSET, 12932 }, - { 0xfd02, G_UNICODE_NOT_PRESENT_OFFSET, 12937 }, - { 0xfd03, G_UNICODE_NOT_PRESENT_OFFSET, 12942 }, - { 0xfd04, G_UNICODE_NOT_PRESENT_OFFSET, 12947 }, - { 0xfd05, G_UNICODE_NOT_PRESENT_OFFSET, 12952 }, - { 0xfd06, G_UNICODE_NOT_PRESENT_OFFSET, 12957 }, - { 0xfd07, G_UNICODE_NOT_PRESENT_OFFSET, 12962 }, - { 0xfd08, G_UNICODE_NOT_PRESENT_OFFSET, 12967 }, - { 0xfd09, G_UNICODE_NOT_PRESENT_OFFSET, 12972 }, - { 0xfd0a, G_UNICODE_NOT_PRESENT_OFFSET, 12977 }, - { 0xfd0b, G_UNICODE_NOT_PRESENT_OFFSET, 12982 }, - { 0xfd0c, G_UNICODE_NOT_PRESENT_OFFSET, 12841 }, - { 0xfd0d, G_UNICODE_NOT_PRESENT_OFFSET, 12987 }, - { 0xfd0e, G_UNICODE_NOT_PRESENT_OFFSET, 12992 }, - { 0xfd0f, G_UNICODE_NOT_PRESENT_OFFSET, 12997 }, - { 0xfd10, G_UNICODE_NOT_PRESENT_OFFSET, 13002 }, - { 0xfd11, G_UNICODE_NOT_PRESENT_OFFSET, 12872 }, - { 0xfd12, G_UNICODE_NOT_PRESENT_OFFSET, 12877 }, - { 0xfd13, G_UNICODE_NOT_PRESENT_OFFSET, 12882 }, - { 0xfd14, G_UNICODE_NOT_PRESENT_OFFSET, 12887 }, - { 0xfd15, G_UNICODE_NOT_PRESENT_OFFSET, 12892 }, - { 0xfd16, G_UNICODE_NOT_PRESENT_OFFSET, 12897 }, - { 0xfd17, G_UNICODE_NOT_PRESENT_OFFSET, 12902 }, - { 0xfd18, G_UNICODE_NOT_PRESENT_OFFSET, 12907 }, - { 0xfd19, G_UNICODE_NOT_PRESENT_OFFSET, 12912 }, - { 0xfd1a, G_UNICODE_NOT_PRESENT_OFFSET, 12917 }, - { 0xfd1b, G_UNICODE_NOT_PRESENT_OFFSET, 12922 }, - { 0xfd1c, G_UNICODE_NOT_PRESENT_OFFSET, 12927 }, - { 0xfd1d, G_UNICODE_NOT_PRESENT_OFFSET, 12932 }, - { 0xfd1e, G_UNICODE_NOT_PRESENT_OFFSET, 12937 }, - { 0xfd1f, G_UNICODE_NOT_PRESENT_OFFSET, 12942 }, - { 0xfd20, G_UNICODE_NOT_PRESENT_OFFSET, 12947 }, - { 0xfd21, G_UNICODE_NOT_PRESENT_OFFSET, 12952 }, - { 0xfd22, G_UNICODE_NOT_PRESENT_OFFSET, 12957 }, - { 0xfd23, G_UNICODE_NOT_PRESENT_OFFSET, 12962 }, - { 0xfd24, G_UNICODE_NOT_PRESENT_OFFSET, 12967 }, - { 0xfd25, G_UNICODE_NOT_PRESENT_OFFSET, 12972 }, - { 0xfd26, G_UNICODE_NOT_PRESENT_OFFSET, 12977 }, - { 0xfd27, G_UNICODE_NOT_PRESENT_OFFSET, 12982 }, - { 0xfd28, G_UNICODE_NOT_PRESENT_OFFSET, 12841 }, - { 0xfd29, G_UNICODE_NOT_PRESENT_OFFSET, 12987 }, - { 0xfd2a, G_UNICODE_NOT_PRESENT_OFFSET, 12992 }, - { 0xfd2b, G_UNICODE_NOT_PRESENT_OFFSET, 12997 }, - { 0xfd2c, G_UNICODE_NOT_PRESENT_OFFSET, 13002 }, - { 0xfd2d, G_UNICODE_NOT_PRESENT_OFFSET, 12972 }, - { 0xfd2e, G_UNICODE_NOT_PRESENT_OFFSET, 12977 }, - { 0xfd2f, G_UNICODE_NOT_PRESENT_OFFSET, 12982 }, - { 0xfd30, G_UNICODE_NOT_PRESENT_OFFSET, 12841 }, - { 0xfd31, G_UNICODE_NOT_PRESENT_OFFSET, 12836 }, - { 0xfd32, G_UNICODE_NOT_PRESENT_OFFSET, 12846 }, - { 0xfd33, G_UNICODE_NOT_PRESENT_OFFSET, 12370 }, - { 0xfd34, G_UNICODE_NOT_PRESENT_OFFSET, 12315 }, - { 0xfd35, G_UNICODE_NOT_PRESENT_OFFSET, 12320 }, - { 0xfd36, G_UNICODE_NOT_PRESENT_OFFSET, 12325 }, - { 0xfd37, G_UNICODE_NOT_PRESENT_OFFSET, 12972 }, - { 0xfd38, G_UNICODE_NOT_PRESENT_OFFSET, 12977 }, - { 0xfd39, G_UNICODE_NOT_PRESENT_OFFSET, 12982 }, - { 0xfd3a, G_UNICODE_NOT_PRESENT_OFFSET, 12370 }, - { 0xfd3b, G_UNICODE_NOT_PRESENT_OFFSET, 12375 }, - { 0xfd3c, G_UNICODE_NOT_PRESENT_OFFSET, 13007 }, - { 0xfd3d, G_UNICODE_NOT_PRESENT_OFFSET, 13007 }, - { 0xfd50, G_UNICODE_NOT_PRESENT_OFFSET, 13012 }, - { 0xfd51, G_UNICODE_NOT_PRESENT_OFFSET, 13019 }, - { 0xfd52, G_UNICODE_NOT_PRESENT_OFFSET, 13019 }, - { 0xfd53, G_UNICODE_NOT_PRESENT_OFFSET, 13026 }, - { 0xfd54, G_UNICODE_NOT_PRESENT_OFFSET, 13033 }, - { 0xfd55, G_UNICODE_NOT_PRESENT_OFFSET, 13040 }, - { 0xfd56, G_UNICODE_NOT_PRESENT_OFFSET, 13047 }, - { 0xfd57, G_UNICODE_NOT_PRESENT_OFFSET, 13054 }, - { 0xfd58, G_UNICODE_NOT_PRESENT_OFFSET, 13061 }, - { 0xfd59, G_UNICODE_NOT_PRESENT_OFFSET, 13061 }, - { 0xfd5a, G_UNICODE_NOT_PRESENT_OFFSET, 13068 }, - { 0xfd5b, G_UNICODE_NOT_PRESENT_OFFSET, 13075 }, - { 0xfd5c, G_UNICODE_NOT_PRESENT_OFFSET, 13082 }, - { 0xfd5d, G_UNICODE_NOT_PRESENT_OFFSET, 13089 }, - { 0xfd5e, G_UNICODE_NOT_PRESENT_OFFSET, 13096 }, - { 0xfd5f, G_UNICODE_NOT_PRESENT_OFFSET, 13103 }, - { 0xfd60, G_UNICODE_NOT_PRESENT_OFFSET, 13103 }, - { 0xfd61, G_UNICODE_NOT_PRESENT_OFFSET, 13110 }, - { 0xfd62, G_UNICODE_NOT_PRESENT_OFFSET, 13117 }, - { 0xfd63, G_UNICODE_NOT_PRESENT_OFFSET, 13117 }, - { 0xfd64, G_UNICODE_NOT_PRESENT_OFFSET, 13124 }, - { 0xfd65, G_UNICODE_NOT_PRESENT_OFFSET, 13124 }, - { 0xfd66, G_UNICODE_NOT_PRESENT_OFFSET, 13131 }, - { 0xfd67, G_UNICODE_NOT_PRESENT_OFFSET, 13138 }, - { 0xfd68, G_UNICODE_NOT_PRESENT_OFFSET, 13138 }, - { 0xfd69, G_UNICODE_NOT_PRESENT_OFFSET, 13145 }, - { 0xfd6a, G_UNICODE_NOT_PRESENT_OFFSET, 13152 }, - { 0xfd6b, G_UNICODE_NOT_PRESENT_OFFSET, 13152 }, - { 0xfd6c, G_UNICODE_NOT_PRESENT_OFFSET, 13159 }, - { 0xfd6d, G_UNICODE_NOT_PRESENT_OFFSET, 13159 }, - { 0xfd6e, G_UNICODE_NOT_PRESENT_OFFSET, 13166 }, - { 0xfd6f, G_UNICODE_NOT_PRESENT_OFFSET, 13173 }, - { 0xfd70, G_UNICODE_NOT_PRESENT_OFFSET, 13173 }, - { 0xfd71, G_UNICODE_NOT_PRESENT_OFFSET, 13180 }, - { 0xfd72, G_UNICODE_NOT_PRESENT_OFFSET, 13180 }, - { 0xfd73, G_UNICODE_NOT_PRESENT_OFFSET, 13187 }, - { 0xfd74, G_UNICODE_NOT_PRESENT_OFFSET, 13194 }, - { 0xfd75, G_UNICODE_NOT_PRESENT_OFFSET, 13201 }, - { 0xfd76, G_UNICODE_NOT_PRESENT_OFFSET, 13208 }, - { 0xfd77, G_UNICODE_NOT_PRESENT_OFFSET, 13208 }, - { 0xfd78, G_UNICODE_NOT_PRESENT_OFFSET, 13215 }, - { 0xfd79, G_UNICODE_NOT_PRESENT_OFFSET, 13222 }, - { 0xfd7a, G_UNICODE_NOT_PRESENT_OFFSET, 13229 }, - { 0xfd7b, G_UNICODE_NOT_PRESENT_OFFSET, 13236 }, - { 0xfd7c, G_UNICODE_NOT_PRESENT_OFFSET, 13243 }, - { 0xfd7d, G_UNICODE_NOT_PRESENT_OFFSET, 13243 }, - { 0xfd7e, G_UNICODE_NOT_PRESENT_OFFSET, 13250 }, - { 0xfd7f, G_UNICODE_NOT_PRESENT_OFFSET, 13257 }, - { 0xfd80, G_UNICODE_NOT_PRESENT_OFFSET, 13264 }, - { 0xfd81, G_UNICODE_NOT_PRESENT_OFFSET, 13271 }, - { 0xfd82, G_UNICODE_NOT_PRESENT_OFFSET, 13278 }, - { 0xfd83, G_UNICODE_NOT_PRESENT_OFFSET, 13285 }, - { 0xfd84, G_UNICODE_NOT_PRESENT_OFFSET, 13285 }, - { 0xfd85, G_UNICODE_NOT_PRESENT_OFFSET, 13292 }, - { 0xfd86, G_UNICODE_NOT_PRESENT_OFFSET, 13292 }, - { 0xfd87, G_UNICODE_NOT_PRESENT_OFFSET, 13299 }, - { 0xfd88, G_UNICODE_NOT_PRESENT_OFFSET, 13299 }, - { 0xfd89, G_UNICODE_NOT_PRESENT_OFFSET, 13306 }, - { 0xfd8a, G_UNICODE_NOT_PRESENT_OFFSET, 13313 }, - { 0xfd8b, G_UNICODE_NOT_PRESENT_OFFSET, 13320 }, - { 0xfd8c, G_UNICODE_NOT_PRESENT_OFFSET, 13327 }, - { 0xfd8d, G_UNICODE_NOT_PRESENT_OFFSET, 13334 }, - { 0xfd8e, G_UNICODE_NOT_PRESENT_OFFSET, 13341 }, - { 0xfd8f, G_UNICODE_NOT_PRESENT_OFFSET, 13348 }, - { 0xfd92, G_UNICODE_NOT_PRESENT_OFFSET, 13355 }, - { 0xfd93, G_UNICODE_NOT_PRESENT_OFFSET, 13362 }, - { 0xfd94, G_UNICODE_NOT_PRESENT_OFFSET, 13369 }, - { 0xfd95, G_UNICODE_NOT_PRESENT_OFFSET, 13376 }, - { 0xfd96, G_UNICODE_NOT_PRESENT_OFFSET, 13383 }, - { 0xfd97, G_UNICODE_NOT_PRESENT_OFFSET, 13390 }, - { 0xfd98, G_UNICODE_NOT_PRESENT_OFFSET, 13390 }, - { 0xfd99, G_UNICODE_NOT_PRESENT_OFFSET, 13397 }, - { 0xfd9a, G_UNICODE_NOT_PRESENT_OFFSET, 13404 }, - { 0xfd9b, G_UNICODE_NOT_PRESENT_OFFSET, 13411 }, - { 0xfd9c, G_UNICODE_NOT_PRESENT_OFFSET, 13418 }, - { 0xfd9d, G_UNICODE_NOT_PRESENT_OFFSET, 13418 }, - { 0xfd9e, G_UNICODE_NOT_PRESENT_OFFSET, 13425 }, - { 0xfd9f, G_UNICODE_NOT_PRESENT_OFFSET, 13432 }, - { 0xfda0, G_UNICODE_NOT_PRESENT_OFFSET, 13439 }, - { 0xfda1, G_UNICODE_NOT_PRESENT_OFFSET, 13446 }, - { 0xfda2, G_UNICODE_NOT_PRESENT_OFFSET, 13453 }, - { 0xfda3, G_UNICODE_NOT_PRESENT_OFFSET, 13460 }, - { 0xfda4, G_UNICODE_NOT_PRESENT_OFFSET, 13467 }, - { 0xfda5, G_UNICODE_NOT_PRESENT_OFFSET, 13474 }, - { 0xfda6, G_UNICODE_NOT_PRESENT_OFFSET, 13481 }, - { 0xfda7, G_UNICODE_NOT_PRESENT_OFFSET, 13488 }, - { 0xfda8, G_UNICODE_NOT_PRESENT_OFFSET, 13495 }, - { 0xfda9, G_UNICODE_NOT_PRESENT_OFFSET, 13502 }, - { 0xfdaa, G_UNICODE_NOT_PRESENT_OFFSET, 13509 }, - { 0xfdab, G_UNICODE_NOT_PRESENT_OFFSET, 13516 }, - { 0xfdac, G_UNICODE_NOT_PRESENT_OFFSET, 13523 }, - { 0xfdad, G_UNICODE_NOT_PRESENT_OFFSET, 13530 }, - { 0xfdae, G_UNICODE_NOT_PRESENT_OFFSET, 13537 }, - { 0xfdaf, G_UNICODE_NOT_PRESENT_OFFSET, 13544 }, - { 0xfdb0, G_UNICODE_NOT_PRESENT_OFFSET, 13551 }, - { 0xfdb1, G_UNICODE_NOT_PRESENT_OFFSET, 13558 }, - { 0xfdb2, G_UNICODE_NOT_PRESENT_OFFSET, 13565 }, - { 0xfdb3, G_UNICODE_NOT_PRESENT_OFFSET, 13572 }, - { 0xfdb4, G_UNICODE_NOT_PRESENT_OFFSET, 13250 }, - { 0xfdb5, G_UNICODE_NOT_PRESENT_OFFSET, 13264 }, - { 0xfdb6, G_UNICODE_NOT_PRESENT_OFFSET, 13579 }, - { 0xfdb7, G_UNICODE_NOT_PRESENT_OFFSET, 13586 }, - { 0xfdb8, G_UNICODE_NOT_PRESENT_OFFSET, 13593 }, - { 0xfdb9, G_UNICODE_NOT_PRESENT_OFFSET, 13600 }, - { 0xfdba, G_UNICODE_NOT_PRESENT_OFFSET, 13607 }, - { 0xfdbb, G_UNICODE_NOT_PRESENT_OFFSET, 13614 }, - { 0xfdbc, G_UNICODE_NOT_PRESENT_OFFSET, 13607 }, - { 0xfdbd, G_UNICODE_NOT_PRESENT_OFFSET, 13593 }, - { 0xfdbe, G_UNICODE_NOT_PRESENT_OFFSET, 13621 }, - { 0xfdbf, G_UNICODE_NOT_PRESENT_OFFSET, 13628 }, - { 0xfdc0, G_UNICODE_NOT_PRESENT_OFFSET, 13635 }, - { 0xfdc1, G_UNICODE_NOT_PRESENT_OFFSET, 13642 }, - { 0xfdc2, G_UNICODE_NOT_PRESENT_OFFSET, 13649 }, - { 0xfdc3, G_UNICODE_NOT_PRESENT_OFFSET, 13614 }, - { 0xfdc4, G_UNICODE_NOT_PRESENT_OFFSET, 13201 }, - { 0xfdc5, G_UNICODE_NOT_PRESENT_OFFSET, 13131 }, - { 0xfdc6, G_UNICODE_NOT_PRESENT_OFFSET, 13656 }, - { 0xfdc7, G_UNICODE_NOT_PRESENT_OFFSET, 13663 }, - { 0xfdf0, G_UNICODE_NOT_PRESENT_OFFSET, 13670 }, - { 0xfdf1, G_UNICODE_NOT_PRESENT_OFFSET, 13677 }, - { 0xfdf2, G_UNICODE_NOT_PRESENT_OFFSET, 13684 }, - { 0xfdf3, G_UNICODE_NOT_PRESENT_OFFSET, 13693 }, - { 0xfdf4, G_UNICODE_NOT_PRESENT_OFFSET, 13702 }, - { 0xfdf5, G_UNICODE_NOT_PRESENT_OFFSET, 13711 }, - { 0xfdf6, G_UNICODE_NOT_PRESENT_OFFSET, 13720 }, - { 0xfdf7, G_UNICODE_NOT_PRESENT_OFFSET, 13729 }, - { 0xfdf8, G_UNICODE_NOT_PRESENT_OFFSET, 13738 }, - { 0xfdf9, G_UNICODE_NOT_PRESENT_OFFSET, 13747 }, - { 0xfdfa, G_UNICODE_NOT_PRESENT_OFFSET, 13754 }, - { 0xfdfb, G_UNICODE_NOT_PRESENT_OFFSET, 13788 }, - { 0xfdfc, G_UNICODE_NOT_PRESENT_OFFSET, 13804 }, - { 0xfe30, G_UNICODE_NOT_PRESENT_OFFSET, 4871 }, - { 0xfe31, G_UNICODE_NOT_PRESENT_OFFSET, 13813 }, - { 0xfe32, G_UNICODE_NOT_PRESENT_OFFSET, 13817 }, - { 0xfe33, G_UNICODE_NOT_PRESENT_OFFSET, 13821 }, - { 0xfe34, G_UNICODE_NOT_PRESENT_OFFSET, 13821 }, - { 0xfe35, G_UNICODE_NOT_PRESENT_OFFSET, 4965 }, - { 0xfe36, G_UNICODE_NOT_PRESENT_OFFSET, 4967 }, - { 0xfe37, G_UNICODE_NOT_PRESENT_OFFSET, 13823 }, - { 0xfe38, G_UNICODE_NOT_PRESENT_OFFSET, 13825 }, - { 0xfe39, G_UNICODE_NOT_PRESENT_OFFSET, 13827 }, - { 0xfe3a, G_UNICODE_NOT_PRESENT_OFFSET, 13831 }, - { 0xfe3b, G_UNICODE_NOT_PRESENT_OFFSET, 13835 }, - { 0xfe3c, G_UNICODE_NOT_PRESENT_OFFSET, 13839 }, - { 0xfe3d, G_UNICODE_NOT_PRESENT_OFFSET, 13843 }, - { 0xfe3e, G_UNICODE_NOT_PRESENT_OFFSET, 13847 }, - { 0xfe3f, G_UNICODE_NOT_PRESENT_OFFSET, 5524 }, - { 0xfe40, G_UNICODE_NOT_PRESENT_OFFSET, 5528 }, - { 0xfe41, G_UNICODE_NOT_PRESENT_OFFSET, 13851 }, - { 0xfe42, G_UNICODE_NOT_PRESENT_OFFSET, 13855 }, - { 0xfe43, G_UNICODE_NOT_PRESENT_OFFSET, 13859 }, - { 0xfe44, G_UNICODE_NOT_PRESENT_OFFSET, 13863 }, - { 0xfe49, G_UNICODE_NOT_PRESENT_OFFSET, 4915 }, - { 0xfe4a, G_UNICODE_NOT_PRESENT_OFFSET, 4915 }, - { 0xfe4b, G_UNICODE_NOT_PRESENT_OFFSET, 4915 }, - { 0xfe4c, G_UNICODE_NOT_PRESENT_OFFSET, 4915 }, - { 0xfe4d, G_UNICODE_NOT_PRESENT_OFFSET, 13821 }, - { 0xfe4e, G_UNICODE_NOT_PRESENT_OFFSET, 13821 }, - { 0xfe4f, G_UNICODE_NOT_PRESENT_OFFSET, 13821 }, - { 0xfe50, G_UNICODE_NOT_PRESENT_OFFSET, 13867 }, - { 0xfe51, G_UNICODE_NOT_PRESENT_OFFSET, 13869 }, - { 0xfe52, G_UNICODE_NOT_PRESENT_OFFSET, 4869 }, - { 0xfe54, G_UNICODE_NOT_PRESENT_OFFSET, 1248 }, - { 0xfe55, G_UNICODE_NOT_PRESENT_OFFSET, 13873 }, - { 0xfe56, G_UNICODE_NOT_PRESENT_OFFSET, 13875 }, - { 0xfe57, G_UNICODE_NOT_PRESENT_OFFSET, 13877 }, - { 0xfe58, G_UNICODE_NOT_PRESENT_OFFSET, 13813 }, - { 0xfe59, G_UNICODE_NOT_PRESENT_OFFSET, 4965 }, - { 0xfe5a, G_UNICODE_NOT_PRESENT_OFFSET, 4967 }, - { 0xfe5b, G_UNICODE_NOT_PRESENT_OFFSET, 13823 }, - { 0xfe5c, G_UNICODE_NOT_PRESENT_OFFSET, 13825 }, - { 0xfe5d, G_UNICODE_NOT_PRESENT_OFFSET, 13827 }, - { 0xfe5e, G_UNICODE_NOT_PRESENT_OFFSET, 13831 }, - { 0xfe5f, G_UNICODE_NOT_PRESENT_OFFSET, 13879 }, - { 0xfe60, G_UNICODE_NOT_PRESENT_OFFSET, 13881 }, - { 0xfe61, G_UNICODE_NOT_PRESENT_OFFSET, 13883 }, - { 0xfe62, G_UNICODE_NOT_PRESENT_OFFSET, 4957 }, - { 0xfe63, G_UNICODE_NOT_PRESENT_OFFSET, 13885 }, - { 0xfe64, G_UNICODE_NOT_PRESENT_OFFSET, 13887 }, - { 0xfe65, G_UNICODE_NOT_PRESENT_OFFSET, 13889 }, - { 0xfe66, G_UNICODE_NOT_PRESENT_OFFSET, 4963 }, - { 0xfe68, G_UNICODE_NOT_PRESENT_OFFSET, 13891 }, - { 0xfe69, G_UNICODE_NOT_PRESENT_OFFSET, 13893 }, - { 0xfe6a, G_UNICODE_NOT_PRESENT_OFFSET, 13895 }, - { 0xfe6b, G_UNICODE_NOT_PRESENT_OFFSET, 13897 }, - { 0xfe70, G_UNICODE_NOT_PRESENT_OFFSET, 13899 }, - { 0xfe71, G_UNICODE_NOT_PRESENT_OFFSET, 13903 }, - { 0xfe72, G_UNICODE_NOT_PRESENT_OFFSET, 13908 }, - { 0xfe74, G_UNICODE_NOT_PRESENT_OFFSET, 13912 }, - { 0xfe76, G_UNICODE_NOT_PRESENT_OFFSET, 13916 }, - { 0xfe77, G_UNICODE_NOT_PRESENT_OFFSET, 13920 }, - { 0xfe78, G_UNICODE_NOT_PRESENT_OFFSET, 13925 }, - { 0xfe79, G_UNICODE_NOT_PRESENT_OFFSET, 13929 }, - { 0xfe7a, G_UNICODE_NOT_PRESENT_OFFSET, 13934 }, - { 0xfe7b, G_UNICODE_NOT_PRESENT_OFFSET, 13938 }, - { 0xfe7c, G_UNICODE_NOT_PRESENT_OFFSET, 13943 }, - { 0xfe7d, G_UNICODE_NOT_PRESENT_OFFSET, 13947 }, - { 0xfe7e, G_UNICODE_NOT_PRESENT_OFFSET, 13952 }, - { 0xfe7f, G_UNICODE_NOT_PRESENT_OFFSET, 13956 }, - { 0xfe80, G_UNICODE_NOT_PRESENT_OFFSET, 13961 }, - { 0xfe81, G_UNICODE_NOT_PRESENT_OFFSET, 1673 }, - { 0xfe82, G_UNICODE_NOT_PRESENT_OFFSET, 1673 }, - { 0xfe83, G_UNICODE_NOT_PRESENT_OFFSET, 1678 }, - { 0xfe84, G_UNICODE_NOT_PRESENT_OFFSET, 1678 }, - { 0xfe85, G_UNICODE_NOT_PRESENT_OFFSET, 1683 }, - { 0xfe86, G_UNICODE_NOT_PRESENT_OFFSET, 1683 }, - { 0xfe87, G_UNICODE_NOT_PRESENT_OFFSET, 1688 }, - { 0xfe88, G_UNICODE_NOT_PRESENT_OFFSET, 1688 }, - { 0xfe89, G_UNICODE_NOT_PRESENT_OFFSET, 1693 }, - { 0xfe8a, G_UNICODE_NOT_PRESENT_OFFSET, 1693 }, - { 0xfe8b, G_UNICODE_NOT_PRESENT_OFFSET, 1693 }, - { 0xfe8c, G_UNICODE_NOT_PRESENT_OFFSET, 1693 }, - { 0xfe8d, G_UNICODE_NOT_PRESENT_OFFSET, 13964 }, - { 0xfe8e, G_UNICODE_NOT_PRESENT_OFFSET, 13964 }, - { 0xfe8f, G_UNICODE_NOT_PRESENT_OFFSET, 13967 }, - { 0xfe90, G_UNICODE_NOT_PRESENT_OFFSET, 13967 }, - { 0xfe91, G_UNICODE_NOT_PRESENT_OFFSET, 13967 }, - { 0xfe92, G_UNICODE_NOT_PRESENT_OFFSET, 13967 }, - { 0xfe93, G_UNICODE_NOT_PRESENT_OFFSET, 13970 }, - { 0xfe94, G_UNICODE_NOT_PRESENT_OFFSET, 13970 }, - { 0xfe95, G_UNICODE_NOT_PRESENT_OFFSET, 13973 }, - { 0xfe96, G_UNICODE_NOT_PRESENT_OFFSET, 13973 }, - { 0xfe97, G_UNICODE_NOT_PRESENT_OFFSET, 13973 }, - { 0xfe98, G_UNICODE_NOT_PRESENT_OFFSET, 13973 }, - { 0xfe99, G_UNICODE_NOT_PRESENT_OFFSET, 13976 }, - { 0xfe9a, G_UNICODE_NOT_PRESENT_OFFSET, 13976 }, - { 0xfe9b, G_UNICODE_NOT_PRESENT_OFFSET, 13976 }, - { 0xfe9c, G_UNICODE_NOT_PRESENT_OFFSET, 13976 }, - { 0xfe9d, G_UNICODE_NOT_PRESENT_OFFSET, 13979 }, - { 0xfe9e, G_UNICODE_NOT_PRESENT_OFFSET, 13979 }, - { 0xfe9f, G_UNICODE_NOT_PRESENT_OFFSET, 13979 }, - { 0xfea0, G_UNICODE_NOT_PRESENT_OFFSET, 13979 }, - { 0xfea1, G_UNICODE_NOT_PRESENT_OFFSET, 13982 }, - { 0xfea2, G_UNICODE_NOT_PRESENT_OFFSET, 13982 }, - { 0xfea3, G_UNICODE_NOT_PRESENT_OFFSET, 13982 }, - { 0xfea4, G_UNICODE_NOT_PRESENT_OFFSET, 13982 }, - { 0xfea5, G_UNICODE_NOT_PRESENT_OFFSET, 13985 }, - { 0xfea6, G_UNICODE_NOT_PRESENT_OFFSET, 13985 }, - { 0xfea7, G_UNICODE_NOT_PRESENT_OFFSET, 13985 }, - { 0xfea8, G_UNICODE_NOT_PRESENT_OFFSET, 13985 }, - { 0xfea9, G_UNICODE_NOT_PRESENT_OFFSET, 13988 }, - { 0xfeaa, G_UNICODE_NOT_PRESENT_OFFSET, 13988 }, - { 0xfeab, G_UNICODE_NOT_PRESENT_OFFSET, 13991 }, - { 0xfeac, G_UNICODE_NOT_PRESENT_OFFSET, 13991 }, - { 0xfead, G_UNICODE_NOT_PRESENT_OFFSET, 13994 }, - { 0xfeae, G_UNICODE_NOT_PRESENT_OFFSET, 13994 }, - { 0xfeaf, G_UNICODE_NOT_PRESENT_OFFSET, 13997 }, - { 0xfeb0, G_UNICODE_NOT_PRESENT_OFFSET, 13997 }, - { 0xfeb1, G_UNICODE_NOT_PRESENT_OFFSET, 14000 }, - { 0xfeb2, G_UNICODE_NOT_PRESENT_OFFSET, 14000 }, - { 0xfeb3, G_UNICODE_NOT_PRESENT_OFFSET, 14000 }, - { 0xfeb4, G_UNICODE_NOT_PRESENT_OFFSET, 14000 }, - { 0xfeb5, G_UNICODE_NOT_PRESENT_OFFSET, 14003 }, - { 0xfeb6, G_UNICODE_NOT_PRESENT_OFFSET, 14003 }, - { 0xfeb7, G_UNICODE_NOT_PRESENT_OFFSET, 14003 }, - { 0xfeb8, G_UNICODE_NOT_PRESENT_OFFSET, 14003 }, - { 0xfeb9, G_UNICODE_NOT_PRESENT_OFFSET, 14006 }, - { 0xfeba, G_UNICODE_NOT_PRESENT_OFFSET, 14006 }, - { 0xfebb, G_UNICODE_NOT_PRESENT_OFFSET, 14006 }, - { 0xfebc, G_UNICODE_NOT_PRESENT_OFFSET, 14006 }, - { 0xfebd, G_UNICODE_NOT_PRESENT_OFFSET, 14009 }, - { 0xfebe, G_UNICODE_NOT_PRESENT_OFFSET, 14009 }, - { 0xfebf, G_UNICODE_NOT_PRESENT_OFFSET, 14009 }, - { 0xfec0, G_UNICODE_NOT_PRESENT_OFFSET, 14009 }, - { 0xfec1, G_UNICODE_NOT_PRESENT_OFFSET, 14012 }, - { 0xfec2, G_UNICODE_NOT_PRESENT_OFFSET, 14012 }, - { 0xfec3, G_UNICODE_NOT_PRESENT_OFFSET, 14012 }, - { 0xfec4, G_UNICODE_NOT_PRESENT_OFFSET, 14012 }, - { 0xfec5, G_UNICODE_NOT_PRESENT_OFFSET, 14015 }, - { 0xfec6, G_UNICODE_NOT_PRESENT_OFFSET, 14015 }, - { 0xfec7, G_UNICODE_NOT_PRESENT_OFFSET, 14015 }, - { 0xfec8, G_UNICODE_NOT_PRESENT_OFFSET, 14015 }, - { 0xfec9, G_UNICODE_NOT_PRESENT_OFFSET, 14018 }, - { 0xfeca, G_UNICODE_NOT_PRESENT_OFFSET, 14018 }, - { 0xfecb, G_UNICODE_NOT_PRESENT_OFFSET, 14018 }, - { 0xfecc, G_UNICODE_NOT_PRESENT_OFFSET, 14018 }, - { 0xfecd, G_UNICODE_NOT_PRESENT_OFFSET, 14021 }, - { 0xfece, G_UNICODE_NOT_PRESENT_OFFSET, 14021 }, - { 0xfecf, G_UNICODE_NOT_PRESENT_OFFSET, 14021 }, - { 0xfed0, G_UNICODE_NOT_PRESENT_OFFSET, 14021 }, - { 0xfed1, G_UNICODE_NOT_PRESENT_OFFSET, 14024 }, - { 0xfed2, G_UNICODE_NOT_PRESENT_OFFSET, 14024 }, - { 0xfed3, G_UNICODE_NOT_PRESENT_OFFSET, 14024 }, - { 0xfed4, G_UNICODE_NOT_PRESENT_OFFSET, 14024 }, - { 0xfed5, G_UNICODE_NOT_PRESENT_OFFSET, 14027 }, - { 0xfed6, G_UNICODE_NOT_PRESENT_OFFSET, 14027 }, - { 0xfed7, G_UNICODE_NOT_PRESENT_OFFSET, 14027 }, - { 0xfed8, G_UNICODE_NOT_PRESENT_OFFSET, 14027 }, - { 0xfed9, G_UNICODE_NOT_PRESENT_OFFSET, 14030 }, - { 0xfeda, G_UNICODE_NOT_PRESENT_OFFSET, 14030 }, - { 0xfedb, G_UNICODE_NOT_PRESENT_OFFSET, 14030 }, - { 0xfedc, G_UNICODE_NOT_PRESENT_OFFSET, 14030 }, - { 0xfedd, G_UNICODE_NOT_PRESENT_OFFSET, 14033 }, - { 0xfede, G_UNICODE_NOT_PRESENT_OFFSET, 14033 }, - { 0xfedf, G_UNICODE_NOT_PRESENT_OFFSET, 14033 }, - { 0xfee0, G_UNICODE_NOT_PRESENT_OFFSET, 14033 }, - { 0xfee1, G_UNICODE_NOT_PRESENT_OFFSET, 14036 }, - { 0xfee2, G_UNICODE_NOT_PRESENT_OFFSET, 14036 }, - { 0xfee3, G_UNICODE_NOT_PRESENT_OFFSET, 14036 }, - { 0xfee4, G_UNICODE_NOT_PRESENT_OFFSET, 14036 }, - { 0xfee5, G_UNICODE_NOT_PRESENT_OFFSET, 14039 }, - { 0xfee6, G_UNICODE_NOT_PRESENT_OFFSET, 14039 }, - { 0xfee7, G_UNICODE_NOT_PRESENT_OFFSET, 14039 }, - { 0xfee8, G_UNICODE_NOT_PRESENT_OFFSET, 14039 }, - { 0xfee9, G_UNICODE_NOT_PRESENT_OFFSET, 14042 }, - { 0xfeea, G_UNICODE_NOT_PRESENT_OFFSET, 14042 }, - { 0xfeeb, G_UNICODE_NOT_PRESENT_OFFSET, 14042 }, - { 0xfeec, G_UNICODE_NOT_PRESENT_OFFSET, 14042 }, - { 0xfeed, G_UNICODE_NOT_PRESENT_OFFSET, 14045 }, - { 0xfeee, G_UNICODE_NOT_PRESENT_OFFSET, 14045 }, - { 0xfeef, G_UNICODE_NOT_PRESENT_OFFSET, 12110 }, - { 0xfef0, G_UNICODE_NOT_PRESENT_OFFSET, 12110 }, - { 0xfef1, G_UNICODE_NOT_PRESENT_OFFSET, 14048 }, - { 0xfef2, G_UNICODE_NOT_PRESENT_OFFSET, 14048 }, - { 0xfef3, G_UNICODE_NOT_PRESENT_OFFSET, 14048 }, - { 0xfef4, G_UNICODE_NOT_PRESENT_OFFSET, 14048 }, - { 0xfef5, G_UNICODE_NOT_PRESENT_OFFSET, 14051 }, - { 0xfef6, G_UNICODE_NOT_PRESENT_OFFSET, 14051 }, - { 0xfef7, G_UNICODE_NOT_PRESENT_OFFSET, 14058 }, - { 0xfef8, G_UNICODE_NOT_PRESENT_OFFSET, 14058 }, - { 0xfef9, G_UNICODE_NOT_PRESENT_OFFSET, 14065 }, - { 0xfefa, G_UNICODE_NOT_PRESENT_OFFSET, 14065 }, - { 0xfefb, G_UNICODE_NOT_PRESENT_OFFSET, 14072 }, - { 0xfefc, G_UNICODE_NOT_PRESENT_OFFSET, 14072 }, - { 0xff01, G_UNICODE_NOT_PRESENT_OFFSET, 13877 }, - { 0xff02, G_UNICODE_NOT_PRESENT_OFFSET, 14077 }, - { 0xff03, G_UNICODE_NOT_PRESENT_OFFSET, 13879 }, - { 0xff04, G_UNICODE_NOT_PRESENT_OFFSET, 13893 }, - { 0xff05, G_UNICODE_NOT_PRESENT_OFFSET, 13895 }, - { 0xff06, G_UNICODE_NOT_PRESENT_OFFSET, 13881 }, - { 0xff07, G_UNICODE_NOT_PRESENT_OFFSET, 14079 }, - { 0xff08, G_UNICODE_NOT_PRESENT_OFFSET, 4965 }, - { 0xff09, G_UNICODE_NOT_PRESENT_OFFSET, 4967 }, - { 0xff0a, G_UNICODE_NOT_PRESENT_OFFSET, 13883 }, - { 0xff0b, G_UNICODE_NOT_PRESENT_OFFSET, 4957 }, - { 0xff0c, G_UNICODE_NOT_PRESENT_OFFSET, 13867 }, - { 0xff0d, G_UNICODE_NOT_PRESENT_OFFSET, 13885 }, - { 0xff0e, G_UNICODE_NOT_PRESENT_OFFSET, 4869 }, - { 0xff0f, G_UNICODE_NOT_PRESENT_OFFSET, 14081 }, - { 0xff10, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0xff11, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0xff12, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0xff13, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0xff14, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0xff15, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0xff16, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0xff17, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0xff18, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0xff19, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0xff1a, G_UNICODE_NOT_PRESENT_OFFSET, 13873 }, - { 0xff1b, G_UNICODE_NOT_PRESENT_OFFSET, 1248 }, - { 0xff1c, G_UNICODE_NOT_PRESENT_OFFSET, 13887 }, - { 0xff1d, G_UNICODE_NOT_PRESENT_OFFSET, 4963 }, - { 0xff1e, G_UNICODE_NOT_PRESENT_OFFSET, 13889 }, - { 0xff1f, G_UNICODE_NOT_PRESENT_OFFSET, 13875 }, - { 0xff20, G_UNICODE_NOT_PRESENT_OFFSET, 13897 }, - { 0xff21, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0xff22, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0xff23, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0xff24, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0xff25, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0xff26, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0xff27, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0xff28, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0xff29, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0xff2a, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0xff2b, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0xff2c, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0xff2d, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0xff2e, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0xff2f, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0xff30, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0xff31, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0xff32, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0xff33, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0xff34, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0xff35, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0xff36, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0xff37, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0xff38, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0xff39, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0xff3a, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0xff3b, G_UNICODE_NOT_PRESENT_OFFSET, 14083 }, - { 0xff3c, G_UNICODE_NOT_PRESENT_OFFSET, 13891 }, - { 0xff3d, G_UNICODE_NOT_PRESENT_OFFSET, 14085 }, - { 0xff3e, G_UNICODE_NOT_PRESENT_OFFSET, 14087 }, - { 0xff3f, G_UNICODE_NOT_PRESENT_OFFSET, 13821 }, - { 0xff40, G_UNICODE_NOT_PRESENT_OFFSET, 4798 }, - { 0xff41, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0xff42, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0xff43, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0xff44, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0xff45, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0xff46, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0xff47, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0xff48, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0xff49, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0xff4a, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0xff4b, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0xff4c, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0xff4d, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0xff4e, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0xff4f, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0xff50, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0xff51, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0xff52, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0xff53, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0xff54, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0xff55, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0xff56, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0xff57, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0xff58, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0xff59, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0xff5a, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0xff5b, G_UNICODE_NOT_PRESENT_OFFSET, 13823 }, - { 0xff5c, G_UNICODE_NOT_PRESENT_OFFSET, 14089 }, - { 0xff5d, G_UNICODE_NOT_PRESENT_OFFSET, 13825 }, - { 0xff5e, G_UNICODE_NOT_PRESENT_OFFSET, 14091 }, - { 0xff5f, G_UNICODE_NOT_PRESENT_OFFSET, 14093 }, - { 0xff60, G_UNICODE_NOT_PRESENT_OFFSET, 14097 }, - { 0xff61, G_UNICODE_NOT_PRESENT_OFFSET, 14101 }, - { 0xff62, G_UNICODE_NOT_PRESENT_OFFSET, 13851 }, - { 0xff63, G_UNICODE_NOT_PRESENT_OFFSET, 13855 }, - { 0xff64, G_UNICODE_NOT_PRESENT_OFFSET, 13869 }, - { 0xff65, G_UNICODE_NOT_PRESENT_OFFSET, 14105 }, - { 0xff66, G_UNICODE_NOT_PRESENT_OFFSET, 8615 }, - { 0xff67, G_UNICODE_NOT_PRESENT_OFFSET, 14109 }, - { 0xff68, G_UNICODE_NOT_PRESENT_OFFSET, 14113 }, - { 0xff69, G_UNICODE_NOT_PRESENT_OFFSET, 14117 }, - { 0xff6a, G_UNICODE_NOT_PRESENT_OFFSET, 14121 }, - { 0xff6b, G_UNICODE_NOT_PRESENT_OFFSET, 14125 }, - { 0xff6c, G_UNICODE_NOT_PRESENT_OFFSET, 14129 }, - { 0xff6d, G_UNICODE_NOT_PRESENT_OFFSET, 14133 }, - { 0xff6e, G_UNICODE_NOT_PRESENT_OFFSET, 14137 }, - { 0xff6f, G_UNICODE_NOT_PRESENT_OFFSET, 14141 }, - { 0xff70, G_UNICODE_NOT_PRESENT_OFFSET, 14145 }, - { 0xff71, G_UNICODE_NOT_PRESENT_OFFSET, 8431 }, - { 0xff72, G_UNICODE_NOT_PRESENT_OFFSET, 8435 }, - { 0xff73, G_UNICODE_NOT_PRESENT_OFFSET, 8439 }, - { 0xff74, G_UNICODE_NOT_PRESENT_OFFSET, 8443 }, - { 0xff75, G_UNICODE_NOT_PRESENT_OFFSET, 8447 }, - { 0xff76, G_UNICODE_NOT_PRESENT_OFFSET, 8451 }, - { 0xff77, G_UNICODE_NOT_PRESENT_OFFSET, 8455 }, - { 0xff78, G_UNICODE_NOT_PRESENT_OFFSET, 8459 }, - { 0xff79, G_UNICODE_NOT_PRESENT_OFFSET, 8463 }, - { 0xff7a, G_UNICODE_NOT_PRESENT_OFFSET, 8467 }, - { 0xff7b, G_UNICODE_NOT_PRESENT_OFFSET, 8471 }, - { 0xff7c, G_UNICODE_NOT_PRESENT_OFFSET, 8475 }, - { 0xff7d, G_UNICODE_NOT_PRESENT_OFFSET, 8479 }, - { 0xff7e, G_UNICODE_NOT_PRESENT_OFFSET, 8483 }, - { 0xff7f, G_UNICODE_NOT_PRESENT_OFFSET, 8487 }, - { 0xff80, G_UNICODE_NOT_PRESENT_OFFSET, 8491 }, - { 0xff81, G_UNICODE_NOT_PRESENT_OFFSET, 8495 }, - { 0xff82, G_UNICODE_NOT_PRESENT_OFFSET, 8499 }, - { 0xff83, G_UNICODE_NOT_PRESENT_OFFSET, 8503 }, - { 0xff84, G_UNICODE_NOT_PRESENT_OFFSET, 8507 }, - { 0xff85, G_UNICODE_NOT_PRESENT_OFFSET, 8511 }, - { 0xff86, G_UNICODE_NOT_PRESENT_OFFSET, 8515 }, - { 0xff87, G_UNICODE_NOT_PRESENT_OFFSET, 8519 }, - { 0xff88, G_UNICODE_NOT_PRESENT_OFFSET, 8523 }, - { 0xff89, G_UNICODE_NOT_PRESENT_OFFSET, 8527 }, - { 0xff8a, G_UNICODE_NOT_PRESENT_OFFSET, 8531 }, - { 0xff8b, G_UNICODE_NOT_PRESENT_OFFSET, 8535 }, - { 0xff8c, G_UNICODE_NOT_PRESENT_OFFSET, 8539 }, - { 0xff8d, G_UNICODE_NOT_PRESENT_OFFSET, 8543 }, - { 0xff8e, G_UNICODE_NOT_PRESENT_OFFSET, 8547 }, - { 0xff8f, G_UNICODE_NOT_PRESENT_OFFSET, 8551 }, - { 0xff90, G_UNICODE_NOT_PRESENT_OFFSET, 8555 }, - { 0xff91, G_UNICODE_NOT_PRESENT_OFFSET, 8559 }, - { 0xff92, G_UNICODE_NOT_PRESENT_OFFSET, 8563 }, - { 0xff93, G_UNICODE_NOT_PRESENT_OFFSET, 8567 }, - { 0xff94, G_UNICODE_NOT_PRESENT_OFFSET, 8571 }, - { 0xff95, G_UNICODE_NOT_PRESENT_OFFSET, 8575 }, - { 0xff96, G_UNICODE_NOT_PRESENT_OFFSET, 8579 }, - { 0xff97, G_UNICODE_NOT_PRESENT_OFFSET, 8583 }, - { 0xff98, G_UNICODE_NOT_PRESENT_OFFSET, 8587 }, - { 0xff99, G_UNICODE_NOT_PRESENT_OFFSET, 8591 }, - { 0xff9a, G_UNICODE_NOT_PRESENT_OFFSET, 8595 }, - { 0xff9b, G_UNICODE_NOT_PRESENT_OFFSET, 8599 }, - { 0xff9c, G_UNICODE_NOT_PRESENT_OFFSET, 8603 }, - { 0xff9d, G_UNICODE_NOT_PRESENT_OFFSET, 14149 }, - { 0xff9e, G_UNICODE_NOT_PRESENT_OFFSET, 14153 }, - { 0xff9f, G_UNICODE_NOT_PRESENT_OFFSET, 14157 }, - { 0xffa0, G_UNICODE_NOT_PRESENT_OFFSET, 7405 }, - { 0xffa1, G_UNICODE_NOT_PRESENT_OFFSET, 7201 }, - { 0xffa2, G_UNICODE_NOT_PRESENT_OFFSET, 7205 }, - { 0xffa3, G_UNICODE_NOT_PRESENT_OFFSET, 7209 }, - { 0xffa4, G_UNICODE_NOT_PRESENT_OFFSET, 7213 }, - { 0xffa5, G_UNICODE_NOT_PRESENT_OFFSET, 7217 }, - { 0xffa6, G_UNICODE_NOT_PRESENT_OFFSET, 7221 }, - { 0xffa7, G_UNICODE_NOT_PRESENT_OFFSET, 7225 }, - { 0xffa8, G_UNICODE_NOT_PRESENT_OFFSET, 7229 }, - { 0xffa9, G_UNICODE_NOT_PRESENT_OFFSET, 7233 }, - { 0xffaa, G_UNICODE_NOT_PRESENT_OFFSET, 7237 }, - { 0xffab, G_UNICODE_NOT_PRESENT_OFFSET, 7241 }, - { 0xffac, G_UNICODE_NOT_PRESENT_OFFSET, 7245 }, - { 0xffad, G_UNICODE_NOT_PRESENT_OFFSET, 7249 }, - { 0xffae, G_UNICODE_NOT_PRESENT_OFFSET, 7253 }, - { 0xffaf, G_UNICODE_NOT_PRESENT_OFFSET, 7257 }, - { 0xffb0, G_UNICODE_NOT_PRESENT_OFFSET, 7261 }, - { 0xffb1, G_UNICODE_NOT_PRESENT_OFFSET, 7265 }, - { 0xffb2, G_UNICODE_NOT_PRESENT_OFFSET, 7269 }, - { 0xffb3, G_UNICODE_NOT_PRESENT_OFFSET, 7273 }, - { 0xffb4, G_UNICODE_NOT_PRESENT_OFFSET, 7277 }, - { 0xffb5, G_UNICODE_NOT_PRESENT_OFFSET, 7281 }, - { 0xffb6, G_UNICODE_NOT_PRESENT_OFFSET, 7285 }, - { 0xffb7, G_UNICODE_NOT_PRESENT_OFFSET, 7289 }, - { 0xffb8, G_UNICODE_NOT_PRESENT_OFFSET, 7293 }, - { 0xffb9, G_UNICODE_NOT_PRESENT_OFFSET, 7297 }, - { 0xffba, G_UNICODE_NOT_PRESENT_OFFSET, 7301 }, - { 0xffbb, G_UNICODE_NOT_PRESENT_OFFSET, 7305 }, - { 0xffbc, G_UNICODE_NOT_PRESENT_OFFSET, 7309 }, - { 0xffbd, G_UNICODE_NOT_PRESENT_OFFSET, 7313 }, - { 0xffbe, G_UNICODE_NOT_PRESENT_OFFSET, 7317 }, - { 0xffc2, G_UNICODE_NOT_PRESENT_OFFSET, 7321 }, - { 0xffc3, G_UNICODE_NOT_PRESENT_OFFSET, 7325 }, - { 0xffc4, G_UNICODE_NOT_PRESENT_OFFSET, 7329 }, - { 0xffc5, G_UNICODE_NOT_PRESENT_OFFSET, 7333 }, - { 0xffc6, G_UNICODE_NOT_PRESENT_OFFSET, 7337 }, - { 0xffc7, G_UNICODE_NOT_PRESENT_OFFSET, 7341 }, - { 0xffca, G_UNICODE_NOT_PRESENT_OFFSET, 7345 }, - { 0xffcb, G_UNICODE_NOT_PRESENT_OFFSET, 7349 }, - { 0xffcc, G_UNICODE_NOT_PRESENT_OFFSET, 7353 }, - { 0xffcd, G_UNICODE_NOT_PRESENT_OFFSET, 7357 }, - { 0xffce, G_UNICODE_NOT_PRESENT_OFFSET, 7361 }, - { 0xffcf, G_UNICODE_NOT_PRESENT_OFFSET, 7365 }, - { 0xffd2, G_UNICODE_NOT_PRESENT_OFFSET, 7369 }, - { 0xffd3, G_UNICODE_NOT_PRESENT_OFFSET, 7373 }, - { 0xffd4, G_UNICODE_NOT_PRESENT_OFFSET, 7377 }, - { 0xffd5, G_UNICODE_NOT_PRESENT_OFFSET, 7381 }, - { 0xffd6, G_UNICODE_NOT_PRESENT_OFFSET, 7385 }, - { 0xffd7, G_UNICODE_NOT_PRESENT_OFFSET, 7389 }, - { 0xffda, G_UNICODE_NOT_PRESENT_OFFSET, 7393 }, - { 0xffdb, G_UNICODE_NOT_PRESENT_OFFSET, 7397 }, - { 0xffdc, G_UNICODE_NOT_PRESENT_OFFSET, 7401 }, - { 0xffe0, G_UNICODE_NOT_PRESENT_OFFSET, 14161 }, - { 0xffe1, G_UNICODE_NOT_PRESENT_OFFSET, 14164 }, - { 0xffe2, G_UNICODE_NOT_PRESENT_OFFSET, 14167 }, - { 0xffe3, G_UNICODE_NOT_PRESENT_OFFSET, 8 }, - { 0xffe4, G_UNICODE_NOT_PRESENT_OFFSET, 14170 }, - { 0xffe5, G_UNICODE_NOT_PRESENT_OFFSET, 14173 }, - { 0xffe6, G_UNICODE_NOT_PRESENT_OFFSET, 14176 }, - { 0xffe8, G_UNICODE_NOT_PRESENT_OFFSET, 14180 }, - { 0xffe9, G_UNICODE_NOT_PRESENT_OFFSET, 14184 }, - { 0xffea, G_UNICODE_NOT_PRESENT_OFFSET, 14188 }, - { 0xffeb, G_UNICODE_NOT_PRESENT_OFFSET, 14192 }, - { 0xffec, G_UNICODE_NOT_PRESENT_OFFSET, 14196 }, - { 0xffed, G_UNICODE_NOT_PRESENT_OFFSET, 14200 }, - { 0xffee, G_UNICODE_NOT_PRESENT_OFFSET, 14204 }, - { 0x1d15e, 14208, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d15f, 14217, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d160, 14226, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d161, 14239, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d162, 14252, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d163, 14265, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d164, 14278, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d1bb, 14291, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d1bc, 14300, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d1bd, 14309, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d1be, 14322, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d1bf, 14335, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d1c0, 14348, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x1d400, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d401, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d402, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d403, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d404, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d405, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d406, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d407, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d408, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d409, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d40a, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d40b, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d40c, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d40d, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d40e, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d40f, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d410, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d411, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d412, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d413, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d414, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d415, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d416, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d417, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d418, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d419, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d41a, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d41b, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d41c, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d41d, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d41e, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d41f, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d420, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d421, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d422, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d423, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d424, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d425, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d426, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d427, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d428, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d429, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d42a, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d42b, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d42c, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d42d, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d42e, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d42f, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d430, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d431, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d432, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d433, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d434, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d435, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d436, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d437, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d438, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d439, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d43a, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d43b, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d43c, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d43d, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d43e, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d43f, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d440, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d441, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d442, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d443, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d444, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d445, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d446, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d447, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d448, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d449, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d44a, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d44b, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d44c, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d44d, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d44e, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d44f, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d450, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d451, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d452, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d453, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d454, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d456, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d457, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d458, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d459, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d45a, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d45b, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d45c, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d45d, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d45e, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d45f, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d460, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d461, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d462, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d463, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d464, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d465, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d466, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d467, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d468, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d469, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d46a, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d46b, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d46c, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d46d, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d46e, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d46f, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d470, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d471, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d472, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d473, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d474, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d475, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d476, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d477, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d478, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d479, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d47a, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d47b, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d47c, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d47d, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d47e, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d47f, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d480, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d481, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d482, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d483, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d484, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d485, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d486, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d487, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d488, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d489, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d48a, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d48b, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d48c, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d48d, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d48e, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d48f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d490, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d491, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d492, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d493, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d494, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d495, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d496, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d497, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d498, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d499, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d49a, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d49b, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d49c, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d49e, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d49f, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d4a2, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d4a5, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d4a6, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d4a9, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d4aa, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d4ab, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d4ac, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d4ae, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d4af, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d4b0, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d4b1, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d4b2, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d4b3, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d4b4, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d4b5, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d4b6, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d4b7, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d4b8, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d4b9, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d4bb, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d4bd, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d4be, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d4bf, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d4c0, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d4c2, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d4c3, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d4c5, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d4c6, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d4c7, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d4c8, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d4c9, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d4ca, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d4cb, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d4cc, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d4cd, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d4ce, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d4cf, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d4d0, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d4d1, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d4d2, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d4d3, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d4d4, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d4d5, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d4d6, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d4d7, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d4d8, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d4d9, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d4da, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d4db, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d4dc, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d4dd, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d4de, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d4df, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d4e0, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d4e1, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d4e2, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d4e3, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d4e4, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d4e5, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d4e6, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d4e7, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d4e8, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d4e9, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d4ea, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d4eb, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d4ec, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d4ed, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d4ee, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d4ef, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d4f0, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d4f1, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d4f2, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d4f3, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d4f4, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d4f5, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d4f6, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d4f7, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d4f8, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d4f9, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d4fa, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d4fb, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d4fc, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d4fd, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d4fe, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d4ff, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d500, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d501, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d502, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d503, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d504, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d505, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d507, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d508, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d509, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d50a, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d50d, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d50e, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d50f, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d510, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d511, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d512, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d513, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d514, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d516, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d517, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d518, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d519, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d51a, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d51b, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d51c, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d51e, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d51f, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d520, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d521, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d522, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d523, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d524, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d525, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d526, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d527, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d528, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d529, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d52a, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d52b, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d52c, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d52d, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d52e, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d52f, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d530, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d531, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d532, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d533, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d534, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d535, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d536, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d537, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d538, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d539, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d53b, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d53c, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d53d, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d53e, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d540, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d541, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d542, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d543, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d544, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d546, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d54a, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d54b, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d54c, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d54d, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d54e, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d54f, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d550, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d552, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d553, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d554, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d555, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d556, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d557, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d558, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d559, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d55a, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d55b, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d55c, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d55d, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d55e, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d55f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d560, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d561, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d562, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d563, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d564, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d565, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d566, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d567, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d568, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d569, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d56a, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d56b, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d56c, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d56d, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d56e, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d56f, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d570, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d571, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d572, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d573, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d574, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d575, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d576, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d577, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d578, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d579, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d57a, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d57b, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d57c, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d57d, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d57e, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d57f, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d580, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d581, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d582, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d583, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d584, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d585, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d586, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d587, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d588, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d589, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d58a, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d58b, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d58c, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d58d, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d58e, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d58f, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d590, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d591, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d592, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d593, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d594, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d595, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d596, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d597, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d598, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d599, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d59a, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d59b, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d59c, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d59d, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d59e, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d59f, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d5a0, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d5a1, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d5a2, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d5a3, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d5a4, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d5a5, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d5a6, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d5a7, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d5a8, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d5a9, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d5aa, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d5ab, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d5ac, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d5ad, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d5ae, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d5af, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d5b0, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d5b1, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d5b2, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d5b3, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d5b4, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d5b5, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d5b6, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d5b7, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d5b8, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d5b9, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d5ba, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d5bb, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d5bc, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d5bd, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d5be, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d5bf, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d5c0, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d5c1, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d5c2, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d5c3, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d5c4, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d5c5, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d5c6, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d5c7, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d5c8, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d5c9, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d5ca, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d5cb, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d5cc, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d5cd, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d5ce, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d5cf, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d5d0, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d5d1, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d5d2, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d5d3, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d5d4, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d5d5, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d5d6, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d5d7, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d5d8, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d5d9, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d5da, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d5db, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d5dc, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d5dd, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d5de, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d5df, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d5e0, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d5e1, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d5e2, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d5e3, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d5e4, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d5e5, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d5e6, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d5e7, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d5e8, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d5e9, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d5ea, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d5eb, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d5ec, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d5ed, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d5ee, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d5ef, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d5f0, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d5f1, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d5f2, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d5f3, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d5f4, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d5f5, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d5f6, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d5f7, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d5f8, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d5f9, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d5fa, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d5fb, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d5fc, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d5fd, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d5fe, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d5ff, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d600, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d601, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d602, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d603, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d604, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d605, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d606, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d607, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d608, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d609, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d60a, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d60b, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d60c, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d60d, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d60e, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d60f, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d610, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d611, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d612, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d613, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d614, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d615, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d616, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d617, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d618, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d619, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d61a, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d61b, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d61c, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d61d, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d61e, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d61f, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d620, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d621, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d622, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d623, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d624, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d625, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d626, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d627, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d628, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d629, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d62a, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d62b, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d62c, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d62d, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d62e, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d62f, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d630, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d631, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d632, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d633, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d634, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d635, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d636, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d637, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d638, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d639, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d63a, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d63b, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d63c, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d63d, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d63e, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d63f, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d640, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d641, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d642, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d643, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d644, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d645, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d646, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d647, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d648, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d649, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d64a, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d64b, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d64c, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d64d, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d64e, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d64f, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d650, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d651, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d652, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d653, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d654, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d655, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d656, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d657, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d658, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d659, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d65a, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d65b, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d65c, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d65d, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d65e, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d65f, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d660, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d661, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d662, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d663, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d664, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d665, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d666, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d667, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d668, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d669, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d66a, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d66b, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d66c, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d66d, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d66e, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d66f, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d670, G_UNICODE_NOT_PRESENT_OFFSET, 5831 }, - { 0x1d671, G_UNICODE_NOT_PRESENT_OFFSET, 5042 }, - { 0x1d672, G_UNICODE_NOT_PRESENT_OFFSET, 4982 }, - { 0x1d673, G_UNICODE_NOT_PRESENT_OFFSET, 5077 }, - { 0x1d674, G_UNICODE_NOT_PRESENT_OFFSET, 5046 }, - { 0x1d675, G_UNICODE_NOT_PRESENT_OFFSET, 5048 }, - { 0x1d676, G_UNICODE_NOT_PRESENT_OFFSET, 5833 }, - { 0x1d677, G_UNICODE_NOT_PRESENT_OFFSET, 5005 }, - { 0x1d678, G_UNICODE_NOT_PRESENT_OFFSET, 5010 }, - { 0x1d679, G_UNICODE_NOT_PRESENT_OFFSET, 5835 }, - { 0x1d67a, G_UNICODE_NOT_PRESENT_OFFSET, 5040 }, - { 0x1d67b, G_UNICODE_NOT_PRESENT_OFFSET, 5012 }, - { 0x1d67c, G_UNICODE_NOT_PRESENT_OFFSET, 5050 }, - { 0x1d67d, G_UNICODE_NOT_PRESENT_OFFSET, 5014 }, - { 0x1d67e, G_UNICODE_NOT_PRESENT_OFFSET, 5837 }, - { 0x1d67f, G_UNICODE_NOT_PRESENT_OFFSET, 5019 }, - { 0x1d680, G_UNICODE_NOT_PRESENT_OFFSET, 5021 }, - { 0x1d681, G_UNICODE_NOT_PRESENT_OFFSET, 5023 }, - { 0x1d682, G_UNICODE_NOT_PRESENT_OFFSET, 5839 }, - { 0x1d683, G_UNICODE_NOT_PRESENT_OFFSET, 5841 }, - { 0x1d684, G_UNICODE_NOT_PRESENT_OFFSET, 5843 }, - { 0x1d685, G_UNICODE_NOT_PRESENT_OFFSET, 5168 }, - { 0x1d686, G_UNICODE_NOT_PRESENT_OFFSET, 5845 }, - { 0x1d687, G_UNICODE_NOT_PRESENT_OFFSET, 5185 }, - { 0x1d688, G_UNICODE_NOT_PRESENT_OFFSET, 5847 }, - { 0x1d689, G_UNICODE_NOT_PRESENT_OFFSET, 5035 }, - { 0x1d68a, G_UNICODE_NOT_PRESENT_OFFSET, 6 }, - { 0x1d68b, G_UNICODE_NOT_PRESENT_OFFSET, 5849 }, - { 0x1d68c, G_UNICODE_NOT_PRESENT_OFFSET, 5228 }, - { 0x1d68d, G_UNICODE_NOT_PRESENT_OFFSET, 5079 }, - { 0x1d68e, G_UNICODE_NOT_PRESENT_OFFSET, 5044 }, - { 0x1d68f, G_UNICODE_NOT_PRESENT_OFFSET, 5851 }, - { 0x1d690, G_UNICODE_NOT_PRESENT_OFFSET, 5003 }, - { 0x1d691, G_UNICODE_NOT_PRESENT_OFFSET, 1171 }, - { 0x1d692, G_UNICODE_NOT_PRESENT_OFFSET, 4943 }, - { 0x1d693, G_UNICODE_NOT_PRESENT_OFFSET, 1176 }, - { 0x1d694, G_UNICODE_NOT_PRESENT_OFFSET, 5853 }, - { 0x1d695, G_UNICODE_NOT_PRESENT_OFFSET, 1220 }, - { 0x1d696, G_UNICODE_NOT_PRESENT_OFFSET, 5230 }, - { 0x1d697, G_UNICODE_NOT_PRESENT_OFFSET, 4969 }, - { 0x1d698, G_UNICODE_NOT_PRESENT_OFFSET, 29 }, - { 0x1d699, G_UNICODE_NOT_PRESENT_OFFSET, 5855 }, - { 0x1d69a, G_UNICODE_NOT_PRESENT_OFFSET, 5857 }, - { 0x1d69b, G_UNICODE_NOT_PRESENT_OFFSET, 1178 }, - { 0x1d69c, G_UNICODE_NOT_PRESENT_OFFSET, 711 }, - { 0x1d69d, G_UNICODE_NOT_PRESENT_OFFSET, 5859 }, - { 0x1d69e, G_UNICODE_NOT_PRESENT_OFFSET, 5861 }, - { 0x1d69f, G_UNICODE_NOT_PRESENT_OFFSET, 5204 }, - { 0x1d6a0, G_UNICODE_NOT_PRESENT_OFFSET, 1189 }, - { 0x1d6a1, G_UNICODE_NOT_PRESENT_OFFSET, 1222 }, - { 0x1d6a2, G_UNICODE_NOT_PRESENT_OFFSET, 1191 }, - { 0x1d6a3, G_UNICODE_NOT_PRESENT_OFFSET, 5863 }, - { 0x1d6a8, G_UNICODE_NOT_PRESENT_OFFSET, 14361 }, - { 0x1d6a9, G_UNICODE_NOT_PRESENT_OFFSET, 14364 }, - { 0x1d6aa, G_UNICODE_NOT_PRESENT_OFFSET, 5067 }, - { 0x1d6ab, G_UNICODE_NOT_PRESENT_OFFSET, 14367 }, - { 0x1d6ac, G_UNICODE_NOT_PRESENT_OFFSET, 14370 }, - { 0x1d6ad, G_UNICODE_NOT_PRESENT_OFFSET, 14373 }, - { 0x1d6ae, G_UNICODE_NOT_PRESENT_OFFSET, 14376 }, - { 0x1d6af, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d6b0, G_UNICODE_NOT_PRESENT_OFFSET, 14379 }, - { 0x1d6b1, G_UNICODE_NOT_PRESENT_OFFSET, 14382 }, - { 0x1d6b2, G_UNICODE_NOT_PRESENT_OFFSET, 14385 }, - { 0x1d6b3, G_UNICODE_NOT_PRESENT_OFFSET, 14388 }, - { 0x1d6b4, G_UNICODE_NOT_PRESENT_OFFSET, 14391 }, - { 0x1d6b5, G_UNICODE_NOT_PRESENT_OFFSET, 14394 }, - { 0x1d6b6, G_UNICODE_NOT_PRESENT_OFFSET, 14397 }, - { 0x1d6b7, G_UNICODE_NOT_PRESENT_OFFSET, 5070 }, - { 0x1d6b8, G_UNICODE_NOT_PRESENT_OFFSET, 14400 }, - { 0x1d6b9, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d6ba, G_UNICODE_NOT_PRESENT_OFFSET, 14403 }, - { 0x1d6bb, G_UNICODE_NOT_PRESENT_OFFSET, 14406 }, - { 0x1d6bc, G_UNICODE_NOT_PRESENT_OFFSET, 1374 }, - { 0x1d6bd, G_UNICODE_NOT_PRESENT_OFFSET, 14409 }, - { 0x1d6be, G_UNICODE_NOT_PRESENT_OFFSET, 14412 }, - { 0x1d6bf, G_UNICODE_NOT_PRESENT_OFFSET, 14415 }, - { 0x1d6c0, G_UNICODE_NOT_PRESENT_OFFSET, 5037 }, - { 0x1d6c1, G_UNICODE_NOT_PRESENT_OFFSET, 14418 }, - { 0x1d6c2, G_UNICODE_NOT_PRESENT_OFFSET, 14422 }, - { 0x1d6c3, G_UNICODE_NOT_PRESENT_OFFSET, 1368 }, - { 0x1d6c4, G_UNICODE_NOT_PRESENT_OFFSET, 5064 }, - { 0x1d6c5, G_UNICODE_NOT_PRESENT_OFFSET, 14425 }, - { 0x1d6c6, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d6c7, G_UNICODE_NOT_PRESENT_OFFSET, 14428 }, - { 0x1d6c8, G_UNICODE_NOT_PRESENT_OFFSET, 14431 }, - { 0x1d6c9, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d6ca, G_UNICODE_NOT_PRESENT_OFFSET, 4548 }, - { 0x1d6cb, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d6cc, G_UNICODE_NOT_PRESENT_OFFSET, 14434 }, - { 0x1d6cd, G_UNICODE_NOT_PRESENT_OFFSET, 20 }, - { 0x1d6ce, G_UNICODE_NOT_PRESENT_OFFSET, 14437 }, - { 0x1d6cf, G_UNICODE_NOT_PRESENT_OFFSET, 14440 }, - { 0x1d6d0, G_UNICODE_NOT_PRESENT_OFFSET, 14443 }, - { 0x1d6d1, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d6d2, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d6d3, G_UNICODE_NOT_PRESENT_OFFSET, 1399 }, - { 0x1d6d4, G_UNICODE_NOT_PRESENT_OFFSET, 14446 }, - { 0x1d6d5, G_UNICODE_NOT_PRESENT_OFFSET, 14449 }, - { 0x1d6d6, G_UNICODE_NOT_PRESENT_OFFSET, 14452 }, - { 0x1d6d7, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d6d8, G_UNICODE_NOT_PRESENT_OFFSET, 14455 }, - { 0x1d6d9, G_UNICODE_NOT_PRESENT_OFFSET, 14458 }, - { 0x1d6da, G_UNICODE_NOT_PRESENT_OFFSET, 14461 }, - { 0x1d6db, G_UNICODE_NOT_PRESENT_OFFSET, 14464 }, - { 0x1d6dc, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d6dd, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d6de, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d6df, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d6e0, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d6e1, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d6e2, G_UNICODE_NOT_PRESENT_OFFSET, 14361 }, - { 0x1d6e3, G_UNICODE_NOT_PRESENT_OFFSET, 14364 }, - { 0x1d6e4, G_UNICODE_NOT_PRESENT_OFFSET, 5067 }, - { 0x1d6e5, G_UNICODE_NOT_PRESENT_OFFSET, 14367 }, - { 0x1d6e6, G_UNICODE_NOT_PRESENT_OFFSET, 14370 }, - { 0x1d6e7, G_UNICODE_NOT_PRESENT_OFFSET, 14373 }, - { 0x1d6e8, G_UNICODE_NOT_PRESENT_OFFSET, 14376 }, - { 0x1d6e9, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d6ea, G_UNICODE_NOT_PRESENT_OFFSET, 14379 }, - { 0x1d6eb, G_UNICODE_NOT_PRESENT_OFFSET, 14382 }, - { 0x1d6ec, G_UNICODE_NOT_PRESENT_OFFSET, 14385 }, - { 0x1d6ed, G_UNICODE_NOT_PRESENT_OFFSET, 14388 }, - { 0x1d6ee, G_UNICODE_NOT_PRESENT_OFFSET, 14391 }, - { 0x1d6ef, G_UNICODE_NOT_PRESENT_OFFSET, 14394 }, - { 0x1d6f0, G_UNICODE_NOT_PRESENT_OFFSET, 14397 }, - { 0x1d6f1, G_UNICODE_NOT_PRESENT_OFFSET, 5070 }, - { 0x1d6f2, G_UNICODE_NOT_PRESENT_OFFSET, 14400 }, - { 0x1d6f3, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d6f4, G_UNICODE_NOT_PRESENT_OFFSET, 14403 }, - { 0x1d6f5, G_UNICODE_NOT_PRESENT_OFFSET, 14406 }, - { 0x1d6f6, G_UNICODE_NOT_PRESENT_OFFSET, 1374 }, - { 0x1d6f7, G_UNICODE_NOT_PRESENT_OFFSET, 14409 }, - { 0x1d6f8, G_UNICODE_NOT_PRESENT_OFFSET, 14412 }, - { 0x1d6f9, G_UNICODE_NOT_PRESENT_OFFSET, 14415 }, - { 0x1d6fa, G_UNICODE_NOT_PRESENT_OFFSET, 5037 }, - { 0x1d6fb, G_UNICODE_NOT_PRESENT_OFFSET, 14418 }, - { 0x1d6fc, G_UNICODE_NOT_PRESENT_OFFSET, 14422 }, - { 0x1d6fd, G_UNICODE_NOT_PRESENT_OFFSET, 1368 }, - { 0x1d6fe, G_UNICODE_NOT_PRESENT_OFFSET, 5064 }, - { 0x1d6ff, G_UNICODE_NOT_PRESENT_OFFSET, 14425 }, - { 0x1d700, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d701, G_UNICODE_NOT_PRESENT_OFFSET, 14428 }, - { 0x1d702, G_UNICODE_NOT_PRESENT_OFFSET, 14431 }, - { 0x1d703, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d704, G_UNICODE_NOT_PRESENT_OFFSET, 4548 }, - { 0x1d705, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d706, G_UNICODE_NOT_PRESENT_OFFSET, 14434 }, - { 0x1d707, G_UNICODE_NOT_PRESENT_OFFSET, 20 }, - { 0x1d708, G_UNICODE_NOT_PRESENT_OFFSET, 14437 }, - { 0x1d709, G_UNICODE_NOT_PRESENT_OFFSET, 14440 }, - { 0x1d70a, G_UNICODE_NOT_PRESENT_OFFSET, 14443 }, - { 0x1d70b, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d70c, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d70d, G_UNICODE_NOT_PRESENT_OFFSET, 1399 }, - { 0x1d70e, G_UNICODE_NOT_PRESENT_OFFSET, 14446 }, - { 0x1d70f, G_UNICODE_NOT_PRESENT_OFFSET, 14449 }, - { 0x1d710, G_UNICODE_NOT_PRESENT_OFFSET, 14452 }, - { 0x1d711, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d712, G_UNICODE_NOT_PRESENT_OFFSET, 14455 }, - { 0x1d713, G_UNICODE_NOT_PRESENT_OFFSET, 14458 }, - { 0x1d714, G_UNICODE_NOT_PRESENT_OFFSET, 14461 }, - { 0x1d715, G_UNICODE_NOT_PRESENT_OFFSET, 14464 }, - { 0x1d716, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d717, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d718, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d719, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d71a, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d71b, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d71c, G_UNICODE_NOT_PRESENT_OFFSET, 14361 }, - { 0x1d71d, G_UNICODE_NOT_PRESENT_OFFSET, 14364 }, - { 0x1d71e, G_UNICODE_NOT_PRESENT_OFFSET, 5067 }, - { 0x1d71f, G_UNICODE_NOT_PRESENT_OFFSET, 14367 }, - { 0x1d720, G_UNICODE_NOT_PRESENT_OFFSET, 14370 }, - { 0x1d721, G_UNICODE_NOT_PRESENT_OFFSET, 14373 }, - { 0x1d722, G_UNICODE_NOT_PRESENT_OFFSET, 14376 }, - { 0x1d723, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d724, G_UNICODE_NOT_PRESENT_OFFSET, 14379 }, - { 0x1d725, G_UNICODE_NOT_PRESENT_OFFSET, 14382 }, - { 0x1d726, G_UNICODE_NOT_PRESENT_OFFSET, 14385 }, - { 0x1d727, G_UNICODE_NOT_PRESENT_OFFSET, 14388 }, - { 0x1d728, G_UNICODE_NOT_PRESENT_OFFSET, 14391 }, - { 0x1d729, G_UNICODE_NOT_PRESENT_OFFSET, 14394 }, - { 0x1d72a, G_UNICODE_NOT_PRESENT_OFFSET, 14397 }, - { 0x1d72b, G_UNICODE_NOT_PRESENT_OFFSET, 5070 }, - { 0x1d72c, G_UNICODE_NOT_PRESENT_OFFSET, 14400 }, - { 0x1d72d, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d72e, G_UNICODE_NOT_PRESENT_OFFSET, 14403 }, - { 0x1d72f, G_UNICODE_NOT_PRESENT_OFFSET, 14406 }, - { 0x1d730, G_UNICODE_NOT_PRESENT_OFFSET, 1374 }, - { 0x1d731, G_UNICODE_NOT_PRESENT_OFFSET, 14409 }, - { 0x1d732, G_UNICODE_NOT_PRESENT_OFFSET, 14412 }, - { 0x1d733, G_UNICODE_NOT_PRESENT_OFFSET, 14415 }, - { 0x1d734, G_UNICODE_NOT_PRESENT_OFFSET, 5037 }, - { 0x1d735, G_UNICODE_NOT_PRESENT_OFFSET, 14418 }, - { 0x1d736, G_UNICODE_NOT_PRESENT_OFFSET, 14422 }, - { 0x1d737, G_UNICODE_NOT_PRESENT_OFFSET, 1368 }, - { 0x1d738, G_UNICODE_NOT_PRESENT_OFFSET, 5064 }, - { 0x1d739, G_UNICODE_NOT_PRESENT_OFFSET, 14425 }, - { 0x1d73a, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d73b, G_UNICODE_NOT_PRESENT_OFFSET, 14428 }, - { 0x1d73c, G_UNICODE_NOT_PRESENT_OFFSET, 14431 }, - { 0x1d73d, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d73e, G_UNICODE_NOT_PRESENT_OFFSET, 4548 }, - { 0x1d73f, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d740, G_UNICODE_NOT_PRESENT_OFFSET, 14434 }, - { 0x1d741, G_UNICODE_NOT_PRESENT_OFFSET, 20 }, - { 0x1d742, G_UNICODE_NOT_PRESENT_OFFSET, 14437 }, - { 0x1d743, G_UNICODE_NOT_PRESENT_OFFSET, 14440 }, - { 0x1d744, G_UNICODE_NOT_PRESENT_OFFSET, 14443 }, - { 0x1d745, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d746, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d747, G_UNICODE_NOT_PRESENT_OFFSET, 1399 }, - { 0x1d748, G_UNICODE_NOT_PRESENT_OFFSET, 14446 }, - { 0x1d749, G_UNICODE_NOT_PRESENT_OFFSET, 14449 }, - { 0x1d74a, G_UNICODE_NOT_PRESENT_OFFSET, 14452 }, - { 0x1d74b, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d74c, G_UNICODE_NOT_PRESENT_OFFSET, 14455 }, - { 0x1d74d, G_UNICODE_NOT_PRESENT_OFFSET, 14458 }, - { 0x1d74e, G_UNICODE_NOT_PRESENT_OFFSET, 14461 }, - { 0x1d74f, G_UNICODE_NOT_PRESENT_OFFSET, 14464 }, - { 0x1d750, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d751, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d752, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d753, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d754, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d755, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d756, G_UNICODE_NOT_PRESENT_OFFSET, 14361 }, - { 0x1d757, G_UNICODE_NOT_PRESENT_OFFSET, 14364 }, - { 0x1d758, G_UNICODE_NOT_PRESENT_OFFSET, 5067 }, - { 0x1d759, G_UNICODE_NOT_PRESENT_OFFSET, 14367 }, - { 0x1d75a, G_UNICODE_NOT_PRESENT_OFFSET, 14370 }, - { 0x1d75b, G_UNICODE_NOT_PRESENT_OFFSET, 14373 }, - { 0x1d75c, G_UNICODE_NOT_PRESENT_OFFSET, 14376 }, - { 0x1d75d, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d75e, G_UNICODE_NOT_PRESENT_OFFSET, 14379 }, - { 0x1d75f, G_UNICODE_NOT_PRESENT_OFFSET, 14382 }, - { 0x1d760, G_UNICODE_NOT_PRESENT_OFFSET, 14385 }, - { 0x1d761, G_UNICODE_NOT_PRESENT_OFFSET, 14388 }, - { 0x1d762, G_UNICODE_NOT_PRESENT_OFFSET, 14391 }, - { 0x1d763, G_UNICODE_NOT_PRESENT_OFFSET, 14394 }, - { 0x1d764, G_UNICODE_NOT_PRESENT_OFFSET, 14397 }, - { 0x1d765, G_UNICODE_NOT_PRESENT_OFFSET, 5070 }, - { 0x1d766, G_UNICODE_NOT_PRESENT_OFFSET, 14400 }, - { 0x1d767, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d768, G_UNICODE_NOT_PRESENT_OFFSET, 14403 }, - { 0x1d769, G_UNICODE_NOT_PRESENT_OFFSET, 14406 }, - { 0x1d76a, G_UNICODE_NOT_PRESENT_OFFSET, 1374 }, - { 0x1d76b, G_UNICODE_NOT_PRESENT_OFFSET, 14409 }, - { 0x1d76c, G_UNICODE_NOT_PRESENT_OFFSET, 14412 }, - { 0x1d76d, G_UNICODE_NOT_PRESENT_OFFSET, 14415 }, - { 0x1d76e, G_UNICODE_NOT_PRESENT_OFFSET, 5037 }, - { 0x1d76f, G_UNICODE_NOT_PRESENT_OFFSET, 14418 }, - { 0x1d770, G_UNICODE_NOT_PRESENT_OFFSET, 14422 }, - { 0x1d771, G_UNICODE_NOT_PRESENT_OFFSET, 1368 }, - { 0x1d772, G_UNICODE_NOT_PRESENT_OFFSET, 5064 }, - { 0x1d773, G_UNICODE_NOT_PRESENT_OFFSET, 14425 }, - { 0x1d774, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d775, G_UNICODE_NOT_PRESENT_OFFSET, 14428 }, - { 0x1d776, G_UNICODE_NOT_PRESENT_OFFSET, 14431 }, - { 0x1d777, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d778, G_UNICODE_NOT_PRESENT_OFFSET, 4548 }, - { 0x1d779, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d77a, G_UNICODE_NOT_PRESENT_OFFSET, 14434 }, - { 0x1d77b, G_UNICODE_NOT_PRESENT_OFFSET, 20 }, - { 0x1d77c, G_UNICODE_NOT_PRESENT_OFFSET, 14437 }, - { 0x1d77d, G_UNICODE_NOT_PRESENT_OFFSET, 14440 }, - { 0x1d77e, G_UNICODE_NOT_PRESENT_OFFSET, 14443 }, - { 0x1d77f, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d780, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d781, G_UNICODE_NOT_PRESENT_OFFSET, 1399 }, - { 0x1d782, G_UNICODE_NOT_PRESENT_OFFSET, 14446 }, - { 0x1d783, G_UNICODE_NOT_PRESENT_OFFSET, 14449 }, - { 0x1d784, G_UNICODE_NOT_PRESENT_OFFSET, 14452 }, - { 0x1d785, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d786, G_UNICODE_NOT_PRESENT_OFFSET, 14455 }, - { 0x1d787, G_UNICODE_NOT_PRESENT_OFFSET, 14458 }, - { 0x1d788, G_UNICODE_NOT_PRESENT_OFFSET, 14461 }, - { 0x1d789, G_UNICODE_NOT_PRESENT_OFFSET, 14464 }, - { 0x1d78a, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d78b, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d78c, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d78d, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d78e, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d78f, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d790, G_UNICODE_NOT_PRESENT_OFFSET, 14361 }, - { 0x1d791, G_UNICODE_NOT_PRESENT_OFFSET, 14364 }, - { 0x1d792, G_UNICODE_NOT_PRESENT_OFFSET, 5067 }, - { 0x1d793, G_UNICODE_NOT_PRESENT_OFFSET, 14367 }, - { 0x1d794, G_UNICODE_NOT_PRESENT_OFFSET, 14370 }, - { 0x1d795, G_UNICODE_NOT_PRESENT_OFFSET, 14373 }, - { 0x1d796, G_UNICODE_NOT_PRESENT_OFFSET, 14376 }, - { 0x1d797, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d798, G_UNICODE_NOT_PRESENT_OFFSET, 14379 }, - { 0x1d799, G_UNICODE_NOT_PRESENT_OFFSET, 14382 }, - { 0x1d79a, G_UNICODE_NOT_PRESENT_OFFSET, 14385 }, - { 0x1d79b, G_UNICODE_NOT_PRESENT_OFFSET, 14388 }, - { 0x1d79c, G_UNICODE_NOT_PRESENT_OFFSET, 14391 }, - { 0x1d79d, G_UNICODE_NOT_PRESENT_OFFSET, 14394 }, - { 0x1d79e, G_UNICODE_NOT_PRESENT_OFFSET, 14397 }, - { 0x1d79f, G_UNICODE_NOT_PRESENT_OFFSET, 5070 }, - { 0x1d7a0, G_UNICODE_NOT_PRESENT_OFFSET, 14400 }, - { 0x1d7a1, G_UNICODE_NOT_PRESENT_OFFSET, 1402 }, - { 0x1d7a2, G_UNICODE_NOT_PRESENT_OFFSET, 14403 }, - { 0x1d7a3, G_UNICODE_NOT_PRESENT_OFFSET, 14406 }, - { 0x1d7a4, G_UNICODE_NOT_PRESENT_OFFSET, 1374 }, - { 0x1d7a5, G_UNICODE_NOT_PRESENT_OFFSET, 14409 }, - { 0x1d7a6, G_UNICODE_NOT_PRESENT_OFFSET, 14412 }, - { 0x1d7a7, G_UNICODE_NOT_PRESENT_OFFSET, 14415 }, - { 0x1d7a8, G_UNICODE_NOT_PRESENT_OFFSET, 5037 }, - { 0x1d7a9, G_UNICODE_NOT_PRESENT_OFFSET, 14418 }, - { 0x1d7aa, G_UNICODE_NOT_PRESENT_OFFSET, 14422 }, - { 0x1d7ab, G_UNICODE_NOT_PRESENT_OFFSET, 1368 }, - { 0x1d7ac, G_UNICODE_NOT_PRESENT_OFFSET, 5064 }, - { 0x1d7ad, G_UNICODE_NOT_PRESENT_OFFSET, 14425 }, - { 0x1d7ae, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d7af, G_UNICODE_NOT_PRESENT_OFFSET, 14428 }, - { 0x1d7b0, G_UNICODE_NOT_PRESENT_OFFSET, 14431 }, - { 0x1d7b1, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d7b2, G_UNICODE_NOT_PRESENT_OFFSET, 4548 }, - { 0x1d7b3, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d7b4, G_UNICODE_NOT_PRESENT_OFFSET, 14434 }, - { 0x1d7b5, G_UNICODE_NOT_PRESENT_OFFSET, 20 }, - { 0x1d7b6, G_UNICODE_NOT_PRESENT_OFFSET, 14437 }, - { 0x1d7b7, G_UNICODE_NOT_PRESENT_OFFSET, 14440 }, - { 0x1d7b8, G_UNICODE_NOT_PRESENT_OFFSET, 14443 }, - { 0x1d7b9, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d7ba, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d7bb, G_UNICODE_NOT_PRESENT_OFFSET, 1399 }, - { 0x1d7bc, G_UNICODE_NOT_PRESENT_OFFSET, 14446 }, - { 0x1d7bd, G_UNICODE_NOT_PRESENT_OFFSET, 14449 }, - { 0x1d7be, G_UNICODE_NOT_PRESENT_OFFSET, 14452 }, - { 0x1d7bf, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d7c0, G_UNICODE_NOT_PRESENT_OFFSET, 14455 }, - { 0x1d7c1, G_UNICODE_NOT_PRESENT_OFFSET, 14458 }, - { 0x1d7c2, G_UNICODE_NOT_PRESENT_OFFSET, 14461 }, - { 0x1d7c3, G_UNICODE_NOT_PRESENT_OFFSET, 14464 }, - { 0x1d7c4, G_UNICODE_NOT_PRESENT_OFFSET, 1405 }, - { 0x1d7c5, G_UNICODE_NOT_PRESENT_OFFSET, 1371 }, - { 0x1d7c6, G_UNICODE_NOT_PRESENT_OFFSET, 1393 }, - { 0x1d7c7, G_UNICODE_NOT_PRESENT_OFFSET, 1387 }, - { 0x1d7c8, G_UNICODE_NOT_PRESENT_OFFSET, 1396 }, - { 0x1d7c9, G_UNICODE_NOT_PRESENT_OFFSET, 1390 }, - { 0x1d7ce, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x1d7cf, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x1d7d0, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x1d7d1, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x1d7d2, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x1d7d3, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x1d7d4, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x1d7d5, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x1d7d6, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x1d7d7, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x1d7d8, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x1d7d9, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x1d7da, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x1d7db, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x1d7dc, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x1d7dd, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x1d7de, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x1d7df, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x1d7e0, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x1d7e1, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x1d7e2, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x1d7e3, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x1d7e4, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x1d7e5, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x1d7e6, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x1d7e7, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x1d7e8, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x1d7e9, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x1d7ea, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x1d7eb, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x1d7ec, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x1d7ed, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x1d7ee, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x1d7ef, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x1d7f0, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x1d7f1, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x1d7f2, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x1d7f3, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x1d7f4, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x1d7f5, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x1d7f6, G_UNICODE_NOT_PRESENT_OFFSET, 4941 }, - { 0x1d7f7, G_UNICODE_NOT_PRESENT_OFFSET, 27 }, - { 0x1d7f8, G_UNICODE_NOT_PRESENT_OFFSET, 12 }, - { 0x1d7f9, G_UNICODE_NOT_PRESENT_OFFSET, 14 }, - { 0x1d7fa, G_UNICODE_NOT_PRESENT_OFFSET, 4945 }, - { 0x1d7fb, G_UNICODE_NOT_PRESENT_OFFSET, 4947 }, - { 0x1d7fc, G_UNICODE_NOT_PRESENT_OFFSET, 4949 }, - { 0x1d7fd, G_UNICODE_NOT_PRESENT_OFFSET, 4951 }, - { 0x1d7fe, G_UNICODE_NOT_PRESENT_OFFSET, 4953 }, - { 0x1d7ff, G_UNICODE_NOT_PRESENT_OFFSET, 4955 }, - { 0x2f800, 14468, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f801, 14472, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f802, 14476, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f803, 14480, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f804, 14485, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f805, 11545, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f806, 14489, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f807, 14493, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f808, 14497, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f809, 14501, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f80a, 11549, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f80b, 14505, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f80c, 14509, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f80d, 14513, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f80e, 11553, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f80f, 14518, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f810, 14522, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f811, 14526, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f812, 14530, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f813, 14535, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f814, 14539, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f815, 14543, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f816, 14547, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f817, 14552, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f818, 14556, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f819, 14560, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f81a, 14564, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f81b, 14568, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f81c, 14572, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f81d, 5967, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f81e, 14577, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f81f, 14581, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f820, 14585, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f821, 14589, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f822, 14593, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f823, 14597, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f824, 14601, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f825, 14605, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f826, 11557, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f827, 11561, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f828, 14609, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f829, 14613, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f82a, 14617, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f82b, 10837, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f82c, 14621, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f82d, 11565, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f82e, 14625, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f82f, 14629, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f830, 14633, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f831, 14637, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f832, 14637, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f833, 14637, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f834, 14641, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f835, 14646, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f836, 14650, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f837, 14654, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f838, 14658, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f839, 14663, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f83a, 14667, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f83b, 14671, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f83c, 14675, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f83d, 14679, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f83e, 14683, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f83f, 14687, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f840, 14691, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f841, 14695, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f842, 14699, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f843, 14703, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f844, 14707, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f845, 14711, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f846, 14711, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f847, 14715, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f848, 14719, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f849, 14723, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f84a, 14727, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f84b, 14731, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f84c, 11573, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f84d, 14735, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f84e, 14739, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f84f, 14743, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f850, 11421, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f851, 14747, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f852, 14751, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f853, 14755, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f854, 14759, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f855, 14763, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f856, 14767, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f857, 14771, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f858, 14775, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f859, 14779, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f85a, 14784, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f85b, 14788, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f85c, 14792, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f85d, 14796, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f85e, 14800, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f85f, 14804, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f860, 14808, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f861, 14813, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f862, 14818, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f863, 14822, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f864, 14826, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f865, 14830, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f866, 14834, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f867, 14838, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f868, 14842, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f869, 14847, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f86a, 14851, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f86b, 14851, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f86c, 14855, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f86d, 14860, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f86e, 14864, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f86f, 10821, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f870, 14868, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f871, 14872, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f872, 14877, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f873, 14881, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f874, 14885, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f875, 6071, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f876, 14889, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f877, 14893, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f878, 6079, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f879, 14897, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f87a, 14901, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f87b, 14905, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f87c, 14910, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f87d, 14914, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f87e, 14919, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f87f, 14923, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f880, 14927, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f881, 14931, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f882, 14935, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f883, 14939, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f884, 14943, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f885, 14947, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f886, 14951, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f887, 14955, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f888, 14959, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f889, 14963, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f88a, 14968, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f88b, 14972, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f88c, 14976, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f88d, 14980, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f88e, 10613, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f88f, 14984, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f890, 6119, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f891, 14989, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f892, 14989, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f893, 14994, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f894, 14998, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f895, 14998, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f896, 15002, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f897, 15006, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f898, 15011, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f899, 15016, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f89a, 15020, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f89b, 15024, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f89c, 15028, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f89d, 15032, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f89e, 15036, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f89f, 15040, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a0, 15044, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a1, 15048, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a2, 15052, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a3, 11593, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a4, 15056, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a5, 15061, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a6, 15065, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a7, 15069, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a8, 15073, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8a9, 15069, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8aa, 15077, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ab, 11601, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ac, 15081, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ad, 15085, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ae, 15089, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8af, 15093, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b0, 11605, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b1, 10505, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b2, 15097, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b3, 15101, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b4, 15105, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b5, 15109, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b6, 15113, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b7, 15117, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b8, 15121, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8b9, 15126, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ba, 15130, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8bb, 15134, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8bc, 15138, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8bd, 15142, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8be, 15146, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8bf, 15151, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c0, 15155, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c1, 15159, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c2, 15163, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c3, 15167, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c4, 15171, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c5, 15175, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c6, 15179, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c7, 15183, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c8, 11609, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8c9, 15187, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ca, 15191, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8cb, 15196, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8cc, 15200, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8cd, 15204, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ce, 15208, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8cf, 11617, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d0, 15212, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d1, 15216, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d2, 15220, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d3, 15224, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d4, 15228, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d5, 15232, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d6, 15236, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d7, 15240, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d8, 10617, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8d9, 15244, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8da, 15248, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8db, 15252, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8dc, 15256, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8dd, 15260, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8de, 15265, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8df, 15269, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e0, 15273, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e1, 15277, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e2, 11621, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e3, 15281, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e4, 15286, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e5, 15290, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e6, 15294, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e7, 15298, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e8, 15302, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8e9, 15306, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ea, 15310, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8eb, 15314, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ec, 15318, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ed, 15323, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ee, 15327, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ef, 15331, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f0, 15335, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f1, 15340, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f2, 15344, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f3, 15348, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f4, 15352, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f5, 10889, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f6, 15356, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f7, 15360, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f8, 15365, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8f9, 15370, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8fa, 15375, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8fb, 15379, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8fc, 15384, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8fd, 15388, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8fe, 15392, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f8ff, 15396, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f900, 15400, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f901, 11625, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f902, 11221, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f903, 15404, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f904, 15408, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f905, 15412, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f906, 15416, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f907, 15421, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f908, 15425, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f909, 15429, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f90a, 15433, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f90b, 15437, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f90c, 15441, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f90d, 15445, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f90e, 15450, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f90f, 15454, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f910, 15458, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f911, 15463, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f912, 15468, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f913, 15472, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f914, 15476, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f915, 15480, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f916, 15484, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f917, 15488, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f918, 15492, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f919, 15496, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f91a, 15500, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f91b, 15504, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f91c, 15509, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f91d, 15513, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f91e, 15518, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f91f, 15522, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f920, 15526, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f921, 15530, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f922, 15534, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f923, 15538, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f924, 15543, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f925, 15547, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f926, 15551, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f927, 15556, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f928, 15561, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f929, 15565, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f92a, 15569, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f92b, 15573, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f92c, 15577, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f92d, 15577, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f92e, 15581, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f92f, 15585, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f930, 15589, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f931, 15593, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f932, 15597, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f933, 15601, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f934, 15605, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f935, 15609, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f936, 15614, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f937, 15618, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f938, 10833, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f939, 15623, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f93a, 15628, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f93b, 15632, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f93c, 15637, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f93d, 15642, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f93e, 15647, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f93f, 15651, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f940, 15655, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f941, 15659, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f942, 15664, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f943, 15669, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f944, 15674, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f945, 15679, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f946, 15683, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f947, 15683, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f948, 15687, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f949, 15691, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f94a, 15695, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f94b, 15699, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f94c, 15703, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f94d, 15707, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f94e, 15712, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f94f, 10685, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f950, 15716, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f951, 15720, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f952, 15724, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f953, 11665, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f954, 15729, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f955, 15734, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f956, 11501, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f957, 15739, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f958, 15743, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f959, 11677, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f95a, 15747, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f95b, 15751, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f95c, 15755, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f95d, 15760, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f95e, 15760, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f95f, 15765, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f960, 15769, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f961, 15773, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f962, 15778, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f963, 15782, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f964, 15786, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f965, 15790, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f966, 15795, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f967, 15799, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f968, 15803, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f969, 15807, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f96a, 15811, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f96b, 15815, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f96c, 15820, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f96d, 15824, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f96e, 15828, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f96f, 15832, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f970, 15836, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f971, 15840, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f972, 15844, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f973, 15849, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f974, 15854, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f975, 15858, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f976, 15863, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f977, 15867, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f978, 15872, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f979, 15876, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f97a, 11701, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f97b, 15880, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f97c, 15885, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f97d, 15890, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f97e, 15894, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f97f, 15899, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f980, 15903, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f981, 15908, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f982, 15912, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f983, 15916, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f984, 15920, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f985, 15924, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f986, 15928, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f987, 15932, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f988, 15937, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f989, 15942, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f98a, 15947, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f98b, 14994, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f98c, 15952, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f98d, 15956, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f98e, 15960, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f98f, 15964, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f990, 15968, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f991, 15972, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f992, 15976, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f993, 15980, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f994, 15984, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f995, 15988, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f996, 15992, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f997, 15996, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f998, 10901, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f999, 16001, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f99a, 16005, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f99b, 16009, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f99c, 16013, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f99d, 16017, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f99e, 16021, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f99f, 11713, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a0, 16025, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a1, 16029, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a2, 16033, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a3, 16037, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a4, 16041, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a5, 16046, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a6, 16051, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a7, 16056, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a8, 16060, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9a9, 16064, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9aa, 16068, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ab, 16072, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ac, 16077, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ad, 16081, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ae, 16086, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9af, 16090, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b0, 16094, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b1, 16099, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b2, 16104, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b3, 16108, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b4, 10665, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b5, 16112, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b6, 16116, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b7, 16120, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b8, 16124, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9b9, 16128, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ba, 16132, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9bb, 16136, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9bc, 16140, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9bd, 16144, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9be, 16148, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9bf, 16152, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c0, 16156, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c1, 16160, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c2, 16164, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c3, 16168, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c4, 6479, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c5, 16172, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c6, 16177, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c7, 16181, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c8, 16185, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9c9, 16189, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ca, 16193, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9cb, 16197, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9cc, 16202, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9cd, 16207, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ce, 16211, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9cf, 16215, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d0, 16219, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d1, 16223, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d2, 6507, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d3, 16227, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d4, 16232, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d5, 16236, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d6, 16240, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d7, 16244, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d8, 16248, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9d9, 16253, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9da, 16258, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9db, 16262, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9dc, 16266, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9dd, 16270, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9de, 16275, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9df, 16279, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e0, 16283, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e1, 16288, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e2, 16293, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e3, 16297, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e4, 16301, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e5, 16305, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e6, 16310, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e7, 16314, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e8, 16318, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9e9, 16322, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ea, 16326, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9eb, 16330, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ec, 16334, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ed, 16338, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ee, 16343, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ef, 16347, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f0, 16351, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f1, 16355, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f2, 16360, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f3, 16364, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f4, 16368, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f5, 16372, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f6, 16376, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f7, 16381, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f8, 16386, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9f9, 16390, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9fa, 16394, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9fb, 16398, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9fc, 16403, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9fd, 16407, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9fe, 16412, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2f9ff, 16412, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa00, 16416, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa01, 16420, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa02, 16425, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa03, 16429, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa04, 16433, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa05, 16437, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa06, 16441, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa07, 16445, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa08, 16449, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa09, 16453, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa0a, 16458, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa0b, 16462, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa0c, 16466, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa0d, 16470, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa0e, 16474, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa0f, 16478, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa10, 16482, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa11, 16487, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa12, 16491, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa13, 16496, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa14, 16501, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa15, 6699, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa16, 16506, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa17, 6715, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa18, 16510, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa19, 16514, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa1a, 16518, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa1b, 16522, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa1c, 6735, G_UNICODE_NOT_PRESENT_OFFSET }, - { 0x2fa1d, 16526, G_UNICODE_NOT_PRESENT_OFFSET } -}; - -static const gchar decomp_expansion_string[] = - "\x20\0" /* offset 0 */ - "\x20\xcc\x88\0" /* offset 2 */ - "\x61\0" /* offset 6 */ - "\x20\xcc\x84\0" /* offset 8 */ - "\x32\0" /* offset 12 */ - "\x33\0" /* offset 14 */ - "\x20\xcc\x81\0" /* offset 16 */ - "\xce\xbc\0" /* offset 20 */ - "\x20\xcc\xa7\0" /* offset 23 */ - "\x31\0" /* offset 27 */ - "\x6f\0" /* offset 29 */ - "\x31\xe2\x81\x84\x34\0" /* offset 31 */ - "\x31\xe2\x81\x84\x32\0" /* offset 37 */ - "\x33\xe2\x81\x84\x34\0" /* offset 43 */ - "\x41\xcc\x80\0" /* offset 49 */ - "\x41\xcc\x81\0" /* offset 53 */ - "\x41\xcc\x82\0" /* offset 57 */ - "\x41\xcc\x83\0" /* offset 61 */ - "\x41\xcc\x88\0" /* offset 65 */ - "\x41\xcc\x8a\0" /* offset 69 */ - "\x43\xcc\xa7\0" /* offset 73 */ - "\x45\xcc\x80\0" /* offset 77 */ - "\x45\xcc\x81\0" /* offset 81 */ - "\x45\xcc\x82\0" /* offset 85 */ - "\x45\xcc\x88\0" /* offset 89 */ - "\x49\xcc\x80\0" /* offset 93 */ - "\x49\xcc\x81\0" /* offset 97 */ - "\x49\xcc\x82\0" /* offset 101 */ - "\x49\xcc\x88\0" /* offset 105 */ - "\x4e\xcc\x83\0" /* offset 109 */ - "\x4f\xcc\x80\0" /* offset 113 */ - "\x4f\xcc\x81\0" /* offset 117 */ - "\x4f\xcc\x82\0" /* offset 121 */ - "\x4f\xcc\x83\0" /* offset 125 */ - "\x4f\xcc\x88\0" /* offset 129 */ - "\x55\xcc\x80\0" /* offset 133 */ - "\x55\xcc\x81\0" /* offset 137 */ - "\x55\xcc\x82\0" /* offset 141 */ - "\x55\xcc\x88\0" /* offset 145 */ - "\x59\xcc\x81\0" /* offset 149 */ - "\x61\xcc\x80\0" /* offset 153 */ - "\x61\xcc\x81\0" /* offset 157 */ - "\x61\xcc\x82\0" /* offset 161 */ - "\x61\xcc\x83\0" /* offset 165 */ - "\x61\xcc\x88\0" /* offset 169 */ - "\x61\xcc\x8a\0" /* offset 173 */ - "\x63\xcc\xa7\0" /* offset 177 */ - "\x65\xcc\x80\0" /* offset 181 */ - "\x65\xcc\x81\0" /* offset 185 */ - "\x65\xcc\x82\0" /* offset 189 */ - "\x65\xcc\x88\0" /* offset 193 */ - "\x69\xcc\x80\0" /* offset 197 */ - "\x69\xcc\x81\0" /* offset 201 */ - "\x69\xcc\x82\0" /* offset 205 */ - "\x69\xcc\x88\0" /* offset 209 */ - "\x6e\xcc\x83\0" /* offset 213 */ - "\x6f\xcc\x80\0" /* offset 217 */ - "\x6f\xcc\x81\0" /* offset 221 */ - "\x6f\xcc\x82\0" /* offset 225 */ - "\x6f\xcc\x83\0" /* offset 229 */ - "\x6f\xcc\x88\0" /* offset 233 */ - "\x75\xcc\x80\0" /* offset 237 */ - "\x75\xcc\x81\0" /* offset 241 */ - "\x75\xcc\x82\0" /* offset 245 */ - "\x75\xcc\x88\0" /* offset 249 */ - "\x79\xcc\x81\0" /* offset 253 */ - "\x79\xcc\x88\0" /* offset 257 */ - "\x41\xcc\x84\0" /* offset 261 */ - "\x61\xcc\x84\0" /* offset 265 */ - "\x41\xcc\x86\0" /* offset 269 */ - "\x61\xcc\x86\0" /* offset 273 */ - "\x41\xcc\xa8\0" /* offset 277 */ - "\x61\xcc\xa8\0" /* offset 281 */ - "\x43\xcc\x81\0" /* offset 285 */ - "\x63\xcc\x81\0" /* offset 289 */ - "\x43\xcc\x82\0" /* offset 293 */ - "\x63\xcc\x82\0" /* offset 297 */ - "\x43\xcc\x87\0" /* offset 301 */ - "\x63\xcc\x87\0" /* offset 305 */ - "\x43\xcc\x8c\0" /* offset 309 */ - "\x63\xcc\x8c\0" /* offset 313 */ - "\x44\xcc\x8c\0" /* offset 317 */ - "\x64\xcc\x8c\0" /* offset 321 */ - "\x45\xcc\x84\0" /* offset 325 */ - "\x65\xcc\x84\0" /* offset 329 */ - "\x45\xcc\x86\0" /* offset 333 */ - "\x65\xcc\x86\0" /* offset 337 */ - "\x45\xcc\x87\0" /* offset 341 */ - "\x65\xcc\x87\0" /* offset 345 */ - "\x45\xcc\xa8\0" /* offset 349 */ - "\x65\xcc\xa8\0" /* offset 353 */ - "\x45\xcc\x8c\0" /* offset 357 */ - "\x65\xcc\x8c\0" /* offset 361 */ - "\x47\xcc\x82\0" /* offset 365 */ - "\x67\xcc\x82\0" /* offset 369 */ - "\x47\xcc\x86\0" /* offset 373 */ - "\x67\xcc\x86\0" /* offset 377 */ - "\x47\xcc\x87\0" /* offset 381 */ - "\x67\xcc\x87\0" /* offset 385 */ - "\x47\xcc\xa7\0" /* offset 389 */ - "\x67\xcc\xa7\0" /* offset 393 */ - "\x48\xcc\x82\0" /* offset 397 */ - "\x68\xcc\x82\0" /* offset 401 */ - "\x49\xcc\x83\0" /* offset 405 */ - "\x69\xcc\x83\0" /* offset 409 */ - "\x49\xcc\x84\0" /* offset 413 */ - "\x69\xcc\x84\0" /* offset 417 */ - "\x49\xcc\x86\0" /* offset 421 */ - "\x69\xcc\x86\0" /* offset 425 */ - "\x49\xcc\xa8\0" /* offset 429 */ - "\x69\xcc\xa8\0" /* offset 433 */ - "\x49\xcc\x87\0" /* offset 437 */ - "\x49\x4a\0" /* offset 441 */ - "\x69\x6a\0" /* offset 444 */ - "\x4a\xcc\x82\0" /* offset 447 */ - "\x6a\xcc\x82\0" /* offset 451 */ - "\x4b\xcc\xa7\0" /* offset 455 */ - "\x6b\xcc\xa7\0" /* offset 459 */ - "\x4c\xcc\x81\0" /* offset 463 */ - "\x6c\xcc\x81\0" /* offset 467 */ - "\x4c\xcc\xa7\0" /* offset 471 */ - "\x6c\xcc\xa7\0" /* offset 475 */ - "\x4c\xcc\x8c\0" /* offset 479 */ - "\x6c\xcc\x8c\0" /* offset 483 */ - "\x4c\xc2\xb7\0" /* offset 487 */ - "\x6c\xc2\xb7\0" /* offset 491 */ - "\x4e\xcc\x81\0" /* offset 495 */ - "\x6e\xcc\x81\0" /* offset 499 */ - "\x4e\xcc\xa7\0" /* offset 503 */ - "\x6e\xcc\xa7\0" /* offset 507 */ - "\x4e\xcc\x8c\0" /* offset 511 */ - "\x6e\xcc\x8c\0" /* offset 515 */ - "\xca\xbc\x6e\0" /* offset 519 */ - "\x4f\xcc\x84\0" /* offset 523 */ - "\x6f\xcc\x84\0" /* offset 527 */ - "\x4f\xcc\x86\0" /* offset 531 */ - "\x6f\xcc\x86\0" /* offset 535 */ - "\x4f\xcc\x8b\0" /* offset 539 */ - "\x6f\xcc\x8b\0" /* offset 543 */ - "\x52\xcc\x81\0" /* offset 547 */ - "\x72\xcc\x81\0" /* offset 551 */ - "\x52\xcc\xa7\0" /* offset 555 */ - "\x72\xcc\xa7\0" /* offset 559 */ - "\x52\xcc\x8c\0" /* offset 563 */ - "\x72\xcc\x8c\0" /* offset 567 */ - "\x53\xcc\x81\0" /* offset 571 */ - "\x73\xcc\x81\0" /* offset 575 */ - "\x53\xcc\x82\0" /* offset 579 */ - "\x73\xcc\x82\0" /* offset 583 */ - "\x53\xcc\xa7\0" /* offset 587 */ - "\x73\xcc\xa7\0" /* offset 591 */ - "\x53\xcc\x8c\0" /* offset 595 */ - "\x73\xcc\x8c\0" /* offset 599 */ - "\x54\xcc\xa7\0" /* offset 603 */ - "\x74\xcc\xa7\0" /* offset 607 */ - "\x54\xcc\x8c\0" /* offset 611 */ - "\x74\xcc\x8c\0" /* offset 615 */ - "\x55\xcc\x83\0" /* offset 619 */ - "\x75\xcc\x83\0" /* offset 623 */ - "\x55\xcc\x84\0" /* offset 627 */ - "\x75\xcc\x84\0" /* offset 631 */ - "\x55\xcc\x86\0" /* offset 635 */ - "\x75\xcc\x86\0" /* offset 639 */ - "\x55\xcc\x8a\0" /* offset 643 */ - "\x75\xcc\x8a\0" /* offset 647 */ - "\x55\xcc\x8b\0" /* offset 651 */ - "\x75\xcc\x8b\0" /* offset 655 */ - "\x55\xcc\xa8\0" /* offset 659 */ - "\x75\xcc\xa8\0" /* offset 663 */ - "\x57\xcc\x82\0" /* offset 667 */ - "\x77\xcc\x82\0" /* offset 671 */ - "\x59\xcc\x82\0" /* offset 675 */ - "\x79\xcc\x82\0" /* offset 679 */ - "\x59\xcc\x88\0" /* offset 683 */ - "\x5a\xcc\x81\0" /* offset 687 */ - "\x7a\xcc\x81\0" /* offset 691 */ - "\x5a\xcc\x87\0" /* offset 695 */ - "\x7a\xcc\x87\0" /* offset 699 */ - "\x5a\xcc\x8c\0" /* offset 703 */ - "\x7a\xcc\x8c\0" /* offset 707 */ - "\x73\0" /* offset 711 */ - "\x4f\xcc\x9b\0" /* offset 713 */ - "\x6f\xcc\x9b\0" /* offset 717 */ - "\x55\xcc\x9b\0" /* offset 721 */ - "\x75\xcc\x9b\0" /* offset 725 */ - "\x44\x5a\xcc\x8c\0" /* offset 729 */ - "\x44\x7a\xcc\x8c\0" /* offset 734 */ - "\x64\x7a\xcc\x8c\0" /* offset 739 */ - "\x4c\x4a\0" /* offset 744 */ - "\x4c\x6a\0" /* offset 747 */ - "\x6c\x6a\0" /* offset 750 */ - "\x4e\x4a\0" /* offset 753 */ - "\x4e\x6a\0" /* offset 756 */ - "\x6e\x6a\0" /* offset 759 */ - "\x41\xcc\x8c\0" /* offset 762 */ - "\x61\xcc\x8c\0" /* offset 766 */ - "\x49\xcc\x8c\0" /* offset 770 */ - "\x69\xcc\x8c\0" /* offset 774 */ - "\x4f\xcc\x8c\0" /* offset 778 */ - "\x6f\xcc\x8c\0" /* offset 782 */ - "\x55\xcc\x8c\0" /* offset 786 */ - "\x75\xcc\x8c\0" /* offset 790 */ - "\x55\xcc\x88\xcc\x84\0" /* offset 794 */ - "\x75\xcc\x88\xcc\x84\0" /* offset 800 */ - "\x55\xcc\x88\xcc\x81\0" /* offset 806 */ - "\x75\xcc\x88\xcc\x81\0" /* offset 812 */ - "\x55\xcc\x88\xcc\x8c\0" /* offset 818 */ - "\x75\xcc\x88\xcc\x8c\0" /* offset 824 */ - "\x55\xcc\x88\xcc\x80\0" /* offset 830 */ - "\x75\xcc\x88\xcc\x80\0" /* offset 836 */ - "\x41\xcc\x88\xcc\x84\0" /* offset 842 */ - "\x61\xcc\x88\xcc\x84\0" /* offset 848 */ - "\x41\xcc\x87\xcc\x84\0" /* offset 854 */ - "\x61\xcc\x87\xcc\x84\0" /* offset 860 */ - "\xc3\x86\xcc\x84\0" /* offset 866 */ - "\xc3\xa6\xcc\x84\0" /* offset 871 */ - "\x47\xcc\x8c\0" /* offset 876 */ - "\x67\xcc\x8c\0" /* offset 880 */ - "\x4b\xcc\x8c\0" /* offset 884 */ - "\x6b\xcc\x8c\0" /* offset 888 */ - "\x4f\xcc\xa8\0" /* offset 892 */ - "\x6f\xcc\xa8\0" /* offset 896 */ - "\x4f\xcc\xa8\xcc\x84\0" /* offset 900 */ - "\x6f\xcc\xa8\xcc\x84\0" /* offset 906 */ - "\xc6\xb7\xcc\x8c\0" /* offset 912 */ - "\xca\x92\xcc\x8c\0" /* offset 917 */ - "\x6a\xcc\x8c\0" /* offset 922 */ - "\x44\x5a\0" /* offset 926 */ - "\x44\x7a\0" /* offset 929 */ - "\x64\x7a\0" /* offset 932 */ - "\x47\xcc\x81\0" /* offset 935 */ - "\x67\xcc\x81\0" /* offset 939 */ - "\x4e\xcc\x80\0" /* offset 943 */ - "\x6e\xcc\x80\0" /* offset 947 */ - "\x41\xcc\x8a\xcc\x81\0" /* offset 951 */ - "\x61\xcc\x8a\xcc\x81\0" /* offset 957 */ - "\xc3\x86\xcc\x81\0" /* offset 963 */ - "\xc3\xa6\xcc\x81\0" /* offset 968 */ - "\xc3\x98\xcc\x81\0" /* offset 973 */ - "\xc3\xb8\xcc\x81\0" /* offset 978 */ - "\x41\xcc\x8f\0" /* offset 983 */ - "\x61\xcc\x8f\0" /* offset 987 */ - "\x41\xcc\x91\0" /* offset 991 */ - "\x61\xcc\x91\0" /* offset 995 */ - "\x45\xcc\x8f\0" /* offset 999 */ - "\x65\xcc\x8f\0" /* offset 1003 */ - "\x45\xcc\x91\0" /* offset 1007 */ - "\x65\xcc\x91\0" /* offset 1011 */ - "\x49\xcc\x8f\0" /* offset 1015 */ - "\x69\xcc\x8f\0" /* offset 1019 */ - "\x49\xcc\x91\0" /* offset 1023 */ - "\x69\xcc\x91\0" /* offset 1027 */ - "\x4f\xcc\x8f\0" /* offset 1031 */ - "\x6f\xcc\x8f\0" /* offset 1035 */ - "\x4f\xcc\x91\0" /* offset 1039 */ - "\x6f\xcc\x91\0" /* offset 1043 */ - "\x52\xcc\x8f\0" /* offset 1047 */ - "\x72\xcc\x8f\0" /* offset 1051 */ - "\x52\xcc\x91\0" /* offset 1055 */ - "\x72\xcc\x91\0" /* offset 1059 */ - "\x55\xcc\x8f\0" /* offset 1063 */ - "\x75\xcc\x8f\0" /* offset 1067 */ - "\x55\xcc\x91\0" /* offset 1071 */ - "\x75\xcc\x91\0" /* offset 1075 */ - "\x53\xcc\xa6\0" /* offset 1079 */ - "\x73\xcc\xa6\0" /* offset 1083 */ - "\x54\xcc\xa6\0" /* offset 1087 */ - "\x74\xcc\xa6\0" /* offset 1091 */ - "\x48\xcc\x8c\0" /* offset 1095 */ - "\x68\xcc\x8c\0" /* offset 1099 */ - "\x41\xcc\x87\0" /* offset 1103 */ - "\x61\xcc\x87\0" /* offset 1107 */ - "\x45\xcc\xa7\0" /* offset 1111 */ - "\x65\xcc\xa7\0" /* offset 1115 */ - "\x4f\xcc\x88\xcc\x84\0" /* offset 1119 */ - "\x6f\xcc\x88\xcc\x84\0" /* offset 1125 */ - "\x4f\xcc\x83\xcc\x84\0" /* offset 1131 */ - "\x6f\xcc\x83\xcc\x84\0" /* offset 1137 */ - "\x4f\xcc\x87\0" /* offset 1143 */ - "\x6f\xcc\x87\0" /* offset 1147 */ - "\x4f\xcc\x87\xcc\x84\0" /* offset 1151 */ - "\x6f\xcc\x87\xcc\x84\0" /* offset 1157 */ - "\x59\xcc\x84\0" /* offset 1163 */ - "\x79\xcc\x84\0" /* offset 1167 */ - "\x68\0" /* offset 1171 */ - "\xc9\xa6\0" /* offset 1173 */ - "\x6a\0" /* offset 1176 */ - "\x72\0" /* offset 1178 */ - "\xc9\xb9\0" /* offset 1180 */ - "\xc9\xbb\0" /* offset 1183 */ - "\xca\x81\0" /* offset 1186 */ - "\x77\0" /* offset 1189 */ - "\x79\0" /* offset 1191 */ - "\x20\xcc\x86\0" /* offset 1193 */ - "\x20\xcc\x87\0" /* offset 1197 */ - "\x20\xcc\x8a\0" /* offset 1201 */ - "\x20\xcc\xa8\0" /* offset 1205 */ - "\x20\xcc\x83\0" /* offset 1209 */ - "\x20\xcc\x8b\0" /* offset 1213 */ - "\xc9\xa3\0" /* offset 1217 */ - "\x6c\0" /* offset 1220 */ - "\x78\0" /* offset 1222 */ - "\xca\x95\0" /* offset 1224 */ - "\xcc\x80\0" /* offset 1227 */ - "\xcc\x81\0" /* offset 1230 */ - "\xcc\x93\0" /* offset 1233 */ - "\xcc\x88\xcc\x81\0" /* offset 1236 */ - "\xca\xb9\0" /* offset 1241 */ - "\x20\xcd\x85\0" /* offset 1244 */ - "\x3b\0" /* offset 1248 */ - "\xc2\xa8\xcc\x81\0" /* offset 1250 */ - "\x20\xcc\x88\xcc\x81\0" /* offset 1255 */ - "\xce\x91\xcc\x81\0" /* offset 1261 */ - "\xc2\xb7\0" /* offset 1266 */ - "\xce\x95\xcc\x81\0" /* offset 1269 */ - "\xce\x97\xcc\x81\0" /* offset 1274 */ - "\xce\x99\xcc\x81\0" /* offset 1279 */ - "\xce\x9f\xcc\x81\0" /* offset 1284 */ - "\xce\xa5\xcc\x81\0" /* offset 1289 */ - "\xce\xa9\xcc\x81\0" /* offset 1294 */ - "\xce\xb9\xcc\x88\xcc\x81\0" /* offset 1299 */ - "\xce\x99\xcc\x88\0" /* offset 1306 */ - "\xce\xa5\xcc\x88\0" /* offset 1311 */ - "\xce\xb1\xcc\x81\0" /* offset 1316 */ - "\xce\xb5\xcc\x81\0" /* offset 1321 */ - "\xce\xb7\xcc\x81\0" /* offset 1326 */ - "\xce\xb9\xcc\x81\0" /* offset 1331 */ - "\xcf\x85\xcc\x88\xcc\x81\0" /* offset 1336 */ - "\xce\xb9\xcc\x88\0" /* offset 1343 */ - "\xcf\x85\xcc\x88\0" /* offset 1348 */ - "\xce\xbf\xcc\x81\0" /* offset 1353 */ - "\xcf\x85\xcc\x81\0" /* offset 1358 */ - "\xcf\x89\xcc\x81\0" /* offset 1363 */ - "\xce\xb2\0" /* offset 1368 */ - "\xce\xb8\0" /* offset 1371 */ - "\xce\xa5\0" /* offset 1374 */ - "\xcf\x92\xcc\x81\0" /* offset 1377 */ - "\xcf\x92\xcc\x88\0" /* offset 1382 */ - "\xcf\x86\0" /* offset 1387 */ - "\xcf\x80\0" /* offset 1390 */ - "\xce\xba\0" /* offset 1393 */ - "\xcf\x81\0" /* offset 1396 */ - "\xcf\x82\0" /* offset 1399 */ - "\xce\x98\0" /* offset 1402 */ - "\xce\xb5\0" /* offset 1405 */ - "\xd0\x95\xcc\x80\0" /* offset 1408 */ - "\xd0\x95\xcc\x88\0" /* offset 1413 */ - "\xd0\x93\xcc\x81\0" /* offset 1418 */ - "\xd0\x86\xcc\x88\0" /* offset 1423 */ - "\xd0\x9a\xcc\x81\0" /* offset 1428 */ - "\xd0\x98\xcc\x80\0" /* offset 1433 */ - "\xd0\xa3\xcc\x86\0" /* offset 1438 */ - "\xd0\x98\xcc\x86\0" /* offset 1443 */ - "\xd0\xb8\xcc\x86\0" /* offset 1448 */ - "\xd0\xb5\xcc\x80\0" /* offset 1453 */ - "\xd0\xb5\xcc\x88\0" /* offset 1458 */ - "\xd0\xb3\xcc\x81\0" /* offset 1463 */ - "\xd1\x96\xcc\x88\0" /* offset 1468 */ - "\xd0\xba\xcc\x81\0" /* offset 1473 */ - "\xd0\xb8\xcc\x80\0" /* offset 1478 */ - "\xd1\x83\xcc\x86\0" /* offset 1483 */ - "\xd1\xb4\xcc\x8f\0" /* offset 1488 */ - "\xd1\xb5\xcc\x8f\0" /* offset 1493 */ - "\xd0\x96\xcc\x86\0" /* offset 1498 */ - "\xd0\xb6\xcc\x86\0" /* offset 1503 */ - "\xd0\x90\xcc\x86\0" /* offset 1508 */ - "\xd0\xb0\xcc\x86\0" /* offset 1513 */ - "\xd0\x90\xcc\x88\0" /* offset 1518 */ - "\xd0\xb0\xcc\x88\0" /* offset 1523 */ - "\xd0\x95\xcc\x86\0" /* offset 1528 */ - "\xd0\xb5\xcc\x86\0" /* offset 1533 */ - "\xd3\x98\xcc\x88\0" /* offset 1538 */ - "\xd3\x99\xcc\x88\0" /* offset 1543 */ - "\xd0\x96\xcc\x88\0" /* offset 1548 */ - "\xd0\xb6\xcc\x88\0" /* offset 1553 */ - "\xd0\x97\xcc\x88\0" /* offset 1558 */ - "\xd0\xb7\xcc\x88\0" /* offset 1563 */ - "\xd0\x98\xcc\x84\0" /* offset 1568 */ - "\xd0\xb8\xcc\x84\0" /* offset 1573 */ - "\xd0\x98\xcc\x88\0" /* offset 1578 */ - "\xd0\xb8\xcc\x88\0" /* offset 1583 */ - "\xd0\x9e\xcc\x88\0" /* offset 1588 */ - "\xd0\xbe\xcc\x88\0" /* offset 1593 */ - "\xd3\xa8\xcc\x88\0" /* offset 1598 */ - "\xd3\xa9\xcc\x88\0" /* offset 1603 */ - "\xd0\xad\xcc\x88\0" /* offset 1608 */ - "\xd1\x8d\xcc\x88\0" /* offset 1613 */ - "\xd0\xa3\xcc\x84\0" /* offset 1618 */ - "\xd1\x83\xcc\x84\0" /* offset 1623 */ - "\xd0\xa3\xcc\x88\0" /* offset 1628 */ - "\xd1\x83\xcc\x88\0" /* offset 1633 */ - "\xd0\xa3\xcc\x8b\0" /* offset 1638 */ - "\xd1\x83\xcc\x8b\0" /* offset 1643 */ - "\xd0\xa7\xcc\x88\0" /* offset 1648 */ - "\xd1\x87\xcc\x88\0" /* offset 1653 */ - "\xd0\xab\xcc\x88\0" /* offset 1658 */ - "\xd1\x8b\xcc\x88\0" /* offset 1663 */ - "\xd5\xa5\xd6\x82\0" /* offset 1668 */ - "\xd8\xa7\xd9\x93\0" /* offset 1673 */ - "\xd8\xa7\xd9\x94\0" /* offset 1678 */ - "\xd9\x88\xd9\x94\0" /* offset 1683 */ - "\xd8\xa7\xd9\x95\0" /* offset 1688 */ - "\xd9\x8a\xd9\x94\0" /* offset 1693 */ - "\xd8\xa7\xd9\xb4\0" /* offset 1698 */ - "\xd9\x88\xd9\xb4\0" /* offset 1703 */ - "\xdb\x87\xd9\xb4\0" /* offset 1708 */ - "\xd9\x8a\xd9\xb4\0" /* offset 1713 */ - "\xdb\x95\xd9\x94\0" /* offset 1718 */ - "\xdb\x81\xd9\x94\0" /* offset 1723 */ - "\xdb\x92\xd9\x94\0" /* offset 1728 */ - "\xe0\xa4\xa8\xe0\xa4\xbc\0" /* offset 1733 */ - "\xe0\xa4\xb0\xe0\xa4\xbc\0" /* offset 1740 */ - "\xe0\xa4\xb3\xe0\xa4\xbc\0" /* offset 1747 */ - "\xe0\xa4\x95\xe0\xa4\xbc\0" /* offset 1754 */ - "\xe0\xa4\x96\xe0\xa4\xbc\0" /* offset 1761 */ - "\xe0\xa4\x97\xe0\xa4\xbc\0" /* offset 1768 */ - "\xe0\xa4\x9c\xe0\xa4\xbc\0" /* offset 1775 */ - "\xe0\xa4\xa1\xe0\xa4\xbc\0" /* offset 1782 */ - "\xe0\xa4\xa2\xe0\xa4\xbc\0" /* offset 1789 */ - "\xe0\xa4\xab\xe0\xa4\xbc\0" /* offset 1796 */ - "\xe0\xa4\xaf\xe0\xa4\xbc\0" /* offset 1803 */ - "\xe0\xa7\x87\xe0\xa6\xbe\0" /* offset 1810 */ - "\xe0\xa7\x87\xe0\xa7\x97\0" /* offset 1817 */ - "\xe0\xa6\xa1\xe0\xa6\xbc\0" /* offset 1824 */ - "\xe0\xa6\xa2\xe0\xa6\xbc\0" /* offset 1831 */ - "\xe0\xa6\xaf\xe0\xa6\xbc\0" /* offset 1838 */ - "\xe0\xa8\xb2\xe0\xa8\xbc\0" /* offset 1845 */ - "\xe0\xa8\xb8\xe0\xa8\xbc\0" /* offset 1852 */ - "\xe0\xa8\x96\xe0\xa8\xbc\0" /* offset 1859 */ - "\xe0\xa8\x97\xe0\xa8\xbc\0" /* offset 1866 */ - "\xe0\xa8\x9c\xe0\xa8\xbc\0" /* offset 1873 */ - "\xe0\xa8\xab\xe0\xa8\xbc\0" /* offset 1880 */ - "\xe0\xad\x87\xe0\xad\x96\0" /* offset 1887 */ - "\xe0\xad\x87\xe0\xac\xbe\0" /* offset 1894 */ - "\xe0\xad\x87\xe0\xad\x97\0" /* offset 1901 */ - "\xe0\xac\xa1\xe0\xac\xbc\0" /* offset 1908 */ - "\xe0\xac\xa2\xe0\xac\xbc\0" /* offset 1915 */ - "\xe0\xae\x92\xe0\xaf\x97\0" /* offset 1922 */ - "\xe0\xaf\x86\xe0\xae\xbe\0" /* offset 1929 */ - "\xe0\xaf\x87\xe0\xae\xbe\0" /* offset 1936 */ - "\xe0\xaf\x86\xe0\xaf\x97\0" /* offset 1943 */ - "\xe0\xb1\x86\xe0\xb1\x96\0" /* offset 1950 */ - "\xe0\xb2\xbf\xe0\xb3\x95\0" /* offset 1957 */ - "\xe0\xb3\x86\xe0\xb3\x95\0" /* offset 1964 */ - "\xe0\xb3\x86\xe0\xb3\x96\0" /* offset 1971 */ - "\xe0\xb3\x86\xe0\xb3\x82\0" /* offset 1978 */ - "\xe0\xb3\x86\xe0\xb3\x82\xe0\xb3\x95\0" /* offset 1985 */ - "\xe0\xb5\x86\xe0\xb4\xbe\0" /* offset 1995 */ - "\xe0\xb5\x87\xe0\xb4\xbe\0" /* offset 2002 */ - "\xe0\xb5\x86\xe0\xb5\x97\0" /* offset 2009 */ - "\xe0\xb7\x99\xe0\xb7\x8a\0" /* offset 2016 */ - "\xe0\xb7\x99\xe0\xb7\x8f\0" /* offset 2023 */ - "\xe0\xb7\x99\xe0\xb7\x8f\xe0\xb7\x8a\0" /* offset 2030 */ - "\xe0\xb7\x99\xe0\xb7\x9f\0" /* offset 2040 */ - "\xe0\xb9\x8d\xe0\xb8\xb2\0" /* offset 2047 */ - "\xe0\xbb\x8d\xe0\xba\xb2\0" /* offset 2054 */ - "\xe0\xba\xab\xe0\xba\x99\0" /* offset 2061 */ - "\xe0\xba\xab\xe0\xba\xa1\0" /* offset 2068 */ - "\xe0\xbc\x8b\0" /* offset 2075 */ - "\xe0\xbd\x82\xe0\xbe\xb7\0" /* offset 2079 */ - "\xe0\xbd\x8c\xe0\xbe\xb7\0" /* offset 2086 */ - "\xe0\xbd\x91\xe0\xbe\xb7\0" /* offset 2093 */ - "\xe0\xbd\x96\xe0\xbe\xb7\0" /* offset 2100 */ - "\xe0\xbd\x9b\xe0\xbe\xb7\0" /* offset 2107 */ - "\xe0\xbd\x80\xe0\xbe\xb5\0" /* offset 2114 */ - "\xe0\xbd\xb1\xe0\xbd\xb2\0" /* offset 2121 */ - "\xe0\xbd\xb1\xe0\xbd\xb4\0" /* offset 2128 */ - "\xe0\xbe\xb2\xe0\xbe\x80\0" /* offset 2135 */ - "\xe0\xbe\xb2\xe0\xbd\xb1\xe0\xbe\x80\0" /* offset 2142 */ - "\xe0\xbe\xb3\xe0\xbe\x80\0" /* offset 2152 */ - "\xe0\xbe\xb3\xe0\xbd\xb1\xe0\xbe\x80\0" /* offset 2159 */ - "\xe0\xbd\xb1\xe0\xbe\x80\0" /* offset 2169 */ - "\xe0\xbe\x92\xe0\xbe\xb7\0" /* offset 2176 */ - "\xe0\xbe\x9c\xe0\xbe\xb7\0" /* offset 2183 */ - "\xe0\xbe\xa1\xe0\xbe\xb7\0" /* offset 2190 */ - "\xe0\xbe\xa6\xe0\xbe\xb7\0" /* offset 2197 */ - "\xe0\xbe\xab\xe0\xbe\xb7\0" /* offset 2204 */ - "\xe0\xbe\x90\xe0\xbe\xb5\0" /* offset 2211 */ - "\xe1\x80\xa5\xe1\x80\xae\0" /* offset 2218 */ - "\x41\xcc\xa5\0" /* offset 2225 */ - "\x61\xcc\xa5\0" /* offset 2229 */ - "\x42\xcc\x87\0" /* offset 2233 */ - "\x62\xcc\x87\0" /* offset 2237 */ - "\x42\xcc\xa3\0" /* offset 2241 */ - "\x62\xcc\xa3\0" /* offset 2245 */ - "\x42\xcc\xb1\0" /* offset 2249 */ - "\x62\xcc\xb1\0" /* offset 2253 */ - "\x43\xcc\xa7\xcc\x81\0" /* offset 2257 */ - "\x63\xcc\xa7\xcc\x81\0" /* offset 2263 */ - "\x44\xcc\x87\0" /* offset 2269 */ - "\x64\xcc\x87\0" /* offset 2273 */ - "\x44\xcc\xa3\0" /* offset 2277 */ - "\x64\xcc\xa3\0" /* offset 2281 */ - "\x44\xcc\xb1\0" /* offset 2285 */ - "\x64\xcc\xb1\0" /* offset 2289 */ - "\x44\xcc\xa7\0" /* offset 2293 */ - "\x64\xcc\xa7\0" /* offset 2297 */ - "\x44\xcc\xad\0" /* offset 2301 */ - "\x64\xcc\xad\0" /* offset 2305 */ - "\x45\xcc\x84\xcc\x80\0" /* offset 2309 */ - "\x65\xcc\x84\xcc\x80\0" /* offset 2315 */ - "\x45\xcc\x84\xcc\x81\0" /* offset 2321 */ - "\x65\xcc\x84\xcc\x81\0" /* offset 2327 */ - "\x45\xcc\xad\0" /* offset 2333 */ - "\x65\xcc\xad\0" /* offset 2337 */ - "\x45\xcc\xb0\0" /* offset 2341 */ - "\x65\xcc\xb0\0" /* offset 2345 */ - "\x45\xcc\xa7\xcc\x86\0" /* offset 2349 */ - "\x65\xcc\xa7\xcc\x86\0" /* offset 2355 */ - "\x46\xcc\x87\0" /* offset 2361 */ - "\x66\xcc\x87\0" /* offset 2365 */ - "\x47\xcc\x84\0" /* offset 2369 */ - "\x67\xcc\x84\0" /* offset 2373 */ - "\x48\xcc\x87\0" /* offset 2377 */ - "\x68\xcc\x87\0" /* offset 2381 */ - "\x48\xcc\xa3\0" /* offset 2385 */ - "\x68\xcc\xa3\0" /* offset 2389 */ - "\x48\xcc\x88\0" /* offset 2393 */ - "\x68\xcc\x88\0" /* offset 2397 */ - "\x48\xcc\xa7\0" /* offset 2401 */ - "\x68\xcc\xa7\0" /* offset 2405 */ - "\x48\xcc\xae\0" /* offset 2409 */ - "\x68\xcc\xae\0" /* offset 2413 */ - "\x49\xcc\xb0\0" /* offset 2417 */ - "\x69\xcc\xb0\0" /* offset 2421 */ - "\x49\xcc\x88\xcc\x81\0" /* offset 2425 */ - "\x69\xcc\x88\xcc\x81\0" /* offset 2431 */ - "\x4b\xcc\x81\0" /* offset 2437 */ - "\x6b\xcc\x81\0" /* offset 2441 */ - "\x4b\xcc\xa3\0" /* offset 2445 */ - "\x6b\xcc\xa3\0" /* offset 2449 */ - "\x4b\xcc\xb1\0" /* offset 2453 */ - "\x6b\xcc\xb1\0" /* offset 2457 */ - "\x4c\xcc\xa3\0" /* offset 2461 */ - "\x6c\xcc\xa3\0" /* offset 2465 */ - "\x4c\xcc\xa3\xcc\x84\0" /* offset 2469 */ - "\x6c\xcc\xa3\xcc\x84\0" /* offset 2475 */ - "\x4c\xcc\xb1\0" /* offset 2481 */ - "\x6c\xcc\xb1\0" /* offset 2485 */ - "\x4c\xcc\xad\0" /* offset 2489 */ - "\x6c\xcc\xad\0" /* offset 2493 */ - "\x4d\xcc\x81\0" /* offset 2497 */ - "\x6d\xcc\x81\0" /* offset 2501 */ - "\x4d\xcc\x87\0" /* offset 2505 */ - "\x6d\xcc\x87\0" /* offset 2509 */ - "\x4d\xcc\xa3\0" /* offset 2513 */ - "\x6d\xcc\xa3\0" /* offset 2517 */ - "\x4e\xcc\x87\0" /* offset 2521 */ - "\x6e\xcc\x87\0" /* offset 2525 */ - "\x4e\xcc\xa3\0" /* offset 2529 */ - "\x6e\xcc\xa3\0" /* offset 2533 */ - "\x4e\xcc\xb1\0" /* offset 2537 */ - "\x6e\xcc\xb1\0" /* offset 2541 */ - "\x4e\xcc\xad\0" /* offset 2545 */ - "\x6e\xcc\xad\0" /* offset 2549 */ - "\x4f\xcc\x83\xcc\x81\0" /* offset 2553 */ - "\x6f\xcc\x83\xcc\x81\0" /* offset 2559 */ - "\x4f\xcc\x83\xcc\x88\0" /* offset 2565 */ - "\x6f\xcc\x83\xcc\x88\0" /* offset 2571 */ - "\x4f\xcc\x84\xcc\x80\0" /* offset 2577 */ - "\x6f\xcc\x84\xcc\x80\0" /* offset 2583 */ - "\x4f\xcc\x84\xcc\x81\0" /* offset 2589 */ - "\x6f\xcc\x84\xcc\x81\0" /* offset 2595 */ - "\x50\xcc\x81\0" /* offset 2601 */ - "\x70\xcc\x81\0" /* offset 2605 */ - "\x50\xcc\x87\0" /* offset 2609 */ - "\x70\xcc\x87\0" /* offset 2613 */ - "\x52\xcc\x87\0" /* offset 2617 */ - "\x72\xcc\x87\0" /* offset 2621 */ - "\x52\xcc\xa3\0" /* offset 2625 */ - "\x72\xcc\xa3\0" /* offset 2629 */ - "\x52\xcc\xa3\xcc\x84\0" /* offset 2633 */ - "\x72\xcc\xa3\xcc\x84\0" /* offset 2639 */ - "\x52\xcc\xb1\0" /* offset 2645 */ - "\x72\xcc\xb1\0" /* offset 2649 */ - "\x53\xcc\x87\0" /* offset 2653 */ - "\x73\xcc\x87\0" /* offset 2657 */ - "\x53\xcc\xa3\0" /* offset 2661 */ - "\x73\xcc\xa3\0" /* offset 2665 */ - "\x53\xcc\x81\xcc\x87\0" /* offset 2669 */ - "\x73\xcc\x81\xcc\x87\0" /* offset 2675 */ - "\x53\xcc\x8c\xcc\x87\0" /* offset 2681 */ - "\x73\xcc\x8c\xcc\x87\0" /* offset 2687 */ - "\x53\xcc\xa3\xcc\x87\0" /* offset 2693 */ - "\x73\xcc\xa3\xcc\x87\0" /* offset 2699 */ - "\x54\xcc\x87\0" /* offset 2705 */ - "\x74\xcc\x87\0" /* offset 2709 */ - "\x54\xcc\xa3\0" /* offset 2713 */ - "\x74\xcc\xa3\0" /* offset 2717 */ - "\x54\xcc\xb1\0" /* offset 2721 */ - "\x74\xcc\xb1\0" /* offset 2725 */ - "\x54\xcc\xad\0" /* offset 2729 */ - "\x74\xcc\xad\0" /* offset 2733 */ - "\x55\xcc\xa4\0" /* offset 2737 */ - "\x75\xcc\xa4\0" /* offset 2741 */ - "\x55\xcc\xb0\0" /* offset 2745 */ - "\x75\xcc\xb0\0" /* offset 2749 */ - "\x55\xcc\xad\0" /* offset 2753 */ - "\x75\xcc\xad\0" /* offset 2757 */ - "\x55\xcc\x83\xcc\x81\0" /* offset 2761 */ - "\x75\xcc\x83\xcc\x81\0" /* offset 2767 */ - "\x55\xcc\x84\xcc\x88\0" /* offset 2773 */ - "\x75\xcc\x84\xcc\x88\0" /* offset 2779 */ - "\x56\xcc\x83\0" /* offset 2785 */ - "\x76\xcc\x83\0" /* offset 2789 */ - "\x56\xcc\xa3\0" /* offset 2793 */ - "\x76\xcc\xa3\0" /* offset 2797 */ - "\x57\xcc\x80\0" /* offset 2801 */ - "\x77\xcc\x80\0" /* offset 2805 */ - "\x57\xcc\x81\0" /* offset 2809 */ - "\x77\xcc\x81\0" /* offset 2813 */ - "\x57\xcc\x88\0" /* offset 2817 */ - "\x77\xcc\x88\0" /* offset 2821 */ - "\x57\xcc\x87\0" /* offset 2825 */ - "\x77\xcc\x87\0" /* offset 2829 */ - "\x57\xcc\xa3\0" /* offset 2833 */ - "\x77\xcc\xa3\0" /* offset 2837 */ - "\x58\xcc\x87\0" /* offset 2841 */ - "\x78\xcc\x87\0" /* offset 2845 */ - "\x58\xcc\x88\0" /* offset 2849 */ - "\x78\xcc\x88\0" /* offset 2853 */ - "\x59\xcc\x87\0" /* offset 2857 */ - "\x79\xcc\x87\0" /* offset 2861 */ - "\x5a\xcc\x82\0" /* offset 2865 */ - "\x7a\xcc\x82\0" /* offset 2869 */ - "\x5a\xcc\xa3\0" /* offset 2873 */ - "\x7a\xcc\xa3\0" /* offset 2877 */ - "\x5a\xcc\xb1\0" /* offset 2881 */ - "\x7a\xcc\xb1\0" /* offset 2885 */ - "\x68\xcc\xb1\0" /* offset 2889 */ - "\x74\xcc\x88\0" /* offset 2893 */ - "\x77\xcc\x8a\0" /* offset 2897 */ - "\x79\xcc\x8a\0" /* offset 2901 */ - "\x61\xca\xbe\0" /* offset 2905 */ - "\xc5\xbf\xcc\x87\0" /* offset 2909 */ - "\x41\xcc\xa3\0" /* offset 2914 */ - "\x61\xcc\xa3\0" /* offset 2918 */ - "\x41\xcc\x89\0" /* offset 2922 */ - "\x61\xcc\x89\0" /* offset 2926 */ - "\x41\xcc\x82\xcc\x81\0" /* offset 2930 */ - "\x61\xcc\x82\xcc\x81\0" /* offset 2936 */ - "\x41\xcc\x82\xcc\x80\0" /* offset 2942 */ - "\x61\xcc\x82\xcc\x80\0" /* offset 2948 */ - "\x41\xcc\x82\xcc\x89\0" /* offset 2954 */ - "\x61\xcc\x82\xcc\x89\0" /* offset 2960 */ - "\x41\xcc\x82\xcc\x83\0" /* offset 2966 */ - "\x61\xcc\x82\xcc\x83\0" /* offset 2972 */ - "\x41\xcc\xa3\xcc\x82\0" /* offset 2978 */ - "\x61\xcc\xa3\xcc\x82\0" /* offset 2984 */ - "\x41\xcc\x86\xcc\x81\0" /* offset 2990 */ - "\x61\xcc\x86\xcc\x81\0" /* offset 2996 */ - "\x41\xcc\x86\xcc\x80\0" /* offset 3002 */ - "\x61\xcc\x86\xcc\x80\0" /* offset 3008 */ - "\x41\xcc\x86\xcc\x89\0" /* offset 3014 */ - "\x61\xcc\x86\xcc\x89\0" /* offset 3020 */ - "\x41\xcc\x86\xcc\x83\0" /* offset 3026 */ - "\x61\xcc\x86\xcc\x83\0" /* offset 3032 */ - "\x41\xcc\xa3\xcc\x86\0" /* offset 3038 */ - "\x61\xcc\xa3\xcc\x86\0" /* offset 3044 */ - "\x45\xcc\xa3\0" /* offset 3050 */ - "\x65\xcc\xa3\0" /* offset 3054 */ - "\x45\xcc\x89\0" /* offset 3058 */ - "\x65\xcc\x89\0" /* offset 3062 */ - "\x45\xcc\x83\0" /* offset 3066 */ - "\x65\xcc\x83\0" /* offset 3070 */ - "\x45\xcc\x82\xcc\x81\0" /* offset 3074 */ - "\x65\xcc\x82\xcc\x81\0" /* offset 3080 */ - "\x45\xcc\x82\xcc\x80\0" /* offset 3086 */ - "\x65\xcc\x82\xcc\x80\0" /* offset 3092 */ - "\x45\xcc\x82\xcc\x89\0" /* offset 3098 */ - "\x65\xcc\x82\xcc\x89\0" /* offset 3104 */ - "\x45\xcc\x82\xcc\x83\0" /* offset 3110 */ - "\x65\xcc\x82\xcc\x83\0" /* offset 3116 */ - "\x45\xcc\xa3\xcc\x82\0" /* offset 3122 */ - "\x65\xcc\xa3\xcc\x82\0" /* offset 3128 */ - "\x49\xcc\x89\0" /* offset 3134 */ - "\x69\xcc\x89\0" /* offset 3138 */ - "\x49\xcc\xa3\0" /* offset 3142 */ - "\x69\xcc\xa3\0" /* offset 3146 */ - "\x4f\xcc\xa3\0" /* offset 3150 */ - "\x6f\xcc\xa3\0" /* offset 3154 */ - "\x4f\xcc\x89\0" /* offset 3158 */ - "\x6f\xcc\x89\0" /* offset 3162 */ - "\x4f\xcc\x82\xcc\x81\0" /* offset 3166 */ - "\x6f\xcc\x82\xcc\x81\0" /* offset 3172 */ - "\x4f\xcc\x82\xcc\x80\0" /* offset 3178 */ - "\x6f\xcc\x82\xcc\x80\0" /* offset 3184 */ - "\x4f\xcc\x82\xcc\x89\0" /* offset 3190 */ - "\x6f\xcc\x82\xcc\x89\0" /* offset 3196 */ - "\x4f\xcc\x82\xcc\x83\0" /* offset 3202 */ - "\x6f\xcc\x82\xcc\x83\0" /* offset 3208 */ - "\x4f\xcc\xa3\xcc\x82\0" /* offset 3214 */ - "\x6f\xcc\xa3\xcc\x82\0" /* offset 3220 */ - "\x4f\xcc\x9b\xcc\x81\0" /* offset 3226 */ - "\x6f\xcc\x9b\xcc\x81\0" /* offset 3232 */ - "\x4f\xcc\x9b\xcc\x80\0" /* offset 3238 */ - "\x6f\xcc\x9b\xcc\x80\0" /* offset 3244 */ - "\x4f\xcc\x9b\xcc\x89\0" /* offset 3250 */ - "\x6f\xcc\x9b\xcc\x89\0" /* offset 3256 */ - "\x4f\xcc\x9b\xcc\x83\0" /* offset 3262 */ - "\x6f\xcc\x9b\xcc\x83\0" /* offset 3268 */ - "\x4f\xcc\x9b\xcc\xa3\0" /* offset 3274 */ - "\x6f\xcc\x9b\xcc\xa3\0" /* offset 3280 */ - "\x55\xcc\xa3\0" /* offset 3286 */ - "\x75\xcc\xa3\0" /* offset 3290 */ - "\x55\xcc\x89\0" /* offset 3294 */ - "\x75\xcc\x89\0" /* offset 3298 */ - "\x55\xcc\x9b\xcc\x81\0" /* offset 3302 */ - "\x75\xcc\x9b\xcc\x81\0" /* offset 3308 */ - "\x55\xcc\x9b\xcc\x80\0" /* offset 3314 */ - "\x75\xcc\x9b\xcc\x80\0" /* offset 3320 */ - "\x55\xcc\x9b\xcc\x89\0" /* offset 3326 */ - "\x75\xcc\x9b\xcc\x89\0" /* offset 3332 */ - "\x55\xcc\x9b\xcc\x83\0" /* offset 3338 */ - "\x75\xcc\x9b\xcc\x83\0" /* offset 3344 */ - "\x55\xcc\x9b\xcc\xa3\0" /* offset 3350 */ - "\x75\xcc\x9b\xcc\xa3\0" /* offset 3356 */ - "\x59\xcc\x80\0" /* offset 3362 */ - "\x79\xcc\x80\0" /* offset 3366 */ - "\x59\xcc\xa3\0" /* offset 3370 */ - "\x79\xcc\xa3\0" /* offset 3374 */ - "\x59\xcc\x89\0" /* offset 3378 */ - "\x79\xcc\x89\0" /* offset 3382 */ - "\x59\xcc\x83\0" /* offset 3386 */ - "\x79\xcc\x83\0" /* offset 3390 */ - "\xce\xb1\xcc\x93\0" /* offset 3394 */ - "\xce\xb1\xcc\x94\0" /* offset 3399 */ - "\xce\xb1\xcc\x93\xcc\x80\0" /* offset 3404 */ - "\xce\xb1\xcc\x94\xcc\x80\0" /* offset 3411 */ - "\xce\xb1\xcc\x93\xcc\x81\0" /* offset 3418 */ - "\xce\xb1\xcc\x94\xcc\x81\0" /* offset 3425 */ - "\xce\xb1\xcc\x93\xcd\x82\0" /* offset 3432 */ - "\xce\xb1\xcc\x94\xcd\x82\0" /* offset 3439 */ - "\xce\x91\xcc\x93\0" /* offset 3446 */ - "\xce\x91\xcc\x94\0" /* offset 3451 */ - "\xce\x91\xcc\x93\xcc\x80\0" /* offset 3456 */ - "\xce\x91\xcc\x94\xcc\x80\0" /* offset 3463 */ - "\xce\x91\xcc\x93\xcc\x81\0" /* offset 3470 */ - "\xce\x91\xcc\x94\xcc\x81\0" /* offset 3477 */ - "\xce\x91\xcc\x93\xcd\x82\0" /* offset 3484 */ - "\xce\x91\xcc\x94\xcd\x82\0" /* offset 3491 */ - "\xce\xb5\xcc\x93\0" /* offset 3498 */ - "\xce\xb5\xcc\x94\0" /* offset 3503 */ - "\xce\xb5\xcc\x93\xcc\x80\0" /* offset 3508 */ - "\xce\xb5\xcc\x94\xcc\x80\0" /* offset 3515 */ - "\xce\xb5\xcc\x93\xcc\x81\0" /* offset 3522 */ - "\xce\xb5\xcc\x94\xcc\x81\0" /* offset 3529 */ - "\xce\x95\xcc\x93\0" /* offset 3536 */ - "\xce\x95\xcc\x94\0" /* offset 3541 */ - "\xce\x95\xcc\x93\xcc\x80\0" /* offset 3546 */ - "\xce\x95\xcc\x94\xcc\x80\0" /* offset 3553 */ - "\xce\x95\xcc\x93\xcc\x81\0" /* offset 3560 */ - "\xce\x95\xcc\x94\xcc\x81\0" /* offset 3567 */ - "\xce\xb7\xcc\x93\0" /* offset 3574 */ - "\xce\xb7\xcc\x94\0" /* offset 3579 */ - "\xce\xb7\xcc\x93\xcc\x80\0" /* offset 3584 */ - "\xce\xb7\xcc\x94\xcc\x80\0" /* offset 3591 */ - "\xce\xb7\xcc\x93\xcc\x81\0" /* offset 3598 */ - "\xce\xb7\xcc\x94\xcc\x81\0" /* offset 3605 */ - "\xce\xb7\xcc\x93\xcd\x82\0" /* offset 3612 */ - "\xce\xb7\xcc\x94\xcd\x82\0" /* offset 3619 */ - "\xce\x97\xcc\x93\0" /* offset 3626 */ - "\xce\x97\xcc\x94\0" /* offset 3631 */ - "\xce\x97\xcc\x93\xcc\x80\0" /* offset 3636 */ - "\xce\x97\xcc\x94\xcc\x80\0" /* offset 3643 */ - "\xce\x97\xcc\x93\xcc\x81\0" /* offset 3650 */ - "\xce\x97\xcc\x94\xcc\x81\0" /* offset 3657 */ - "\xce\x97\xcc\x93\xcd\x82\0" /* offset 3664 */ - "\xce\x97\xcc\x94\xcd\x82\0" /* offset 3671 */ - "\xce\xb9\xcc\x93\0" /* offset 3678 */ - "\xce\xb9\xcc\x94\0" /* offset 3683 */ - "\xce\xb9\xcc\x93\xcc\x80\0" /* offset 3688 */ - "\xce\xb9\xcc\x94\xcc\x80\0" /* offset 3695 */ - "\xce\xb9\xcc\x93\xcc\x81\0" /* offset 3702 */ - "\xce\xb9\xcc\x94\xcc\x81\0" /* offset 3709 */ - "\xce\xb9\xcc\x93\xcd\x82\0" /* offset 3716 */ - "\xce\xb9\xcc\x94\xcd\x82\0" /* offset 3723 */ - "\xce\x99\xcc\x93\0" /* offset 3730 */ - "\xce\x99\xcc\x94\0" /* offset 3735 */ - "\xce\x99\xcc\x93\xcc\x80\0" /* offset 3740 */ - "\xce\x99\xcc\x94\xcc\x80\0" /* offset 3747 */ - "\xce\x99\xcc\x93\xcc\x81\0" /* offset 3754 */ - "\xce\x99\xcc\x94\xcc\x81\0" /* offset 3761 */ - "\xce\x99\xcc\x93\xcd\x82\0" /* offset 3768 */ - "\xce\x99\xcc\x94\xcd\x82\0" /* offset 3775 */ - "\xce\xbf\xcc\x93\0" /* offset 3782 */ - "\xce\xbf\xcc\x94\0" /* offset 3787 */ - "\xce\xbf\xcc\x93\xcc\x80\0" /* offset 3792 */ - "\xce\xbf\xcc\x94\xcc\x80\0" /* offset 3799 */ - "\xce\xbf\xcc\x93\xcc\x81\0" /* offset 3806 */ - "\xce\xbf\xcc\x94\xcc\x81\0" /* offset 3813 */ - "\xce\x9f\xcc\x93\0" /* offset 3820 */ - "\xce\x9f\xcc\x94\0" /* offset 3825 */ - "\xce\x9f\xcc\x93\xcc\x80\0" /* offset 3830 */ - "\xce\x9f\xcc\x94\xcc\x80\0" /* offset 3837 */ - "\xce\x9f\xcc\x93\xcc\x81\0" /* offset 3844 */ - "\xce\x9f\xcc\x94\xcc\x81\0" /* offset 3851 */ - "\xcf\x85\xcc\x93\0" /* offset 3858 */ - "\xcf\x85\xcc\x94\0" /* offset 3863 */ - "\xcf\x85\xcc\x93\xcc\x80\0" /* offset 3868 */ - "\xcf\x85\xcc\x94\xcc\x80\0" /* offset 3875 */ - "\xcf\x85\xcc\x93\xcc\x81\0" /* offset 3882 */ - "\xcf\x85\xcc\x94\xcc\x81\0" /* offset 3889 */ - "\xcf\x85\xcc\x93\xcd\x82\0" /* offset 3896 */ - "\xcf\x85\xcc\x94\xcd\x82\0" /* offset 3903 */ - "\xce\xa5\xcc\x94\0" /* offset 3910 */ - "\xce\xa5\xcc\x94\xcc\x80\0" /* offset 3915 */ - "\xce\xa5\xcc\x94\xcc\x81\0" /* offset 3922 */ - "\xce\xa5\xcc\x94\xcd\x82\0" /* offset 3929 */ - "\xcf\x89\xcc\x93\0" /* offset 3936 */ - "\xcf\x89\xcc\x94\0" /* offset 3941 */ - "\xcf\x89\xcc\x93\xcc\x80\0" /* offset 3946 */ - "\xcf\x89\xcc\x94\xcc\x80\0" /* offset 3953 */ - "\xcf\x89\xcc\x93\xcc\x81\0" /* offset 3960 */ - "\xcf\x89\xcc\x94\xcc\x81\0" /* offset 3967 */ - "\xcf\x89\xcc\x93\xcd\x82\0" /* offset 3974 */ - "\xcf\x89\xcc\x94\xcd\x82\0" /* offset 3981 */ - "\xce\xa9\xcc\x93\0" /* offset 3988 */ - "\xce\xa9\xcc\x94\0" /* offset 3993 */ - "\xce\xa9\xcc\x93\xcc\x80\0" /* offset 3998 */ - "\xce\xa9\xcc\x94\xcc\x80\0" /* offset 4005 */ - "\xce\xa9\xcc\x93\xcc\x81\0" /* offset 4012 */ - "\xce\xa9\xcc\x94\xcc\x81\0" /* offset 4019 */ - "\xce\xa9\xcc\x93\xcd\x82\0" /* offset 4026 */ - "\xce\xa9\xcc\x94\xcd\x82\0" /* offset 4033 */ - "\xce\xb1\xcc\x80\0" /* offset 4040 */ - "\xce\xb5\xcc\x80\0" /* offset 4045 */ - "\xce\xb7\xcc\x80\0" /* offset 4050 */ - "\xce\xb9\xcc\x80\0" /* offset 4055 */ - "\xce\xbf\xcc\x80\0" /* offset 4060 */ - "\xcf\x85\xcc\x80\0" /* offset 4065 */ - "\xcf\x89\xcc\x80\0" /* offset 4070 */ - "\xce\xb1\xcc\x93\xcd\x85\0" /* offset 4075 */ - "\xce\xb1\xcc\x94\xcd\x85\0" /* offset 4082 */ - "\xce\xb1\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4089 */ - "\xce\xb1\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4098 */ - "\xce\xb1\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4107 */ - "\xce\xb1\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4116 */ - "\xce\xb1\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4125 */ - "\xce\xb1\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4134 */ - "\xce\x91\xcc\x93\xcd\x85\0" /* offset 4143 */ - "\xce\x91\xcc\x94\xcd\x85\0" /* offset 4150 */ - "\xce\x91\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4157 */ - "\xce\x91\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4166 */ - "\xce\x91\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4175 */ - "\xce\x91\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4184 */ - "\xce\x91\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4193 */ - "\xce\x91\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4202 */ - "\xce\xb7\xcc\x93\xcd\x85\0" /* offset 4211 */ - "\xce\xb7\xcc\x94\xcd\x85\0" /* offset 4218 */ - "\xce\xb7\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4225 */ - "\xce\xb7\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4234 */ - "\xce\xb7\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4243 */ - "\xce\xb7\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4252 */ - "\xce\xb7\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4261 */ - "\xce\xb7\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4270 */ - "\xce\x97\xcc\x93\xcd\x85\0" /* offset 4279 */ - "\xce\x97\xcc\x94\xcd\x85\0" /* offset 4286 */ - "\xce\x97\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4293 */ - "\xce\x97\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4302 */ - "\xce\x97\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4311 */ - "\xce\x97\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4320 */ - "\xce\x97\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4329 */ - "\xce\x97\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4338 */ - "\xcf\x89\xcc\x93\xcd\x85\0" /* offset 4347 */ - "\xcf\x89\xcc\x94\xcd\x85\0" /* offset 4354 */ - "\xcf\x89\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4361 */ - "\xcf\x89\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4370 */ - "\xcf\x89\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4379 */ - "\xcf\x89\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4388 */ - "\xcf\x89\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4397 */ - "\xcf\x89\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4406 */ - "\xce\xa9\xcc\x93\xcd\x85\0" /* offset 4415 */ - "\xce\xa9\xcc\x94\xcd\x85\0" /* offset 4422 */ - "\xce\xa9\xcc\x93\xcc\x80\xcd\x85\0" /* offset 4429 */ - "\xce\xa9\xcc\x94\xcc\x80\xcd\x85\0" /* offset 4438 */ - "\xce\xa9\xcc\x93\xcc\x81\xcd\x85\0" /* offset 4447 */ - "\xce\xa9\xcc\x94\xcc\x81\xcd\x85\0" /* offset 4456 */ - "\xce\xa9\xcc\x93\xcd\x82\xcd\x85\0" /* offset 4465 */ - "\xce\xa9\xcc\x94\xcd\x82\xcd\x85\0" /* offset 4474 */ - "\xce\xb1\xcc\x86\0" /* offset 4483 */ - "\xce\xb1\xcc\x84\0" /* offset 4488 */ - "\xce\xb1\xcc\x80\xcd\x85\0" /* offset 4493 */ - "\xce\xb1\xcd\x85\0" /* offset 4500 */ - "\xce\xb1\xcc\x81\xcd\x85\0" /* offset 4505 */ - "\xce\xb1\xcd\x82\0" /* offset 4512 */ - "\xce\xb1\xcd\x82\xcd\x85\0" /* offset 4517 */ - "\xce\x91\xcc\x86\0" /* offset 4524 */ - "\xce\x91\xcc\x84\0" /* offset 4529 */ - "\xce\x91\xcc\x80\0" /* offset 4534 */ - "\xce\x91\xcd\x85\0" /* offset 4539 */ - "\x20\xcc\x93\0" /* offset 4544 */ - "\xce\xb9\0" /* offset 4548 */ - "\x20\xcd\x82\0" /* offset 4551 */ - "\xc2\xa8\xcd\x82\0" /* offset 4555 */ - "\x20\xcc\x88\xcd\x82\0" /* offset 4560 */ - "\xce\xb7\xcc\x80\xcd\x85\0" /* offset 4566 */ - "\xce\xb7\xcd\x85\0" /* offset 4573 */ - "\xce\xb7\xcc\x81\xcd\x85\0" /* offset 4578 */ - "\xce\xb7\xcd\x82\0" /* offset 4585 */ - "\xce\xb7\xcd\x82\xcd\x85\0" /* offset 4590 */ - "\xce\x95\xcc\x80\0" /* offset 4597 */ - "\xce\x97\xcc\x80\0" /* offset 4602 */ - "\xce\x97\xcd\x85\0" /* offset 4607 */ - "\xe1\xbe\xbf\xcc\x80\0" /* offset 4612 */ - "\x20\xcc\x93\xcc\x80\0" /* offset 4618 */ - "\xe1\xbe\xbf\xcc\x81\0" /* offset 4624 */ - "\x20\xcc\x93\xcc\x81\0" /* offset 4630 */ - "\xe1\xbe\xbf\xcd\x82\0" /* offset 4636 */ - "\x20\xcc\x93\xcd\x82\0" /* offset 4642 */ - "\xce\xb9\xcc\x86\0" /* offset 4648 */ - "\xce\xb9\xcc\x84\0" /* offset 4653 */ - "\xce\xb9\xcc\x88\xcc\x80\0" /* offset 4658 */ - "\xce\xb9\xcd\x82\0" /* offset 4665 */ - "\xce\xb9\xcc\x88\xcd\x82\0" /* offset 4670 */ - "\xce\x99\xcc\x86\0" /* offset 4677 */ - "\xce\x99\xcc\x84\0" /* offset 4682 */ - "\xce\x99\xcc\x80\0" /* offset 4687 */ - "\xe1\xbf\xbe\xcc\x80\0" /* offset 4692 */ - "\x20\xcc\x94\xcc\x80\0" /* offset 4698 */ - "\xe1\xbf\xbe\xcc\x81\0" /* offset 4704 */ - "\x20\xcc\x94\xcc\x81\0" /* offset 4710 */ - "\xe1\xbf\xbe\xcd\x82\0" /* offset 4716 */ - "\x20\xcc\x94\xcd\x82\0" /* offset 4722 */ - "\xcf\x85\xcc\x86\0" /* offset 4728 */ - "\xcf\x85\xcc\x84\0" /* offset 4733 */ - "\xcf\x85\xcc\x88\xcc\x80\0" /* offset 4738 */ - "\xcf\x81\xcc\x93\0" /* offset 4745 */ - "\xcf\x81\xcc\x94\0" /* offset 4750 */ - "\xcf\x85\xcd\x82\0" /* offset 4755 */ - "\xcf\x85\xcc\x88\xcd\x82\0" /* offset 4760 */ - "\xce\xa5\xcc\x86\0" /* offset 4767 */ - "\xce\xa5\xcc\x84\0" /* offset 4772 */ - "\xce\xa5\xcc\x80\0" /* offset 4777 */ - "\xce\xa1\xcc\x94\0" /* offset 4782 */ - "\xc2\xa8\xcc\x80\0" /* offset 4787 */ - "\x20\xcc\x88\xcc\x80\0" /* offset 4792 */ - "\x60\0" /* offset 4798 */ - "\xcf\x89\xcc\x80\xcd\x85\0" /* offset 4800 */ - "\xcf\x89\xcd\x85\0" /* offset 4807 */ - "\xcf\x89\xcc\x81\xcd\x85\0" /* offset 4812 */ - "\xcf\x89\xcd\x82\0" /* offset 4819 */ - "\xcf\x89\xcd\x82\xcd\x85\0" /* offset 4824 */ - "\xce\x9f\xcc\x80\0" /* offset 4831 */ - "\xce\xa9\xcc\x80\0" /* offset 4836 */ - "\xce\xa9\xcd\x85\0" /* offset 4841 */ - "\xc2\xb4\0" /* offset 4846 */ - "\x20\xcc\x94\0" /* offset 4849 */ - "\xe2\x80\x82\0" /* offset 4853 */ - "\xe2\x80\x83\0" /* offset 4857 */ - "\xe2\x80\x90\0" /* offset 4861 */ - "\x20\xcc\xb3\0" /* offset 4865 */ - "\x2e\0" /* offset 4869 */ - "\x2e\x2e\0" /* offset 4871 */ - "\x2e\x2e\x2e\0" /* offset 4874 */ - "\xe2\x80\xb2\xe2\x80\xb2\0" /* offset 4878 */ - "\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2\0" /* offset 4885 */ - "\xe2\x80\xb5\xe2\x80\xb5\0" /* offset 4895 */ - "\xe2\x80\xb5\xe2\x80\xb5\xe2\x80\xb5\0" /* offset 4902 */ - "\x21\x21\0" /* offset 4912 */ - "\x20\xcc\x85\0" /* offset 4915 */ - "\x3f\x3f\0" /* offset 4919 */ - "\x3f\x21\0" /* offset 4922 */ - "\x21\x3f\0" /* offset 4925 */ - "\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2\xe2\x80\xb2\0" /* offset 4928 */ - "\x30\0" /* offset 4941 */ - "\x69\0" /* offset 4943 */ - "\x34\0" /* offset 4945 */ - "\x35\0" /* offset 4947 */ - "\x36\0" /* offset 4949 */ - "\x37\0" /* offset 4951 */ - "\x38\0" /* offset 4953 */ - "\x39\0" /* offset 4955 */ - "\x2b\0" /* offset 4957 */ - "\xe2\x88\x92\0" /* offset 4959 */ - "\x3d\0" /* offset 4963 */ - "\x28\0" /* offset 4965 */ - "\x29\0" /* offset 4967 */ - "\x6e\0" /* offset 4969 */ - "\x52\x73\0" /* offset 4971 */ - "\x61\x2f\x63\0" /* offset 4974 */ - "\x61\x2f\x73\0" /* offset 4978 */ - "\x43\0" /* offset 4982 */ - "\xc2\xb0\x43\0" /* offset 4984 */ - "\x63\x2f\x6f\0" /* offset 4988 */ - "\x63\x2f\x75\0" /* offset 4992 */ - "\xc6\x90\0" /* offset 4996 */ - "\xc2\xb0\x46\0" /* offset 4999 */ - "\x67\0" /* offset 5003 */ - "\x48\0" /* offset 5005 */ - "\xc4\xa7\0" /* offset 5007 */ - "\x49\0" /* offset 5010 */ - "\x4c\0" /* offset 5012 */ - "\x4e\0" /* offset 5014 */ - "\x4e\x6f\0" /* offset 5016 */ - "\x50\0" /* offset 5019 */ - "\x51\0" /* offset 5021 */ - "\x52\0" /* offset 5023 */ - "\x53\x4d\0" /* offset 5025 */ - "\x54\x45\x4c\0" /* offset 5028 */ - "\x54\x4d\0" /* offset 5032 */ - "\x5a\0" /* offset 5035 */ - "\xce\xa9\0" /* offset 5037 */ - "\x4b\0" /* offset 5040 */ - "\x42\0" /* offset 5042 */ - "\x65\0" /* offset 5044 */ - "\x45\0" /* offset 5046 */ - "\x46\0" /* offset 5048 */ - "\x4d\0" /* offset 5050 */ - "\xd7\x90\0" /* offset 5052 */ - "\xd7\x91\0" /* offset 5055 */ - "\xd7\x92\0" /* offset 5058 */ - "\xd7\x93\0" /* offset 5061 */ - "\xce\xb3\0" /* offset 5064 */ - "\xce\x93\0" /* offset 5067 */ - "\xce\xa0\0" /* offset 5070 */ - "\xe2\x88\x91\0" /* offset 5073 */ - "\x44\0" /* offset 5077 */ - "\x64\0" /* offset 5079 */ - "\x31\xe2\x81\x84\x33\0" /* offset 5081 */ - "\x32\xe2\x81\x84\x33\0" /* offset 5087 */ - "\x31\xe2\x81\x84\x35\0" /* offset 5093 */ - "\x32\xe2\x81\x84\x35\0" /* offset 5099 */ - "\x33\xe2\x81\x84\x35\0" /* offset 5105 */ - "\x34\xe2\x81\x84\x35\0" /* offset 5111 */ - "\x31\xe2\x81\x84\x36\0" /* offset 5117 */ - "\x35\xe2\x81\x84\x36\0" /* offset 5123 */ - "\x31\xe2\x81\x84\x38\0" /* offset 5129 */ - "\x33\xe2\x81\x84\x38\0" /* offset 5135 */ - "\x35\xe2\x81\x84\x38\0" /* offset 5141 */ - "\x37\xe2\x81\x84\x38\0" /* offset 5147 */ - "\x31\xe2\x81\x84\0" /* offset 5153 */ - "\x49\x49\0" /* offset 5158 */ - "\x49\x49\x49\0" /* offset 5161 */ - "\x49\x56\0" /* offset 5165 */ - "\x56\0" /* offset 5168 */ - "\x56\x49\0" /* offset 5170 */ - "\x56\x49\x49\0" /* offset 5173 */ - "\x56\x49\x49\x49\0" /* offset 5177 */ - "\x49\x58\0" /* offset 5182 */ - "\x58\0" /* offset 5185 */ - "\x58\x49\0" /* offset 5187 */ - "\x58\x49\x49\0" /* offset 5190 */ - "\x69\x69\0" /* offset 5194 */ - "\x69\x69\x69\0" /* offset 5197 */ - "\x69\x76\0" /* offset 5201 */ - "\x76\0" /* offset 5204 */ - "\x76\x69\0" /* offset 5206 */ - "\x76\x69\x69\0" /* offset 5209 */ - "\x76\x69\x69\x69\0" /* offset 5213 */ - "\x69\x78\0" /* offset 5218 */ - "\x78\x69\0" /* offset 5221 */ - "\x78\x69\x69\0" /* offset 5224 */ - "\x63\0" /* offset 5228 */ - "\x6d\0" /* offset 5230 */ - "\xe2\x86\x90\xcc\xb8\0" /* offset 5232 */ - "\xe2\x86\x92\xcc\xb8\0" /* offset 5238 */ - "\xe2\x86\x94\xcc\xb8\0" /* offset 5244 */ - "\xe2\x87\x90\xcc\xb8\0" /* offset 5250 */ - "\xe2\x87\x94\xcc\xb8\0" /* offset 5256 */ - "\xe2\x87\x92\xcc\xb8\0" /* offset 5262 */ - "\xe2\x88\x83\xcc\xb8\0" /* offset 5268 */ - "\xe2\x88\x88\xcc\xb8\0" /* offset 5274 */ - "\xe2\x88\x8b\xcc\xb8\0" /* offset 5280 */ - "\xe2\x88\xa3\xcc\xb8\0" /* offset 5286 */ - "\xe2\x88\xa5\xcc\xb8\0" /* offset 5292 */ - "\xe2\x88\xab\xe2\x88\xab\0" /* offset 5298 */ - "\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab\0" /* offset 5305 */ - "\xe2\x88\xae\xe2\x88\xae\0" /* offset 5315 */ - "\xe2\x88\xae\xe2\x88\xae\xe2\x88\xae\0" /* offset 5322 */ - "\xe2\x88\xbc\xcc\xb8\0" /* offset 5332 */ - "\xe2\x89\x83\xcc\xb8\0" /* offset 5338 */ - "\xe2\x89\x85\xcc\xb8\0" /* offset 5344 */ - "\xe2\x89\x88\xcc\xb8\0" /* offset 5350 */ - "\x3d\xcc\xb8\0" /* offset 5356 */ - "\xe2\x89\xa1\xcc\xb8\0" /* offset 5360 */ - "\xe2\x89\x8d\xcc\xb8\0" /* offset 5366 */ - "\x3c\xcc\xb8\0" /* offset 5372 */ - "\x3e\xcc\xb8\0" /* offset 5376 */ - "\xe2\x89\xa4\xcc\xb8\0" /* offset 5380 */ - "\xe2\x89\xa5\xcc\xb8\0" /* offset 5386 */ - "\xe2\x89\xb2\xcc\xb8\0" /* offset 5392 */ - "\xe2\x89\xb3\xcc\xb8\0" /* offset 5398 */ - "\xe2\x89\xb6\xcc\xb8\0" /* offset 5404 */ - "\xe2\x89\xb7\xcc\xb8\0" /* offset 5410 */ - "\xe2\x89\xba\xcc\xb8\0" /* offset 5416 */ - "\xe2\x89\xbb\xcc\xb8\0" /* offset 5422 */ - "\xe2\x8a\x82\xcc\xb8\0" /* offset 5428 */ - "\xe2\x8a\x83\xcc\xb8\0" /* offset 5434 */ - "\xe2\x8a\x86\xcc\xb8\0" /* offset 5440 */ - "\xe2\x8a\x87\xcc\xb8\0" /* offset 5446 */ - "\xe2\x8a\xa2\xcc\xb8\0" /* offset 5452 */ - "\xe2\x8a\xa8\xcc\xb8\0" /* offset 5458 */ - "\xe2\x8a\xa9\xcc\xb8\0" /* offset 5464 */ - "\xe2\x8a\xab\xcc\xb8\0" /* offset 5470 */ - "\xe2\x89\xbc\xcc\xb8\0" /* offset 5476 */ - "\xe2\x89\xbd\xcc\xb8\0" /* offset 5482 */ - "\xe2\x8a\x91\xcc\xb8\0" /* offset 5488 */ - "\xe2\x8a\x92\xcc\xb8\0" /* offset 5494 */ - "\xe2\x8a\xb2\xcc\xb8\0" /* offset 5500 */ - "\xe2\x8a\xb3\xcc\xb8\0" /* offset 5506 */ - "\xe2\x8a\xb4\xcc\xb8\0" /* offset 5512 */ - "\xe2\x8a\xb5\xcc\xb8\0" /* offset 5518 */ - "\xe3\x80\x88\0" /* offset 5524 */ - "\xe3\x80\x89\0" /* offset 5528 */ - "\x31\x30\0" /* offset 5532 */ - "\x31\x31\0" /* offset 5535 */ - "\x31\x32\0" /* offset 5538 */ - "\x31\x33\0" /* offset 5541 */ - "\x31\x34\0" /* offset 5544 */ - "\x31\x35\0" /* offset 5547 */ - "\x31\x36\0" /* offset 5550 */ - "\x31\x37\0" /* offset 5553 */ - "\x31\x38\0" /* offset 5556 */ - "\x31\x39\0" /* offset 5559 */ - "\x32\x30\0" /* offset 5562 */ - "\x28\x31\x29\0" /* offset 5565 */ - "\x28\x32\x29\0" /* offset 5569 */ - "\x28\x33\x29\0" /* offset 5573 */ - "\x28\x34\x29\0" /* offset 5577 */ - "\x28\x35\x29\0" /* offset 5581 */ - "\x28\x36\x29\0" /* offset 5585 */ - "\x28\x37\x29\0" /* offset 5589 */ - "\x28\x38\x29\0" /* offset 5593 */ - "\x28\x39\x29\0" /* offset 5597 */ - "\x28\x31\x30\x29\0" /* offset 5601 */ - "\x28\x31\x31\x29\0" /* offset 5606 */ - "\x28\x31\x32\x29\0" /* offset 5611 */ - "\x28\x31\x33\x29\0" /* offset 5616 */ - "\x28\x31\x34\x29\0" /* offset 5621 */ - "\x28\x31\x35\x29\0" /* offset 5626 */ - "\x28\x31\x36\x29\0" /* offset 5631 */ - "\x28\x31\x37\x29\0" /* offset 5636 */ - "\x28\x31\x38\x29\0" /* offset 5641 */ - "\x28\x31\x39\x29\0" /* offset 5646 */ - "\x28\x32\x30\x29\0" /* offset 5651 */ - "\x31\x2e\0" /* offset 5656 */ - "\x32\x2e\0" /* offset 5659 */ - "\x33\x2e\0" /* offset 5662 */ - "\x34\x2e\0" /* offset 5665 */ - "\x35\x2e\0" /* offset 5668 */ - "\x36\x2e\0" /* offset 5671 */ - "\x37\x2e\0" /* offset 5674 */ - "\x38\x2e\0" /* offset 5677 */ - "\x39\x2e\0" /* offset 5680 */ - "\x31\x30\x2e\0" /* offset 5683 */ - "\x31\x31\x2e\0" /* offset 5687 */ - "\x31\x32\x2e\0" /* offset 5691 */ - "\x31\x33\x2e\0" /* offset 5695 */ - "\x31\x34\x2e\0" /* offset 5699 */ - "\x31\x35\x2e\0" /* offset 5703 */ - "\x31\x36\x2e\0" /* offset 5707 */ - "\x31\x37\x2e\0" /* offset 5711 */ - "\x31\x38\x2e\0" /* offset 5715 */ - "\x31\x39\x2e\0" /* offset 5719 */ - "\x32\x30\x2e\0" /* offset 5723 */ - "\x28\x61\x29\0" /* offset 5727 */ - "\x28\x62\x29\0" /* offset 5731 */ - "\x28\x63\x29\0" /* offset 5735 */ - "\x28\x64\x29\0" /* offset 5739 */ - "\x28\x65\x29\0" /* offset 5743 */ - "\x28\x66\x29\0" /* offset 5747 */ - "\x28\x67\x29\0" /* offset 5751 */ - "\x28\x68\x29\0" /* offset 5755 */ - "\x28\x69\x29\0" /* offset 5759 */ - "\x28\x6a\x29\0" /* offset 5763 */ - "\x28\x6b\x29\0" /* offset 5767 */ - "\x28\x6c\x29\0" /* offset 5771 */ - "\x28\x6d\x29\0" /* offset 5775 */ - "\x28\x6e\x29\0" /* offset 5779 */ - "\x28\x6f\x29\0" /* offset 5783 */ - "\x28\x70\x29\0" /* offset 5787 */ - "\x28\x71\x29\0" /* offset 5791 */ - "\x28\x72\x29\0" /* offset 5795 */ - "\x28\x73\x29\0" /* offset 5799 */ - "\x28\x74\x29\0" /* offset 5803 */ - "\x28\x75\x29\0" /* offset 5807 */ - "\x28\x76\x29\0" /* offset 5811 */ - "\x28\x77\x29\0" /* offset 5815 */ - "\x28\x78\x29\0" /* offset 5819 */ - "\x28\x79\x29\0" /* offset 5823 */ - "\x28\x7a\x29\0" /* offset 5827 */ - "\x41\0" /* offset 5831 */ - "\x47\0" /* offset 5833 */ - "\x4a\0" /* offset 5835 */ - "\x4f\0" /* offset 5837 */ - "\x53\0" /* offset 5839 */ - "\x54\0" /* offset 5841 */ - "\x55\0" /* offset 5843 */ - "\x57\0" /* offset 5845 */ - "\x59\0" /* offset 5847 */ - "\x62\0" /* offset 5849 */ - "\x66\0" /* offset 5851 */ - "\x6b\0" /* offset 5853 */ - "\x70\0" /* offset 5855 */ - "\x71\0" /* offset 5857 */ - "\x74\0" /* offset 5859 */ - "\x75\0" /* offset 5861 */ - "\x7a\0" /* offset 5863 */ - "\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab\xe2\x88\xab\0" /* offset 5865 */ - "\x3a\x3a\x3d\0" /* offset 5878 */ - "\x3d\x3d\0" /* offset 5882 */ - "\x3d\x3d\x3d\0" /* offset 5885 */ - "\xe2\xab\x9d\xcc\xb8\0" /* offset 5889 */ - "\xe6\xaf\x8d\0" /* offset 5895 */ - "\xe9\xbe\x9f\0" /* offset 5899 */ - "\xe4\xb8\x80\0" /* offset 5903 */ - "\xe4\xb8\xa8\0" /* offset 5907 */ - "\xe4\xb8\xb6\0" /* offset 5911 */ - "\xe4\xb8\xbf\0" /* offset 5915 */ - "\xe4\xb9\x99\0" /* offset 5919 */ - "\xe4\xba\x85\0" /* offset 5923 */ - "\xe4\xba\x8c\0" /* offset 5927 */ - "\xe4\xba\xa0\0" /* offset 5931 */ - "\xe4\xba\xba\0" /* offset 5935 */ - "\xe5\x84\xbf\0" /* offset 5939 */ - "\xe5\x85\xa5\0" /* offset 5943 */ - "\xe5\x85\xab\0" /* offset 5947 */ - "\xe5\x86\x82\0" /* offset 5951 */ - "\xe5\x86\x96\0" /* offset 5955 */ - "\xe5\x86\xab\0" /* offset 5959 */ - "\xe5\x87\xa0\0" /* offset 5963 */ - "\xe5\x87\xb5\0" /* offset 5967 */ - "\xe5\x88\x80\0" /* offset 5971 */ - "\xe5\x8a\x9b\0" /* offset 5975 */ - "\xe5\x8b\xb9\0" /* offset 5979 */ - "\xe5\x8c\x95\0" /* offset 5983 */ - "\xe5\x8c\x9a\0" /* offset 5987 */ - "\xe5\x8c\xb8\0" /* offset 5991 */ - "\xe5\x8d\x81\0" /* offset 5995 */ - "\xe5\x8d\x9c\0" /* offset 5999 */ - "\xe5\x8d\xa9\0" /* offset 6003 */ - "\xe5\x8e\x82\0" /* offset 6007 */ - "\xe5\x8e\xb6\0" /* offset 6011 */ - "\xe5\x8f\x88\0" /* offset 6015 */ - "\xe5\x8f\xa3\0" /* offset 6019 */ - "\xe5\x9b\x97\0" /* offset 6023 */ - "\xe5\x9c\x9f\0" /* offset 6027 */ - "\xe5\xa3\xab\0" /* offset 6031 */ - "\xe5\xa4\x82\0" /* offset 6035 */ - "\xe5\xa4\x8a\0" /* offset 6039 */ - "\xe5\xa4\x95\0" /* offset 6043 */ - "\xe5\xa4\xa7\0" /* offset 6047 */ - "\xe5\xa5\xb3\0" /* offset 6051 */ - "\xe5\xad\x90\0" /* offset 6055 */ - "\xe5\xae\x80\0" /* offset 6059 */ - "\xe5\xaf\xb8\0" /* offset 6063 */ - "\xe5\xb0\x8f\0" /* offset 6067 */ - "\xe5\xb0\xa2\0" /* offset 6071 */ - "\xe5\xb0\xb8\0" /* offset 6075 */ - "\xe5\xb1\xae\0" /* offset 6079 */ - "\xe5\xb1\xb1\0" /* offset 6083 */ - "\xe5\xb7\x9b\0" /* offset 6087 */ - "\xe5\xb7\xa5\0" /* offset 6091 */ - "\xe5\xb7\xb1\0" /* offset 6095 */ - "\xe5\xb7\xbe\0" /* offset 6099 */ - "\xe5\xb9\xb2\0" /* offset 6103 */ - "\xe5\xb9\xba\0" /* offset 6107 */ - "\xe5\xb9\xbf\0" /* offset 6111 */ - "\xe5\xbb\xb4\0" /* offset 6115 */ - "\xe5\xbb\xbe\0" /* offset 6119 */ - "\xe5\xbc\x8b\0" /* offset 6123 */ - "\xe5\xbc\x93\0" /* offset 6127 */ - "\xe5\xbd\x90\0" /* offset 6131 */ - "\xe5\xbd\xa1\0" /* offset 6135 */ - "\xe5\xbd\xb3\0" /* offset 6139 */ - "\xe5\xbf\x83\0" /* offset 6143 */ - "\xe6\x88\x88\0" /* offset 6147 */ - "\xe6\x88\xb6\0" /* offset 6151 */ - "\xe6\x89\x8b\0" /* offset 6155 */ - "\xe6\x94\xaf\0" /* offset 6159 */ - "\xe6\x94\xb4\0" /* offset 6163 */ - "\xe6\x96\x87\0" /* offset 6167 */ - "\xe6\x96\x97\0" /* offset 6171 */ - "\xe6\x96\xa4\0" /* offset 6175 */ - "\xe6\x96\xb9\0" /* offset 6179 */ - "\xe6\x97\xa0\0" /* offset 6183 */ - "\xe6\x97\xa5\0" /* offset 6187 */ - "\xe6\x9b\xb0\0" /* offset 6191 */ - "\xe6\x9c\x88\0" /* offset 6195 */ - "\xe6\x9c\xa8\0" /* offset 6199 */ - "\xe6\xac\xa0\0" /* offset 6203 */ - "\xe6\xad\xa2\0" /* offset 6207 */ - "\xe6\xad\xb9\0" /* offset 6211 */ - "\xe6\xae\xb3\0" /* offset 6215 */ - "\xe6\xaf\x8b\0" /* offset 6219 */ - "\xe6\xaf\x94\0" /* offset 6223 */ - "\xe6\xaf\x9b\0" /* offset 6227 */ - "\xe6\xb0\x8f\0" /* offset 6231 */ - "\xe6\xb0\x94\0" /* offset 6235 */ - "\xe6\xb0\xb4\0" /* offset 6239 */ - "\xe7\x81\xab\0" /* offset 6243 */ - "\xe7\x88\xaa\0" /* offset 6247 */ - "\xe7\x88\xb6\0" /* offset 6251 */ - "\xe7\x88\xbb\0" /* offset 6255 */ - "\xe7\x88\xbf\0" /* offset 6259 */ - "\xe7\x89\x87\0" /* offset 6263 */ - "\xe7\x89\x99\0" /* offset 6267 */ - "\xe7\x89\x9b\0" /* offset 6271 */ - "\xe7\x8a\xac\0" /* offset 6275 */ - "\xe7\x8e\x84\0" /* offset 6279 */ - "\xe7\x8e\x89\0" /* offset 6283 */ - "\xe7\x93\x9c\0" /* offset 6287 */ - "\xe7\x93\xa6\0" /* offset 6291 */ - "\xe7\x94\x98\0" /* offset 6295 */ - "\xe7\x94\x9f\0" /* offset 6299 */ - "\xe7\x94\xa8\0" /* offset 6303 */ - "\xe7\x94\xb0\0" /* offset 6307 */ - "\xe7\x96\x8b\0" /* offset 6311 */ - "\xe7\x96\x92\0" /* offset 6315 */ - "\xe7\x99\xb6\0" /* offset 6319 */ - "\xe7\x99\xbd\0" /* offset 6323 */ - "\xe7\x9a\xae\0" /* offset 6327 */ - "\xe7\x9a\xbf\0" /* offset 6331 */ - "\xe7\x9b\xae\0" /* offset 6335 */ - "\xe7\x9f\x9b\0" /* offset 6339 */ - "\xe7\x9f\xa2\0" /* offset 6343 */ - "\xe7\x9f\xb3\0" /* offset 6347 */ - "\xe7\xa4\xba\0" /* offset 6351 */ - "\xe7\xa6\xb8\0" /* offset 6355 */ - "\xe7\xa6\xbe\0" /* offset 6359 */ - "\xe7\xa9\xb4\0" /* offset 6363 */ - "\xe7\xab\x8b\0" /* offset 6367 */ - "\xe7\xab\xb9\0" /* offset 6371 */ - "\xe7\xb1\xb3\0" /* offset 6375 */ - "\xe7\xb3\xb8\0" /* offset 6379 */ - "\xe7\xbc\xb6\0" /* offset 6383 */ - "\xe7\xbd\x91\0" /* offset 6387 */ - "\xe7\xbe\x8a\0" /* offset 6391 */ - "\xe7\xbe\xbd\0" /* offset 6395 */ - "\xe8\x80\x81\0" /* offset 6399 */ - "\xe8\x80\x8c\0" /* offset 6403 */ - "\xe8\x80\x92\0" /* offset 6407 */ - "\xe8\x80\xb3\0" /* offset 6411 */ - "\xe8\x81\xbf\0" /* offset 6415 */ - "\xe8\x82\x89\0" /* offset 6419 */ - "\xe8\x87\xa3\0" /* offset 6423 */ - "\xe8\x87\xaa\0" /* offset 6427 */ - "\xe8\x87\xb3\0" /* offset 6431 */ - "\xe8\x87\xbc\0" /* offset 6435 */ - "\xe8\x88\x8c\0" /* offset 6439 */ - "\xe8\x88\x9b\0" /* offset 6443 */ - "\xe8\x88\x9f\0" /* offset 6447 */ - "\xe8\x89\xae\0" /* offset 6451 */ - "\xe8\x89\xb2\0" /* offset 6455 */ - "\xe8\x89\xb8\0" /* offset 6459 */ - "\xe8\x99\x8d\0" /* offset 6463 */ - "\xe8\x99\xab\0" /* offset 6467 */ - "\xe8\xa1\x80\0" /* offset 6471 */ - "\xe8\xa1\x8c\0" /* offset 6475 */ - "\xe8\xa1\xa3\0" /* offset 6479 */ - "\xe8\xa5\xbe\0" /* offset 6483 */ - "\xe8\xa6\x8b\0" /* offset 6487 */ - "\xe8\xa7\x92\0" /* offset 6491 */ - "\xe8\xa8\x80\0" /* offset 6495 */ - "\xe8\xb0\xb7\0" /* offset 6499 */ - "\xe8\xb1\x86\0" /* offset 6503 */ - "\xe8\xb1\x95\0" /* offset 6507 */ - "\xe8\xb1\xb8\0" /* offset 6511 */ - "\xe8\xb2\x9d\0" /* offset 6515 */ - "\xe8\xb5\xa4\0" /* offset 6519 */ - "\xe8\xb5\xb0\0" /* offset 6523 */ - "\xe8\xb6\xb3\0" /* offset 6527 */ - "\xe8\xba\xab\0" /* offset 6531 */ - "\xe8\xbb\x8a\0" /* offset 6535 */ - "\xe8\xbe\x9b\0" /* offset 6539 */ - "\xe8\xbe\xb0\0" /* offset 6543 */ - "\xe8\xbe\xb5\0" /* offset 6547 */ - "\xe9\x82\x91\0" /* offset 6551 */ - "\xe9\x85\x89\0" /* offset 6555 */ - "\xe9\x87\x86\0" /* offset 6559 */ - "\xe9\x87\x8c\0" /* offset 6563 */ - "\xe9\x87\x91\0" /* offset 6567 */ - "\xe9\x95\xb7\0" /* offset 6571 */ - "\xe9\x96\x80\0" /* offset 6575 */ - "\xe9\x98\x9c\0" /* offset 6579 */ - "\xe9\x9a\xb6\0" /* offset 6583 */ - "\xe9\x9a\xb9\0" /* offset 6587 */ - "\xe9\x9b\xa8\0" /* offset 6591 */ - "\xe9\x9d\x91\0" /* offset 6595 */ - "\xe9\x9d\x9e\0" /* offset 6599 */ - "\xe9\x9d\xa2\0" /* offset 6603 */ - "\xe9\x9d\xa9\0" /* offset 6607 */ - "\xe9\x9f\x8b\0" /* offset 6611 */ - "\xe9\x9f\xad\0" /* offset 6615 */ - "\xe9\x9f\xb3\0" /* offset 6619 */ - "\xe9\xa0\x81\0" /* offset 6623 */ - "\xe9\xa2\xa8\0" /* offset 6627 */ - "\xe9\xa3\x9b\0" /* offset 6631 */ - "\xe9\xa3\x9f\0" /* offset 6635 */ - "\xe9\xa6\x96\0" /* offset 6639 */ - "\xe9\xa6\x99\0" /* offset 6643 */ - "\xe9\xa6\xac\0" /* offset 6647 */ - "\xe9\xaa\xa8\0" /* offset 6651 */ - "\xe9\xab\x98\0" /* offset 6655 */ - "\xe9\xab\x9f\0" /* offset 6659 */ - "\xe9\xac\xa5\0" /* offset 6663 */ - "\xe9\xac\xaf\0" /* offset 6667 */ - "\xe9\xac\xb2\0" /* offset 6671 */ - "\xe9\xac\xbc\0" /* offset 6675 */ - "\xe9\xad\x9a\0" /* offset 6679 */ - "\xe9\xb3\xa5\0" /* offset 6683 */ - "\xe9\xb9\xb5\0" /* offset 6687 */ - "\xe9\xb9\xbf\0" /* offset 6691 */ - "\xe9\xba\xa5\0" /* offset 6695 */ - "\xe9\xba\xbb\0" /* offset 6699 */ - "\xe9\xbb\x83\0" /* offset 6703 */ - "\xe9\xbb\x8d\0" /* offset 6707 */ - "\xe9\xbb\x91\0" /* offset 6711 */ - "\xe9\xbb\xb9\0" /* offset 6715 */ - "\xe9\xbb\xbd\0" /* offset 6719 */ - "\xe9\xbc\x8e\0" /* offset 6723 */ - "\xe9\xbc\x93\0" /* offset 6727 */ - "\xe9\xbc\xa0\0" /* offset 6731 */ - "\xe9\xbc\xbb\0" /* offset 6735 */ - "\xe9\xbd\x8a\0" /* offset 6739 */ - "\xe9\xbd\x92\0" /* offset 6743 */ - "\xe9\xbe\x8d\0" /* offset 6747 */ - "\xe9\xbe\x9c\0" /* offset 6751 */ - "\xe9\xbe\xa0\0" /* offset 6755 */ - "\xe3\x80\x92\0" /* offset 6759 */ - "\xe5\x8d\x84\0" /* offset 6763 */ - "\xe5\x8d\x85\0" /* offset 6767 */ - "\xe3\x81\x8b\xe3\x82\x99\0" /* offset 6771 */ - "\xe3\x81\x8d\xe3\x82\x99\0" /* offset 6778 */ - "\xe3\x81\x8f\xe3\x82\x99\0" /* offset 6785 */ - "\xe3\x81\x91\xe3\x82\x99\0" /* offset 6792 */ - "\xe3\x81\x93\xe3\x82\x99\0" /* offset 6799 */ - "\xe3\x81\x95\xe3\x82\x99\0" /* offset 6806 */ - "\xe3\x81\x97\xe3\x82\x99\0" /* offset 6813 */ - "\xe3\x81\x99\xe3\x82\x99\0" /* offset 6820 */ - "\xe3\x81\x9b\xe3\x82\x99\0" /* offset 6827 */ - "\xe3\x81\x9d\xe3\x82\x99\0" /* offset 6834 */ - "\xe3\x81\x9f\xe3\x82\x99\0" /* offset 6841 */ - "\xe3\x81\xa1\xe3\x82\x99\0" /* offset 6848 */ - "\xe3\x81\xa4\xe3\x82\x99\0" /* offset 6855 */ - "\xe3\x81\xa6\xe3\x82\x99\0" /* offset 6862 */ - "\xe3\x81\xa8\xe3\x82\x99\0" /* offset 6869 */ - "\xe3\x81\xaf\xe3\x82\x99\0" /* offset 6876 */ - "\xe3\x81\xaf\xe3\x82\x9a\0" /* offset 6883 */ - "\xe3\x81\xb2\xe3\x82\x99\0" /* offset 6890 */ - "\xe3\x81\xb2\xe3\x82\x9a\0" /* offset 6897 */ - "\xe3\x81\xb5\xe3\x82\x99\0" /* offset 6904 */ - "\xe3\x81\xb5\xe3\x82\x9a\0" /* offset 6911 */ - "\xe3\x81\xb8\xe3\x82\x99\0" /* offset 6918 */ - "\xe3\x81\xb8\xe3\x82\x9a\0" /* offset 6925 */ - "\xe3\x81\xbb\xe3\x82\x99\0" /* offset 6932 */ - "\xe3\x81\xbb\xe3\x82\x9a\0" /* offset 6939 */ - "\xe3\x81\x86\xe3\x82\x99\0" /* offset 6946 */ - "\x20\xe3\x82\x99\0" /* offset 6953 */ - "\x20\xe3\x82\x9a\0" /* offset 6958 */ - "\xe3\x82\x9d\xe3\x82\x99\0" /* offset 6963 */ - "\xe3\x82\x88\xe3\x82\x8a\0" /* offset 6970 */ - "\xe3\x82\xab\xe3\x82\x99\0" /* offset 6977 */ - "\xe3\x82\xad\xe3\x82\x99\0" /* offset 6984 */ - "\xe3\x82\xaf\xe3\x82\x99\0" /* offset 6991 */ - "\xe3\x82\xb1\xe3\x82\x99\0" /* offset 6998 */ - "\xe3\x82\xb3\xe3\x82\x99\0" /* offset 7005 */ - "\xe3\x82\xb5\xe3\x82\x99\0" /* offset 7012 */ - "\xe3\x82\xb7\xe3\x82\x99\0" /* offset 7019 */ - "\xe3\x82\xb9\xe3\x82\x99\0" /* offset 7026 */ - "\xe3\x82\xbb\xe3\x82\x99\0" /* offset 7033 */ - "\xe3\x82\xbd\xe3\x82\x99\0" /* offset 7040 */ - "\xe3\x82\xbf\xe3\x82\x99\0" /* offset 7047 */ - "\xe3\x83\x81\xe3\x82\x99\0" /* offset 7054 */ - "\xe3\x83\x84\xe3\x82\x99\0" /* offset 7061 */ - "\xe3\x83\x86\xe3\x82\x99\0" /* offset 7068 */ - "\xe3\x83\x88\xe3\x82\x99\0" /* offset 7075 */ - "\xe3\x83\x8f\xe3\x82\x99\0" /* offset 7082 */ - "\xe3\x83\x8f\xe3\x82\x9a\0" /* offset 7089 */ - "\xe3\x83\x92\xe3\x82\x99\0" /* offset 7096 */ - "\xe3\x83\x92\xe3\x82\x9a\0" /* offset 7103 */ - "\xe3\x83\x95\xe3\x82\x99\0" /* offset 7110 */ - "\xe3\x83\x95\xe3\x82\x9a\0" /* offset 7117 */ - "\xe3\x83\x98\xe3\x82\x99\0" /* offset 7124 */ - "\xe3\x83\x98\xe3\x82\x9a\0" /* offset 7131 */ - "\xe3\x83\x9b\xe3\x82\x99\0" /* offset 7138 */ - "\xe3\x83\x9b\xe3\x82\x9a\0" /* offset 7145 */ - "\xe3\x82\xa6\xe3\x82\x99\0" /* offset 7152 */ - "\xe3\x83\xaf\xe3\x82\x99\0" /* offset 7159 */ - "\xe3\x83\xb0\xe3\x82\x99\0" /* offset 7166 */ - "\xe3\x83\xb1\xe3\x82\x99\0" /* offset 7173 */ - "\xe3\x83\xb2\xe3\x82\x99\0" /* offset 7180 */ - "\xe3\x83\xbd\xe3\x82\x99\0" /* offset 7187 */ - "\xe3\x82\xb3\xe3\x83\x88\0" /* offset 7194 */ - "\xe1\x84\x80\0" /* offset 7201 */ - "\xe1\x84\x81\0" /* offset 7205 */ - "\xe1\x86\xaa\0" /* offset 7209 */ - "\xe1\x84\x82\0" /* offset 7213 */ - "\xe1\x86\xac\0" /* offset 7217 */ - "\xe1\x86\xad\0" /* offset 7221 */ - "\xe1\x84\x83\0" /* offset 7225 */ - "\xe1\x84\x84\0" /* offset 7229 */ - "\xe1\x84\x85\0" /* offset 7233 */ - "\xe1\x86\xb0\0" /* offset 7237 */ - "\xe1\x86\xb1\0" /* offset 7241 */ - "\xe1\x86\xb2\0" /* offset 7245 */ - "\xe1\x86\xb3\0" /* offset 7249 */ - "\xe1\x86\xb4\0" /* offset 7253 */ - "\xe1\x86\xb5\0" /* offset 7257 */ - "\xe1\x84\x9a\0" /* offset 7261 */ - "\xe1\x84\x86\0" /* offset 7265 */ - "\xe1\x84\x87\0" /* offset 7269 */ - "\xe1\x84\x88\0" /* offset 7273 */ - "\xe1\x84\xa1\0" /* offset 7277 */ - "\xe1\x84\x89\0" /* offset 7281 */ - "\xe1\x84\x8a\0" /* offset 7285 */ - "\xe1\x84\x8b\0" /* offset 7289 */ - "\xe1\x84\x8c\0" /* offset 7293 */ - "\xe1\x84\x8d\0" /* offset 7297 */ - "\xe1\x84\x8e\0" /* offset 7301 */ - "\xe1\x84\x8f\0" /* offset 7305 */ - "\xe1\x84\x90\0" /* offset 7309 */ - "\xe1\x84\x91\0" /* offset 7313 */ - "\xe1\x84\x92\0" /* offset 7317 */ - "\xe1\x85\xa1\0" /* offset 7321 */ - "\xe1\x85\xa2\0" /* offset 7325 */ - "\xe1\x85\xa3\0" /* offset 7329 */ - "\xe1\x85\xa4\0" /* offset 7333 */ - "\xe1\x85\xa5\0" /* offset 7337 */ - "\xe1\x85\xa6\0" /* offset 7341 */ - "\xe1\x85\xa7\0" /* offset 7345 */ - "\xe1\x85\xa8\0" /* offset 7349 */ - "\xe1\x85\xa9\0" /* offset 7353 */ - "\xe1\x85\xaa\0" /* offset 7357 */ - "\xe1\x85\xab\0" /* offset 7361 */ - "\xe1\x85\xac\0" /* offset 7365 */ - "\xe1\x85\xad\0" /* offset 7369 */ - "\xe1\x85\xae\0" /* offset 7373 */ - "\xe1\x85\xaf\0" /* offset 7377 */ - "\xe1\x85\xb0\0" /* offset 7381 */ - "\xe1\x85\xb1\0" /* offset 7385 */ - "\xe1\x85\xb2\0" /* offset 7389 */ - "\xe1\x85\xb3\0" /* offset 7393 */ - "\xe1\x85\xb4\0" /* offset 7397 */ - "\xe1\x85\xb5\0" /* offset 7401 */ - "\xe1\x85\xa0\0" /* offset 7405 */ - "\xe1\x84\x94\0" /* offset 7409 */ - "\xe1\x84\x95\0" /* offset 7413 */ - "\xe1\x87\x87\0" /* offset 7417 */ - "\xe1\x87\x88\0" /* offset 7421 */ - "\xe1\x87\x8c\0" /* offset 7425 */ - "\xe1\x87\x8e\0" /* offset 7429 */ - "\xe1\x87\x93\0" /* offset 7433 */ - "\xe1\x87\x97\0" /* offset 7437 */ - "\xe1\x87\x99\0" /* offset 7441 */ - "\xe1\x84\x9c\0" /* offset 7445 */ - "\xe1\x87\x9d\0" /* offset 7449 */ - "\xe1\x87\x9f\0" /* offset 7453 */ - "\xe1\x84\x9d\0" /* offset 7457 */ - "\xe1\x84\x9e\0" /* offset 7461 */ - "\xe1\x84\xa0\0" /* offset 7465 */ - "\xe1\x84\xa2\0" /* offset 7469 */ - "\xe1\x84\xa3\0" /* offset 7473 */ - "\xe1\x84\xa7\0" /* offset 7477 */ - "\xe1\x84\xa9\0" /* offset 7481 */ - "\xe1\x84\xab\0" /* offset 7485 */ - "\xe1\x84\xac\0" /* offset 7489 */ - "\xe1\x84\xad\0" /* offset 7493 */ - "\xe1\x84\xae\0" /* offset 7497 */ - "\xe1\x84\xaf\0" /* offset 7501 */ - "\xe1\x84\xb2\0" /* offset 7505 */ - "\xe1\x84\xb6\0" /* offset 7509 */ - "\xe1\x85\x80\0" /* offset 7513 */ - "\xe1\x85\x87\0" /* offset 7517 */ - "\xe1\x85\x8c\0" /* offset 7521 */ - "\xe1\x87\xb1\0" /* offset 7525 */ - "\xe1\x87\xb2\0" /* offset 7529 */ - "\xe1\x85\x97\0" /* offset 7533 */ - "\xe1\x85\x98\0" /* offset 7537 */ - "\xe1\x85\x99\0" /* offset 7541 */ - "\xe1\x86\x84\0" /* offset 7545 */ - "\xe1\x86\x85\0" /* offset 7549 */ - "\xe1\x86\x88\0" /* offset 7553 */ - "\xe1\x86\x91\0" /* offset 7557 */ - "\xe1\x86\x92\0" /* offset 7561 */ - "\xe1\x86\x94\0" /* offset 7565 */ - "\xe1\x86\x9e\0" /* offset 7569 */ - "\xe1\x86\xa1\0" /* offset 7573 */ - "\xe4\xb8\x89\0" /* offset 7577 */ - "\xe5\x9b\x9b\0" /* offset 7581 */ - "\xe4\xb8\x8a\0" /* offset 7585 */ - "\xe4\xb8\xad\0" /* offset 7589 */ - "\xe4\xb8\x8b\0" /* offset 7593 */ - "\xe7\x94\xb2\0" /* offset 7597 */ - "\xe4\xb8\x99\0" /* offset 7601 */ - "\xe4\xb8\x81\0" /* offset 7605 */ - "\xe5\xa4\xa9\0" /* offset 7609 */ - "\xe5\x9c\xb0\0" /* offset 7613 */ - "\x28\xe1\x84\x80\x29\0" /* offset 7617 */ - "\x28\xe1\x84\x82\x29\0" /* offset 7623 */ - "\x28\xe1\x84\x83\x29\0" /* offset 7629 */ - "\x28\xe1\x84\x85\x29\0" /* offset 7635 */ - "\x28\xe1\x84\x86\x29\0" /* offset 7641 */ - "\x28\xe1\x84\x87\x29\0" /* offset 7647 */ - "\x28\xe1\x84\x89\x29\0" /* offset 7653 */ - "\x28\xe1\x84\x8b\x29\0" /* offset 7659 */ - "\x28\xe1\x84\x8c\x29\0" /* offset 7665 */ - "\x28\xe1\x84\x8e\x29\0" /* offset 7671 */ - "\x28\xe1\x84\x8f\x29\0" /* offset 7677 */ - "\x28\xe1\x84\x90\x29\0" /* offset 7683 */ - "\x28\xe1\x84\x91\x29\0" /* offset 7689 */ - "\x28\xe1\x84\x92\x29\0" /* offset 7695 */ - "\x28\xe1\x84\x80\xe1\x85\xa1\x29\0" /* offset 7701 */ - "\x28\xe1\x84\x82\xe1\x85\xa1\x29\0" /* offset 7710 */ - "\x28\xe1\x84\x83\xe1\x85\xa1\x29\0" /* offset 7719 */ - "\x28\xe1\x84\x85\xe1\x85\xa1\x29\0" /* offset 7728 */ - "\x28\xe1\x84\x86\xe1\x85\xa1\x29\0" /* offset 7737 */ - "\x28\xe1\x84\x87\xe1\x85\xa1\x29\0" /* offset 7746 */ - "\x28\xe1\x84\x89\xe1\x85\xa1\x29\0" /* offset 7755 */ - "\x28\xe1\x84\x8b\xe1\x85\xa1\x29\0" /* offset 7764 */ - "\x28\xe1\x84\x8c\xe1\x85\xa1\x29\0" /* offset 7773 */ - "\x28\xe1\x84\x8e\xe1\x85\xa1\x29\0" /* offset 7782 */ - "\x28\xe1\x84\x8f\xe1\x85\xa1\x29\0" /* offset 7791 */ - "\x28\xe1\x84\x90\xe1\x85\xa1\x29\0" /* offset 7800 */ - "\x28\xe1\x84\x91\xe1\x85\xa1\x29\0" /* offset 7809 */ - "\x28\xe1\x84\x92\xe1\x85\xa1\x29\0" /* offset 7818 */ - "\x28\xe1\x84\x8c\xe1\x85\xae\x29\0" /* offset 7827 */ - "\x28\xe4\xb8\x80\x29\0" /* offset 7836 */ - "\x28\xe4\xba\x8c\x29\0" /* offset 7842 */ - "\x28\xe4\xb8\x89\x29\0" /* offset 7848 */ - "\x28\xe5\x9b\x9b\x29\0" /* offset 7854 */ - "\x28\xe4\xba\x94\x29\0" /* offset 7860 */ - "\x28\xe5\x85\xad\x29\0" /* offset 7866 */ - "\x28\xe4\xb8\x83\x29\0" /* offset 7872 */ - "\x28\xe5\x85\xab\x29\0" /* offset 7878 */ - "\x28\xe4\xb9\x9d\x29\0" /* offset 7884 */ - "\x28\xe5\x8d\x81\x29\0" /* offset 7890 */ - "\x28\xe6\x9c\x88\x29\0" /* offset 7896 */ - "\x28\xe7\x81\xab\x29\0" /* offset 7902 */ - "\x28\xe6\xb0\xb4\x29\0" /* offset 7908 */ - "\x28\xe6\x9c\xa8\x29\0" /* offset 7914 */ - "\x28\xe9\x87\x91\x29\0" /* offset 7920 */ - "\x28\xe5\x9c\x9f\x29\0" /* offset 7926 */ - "\x28\xe6\x97\xa5\x29\0" /* offset 7932 */ - "\x28\xe6\xa0\xaa\x29\0" /* offset 7938 */ - "\x28\xe6\x9c\x89\x29\0" /* offset 7944 */ - "\x28\xe7\xa4\xbe\x29\0" /* offset 7950 */ - "\x28\xe5\x90\x8d\x29\0" /* offset 7956 */ - "\x28\xe7\x89\xb9\x29\0" /* offset 7962 */ - "\x28\xe8\xb2\xa1\x29\0" /* offset 7968 */ - "\x28\xe7\xa5\x9d\x29\0" /* offset 7974 */ - "\x28\xe5\x8a\xb4\x29\0" /* offset 7980 */ - "\x28\xe4\xbb\xa3\x29\0" /* offset 7986 */ - "\x28\xe5\x91\xbc\x29\0" /* offset 7992 */ - "\x28\xe5\xad\xa6\x29\0" /* offset 7998 */ - "\x28\xe7\x9b\xa3\x29\0" /* offset 8004 */ - "\x28\xe4\xbc\x81\x29\0" /* offset 8010 */ - "\x28\xe8\xb3\x87\x29\0" /* offset 8016 */ - "\x28\xe5\x8d\x94\x29\0" /* offset 8022 */ - "\x28\xe7\xa5\xad\x29\0" /* offset 8028 */ - "\x28\xe4\xbc\x91\x29\0" /* offset 8034 */ - "\x28\xe8\x87\xaa\x29\0" /* offset 8040 */ - "\x28\xe8\x87\xb3\x29\0" /* offset 8046 */ - "\x32\x31\0" /* offset 8052 */ - "\x32\x32\0" /* offset 8055 */ - "\x32\x33\0" /* offset 8058 */ - "\x32\x34\0" /* offset 8061 */ - "\x32\x35\0" /* offset 8064 */ - "\x32\x36\0" /* offset 8067 */ - "\x32\x37\0" /* offset 8070 */ - "\x32\x38\0" /* offset 8073 */ - "\x32\x39\0" /* offset 8076 */ - "\x33\x30\0" /* offset 8079 */ - "\x33\x31\0" /* offset 8082 */ - "\x33\x32\0" /* offset 8085 */ - "\x33\x33\0" /* offset 8088 */ - "\x33\x34\0" /* offset 8091 */ - "\x33\x35\0" /* offset 8094 */ - "\xe1\x84\x80\xe1\x85\xa1\0" /* offset 8097 */ - "\xe1\x84\x82\xe1\x85\xa1\0" /* offset 8104 */ - "\xe1\x84\x83\xe1\x85\xa1\0" /* offset 8111 */ - "\xe1\x84\x85\xe1\x85\xa1\0" /* offset 8118 */ - "\xe1\x84\x86\xe1\x85\xa1\0" /* offset 8125 */ - "\xe1\x84\x87\xe1\x85\xa1\0" /* offset 8132 */ - "\xe1\x84\x89\xe1\x85\xa1\0" /* offset 8139 */ - "\xe1\x84\x8b\xe1\x85\xa1\0" /* offset 8146 */ - "\xe1\x84\x8c\xe1\x85\xa1\0" /* offset 8153 */ - "\xe1\x84\x8e\xe1\x85\xa1\0" /* offset 8160 */ - "\xe1\x84\x8f\xe1\x85\xa1\0" /* offset 8167 */ - "\xe1\x84\x90\xe1\x85\xa1\0" /* offset 8174 */ - "\xe1\x84\x91\xe1\x85\xa1\0" /* offset 8181 */ - "\xe1\x84\x92\xe1\x85\xa1\0" /* offset 8188 */ - "\xe4\xba\x94\0" /* offset 8195 */ - "\xe5\x85\xad\0" /* offset 8199 */ - "\xe4\xb8\x83\0" /* offset 8203 */ - "\xe4\xb9\x9d\0" /* offset 8207 */ - "\xe6\xa0\xaa\0" /* offset 8211 */ - "\xe6\x9c\x89\0" /* offset 8215 */ - "\xe7\xa4\xbe\0" /* offset 8219 */ - "\xe5\x90\x8d\0" /* offset 8223 */ - "\xe7\x89\xb9\0" /* offset 8227 */ - "\xe8\xb2\xa1\0" /* offset 8231 */ - "\xe7\xa5\x9d\0" /* offset 8235 */ - "\xe5\x8a\xb4\0" /* offset 8239 */ - "\xe7\xa7\x98\0" /* offset 8243 */ - "\xe7\x94\xb7\0" /* offset 8247 */ - "\xe9\x81\xa9\0" /* offset 8251 */ - "\xe5\x84\xaa\0" /* offset 8255 */ - "\xe5\x8d\xb0\0" /* offset 8259 */ - "\xe6\xb3\xa8\0" /* offset 8263 */ - "\xe9\xa0\x85\0" /* offset 8267 */ - "\xe4\xbc\x91\0" /* offset 8271 */ - "\xe5\x86\x99\0" /* offset 8275 */ - "\xe6\xad\xa3\0" /* offset 8279 */ - "\xe5\xb7\xa6\0" /* offset 8283 */ - "\xe5\x8f\xb3\0" /* offset 8287 */ - "\xe5\x8c\xbb\0" /* offset 8291 */ - "\xe5\xae\x97\0" /* offset 8295 */ - "\xe5\xad\xa6\0" /* offset 8299 */ - "\xe7\x9b\xa3\0" /* offset 8303 */ - "\xe4\xbc\x81\0" /* offset 8307 */ - "\xe8\xb3\x87\0" /* offset 8311 */ - "\xe5\x8d\x94\0" /* offset 8315 */ - "\xe5\xa4\x9c\0" /* offset 8319 */ - "\x33\x36\0" /* offset 8323 */ - "\x33\x37\0" /* offset 8326 */ - "\x33\x38\0" /* offset 8329 */ - "\x33\x39\0" /* offset 8332 */ - "\x34\x30\0" /* offset 8335 */ - "\x34\x31\0" /* offset 8338 */ - "\x34\x32\0" /* offset 8341 */ - "\x34\x33\0" /* offset 8344 */ - "\x34\x34\0" /* offset 8347 */ - "\x34\x35\0" /* offset 8350 */ - "\x34\x36\0" /* offset 8353 */ - "\x34\x37\0" /* offset 8356 */ - "\x34\x38\0" /* offset 8359 */ - "\x34\x39\0" /* offset 8362 */ - "\x35\x30\0" /* offset 8365 */ - "\x31\xe6\x9c\x88\0" /* offset 8368 */ - "\x32\xe6\x9c\x88\0" /* offset 8373 */ - "\x33\xe6\x9c\x88\0" /* offset 8378 */ - "\x34\xe6\x9c\x88\0" /* offset 8383 */ - "\x35\xe6\x9c\x88\0" /* offset 8388 */ - "\x36\xe6\x9c\x88\0" /* offset 8393 */ - "\x37\xe6\x9c\x88\0" /* offset 8398 */ - "\x38\xe6\x9c\x88\0" /* offset 8403 */ - "\x39\xe6\x9c\x88\0" /* offset 8408 */ - "\x31\x30\xe6\x9c\x88\0" /* offset 8413 */ - "\x31\x31\xe6\x9c\x88\0" /* offset 8419 */ - "\x31\x32\xe6\x9c\x88\0" /* offset 8425 */ - "\xe3\x82\xa2\0" /* offset 8431 */ - "\xe3\x82\xa4\0" /* offset 8435 */ - "\xe3\x82\xa6\0" /* offset 8439 */ - "\xe3\x82\xa8\0" /* offset 8443 */ - "\xe3\x82\xaa\0" /* offset 8447 */ - "\xe3\x82\xab\0" /* offset 8451 */ - "\xe3\x82\xad\0" /* offset 8455 */ - "\xe3\x82\xaf\0" /* offset 8459 */ - "\xe3\x82\xb1\0" /* offset 8463 */ - "\xe3\x82\xb3\0" /* offset 8467 */ - "\xe3\x82\xb5\0" /* offset 8471 */ - "\xe3\x82\xb7\0" /* offset 8475 */ - "\xe3\x82\xb9\0" /* offset 8479 */ - "\xe3\x82\xbb\0" /* offset 8483 */ - "\xe3\x82\xbd\0" /* offset 8487 */ - "\xe3\x82\xbf\0" /* offset 8491 */ - "\xe3\x83\x81\0" /* offset 8495 */ - "\xe3\x83\x84\0" /* offset 8499 */ - "\xe3\x83\x86\0" /* offset 8503 */ - "\xe3\x83\x88\0" /* offset 8507 */ - "\xe3\x83\x8a\0" /* offset 8511 */ - "\xe3\x83\x8b\0" /* offset 8515 */ - "\xe3\x83\x8c\0" /* offset 8519 */ - "\xe3\x83\x8d\0" /* offset 8523 */ - "\xe3\x83\x8e\0" /* offset 8527 */ - "\xe3\x83\x8f\0" /* offset 8531 */ - "\xe3\x83\x92\0" /* offset 8535 */ - "\xe3\x83\x95\0" /* offset 8539 */ - "\xe3\x83\x98\0" /* offset 8543 */ - "\xe3\x83\x9b\0" /* offset 8547 */ - "\xe3\x83\x9e\0" /* offset 8551 */ - "\xe3\x83\x9f\0" /* offset 8555 */ - "\xe3\x83\xa0\0" /* offset 8559 */ - "\xe3\x83\xa1\0" /* offset 8563 */ - "\xe3\x83\xa2\0" /* offset 8567 */ - "\xe3\x83\xa4\0" /* offset 8571 */ - "\xe3\x83\xa6\0" /* offset 8575 */ - "\xe3\x83\xa8\0" /* offset 8579 */ - "\xe3\x83\xa9\0" /* offset 8583 */ - "\xe3\x83\xaa\0" /* offset 8587 */ - "\xe3\x83\xab\0" /* offset 8591 */ - "\xe3\x83\xac\0" /* offset 8595 */ - "\xe3\x83\xad\0" /* offset 8599 */ - "\xe3\x83\xaf\0" /* offset 8603 */ - "\xe3\x83\xb0\0" /* offset 8607 */ - "\xe3\x83\xb1\0" /* offset 8611 */ - "\xe3\x83\xb2\0" /* offset 8615 */ - "\xe3\x82\xa2\xe3\x83\x8f\xe3\x82\x9a\xe3\x83\xbc\xe3\x83\x88\0" /* offset 8619 */ - "\xe3\x82\xa2\xe3\x83\xab\xe3\x83\x95\xe3\x82\xa1\0" /* offset 8635 */ - "\xe3\x82\xa2\xe3\x83\xb3\xe3\x83\x98\xe3\x82\x9a\xe3\x82\xa2\0" /* offset 8648 */ - "\xe3\x82\xa2\xe3\x83\xbc\xe3\x83\xab\0" /* offset 8664 */ - "\xe3\x82\xa4\xe3\x83\x8b\xe3\x83\xb3\xe3\x82\xaf\xe3\x82\x99\0" /* offset 8674 */ - "\xe3\x82\xa4\xe3\x83\xb3\xe3\x83\x81\0" /* offset 8690 */ - "\xe3\x82\xa6\xe3\x82\xa9\xe3\x83\xb3\0" /* offset 8700 */ - "\xe3\x82\xa8\xe3\x82\xb9\xe3\x82\xaf\xe3\x83\xbc\xe3\x83\x88\xe3\x82\x99\0" /* offset 8710 */ - "\xe3\x82\xa8\xe3\x83\xbc\xe3\x82\xab\xe3\x83\xbc\0" /* offset 8729 */ - "\xe3\x82\xaa\xe3\x83\xb3\xe3\x82\xb9\0" /* offset 8742 */ - "\xe3\x82\xaa\xe3\x83\xbc\xe3\x83\xa0\0" /* offset 8752 */ - "\xe3\x82\xab\xe3\x82\xa4\xe3\x83\xaa\0" /* offset 8762 */ - "\xe3\x82\xab\xe3\x83\xa9\xe3\x83\x83\xe3\x83\x88\0" /* offset 8772 */ - "\xe3\x82\xab\xe3\x83\xad\xe3\x83\xaa\xe3\x83\xbc\0" /* offset 8785 */ - "\xe3\x82\xab\xe3\x82\x99\xe3\x83\xad\xe3\x83\xb3\0" /* offset 8798 */ - "\xe3\x82\xab\xe3\x82\x99\xe3\x83\xb3\xe3\x83\x9e\0" /* offset 8811 */ - "\xe3\x82\xad\xe3\x82\x99\xe3\x82\xab\xe3\x82\x99\0" /* offset 8824 */ - "\xe3\x82\xad\xe3\x82\x99\xe3\x83\x8b\xe3\x83\xbc\0" /* offset 8837 */ - "\xe3\x82\xad\xe3\x83\xa5\xe3\x83\xaa\xe3\x83\xbc\0" /* offset 8850 */ - "\xe3\x82\xad\xe3\x82\x99\xe3\x83\xab\xe3\x82\xbf\xe3\x82\x99\xe3\x83\xbc\0" /* offset 8863 */ - "\xe3\x82\xad\xe3\x83\xad\0" /* offset 8882 */ - "\xe3\x82\xad\xe3\x83\xad\xe3\x82\xaf\xe3\x82\x99\xe3\x83\xa9\xe3\x83\xa0\0" /* offset 8889 */ - "\xe3\x82\xad\xe3\x83\xad\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\x88\xe3\x83\xab\0" /* offset 8908 */ - "\xe3\x82\xad\xe3\x83\xad\xe3\x83\xaf\xe3\x83\x83\xe3\x83\x88\0" /* offset 8927 */ - "\xe3\x82\xaf\xe3\x82\x99\xe3\x83\xa9\xe3\x83\xa0\0" /* offset 8943 */ - "\xe3\x82\xaf\xe3\x82\x99\xe3\x83\xa9\xe3\x83\xa0\xe3\x83\x88\xe3\x83\xb3\0" /* offset 8956 */ - "\xe3\x82\xaf\xe3\x83\xab\xe3\x82\xbb\xe3\x82\x99\xe3\x82\xa4\xe3\x83\xad\0" /* offset 8975 */ - "\xe3\x82\xaf\xe3\x83\xad\xe3\x83\xbc\xe3\x83\x8d\0" /* offset 8994 */ - "\xe3\x82\xb1\xe3\x83\xbc\xe3\x82\xb9\0" /* offset 9007 */ - "\xe3\x82\xb3\xe3\x83\xab\xe3\x83\x8a\0" /* offset 9017 */ - "\xe3\x82\xb3\xe3\x83\xbc\xe3\x83\x9b\xe3\x82\x9a\0" /* offset 9027 */ - "\xe3\x82\xb5\xe3\x82\xa4\xe3\x82\xaf\xe3\x83\xab\0" /* offset 9040 */ - "\xe3\x82\xb5\xe3\x83\xb3\xe3\x83\x81\xe3\x83\xbc\xe3\x83\xa0\0" /* offset 9053 */ - "\xe3\x82\xb7\xe3\x83\xaa\xe3\x83\xb3\xe3\x82\xaf\xe3\x82\x99\0" /* offset 9069 */ - "\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x81\0" /* offset 9085 */ - "\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x88\0" /* offset 9095 */ - "\xe3\x82\xbf\xe3\x82\x99\xe3\x83\xbc\xe3\x82\xb9\0" /* offset 9105 */ - "\xe3\x83\x86\xe3\x82\x99\xe3\x82\xb7\0" /* offset 9118 */ - "\xe3\x83\x88\xe3\x82\x99\xe3\x83\xab\0" /* offset 9128 */ - "\xe3\x83\x88\xe3\x83\xb3\0" /* offset 9138 */ - "\xe3\x83\x8a\xe3\x83\x8e\0" /* offset 9145 */ - "\xe3\x83\x8e\xe3\x83\x83\xe3\x83\x88\0" /* offset 9152 */ - "\xe3\x83\x8f\xe3\x82\xa4\xe3\x83\x84\0" /* offset 9162 */ - "\xe3\x83\x8f\xe3\x82\x9a\xe3\x83\xbc\xe3\x82\xbb\xe3\x83\xb3\xe3\x83\x88\0" /* offset 9172 */ - "\xe3\x83\x8f\xe3\x82\x9a\xe3\x83\xbc\xe3\x83\x84\0" /* offset 9191 */ - "\xe3\x83\x8f\xe3\x82\x99\xe3\x83\xbc\xe3\x83\xac\xe3\x83\xab\0" /* offset 9204 */ - "\xe3\x83\x92\xe3\x82\x9a\xe3\x82\xa2\xe3\x82\xb9\xe3\x83\x88\xe3\x83\xab\0" /* offset 9220 */ - "\xe3\x83\x92\xe3\x82\x9a\xe3\x82\xaf\xe3\x83\xab\0" /* offset 9239 */ - "\xe3\x83\x92\xe3\x82\x9a\xe3\x82\xb3\0" /* offset 9252 */ - "\xe3\x83\x92\xe3\x82\x99\xe3\x83\xab\0" /* offset 9262 */ - "\xe3\x83\x95\xe3\x82\xa1\xe3\x83\xa9\xe3\x83\x83\xe3\x83\x88\xe3\x82\x99\0" /* offset 9272 */ - "\xe3\x83\x95\xe3\x82\xa3\xe3\x83\xbc\xe3\x83\x88\0" /* offset 9291 */ - "\xe3\x83\x95\xe3\x82\x99\xe3\x83\x83\xe3\x82\xb7\xe3\x82\xa7\xe3\x83\xab\0" /* offset 9304 */ - "\xe3\x83\x95\xe3\x83\xa9\xe3\x83\xb3\0" /* offset 9323 */ - "\xe3\x83\x98\xe3\x82\xaf\xe3\x82\xbf\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9333 */ - "\xe3\x83\x98\xe3\x82\x9a\xe3\x82\xbd\0" /* offset 9349 */ - "\xe3\x83\x98\xe3\x82\x9a\xe3\x83\x8b\xe3\x83\x92\0" /* offset 9359 */ - "\xe3\x83\x98\xe3\x83\xab\xe3\x83\x84\0" /* offset 9372 */ - "\xe3\x83\x98\xe3\x82\x9a\xe3\x83\xb3\xe3\x82\xb9\0" /* offset 9382 */ - "\xe3\x83\x98\xe3\x82\x9a\xe3\x83\xbc\xe3\x82\xb7\xe3\x82\x99\0" /* offset 9395 */ - "\xe3\x83\x98\xe3\x82\x99\xe3\x83\xbc\xe3\x82\xbf\0" /* offset 9411 */ - "\xe3\x83\x9b\xe3\x82\x9a\xe3\x82\xa4\xe3\x83\xb3\xe3\x83\x88\0" /* offset 9424 */ - "\xe3\x83\x9b\xe3\x82\x99\xe3\x83\xab\xe3\x83\x88\0" /* offset 9440 */ - "\xe3\x83\x9b\xe3\x83\xb3\0" /* offset 9453 */ - "\xe3\x83\x9b\xe3\x82\x9a\xe3\x83\xb3\xe3\x83\x88\xe3\x82\x99\0" /* offset 9460 */ - "\xe3\x83\x9b\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9476 */ - "\xe3\x83\x9b\xe3\x83\xbc\xe3\x83\xb3\0" /* offset 9486 */ - "\xe3\x83\x9e\xe3\x82\xa4\xe3\x82\xaf\xe3\x83\xad\0" /* offset 9496 */ - "\xe3\x83\x9e\xe3\x82\xa4\xe3\x83\xab\0" /* offset 9509 */ - "\xe3\x83\x9e\xe3\x83\x83\xe3\x83\x8f\0" /* offset 9519 */ - "\xe3\x83\x9e\xe3\x83\xab\xe3\x82\xaf\0" /* offset 9529 */ - "\xe3\x83\x9e\xe3\x83\xb3\xe3\x82\xb7\xe3\x83\xa7\xe3\x83\xb3\0" /* offset 9539 */ - "\xe3\x83\x9f\xe3\x82\xaf\xe3\x83\xad\xe3\x83\xb3\0" /* offset 9555 */ - "\xe3\x83\x9f\xe3\x83\xaa\0" /* offset 9568 */ - "\xe3\x83\x9f\xe3\x83\xaa\xe3\x83\x8f\xe3\x82\x99\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9575 */ - "\xe3\x83\xa1\xe3\x82\xab\xe3\x82\x99\0" /* offset 9594 */ - "\xe3\x83\xa1\xe3\x82\xab\xe3\x82\x99\xe3\x83\x88\xe3\x83\xb3\0" /* offset 9604 */ - "\xe3\x83\xa1\xe3\x83\xbc\xe3\x83\x88\xe3\x83\xab\0" /* offset 9620 */ - "\xe3\x83\xa4\xe3\x83\xbc\xe3\x83\x88\xe3\x82\x99\0" /* offset 9633 */ - "\xe3\x83\xa4\xe3\x83\xbc\xe3\x83\xab\0" /* offset 9646 */ - "\xe3\x83\xa6\xe3\x82\xa2\xe3\x83\xb3\0" /* offset 9656 */ - "\xe3\x83\xaa\xe3\x83\x83\xe3\x83\x88\xe3\x83\xab\0" /* offset 9666 */ - "\xe3\x83\xaa\xe3\x83\xa9\0" /* offset 9679 */ - "\xe3\x83\xab\xe3\x83\x92\xe3\x82\x9a\xe3\x83\xbc\0" /* offset 9686 */ - "\xe3\x83\xab\xe3\x83\xbc\xe3\x83\x95\xe3\x82\x99\xe3\x83\xab\0" /* offset 9699 */ - "\xe3\x83\xac\xe3\x83\xa0\0" /* offset 9715 */ - "\xe3\x83\xac\xe3\x83\xb3\xe3\x83\x88\xe3\x82\xb1\xe3\x82\x99\xe3\x83\xb3\0" /* offset 9722 */ - "\xe3\x83\xaf\xe3\x83\x83\xe3\x83\x88\0" /* offset 9741 */ - "\x30\xe7\x82\xb9\0" /* offset 9751 */ - "\x31\xe7\x82\xb9\0" /* offset 9756 */ - "\x32\xe7\x82\xb9\0" /* offset 9761 */ - "\x33\xe7\x82\xb9\0" /* offset 9766 */ - "\x34\xe7\x82\xb9\0" /* offset 9771 */ - "\x35\xe7\x82\xb9\0" /* offset 9776 */ - "\x36\xe7\x82\xb9\0" /* offset 9781 */ - "\x37\xe7\x82\xb9\0" /* offset 9786 */ - "\x38\xe7\x82\xb9\0" /* offset 9791 */ - "\x39\xe7\x82\xb9\0" /* offset 9796 */ - "\x31\x30\xe7\x82\xb9\0" /* offset 9801 */ - "\x31\x31\xe7\x82\xb9\0" /* offset 9807 */ - "\x31\x32\xe7\x82\xb9\0" /* offset 9813 */ - "\x31\x33\xe7\x82\xb9\0" /* offset 9819 */ - "\x31\x34\xe7\x82\xb9\0" /* offset 9825 */ - "\x31\x35\xe7\x82\xb9\0" /* offset 9831 */ - "\x31\x36\xe7\x82\xb9\0" /* offset 9837 */ - "\x31\x37\xe7\x82\xb9\0" /* offset 9843 */ - "\x31\x38\xe7\x82\xb9\0" /* offset 9849 */ - "\x31\x39\xe7\x82\xb9\0" /* offset 9855 */ - "\x32\x30\xe7\x82\xb9\0" /* offset 9861 */ - "\x32\x31\xe7\x82\xb9\0" /* offset 9867 */ - "\x32\x32\xe7\x82\xb9\0" /* offset 9873 */ - "\x32\x33\xe7\x82\xb9\0" /* offset 9879 */ - "\x32\x34\xe7\x82\xb9\0" /* offset 9885 */ - "\x68\x50\x61\0" /* offset 9891 */ - "\x64\x61\0" /* offset 9895 */ - "\x41\x55\0" /* offset 9898 */ - "\x62\x61\x72\0" /* offset 9901 */ - "\x6f\x56\0" /* offset 9905 */ - "\x70\x63\0" /* offset 9908 */ - "\xe5\xb9\xb3\xe6\x88\x90\0" /* offset 9911 */ - "\xe6\x98\xad\xe5\x92\x8c\0" /* offset 9918 */ - "\xe5\xa4\xa7\xe6\xad\xa3\0" /* offset 9925 */ - "\xe6\x98\x8e\xe6\xb2\xbb\0" /* offset 9932 */ - "\xe6\xa0\xaa\xe5\xbc\x8f\xe4\xbc\x9a\xe7\xa4\xbe\0" /* offset 9939 */ - "\x70\x41\0" /* offset 9952 */ - "\x6e\x41\0" /* offset 9955 */ - "\xce\xbc\x41\0" /* offset 9958 */ - "\x6d\x41\0" /* offset 9962 */ - "\x6b\x41\0" /* offset 9965 */ - "\x4b\x42\0" /* offset 9968 */ - "\x4d\x42\0" /* offset 9971 */ - "\x47\x42\0" /* offset 9974 */ - "\x63\x61\x6c\0" /* offset 9977 */ - "\x6b\x63\x61\x6c\0" /* offset 9981 */ - "\x70\x46\0" /* offset 9986 */ - "\x6e\x46\0" /* offset 9989 */ - "\xce\xbc\x46\0" /* offset 9992 */ - "\xce\xbc\x67\0" /* offset 9996 */ - "\x6d\x67\0" /* offset 10000 */ - "\x6b\x67\0" /* offset 10003 */ - "\x48\x7a\0" /* offset 10006 */ - "\x6b\x48\x7a\0" /* offset 10009 */ - "\x4d\x48\x7a\0" /* offset 10013 */ - "\x47\x48\x7a\0" /* offset 10017 */ - "\x54\x48\x7a\0" /* offset 10021 */ - "\xce\xbc\x6c\0" /* offset 10025 */ - "\x6d\x6c\0" /* offset 10029 */ - "\x64\x6c\0" /* offset 10032 */ - "\x6b\x6c\0" /* offset 10035 */ - "\x66\x6d\0" /* offset 10038 */ - "\x6e\x6d\0" /* offset 10041 */ - "\xce\xbc\x6d\0" /* offset 10044 */ - "\x6d\x6d\0" /* offset 10048 */ - "\x63\x6d\0" /* offset 10051 */ - "\x6b\x6d\0" /* offset 10054 */ - "\x6d\x6d\x32\0" /* offset 10057 */ - "\x63\x6d\x32\0" /* offset 10061 */ - "\x6d\x32\0" /* offset 10065 */ - "\x6b\x6d\x32\0" /* offset 10068 */ - "\x6d\x6d\x33\0" /* offset 10072 */ - "\x63\x6d\x33\0" /* offset 10076 */ - "\x6d\x33\0" /* offset 10080 */ - "\x6b\x6d\x33\0" /* offset 10083 */ - "\x6d\xe2\x88\x95\x73\0" /* offset 10087 */ - "\x6d\xe2\x88\x95\x73\x32\0" /* offset 10093 */ - "\x50\x61\0" /* offset 10100 */ - "\x6b\x50\x61\0" /* offset 10103 */ - "\x4d\x50\x61\0" /* offset 10107 */ - "\x47\x50\x61\0" /* offset 10111 */ - "\x72\x61\x64\0" /* offset 10115 */ - "\x72\x61\x64\xe2\x88\x95\x73\0" /* offset 10119 */ - "\x72\x61\x64\xe2\x88\x95\x73\x32\0" /* offset 10127 */ - "\x70\x73\0" /* offset 10136 */ - "\x6e\x73\0" /* offset 10139 */ - "\xce\xbc\x73\0" /* offset 10142 */ - "\x6d\x73\0" /* offset 10146 */ - "\x70\x56\0" /* offset 10149 */ - "\x6e\x56\0" /* offset 10152 */ - "\xce\xbc\x56\0" /* offset 10155 */ - "\x6d\x56\0" /* offset 10159 */ - "\x6b\x56\0" /* offset 10162 */ - "\x4d\x56\0" /* offset 10165 */ - "\x70\x57\0" /* offset 10168 */ - "\x6e\x57\0" /* offset 10171 */ - "\xce\xbc\x57\0" /* offset 10174 */ - "\x6d\x57\0" /* offset 10178 */ - "\x6b\x57\0" /* offset 10181 */ - "\x4d\x57\0" /* offset 10184 */ - "\x6b\xce\xa9\0" /* offset 10187 */ - "\x4d\xce\xa9\0" /* offset 10191 */ - "\x61\x2e\x6d\x2e\0" /* offset 10195 */ - "\x42\x71\0" /* offset 10200 */ - "\x63\x63\0" /* offset 10203 */ - "\x63\x64\0" /* offset 10206 */ - "\x43\xe2\x88\x95\x6b\x67\0" /* offset 10209 */ - "\x43\x6f\x2e\0" /* offset 10216 */ - "\x64\x42\0" /* offset 10220 */ - "\x47\x79\0" /* offset 10223 */ - "\x68\x61\0" /* offset 10226 */ - "\x48\x50\0" /* offset 10229 */ - "\x69\x6e\0" /* offset 10232 */ - "\x4b\x4b\0" /* offset 10235 */ - "\x4b\x4d\0" /* offset 10238 */ - "\x6b\x74\0" /* offset 10241 */ - "\x6c\x6d\0" /* offset 10244 */ - "\x6c\x6e\0" /* offset 10247 */ - "\x6c\x6f\x67\0" /* offset 10250 */ - "\x6c\x78\0" /* offset 10254 */ - "\x6d\x62\0" /* offset 10257 */ - "\x6d\x69\x6c\0" /* offset 10260 */ - "\x6d\x6f\x6c\0" /* offset 10264 */ - "\x50\x48\0" /* offset 10268 */ - "\x70\x2e\x6d\x2e\0" /* offset 10271 */ - "\x50\x50\x4d\0" /* offset 10276 */ - "\x50\x52\0" /* offset 10280 */ - "\x73\x72\0" /* offset 10283 */ - "\x53\x76\0" /* offset 10286 */ - "\x57\x62\0" /* offset 10289 */ - "\x31\xe6\x97\xa5\0" /* offset 10292 */ - "\x32\xe6\x97\xa5\0" /* offset 10297 */ - "\x33\xe6\x97\xa5\0" /* offset 10302 */ - "\x34\xe6\x97\xa5\0" /* offset 10307 */ - "\x35\xe6\x97\xa5\0" /* offset 10312 */ - "\x36\xe6\x97\xa5\0" /* offset 10317 */ - "\x37\xe6\x97\xa5\0" /* offset 10322 */ - "\x38\xe6\x97\xa5\0" /* offset 10327 */ - "\x39\xe6\x97\xa5\0" /* offset 10332 */ - "\x31\x30\xe6\x97\xa5\0" /* offset 10337 */ - "\x31\x31\xe6\x97\xa5\0" /* offset 10343 */ - "\x31\x32\xe6\x97\xa5\0" /* offset 10349 */ - "\x31\x33\xe6\x97\xa5\0" /* offset 10355 */ - "\x31\x34\xe6\x97\xa5\0" /* offset 10361 */ - "\x31\x35\xe6\x97\xa5\0" /* offset 10367 */ - "\x31\x36\xe6\x97\xa5\0" /* offset 10373 */ - "\x31\x37\xe6\x97\xa5\0" /* offset 10379 */ - "\x31\x38\xe6\x97\xa5\0" /* offset 10385 */ - "\x31\x39\xe6\x97\xa5\0" /* offset 10391 */ - "\x32\x30\xe6\x97\xa5\0" /* offset 10397 */ - "\x32\x31\xe6\x97\xa5\0" /* offset 10403 */ - "\x32\x32\xe6\x97\xa5\0" /* offset 10409 */ - "\x32\x33\xe6\x97\xa5\0" /* offset 10415 */ - "\x32\x34\xe6\x97\xa5\0" /* offset 10421 */ - "\x32\x35\xe6\x97\xa5\0" /* offset 10427 */ - "\x32\x36\xe6\x97\xa5\0" /* offset 10433 */ - "\x32\x37\xe6\x97\xa5\0" /* offset 10439 */ - "\x32\x38\xe6\x97\xa5\0" /* offset 10445 */ - "\x32\x39\xe6\x97\xa5\0" /* offset 10451 */ - "\x33\x30\xe6\x97\xa5\0" /* offset 10457 */ - "\x33\x31\xe6\x97\xa5\0" /* offset 10463 */ - "\xe8\xb1\x88\0" /* offset 10469 */ - "\xe6\x9b\xb4\0" /* offset 10473 */ - "\xe8\xb3\x88\0" /* offset 10477 */ - "\xe6\xbb\x91\0" /* offset 10481 */ - "\xe4\xb8\xb2\0" /* offset 10485 */ - "\xe5\x8f\xa5\0" /* offset 10489 */ - "\xe5\xa5\x91\0" /* offset 10493 */ - "\xe5\x96\x87\0" /* offset 10497 */ - "\xe5\xa5\x88\0" /* offset 10501 */ - "\xe6\x87\xb6\0" /* offset 10505 */ - "\xe7\x99\xa9\0" /* offset 10509 */ - "\xe7\xbe\x85\0" /* offset 10513 */ - "\xe8\x98\xbf\0" /* offset 10517 */ - "\xe8\x9e\xba\0" /* offset 10521 */ - "\xe8\xa3\xb8\0" /* offset 10525 */ - "\xe9\x82\x8f\0" /* offset 10529 */ - "\xe6\xa8\x82\0" /* offset 10533 */ - "\xe6\xb4\x9b\0" /* offset 10537 */ - "\xe7\x83\x99\0" /* offset 10541 */ - "\xe7\x8f\x9e\0" /* offset 10545 */ - "\xe8\x90\xbd\0" /* offset 10549 */ - "\xe9\x85\xaa\0" /* offset 10553 */ - "\xe9\xa7\xb1\0" /* offset 10557 */ - "\xe4\xba\x82\0" /* offset 10561 */ - "\xe5\x8d\xb5\0" /* offset 10565 */ - "\xe6\xac\x84\0" /* offset 10569 */ - "\xe7\x88\x9b\0" /* offset 10573 */ - "\xe8\x98\xad\0" /* offset 10577 */ - "\xe9\xb8\x9e\0" /* offset 10581 */ - "\xe5\xb5\x90\0" /* offset 10585 */ - "\xe6\xbf\xab\0" /* offset 10589 */ - "\xe8\x97\x8d\0" /* offset 10593 */ - "\xe8\xa5\xa4\0" /* offset 10597 */ - "\xe6\x8b\x89\0" /* offset 10601 */ - "\xe8\x87\x98\0" /* offset 10605 */ - "\xe8\xa0\x9f\0" /* offset 10609 */ - "\xe5\xbb\x8a\0" /* offset 10613 */ - "\xe6\x9c\x97\0" /* offset 10617 */ - "\xe6\xb5\xaa\0" /* offset 10621 */ - "\xe7\x8b\xbc\0" /* offset 10625 */ - "\xe9\x83\x8e\0" /* offset 10629 */ - "\xe4\xbe\x86\0" /* offset 10633 */ - "\xe5\x86\xb7\0" /* offset 10637 */ - "\xe5\x8b\x9e\0" /* offset 10641 */ - "\xe6\x93\x84\0" /* offset 10645 */ - "\xe6\xab\x93\0" /* offset 10649 */ - "\xe7\x88\x90\0" /* offset 10653 */ - "\xe7\x9b\xa7\0" /* offset 10657 */ - "\xe8\x98\x86\0" /* offset 10661 */ - "\xe8\x99\x9c\0" /* offset 10665 */ - "\xe8\xb7\xaf\0" /* offset 10669 */ - "\xe9\x9c\xb2\0" /* offset 10673 */ - "\xe9\xad\xaf\0" /* offset 10677 */ - "\xe9\xb7\xba\0" /* offset 10681 */ - "\xe7\xa2\x8c\0" /* offset 10685 */ - "\xe7\xa5\xbf\0" /* offset 10689 */ - "\xe7\xb6\xa0\0" /* offset 10693 */ - "\xe8\x8f\x89\0" /* offset 10697 */ - "\xe9\x8c\x84\0" /* offset 10701 */ - "\xe8\xab\x96\0" /* offset 10705 */ - "\xe5\xa3\x9f\0" /* offset 10709 */ - "\xe5\xbc\x84\0" /* offset 10713 */ - "\xe7\xb1\xa0\0" /* offset 10717 */ - "\xe8\x81\xbe\0" /* offset 10721 */ - "\xe7\x89\xa2\0" /* offset 10725 */ - "\xe7\xa3\x8a\0" /* offset 10729 */ - "\xe8\xb3\x82\0" /* offset 10733 */ - "\xe9\x9b\xb7\0" /* offset 10737 */ - "\xe5\xa3\x98\0" /* offset 10741 */ - "\xe5\xb1\xa2\0" /* offset 10745 */ - "\xe6\xa8\x93\0" /* offset 10749 */ - "\xe6\xb7\x9a\0" /* offset 10753 */ - "\xe6\xbc\x8f\0" /* offset 10757 */ - "\xe7\xb4\xaf\0" /* offset 10761 */ - "\xe7\xb8\xb7\0" /* offset 10765 */ - "\xe9\x99\x8b\0" /* offset 10769 */ - "\xe5\x8b\x92\0" /* offset 10773 */ - "\xe8\x82\x8b\0" /* offset 10777 */ - "\xe5\x87\x9c\0" /* offset 10781 */ - "\xe5\x87\x8c\0" /* offset 10785 */ - "\xe7\xa8\x9c\0" /* offset 10789 */ - "\xe7\xb6\xbe\0" /* offset 10793 */ - "\xe8\x8f\xb1\0" /* offset 10797 */ - "\xe9\x99\xb5\0" /* offset 10801 */ - "\xe8\xae\x80\0" /* offset 10805 */ - "\xe6\x8b\x8f\0" /* offset 10809 */ - "\xe8\xab\xbe\0" /* offset 10813 */ - "\xe4\xb8\xb9\0" /* offset 10817 */ - "\xe5\xaf\xa7\0" /* offset 10821 */ - "\xe6\x80\x92\0" /* offset 10825 */ - "\xe7\x8e\x87\0" /* offset 10829 */ - "\xe7\x95\xb0\0" /* offset 10833 */ - "\xe5\x8c\x97\0" /* offset 10837 */ - "\xe7\xa3\xbb\0" /* offset 10841 */ - "\xe4\xbe\xbf\0" /* offset 10845 */ - "\xe5\xbe\xa9\0" /* offset 10849 */ - "\xe4\xb8\x8d\0" /* offset 10853 */ - "\xe6\xb3\x8c\0" /* offset 10857 */ - "\xe6\x95\xb8\0" /* offset 10861 */ - "\xe7\xb4\xa2\0" /* offset 10865 */ - "\xe5\x8f\x83\0" /* offset 10869 */ - "\xe5\xa1\x9e\0" /* offset 10873 */ - "\xe7\x9c\x81\0" /* offset 10877 */ - "\xe8\x91\x89\0" /* offset 10881 */ - "\xe8\xaa\xaa\0" /* offset 10885 */ - "\xe6\xae\xba\0" /* offset 10889 */ - "\xe6\xb2\x88\0" /* offset 10893 */ - "\xe6\x8b\xbe\0" /* offset 10897 */ - "\xe8\x8b\xa5\0" /* offset 10901 */ - "\xe6\x8e\xa0\0" /* offset 10905 */ - "\xe7\x95\xa5\0" /* offset 10909 */ - "\xe4\xba\xae\0" /* offset 10913 */ - "\xe5\x85\xa9\0" /* offset 10917 */ - "\xe5\x87\x89\0" /* offset 10921 */ - "\xe6\xa2\x81\0" /* offset 10925 */ - "\xe7\xb3\xa7\0" /* offset 10929 */ - "\xe8\x89\xaf\0" /* offset 10933 */ - "\xe8\xab\x92\0" /* offset 10937 */ - "\xe9\x87\x8f\0" /* offset 10941 */ - "\xe5\x8b\xb5\0" /* offset 10945 */ - "\xe5\x91\x82\0" /* offset 10949 */ - "\xe5\xbb\xac\0" /* offset 10953 */ - "\xe6\x97\x85\0" /* offset 10957 */ - "\xe6\xbf\xbe\0" /* offset 10961 */ - "\xe7\xa4\xaa\0" /* offset 10965 */ - "\xe9\x96\xad\0" /* offset 10969 */ - "\xe9\xa9\xaa\0" /* offset 10973 */ - "\xe9\xba\x97\0" /* offset 10977 */ - "\xe9\xbb\x8e\0" /* offset 10981 */ - "\xe6\x9b\x86\0" /* offset 10985 */ - "\xe6\xad\xb7\0" /* offset 10989 */ - "\xe8\xbd\xa2\0" /* offset 10993 */ - "\xe5\xb9\xb4\0" /* offset 10997 */ - "\xe6\x86\x90\0" /* offset 11001 */ - "\xe6\x88\x80\0" /* offset 11005 */ - "\xe6\x92\x9a\0" /* offset 11009 */ - "\xe6\xbc\xa3\0" /* offset 11013 */ - "\xe7\x85\x89\0" /* offset 11017 */ - "\xe7\x92\x89\0" /* offset 11021 */ - "\xe7\xa7\x8a\0" /* offset 11025 */ - "\xe7\xb7\xb4\0" /* offset 11029 */ - "\xe8\x81\xaf\0" /* offset 11033 */ - "\xe8\xbc\xa6\0" /* offset 11037 */ - "\xe8\x93\xae\0" /* offset 11041 */ - "\xe9\x80\xa3\0" /* offset 11045 */ - "\xe9\x8d\x8a\0" /* offset 11049 */ - "\xe5\x88\x97\0" /* offset 11053 */ - "\xe5\x8a\xa3\0" /* offset 11057 */ - "\xe5\x92\xbd\0" /* offset 11061 */ - "\xe7\x83\x88\0" /* offset 11065 */ - "\xe8\xa3\x82\0" /* offset 11069 */ - "\xe5\xbb\x89\0" /* offset 11073 */ - "\xe5\xbf\xb5\0" /* offset 11077 */ - "\xe6\x8d\xbb\0" /* offset 11081 */ - "\xe6\xae\xae\0" /* offset 11085 */ - "\xe7\xb0\xbe\0" /* offset 11089 */ - "\xe7\x8d\xb5\0" /* offset 11093 */ - "\xe4\xbb\xa4\0" /* offset 11097 */ - "\xe5\x9b\xb9\0" /* offset 11101 */ - "\xe5\xb6\xba\0" /* offset 11105 */ - "\xe6\x80\x9c\0" /* offset 11109 */ - "\xe7\x8e\xb2\0" /* offset 11113 */ - "\xe7\x91\xa9\0" /* offset 11117 */ - "\xe7\xbe\x9a\0" /* offset 11121 */ - "\xe8\x81\x86\0" /* offset 11125 */ - "\xe9\x88\xb4\0" /* offset 11129 */ - "\xe9\x9b\xb6\0" /* offset 11133 */ - "\xe9\x9d\x88\0" /* offset 11137 */ - "\xe9\xa0\x98\0" /* offset 11141 */ - "\xe4\xbe\x8b\0" /* offset 11145 */ - "\xe7\xa6\xae\0" /* offset 11149 */ - "\xe9\x86\xb4\0" /* offset 11153 */ - "\xe9\x9a\xb8\0" /* offset 11157 */ - "\xe6\x83\xa1\0" /* offset 11161 */ - "\xe4\xba\x86\0" /* offset 11165 */ - "\xe5\x83\x9a\0" /* offset 11169 */ - "\xe5\xaf\xae\0" /* offset 11173 */ - "\xe5\xb0\xbf\0" /* offset 11177 */ - "\xe6\x96\x99\0" /* offset 11181 */ - "\xe7\x87\x8e\0" /* offset 11185 */ - "\xe7\x99\x82\0" /* offset 11189 */ - "\xe8\x93\xbc\0" /* offset 11193 */ - "\xe9\x81\xbc\0" /* offset 11197 */ - "\xe6\x9a\x88\0" /* offset 11201 */ - "\xe9\x98\xae\0" /* offset 11205 */ - "\xe5\x8a\x89\0" /* offset 11209 */ - "\xe6\x9d\xbb\0" /* offset 11213 */ - "\xe6\x9f\xb3\0" /* offset 11217 */ - "\xe6\xb5\x81\0" /* offset 11221 */ - "\xe6\xba\x9c\0" /* offset 11225 */ - "\xe7\x90\x89\0" /* offset 11229 */ - "\xe7\x95\x99\0" /* offset 11233 */ - "\xe7\xa1\xab\0" /* offset 11237 */ - "\xe7\xb4\x90\0" /* offset 11241 */ - "\xe9\xa1\x9e\0" /* offset 11245 */ - "\xe6\x88\xae\0" /* offset 11249 */ - "\xe9\x99\xb8\0" /* offset 11253 */ - "\xe5\x80\xab\0" /* offset 11257 */ - "\xe5\xb4\x99\0" /* offset 11261 */ - "\xe6\xb7\xaa\0" /* offset 11265 */ - "\xe8\xbc\xaa\0" /* offset 11269 */ - "\xe5\xbe\x8b\0" /* offset 11273 */ - "\xe6\x85\x84\0" /* offset 11277 */ - "\xe6\xa0\x97\0" /* offset 11281 */ - "\xe9\x9a\x86\0" /* offset 11285 */ - "\xe5\x88\xa9\0" /* offset 11289 */ - "\xe5\x90\x8f\0" /* offset 11293 */ - "\xe5\xb1\xa5\0" /* offset 11297 */ - "\xe6\x98\x93\0" /* offset 11301 */ - "\xe6\x9d\x8e\0" /* offset 11305 */ - "\xe6\xa2\xa8\0" /* offset 11309 */ - "\xe6\xb3\xa5\0" /* offset 11313 */ - "\xe7\x90\x86\0" /* offset 11317 */ - "\xe7\x97\xa2\0" /* offset 11321 */ - "\xe7\xbd\xb9\0" /* offset 11325 */ - "\xe8\xa3\x8f\0" /* offset 11329 */ - "\xe8\xa3\xa1\0" /* offset 11333 */ - "\xe9\x9b\xa2\0" /* offset 11337 */ - "\xe5\x8c\xbf\0" /* offset 11341 */ - "\xe6\xba\xba\0" /* offset 11345 */ - "\xe5\x90\x9d\0" /* offset 11349 */ - "\xe7\x87\x90\0" /* offset 11353 */ - "\xe7\x92\x98\0" /* offset 11357 */ - "\xe8\x97\xba\0" /* offset 11361 */ - "\xe9\x9a\xa3\0" /* offset 11365 */ - "\xe9\xb1\x97\0" /* offset 11369 */ - "\xe9\xba\x9f\0" /* offset 11373 */ - "\xe6\x9e\x97\0" /* offset 11377 */ - "\xe6\xb7\x8b\0" /* offset 11381 */ - "\xe8\x87\xa8\0" /* offset 11385 */ - "\xe7\xac\xa0\0" /* offset 11389 */ - "\xe7\xb2\x92\0" /* offset 11393 */ - "\xe7\x8b\x80\0" /* offset 11397 */ - "\xe7\x82\x99\0" /* offset 11401 */ - "\xe8\xad\x98\0" /* offset 11405 */ - "\xe4\xbb\x80\0" /* offset 11409 */ - "\xe8\x8c\xb6\0" /* offset 11413 */ - "\xe5\x88\xba\0" /* offset 11417 */ - "\xe5\x88\x87\0" /* offset 11421 */ - "\xe5\xba\xa6\0" /* offset 11425 */ - "\xe6\x8b\x93\0" /* offset 11429 */ - "\xe7\xb3\x96\0" /* offset 11433 */ - "\xe5\xae\x85\0" /* offset 11437 */ - "\xe6\xb4\x9e\0" /* offset 11441 */ - "\xe6\x9a\xb4\0" /* offset 11445 */ - "\xe8\xbc\xbb\0" /* offset 11449 */ - "\xe9\x99\x8d\0" /* offset 11453 */ - "\xe5\xbb\x93\0" /* offset 11457 */ - "\xe5\x85\x80\0" /* offset 11461 */ - "\xe5\x97\x80\0" /* offset 11465 */ - "\xe5\xa1\x9a\0" /* offset 11469 */ - "\xe6\x99\xb4\0" /* offset 11473 */ - "\xe5\x87\x9e\0" /* offset 11477 */ - "\xe7\x8c\xaa\0" /* offset 11481 */ - "\xe7\x9b\x8a\0" /* offset 11485 */ - "\xe7\xa4\xbc\0" /* offset 11489 */ - "\xe7\xa5\x9e\0" /* offset 11493 */ - "\xe7\xa5\xa5\0" /* offset 11497 */ - "\xe7\xa6\x8f\0" /* offset 11501 */ - "\xe9\x9d\x96\0" /* offset 11505 */ - "\xe7\xb2\xbe\0" /* offset 11509 */ - "\xe8\x98\x92\0" /* offset 11513 */ - "\xe8\xab\xb8\0" /* offset 11517 */ - "\xe9\x80\xb8\0" /* offset 11521 */ - "\xe9\x83\xbd\0" /* offset 11525 */ - "\xe9\xa3\xaf\0" /* offset 11529 */ - "\xe9\xa3\xbc\0" /* offset 11533 */ - "\xe9\xa4\xa8\0" /* offset 11537 */ - "\xe9\xb6\xb4\0" /* offset 11541 */ - "\xe4\xbe\xae\0" /* offset 11545 */ - "\xe5\x83\xa7\0" /* offset 11549 */ - "\xe5\x85\x8d\0" /* offset 11553 */ - "\xe5\x8b\x89\0" /* offset 11557 */ - "\xe5\x8b\xa4\0" /* offset 11561 */ - "\xe5\x8d\x91\0" /* offset 11565 */ - "\xe5\x96\x9d\0" /* offset 11569 */ - "\xe5\x98\x86\0" /* offset 11573 */ - "\xe5\x99\xa8\0" /* offset 11577 */ - "\xe5\xa1\x80\0" /* offset 11581 */ - "\xe5\xa2\xa8\0" /* offset 11585 */ - "\xe5\xb1\xa4\0" /* offset 11589 */ - "\xe6\x82\x94\0" /* offset 11593 */ - "\xe6\x85\xa8\0" /* offset 11597 */ - "\xe6\x86\x8e\0" /* offset 11601 */ - "\xe6\x87\xb2\0" /* offset 11605 */ - "\xe6\x95\x8f\0" /* offset 11609 */ - "\xe6\x97\xa2\0" /* offset 11613 */ - "\xe6\x9a\x91\0" /* offset 11617 */ - "\xe6\xa2\x85\0" /* offset 11621 */ - "\xe6\xb5\xb7\0" /* offset 11625 */ - "\xe6\xb8\x9a\0" /* offset 11629 */ - "\xe6\xbc\xa2\0" /* offset 11633 */ - "\xe7\x85\xae\0" /* offset 11637 */ - "\xe7\x88\xab\0" /* offset 11641 */ - "\xe7\x90\xa2\0" /* offset 11645 */ - "\xe7\xa2\x91\0" /* offset 11649 */ - "\xe7\xa5\x89\0" /* offset 11653 */ - "\xe7\xa5\x88\0" /* offset 11657 */ - "\xe7\xa5\x90\0" /* offset 11661 */ - "\xe7\xa5\x96\0" /* offset 11665 */ - "\xe7\xa6\x8d\0" /* offset 11669 */ - "\xe7\xa6\x8e\0" /* offset 11673 */ - "\xe7\xa9\x80\0" /* offset 11677 */ - "\xe7\xaa\x81\0" /* offset 11681 */ - "\xe7\xaf\x80\0" /* offset 11685 */ - "\xe7\xb8\x89\0" /* offset 11689 */ - "\xe7\xb9\x81\0" /* offset 11693 */ - "\xe7\xbd\xb2\0" /* offset 11697 */ - "\xe8\x80\x85\0" /* offset 11701 */ - "\xe8\x87\xad\0" /* offset 11705 */ - "\xe8\x89\xb9\0" /* offset 11709 */ - "\xe8\x91\x97\0" /* offset 11713 */ - "\xe8\xa4\x90\0" /* offset 11717 */ - "\xe8\xa6\x96\0" /* offset 11721 */ - "\xe8\xac\x81\0" /* offset 11725 */ - "\xe8\xac\xb9\0" /* offset 11729 */ - "\xe8\xb3\x93\0" /* offset 11733 */ - "\xe8\xb4\x88\0" /* offset 11737 */ - "\xe8\xbe\xb6\0" /* offset 11741 */ - "\xe9\x9b\xa3\0" /* offset 11745 */ - "\xe9\x9f\xbf\0" /* offset 11749 */ - "\xe9\xa0\xbb\0" /* offset 11753 */ - "\x66\x66\0" /* offset 11757 */ - "\x66\x69\0" /* offset 11760 */ - "\x66\x6c\0" /* offset 11763 */ - "\x66\x66\x69\0" /* offset 11766 */ - "\x66\x66\x6c\0" /* offset 11770 */ - "\x73\x74\0" /* offset 11774 */ - "\xd5\xb4\xd5\xb6\0" /* offset 11777 */ - "\xd5\xb4\xd5\xa5\0" /* offset 11782 */ - "\xd5\xb4\xd5\xab\0" /* offset 11787 */ - "\xd5\xbe\xd5\xb6\0" /* offset 11792 */ - "\xd5\xb4\xd5\xad\0" /* offset 11797 */ - "\xd7\x99\xd6\xb4\0" /* offset 11802 */ - "\xd7\xb2\xd6\xb7\0" /* offset 11807 */ - "\xd7\xa2\0" /* offset 11812 */ - "\xd7\x94\0" /* offset 11815 */ - "\xd7\x9b\0" /* offset 11818 */ - "\xd7\x9c\0" /* offset 11821 */ - "\xd7\x9d\0" /* offset 11824 */ - "\xd7\xa8\0" /* offset 11827 */ - "\xd7\xaa\0" /* offset 11830 */ - "\xd7\xa9\xd7\x81\0" /* offset 11833 */ - "\xd7\xa9\xd7\x82\0" /* offset 11838 */ - "\xd7\xa9\xd6\xbc\xd7\x81\0" /* offset 11843 */ - "\xd7\xa9\xd6\xbc\xd7\x82\0" /* offset 11850 */ - "\xd7\x90\xd6\xb7\0" /* offset 11857 */ - "\xd7\x90\xd6\xb8\0" /* offset 11862 */ - "\xd7\x90\xd6\xbc\0" /* offset 11867 */ - "\xd7\x91\xd6\xbc\0" /* offset 11872 */ - "\xd7\x92\xd6\xbc\0" /* offset 11877 */ - "\xd7\x93\xd6\xbc\0" /* offset 11882 */ - "\xd7\x94\xd6\xbc\0" /* offset 11887 */ - "\xd7\x95\xd6\xbc\0" /* offset 11892 */ - "\xd7\x96\xd6\xbc\0" /* offset 11897 */ - "\xd7\x98\xd6\xbc\0" /* offset 11902 */ - "\xd7\x99\xd6\xbc\0" /* offset 11907 */ - "\xd7\x9a\xd6\xbc\0" /* offset 11912 */ - "\xd7\x9b\xd6\xbc\0" /* offset 11917 */ - "\xd7\x9c\xd6\xbc\0" /* offset 11922 */ - "\xd7\x9e\xd6\xbc\0" /* offset 11927 */ - "\xd7\xa0\xd6\xbc\0" /* offset 11932 */ - "\xd7\xa1\xd6\xbc\0" /* offset 11937 */ - "\xd7\xa3\xd6\xbc\0" /* offset 11942 */ - "\xd7\xa4\xd6\xbc\0" /* offset 11947 */ - "\xd7\xa6\xd6\xbc\0" /* offset 11952 */ - "\xd7\xa7\xd6\xbc\0" /* offset 11957 */ - "\xd7\xa8\xd6\xbc\0" /* offset 11962 */ - "\xd7\xa9\xd6\xbc\0" /* offset 11967 */ - "\xd7\xaa\xd6\xbc\0" /* offset 11972 */ - "\xd7\x95\xd6\xb9\0" /* offset 11977 */ - "\xd7\x91\xd6\xbf\0" /* offset 11982 */ - "\xd7\x9b\xd6\xbf\0" /* offset 11987 */ - "\xd7\xa4\xd6\xbf\0" /* offset 11992 */ - "\xd7\x90\xd7\x9c\0" /* offset 11997 */ - "\xd9\xb1\0" /* offset 12002 */ - "\xd9\xbb\0" /* offset 12005 */ - "\xd9\xbe\0" /* offset 12008 */ - "\xda\x80\0" /* offset 12011 */ - "\xd9\xba\0" /* offset 12014 */ - "\xd9\xbf\0" /* offset 12017 */ - "\xd9\xb9\0" /* offset 12020 */ - "\xda\xa4\0" /* offset 12023 */ - "\xda\xa6\0" /* offset 12026 */ - "\xda\x84\0" /* offset 12029 */ - "\xda\x83\0" /* offset 12032 */ - "\xda\x86\0" /* offset 12035 */ - "\xda\x87\0" /* offset 12038 */ - "\xda\x8d\0" /* offset 12041 */ - "\xda\x8c\0" /* offset 12044 */ - "\xda\x8e\0" /* offset 12047 */ - "\xda\x88\0" /* offset 12050 */ - "\xda\x98\0" /* offset 12053 */ - "\xda\x91\0" /* offset 12056 */ - "\xda\xa9\0" /* offset 12059 */ - "\xda\xaf\0" /* offset 12062 */ - "\xda\xb3\0" /* offset 12065 */ - "\xda\xb1\0" /* offset 12068 */ - "\xda\xba\0" /* offset 12071 */ - "\xda\xbb\0" /* offset 12074 */ - "\xdb\x81\0" /* offset 12077 */ - "\xda\xbe\0" /* offset 12080 */ - "\xdb\x92\0" /* offset 12083 */ - "\xda\xad\0" /* offset 12086 */ - "\xdb\x87\0" /* offset 12089 */ - "\xdb\x86\0" /* offset 12092 */ - "\xdb\x88\0" /* offset 12095 */ - "\xdb\x8b\0" /* offset 12098 */ - "\xdb\x85\0" /* offset 12101 */ - "\xdb\x89\0" /* offset 12104 */ - "\xdb\x90\0" /* offset 12107 */ - "\xd9\x89\0" /* offset 12110 */ - "\xd9\x8a\xd9\x94\xd8\xa7\0" /* offset 12113 */ - "\xd9\x8a\xd9\x94\xdb\x95\0" /* offset 12120 */ - "\xd9\x8a\xd9\x94\xd9\x88\0" /* offset 12127 */ - "\xd9\x8a\xd9\x94\xdb\x87\0" /* offset 12134 */ - "\xd9\x8a\xd9\x94\xdb\x86\0" /* offset 12141 */ - "\xd9\x8a\xd9\x94\xdb\x88\0" /* offset 12148 */ - "\xd9\x8a\xd9\x94\xdb\x90\0" /* offset 12155 */ - "\xd9\x8a\xd9\x94\xd9\x89\0" /* offset 12162 */ - "\xdb\x8c\0" /* offset 12169 */ - "\xd9\x8a\xd9\x94\xd8\xac\0" /* offset 12172 */ - "\xd9\x8a\xd9\x94\xd8\xad\0" /* offset 12179 */ - "\xd9\x8a\xd9\x94\xd9\x85\0" /* offset 12186 */ - "\xd9\x8a\xd9\x94\xd9\x8a\0" /* offset 12193 */ - "\xd8\xa8\xd8\xac\0" /* offset 12200 */ - "\xd8\xa8\xd8\xad\0" /* offset 12205 */ - "\xd8\xa8\xd8\xae\0" /* offset 12210 */ - "\xd8\xa8\xd9\x85\0" /* offset 12215 */ - "\xd8\xa8\xd9\x89\0" /* offset 12220 */ - "\xd8\xa8\xd9\x8a\0" /* offset 12225 */ - "\xd8\xaa\xd8\xac\0" /* offset 12230 */ - "\xd8\xaa\xd8\xad\0" /* offset 12235 */ - "\xd8\xaa\xd8\xae\0" /* offset 12240 */ - "\xd8\xaa\xd9\x85\0" /* offset 12245 */ - "\xd8\xaa\xd9\x89\0" /* offset 12250 */ - "\xd8\xaa\xd9\x8a\0" /* offset 12255 */ - "\xd8\xab\xd8\xac\0" /* offset 12260 */ - "\xd8\xab\xd9\x85\0" /* offset 12265 */ - "\xd8\xab\xd9\x89\0" /* offset 12270 */ - "\xd8\xab\xd9\x8a\0" /* offset 12275 */ - "\xd8\xac\xd8\xad\0" /* offset 12280 */ - "\xd8\xac\xd9\x85\0" /* offset 12285 */ - "\xd8\xad\xd8\xac\0" /* offset 12290 */ - "\xd8\xad\xd9\x85\0" /* offset 12295 */ - "\xd8\xae\xd8\xac\0" /* offset 12300 */ - "\xd8\xae\xd8\xad\0" /* offset 12305 */ - "\xd8\xae\xd9\x85\0" /* offset 12310 */ - "\xd8\xb3\xd8\xac\0" /* offset 12315 */ - "\xd8\xb3\xd8\xad\0" /* offset 12320 */ - "\xd8\xb3\xd8\xae\0" /* offset 12325 */ - "\xd8\xb3\xd9\x85\0" /* offset 12330 */ - "\xd8\xb5\xd8\xad\0" /* offset 12335 */ - "\xd8\xb5\xd9\x85\0" /* offset 12340 */ - "\xd8\xb6\xd8\xac\0" /* offset 12345 */ - "\xd8\xb6\xd8\xad\0" /* offset 12350 */ - "\xd8\xb6\xd8\xae\0" /* offset 12355 */ - "\xd8\xb6\xd9\x85\0" /* offset 12360 */ - "\xd8\xb7\xd8\xad\0" /* offset 12365 */ - "\xd8\xb7\xd9\x85\0" /* offset 12370 */ - "\xd8\xb8\xd9\x85\0" /* offset 12375 */ - "\xd8\xb9\xd8\xac\0" /* offset 12380 */ - "\xd8\xb9\xd9\x85\0" /* offset 12385 */ - "\xd8\xba\xd8\xac\0" /* offset 12390 */ - "\xd8\xba\xd9\x85\0" /* offset 12395 */ - "\xd9\x81\xd8\xac\0" /* offset 12400 */ - "\xd9\x81\xd8\xad\0" /* offset 12405 */ - "\xd9\x81\xd8\xae\0" /* offset 12410 */ - "\xd9\x81\xd9\x85\0" /* offset 12415 */ - "\xd9\x81\xd9\x89\0" /* offset 12420 */ - "\xd9\x81\xd9\x8a\0" /* offset 12425 */ - "\xd9\x82\xd8\xad\0" /* offset 12430 */ - "\xd9\x82\xd9\x85\0" /* offset 12435 */ - "\xd9\x82\xd9\x89\0" /* offset 12440 */ - "\xd9\x82\xd9\x8a\0" /* offset 12445 */ - "\xd9\x83\xd8\xa7\0" /* offset 12450 */ - "\xd9\x83\xd8\xac\0" /* offset 12455 */ - "\xd9\x83\xd8\xad\0" /* offset 12460 */ - "\xd9\x83\xd8\xae\0" /* offset 12465 */ - "\xd9\x83\xd9\x84\0" /* offset 12470 */ - "\xd9\x83\xd9\x85\0" /* offset 12475 */ - "\xd9\x83\xd9\x89\0" /* offset 12480 */ - "\xd9\x83\xd9\x8a\0" /* offset 12485 */ - "\xd9\x84\xd8\xac\0" /* offset 12490 */ - "\xd9\x84\xd8\xad\0" /* offset 12495 */ - "\xd9\x84\xd8\xae\0" /* offset 12500 */ - "\xd9\x84\xd9\x85\0" /* offset 12505 */ - "\xd9\x84\xd9\x89\0" /* offset 12510 */ - "\xd9\x84\xd9\x8a\0" /* offset 12515 */ - "\xd9\x85\xd8\xac\0" /* offset 12520 */ - "\xd9\x85\xd8\xad\0" /* offset 12525 */ - "\xd9\x85\xd8\xae\0" /* offset 12530 */ - "\xd9\x85\xd9\x85\0" /* offset 12535 */ - "\xd9\x85\xd9\x89\0" /* offset 12540 */ - "\xd9\x85\xd9\x8a\0" /* offset 12545 */ - "\xd9\x86\xd8\xac\0" /* offset 12550 */ - "\xd9\x86\xd8\xad\0" /* offset 12555 */ - "\xd9\x86\xd8\xae\0" /* offset 12560 */ - "\xd9\x86\xd9\x85\0" /* offset 12565 */ - "\xd9\x86\xd9\x89\0" /* offset 12570 */ - "\xd9\x86\xd9\x8a\0" /* offset 12575 */ - "\xd9\x87\xd8\xac\0" /* offset 12580 */ - "\xd9\x87\xd9\x85\0" /* offset 12585 */ - "\xd9\x87\xd9\x89\0" /* offset 12590 */ - "\xd9\x87\xd9\x8a\0" /* offset 12595 */ - "\xd9\x8a\xd8\xac\0" /* offset 12600 */ - "\xd9\x8a\xd8\xad\0" /* offset 12605 */ - "\xd9\x8a\xd8\xae\0" /* offset 12610 */ - "\xd9\x8a\xd9\x85\0" /* offset 12615 */ - "\xd9\x8a\xd9\x89\0" /* offset 12620 */ - "\xd9\x8a\xd9\x8a\0" /* offset 12625 */ - "\xd8\xb0\xd9\xb0\0" /* offset 12630 */ - "\xd8\xb1\xd9\xb0\0" /* offset 12635 */ - "\xd9\x89\xd9\xb0\0" /* offset 12640 */ - "\x20\xd9\x8c\xd9\x91\0" /* offset 12645 */ - "\x20\xd9\x8d\xd9\x91\0" /* offset 12651 */ - "\x20\xd9\x8e\xd9\x91\0" /* offset 12657 */ - "\x20\xd9\x8f\xd9\x91\0" /* offset 12663 */ - "\x20\xd9\x90\xd9\x91\0" /* offset 12669 */ - "\x20\xd9\x91\xd9\xb0\0" /* offset 12675 */ - "\xd9\x8a\xd9\x94\xd8\xb1\0" /* offset 12681 */ - "\xd9\x8a\xd9\x94\xd8\xb2\0" /* offset 12688 */ - "\xd9\x8a\xd9\x94\xd9\x86\0" /* offset 12695 */ - "\xd8\xa8\xd8\xb1\0" /* offset 12702 */ - "\xd8\xa8\xd8\xb2\0" /* offset 12707 */ - "\xd8\xa8\xd9\x86\0" /* offset 12712 */ - "\xd8\xaa\xd8\xb1\0" /* offset 12717 */ - "\xd8\xaa\xd8\xb2\0" /* offset 12722 */ - "\xd8\xaa\xd9\x86\0" /* offset 12727 */ - "\xd8\xab\xd8\xb1\0" /* offset 12732 */ - "\xd8\xab\xd8\xb2\0" /* offset 12737 */ - "\xd8\xab\xd9\x86\0" /* offset 12742 */ - "\xd9\x85\xd8\xa7\0" /* offset 12747 */ - "\xd9\x86\xd8\xb1\0" /* offset 12752 */ - "\xd9\x86\xd8\xb2\0" /* offset 12757 */ - "\xd9\x86\xd9\x86\0" /* offset 12762 */ - "\xd9\x8a\xd8\xb1\0" /* offset 12767 */ - "\xd9\x8a\xd8\xb2\0" /* offset 12772 */ - "\xd9\x8a\xd9\x86\0" /* offset 12777 */ - "\xd9\x8a\xd9\x94\xd8\xae\0" /* offset 12782 */ - "\xd9\x8a\xd9\x94\xd9\x87\0" /* offset 12789 */ - "\xd8\xa8\xd9\x87\0" /* offset 12796 */ - "\xd8\xaa\xd9\x87\0" /* offset 12801 */ - "\xd8\xb5\xd8\xae\0" /* offset 12806 */ - "\xd9\x84\xd9\x87\0" /* offset 12811 */ - "\xd9\x86\xd9\x87\0" /* offset 12816 */ - "\xd9\x87\xd9\xb0\0" /* offset 12821 */ - "\xd9\x8a\xd9\x87\0" /* offset 12826 */ - "\xd8\xab\xd9\x87\0" /* offset 12831 */ - "\xd8\xb3\xd9\x87\0" /* offset 12836 */ - "\xd8\xb4\xd9\x85\0" /* offset 12841 */ - "\xd8\xb4\xd9\x87\0" /* offset 12846 */ - "\xd9\x80\xd9\x8e\xd9\x91\0" /* offset 12851 */ - "\xd9\x80\xd9\x8f\xd9\x91\0" /* offset 12858 */ - "\xd9\x80\xd9\x90\xd9\x91\0" /* offset 12865 */ - "\xd8\xb7\xd9\x89\0" /* offset 12872 */ - "\xd8\xb7\xd9\x8a\0" /* offset 12877 */ - "\xd8\xb9\xd9\x89\0" /* offset 12882 */ - "\xd8\xb9\xd9\x8a\0" /* offset 12887 */ - "\xd8\xba\xd9\x89\0" /* offset 12892 */ - "\xd8\xba\xd9\x8a\0" /* offset 12897 */ - "\xd8\xb3\xd9\x89\0" /* offset 12902 */ - "\xd8\xb3\xd9\x8a\0" /* offset 12907 */ - "\xd8\xb4\xd9\x89\0" /* offset 12912 */ - "\xd8\xb4\xd9\x8a\0" /* offset 12917 */ - "\xd8\xad\xd9\x89\0" /* offset 12922 */ - "\xd8\xad\xd9\x8a\0" /* offset 12927 */ - "\xd8\xac\xd9\x89\0" /* offset 12932 */ - "\xd8\xac\xd9\x8a\0" /* offset 12937 */ - "\xd8\xae\xd9\x89\0" /* offset 12942 */ - "\xd8\xae\xd9\x8a\0" /* offset 12947 */ - "\xd8\xb5\xd9\x89\0" /* offset 12952 */ - "\xd8\xb5\xd9\x8a\0" /* offset 12957 */ - "\xd8\xb6\xd9\x89\0" /* offset 12962 */ - "\xd8\xb6\xd9\x8a\0" /* offset 12967 */ - "\xd8\xb4\xd8\xac\0" /* offset 12972 */ - "\xd8\xb4\xd8\xad\0" /* offset 12977 */ - "\xd8\xb4\xd8\xae\0" /* offset 12982 */ - "\xd8\xb4\xd8\xb1\0" /* offset 12987 */ - "\xd8\xb3\xd8\xb1\0" /* offset 12992 */ - "\xd8\xb5\xd8\xb1\0" /* offset 12997 */ - "\xd8\xb6\xd8\xb1\0" /* offset 13002 */ - "\xd8\xa7\xd9\x8b\0" /* offset 13007 */ - "\xd8\xaa\xd8\xac\xd9\x85\0" /* offset 13012 */ - "\xd8\xaa\xd8\xad\xd8\xac\0" /* offset 13019 */ - "\xd8\xaa\xd8\xad\xd9\x85\0" /* offset 13026 */ - "\xd8\xaa\xd8\xae\xd9\x85\0" /* offset 13033 */ - "\xd8\xaa\xd9\x85\xd8\xac\0" /* offset 13040 */ - "\xd8\xaa\xd9\x85\xd8\xad\0" /* offset 13047 */ - "\xd8\xaa\xd9\x85\xd8\xae\0" /* offset 13054 */ - "\xd8\xac\xd9\x85\xd8\xad\0" /* offset 13061 */ - "\xd8\xad\xd9\x85\xd9\x8a\0" /* offset 13068 */ - "\xd8\xad\xd9\x85\xd9\x89\0" /* offset 13075 */ - "\xd8\xb3\xd8\xad\xd8\xac\0" /* offset 13082 */ - "\xd8\xb3\xd8\xac\xd8\xad\0" /* offset 13089 */ - "\xd8\xb3\xd8\xac\xd9\x89\0" /* offset 13096 */ - "\xd8\xb3\xd9\x85\xd8\xad\0" /* offset 13103 */ - "\xd8\xb3\xd9\x85\xd8\xac\0" /* offset 13110 */ - "\xd8\xb3\xd9\x85\xd9\x85\0" /* offset 13117 */ - "\xd8\xb5\xd8\xad\xd8\xad\0" /* offset 13124 */ - "\xd8\xb5\xd9\x85\xd9\x85\0" /* offset 13131 */ - "\xd8\xb4\xd8\xad\xd9\x85\0" /* offset 13138 */ - "\xd8\xb4\xd8\xac\xd9\x8a\0" /* offset 13145 */ - "\xd8\xb4\xd9\x85\xd8\xae\0" /* offset 13152 */ - "\xd8\xb4\xd9\x85\xd9\x85\0" /* offset 13159 */ - "\xd8\xb6\xd8\xad\xd9\x89\0" /* offset 13166 */ - "\xd8\xb6\xd8\xae\xd9\x85\0" /* offset 13173 */ - "\xd8\xb7\xd9\x85\xd8\xad\0" /* offset 13180 */ - "\xd8\xb7\xd9\x85\xd9\x85\0" /* offset 13187 */ - "\xd8\xb7\xd9\x85\xd9\x8a\0" /* offset 13194 */ - "\xd8\xb9\xd8\xac\xd9\x85\0" /* offset 13201 */ - "\xd8\xb9\xd9\x85\xd9\x85\0" /* offset 13208 */ - "\xd8\xb9\xd9\x85\xd9\x89\0" /* offset 13215 */ - "\xd8\xba\xd9\x85\xd9\x85\0" /* offset 13222 */ - "\xd8\xba\xd9\x85\xd9\x8a\0" /* offset 13229 */ - "\xd8\xba\xd9\x85\xd9\x89\0" /* offset 13236 */ - "\xd9\x81\xd8\xae\xd9\x85\0" /* offset 13243 */ - "\xd9\x82\xd9\x85\xd8\xad\0" /* offset 13250 */ - "\xd9\x82\xd9\x85\xd9\x85\0" /* offset 13257 */ - "\xd9\x84\xd8\xad\xd9\x85\0" /* offset 13264 */ - "\xd9\x84\xd8\xad\xd9\x8a\0" /* offset 13271 */ - "\xd9\x84\xd8\xad\xd9\x89\0" /* offset 13278 */ - "\xd9\x84\xd8\xac\xd8\xac\0" /* offset 13285 */ - "\xd9\x84\xd8\xae\xd9\x85\0" /* offset 13292 */ - "\xd9\x84\xd9\x85\xd8\xad\0" /* offset 13299 */ - "\xd9\x85\xd8\xad\xd8\xac\0" /* offset 13306 */ - "\xd9\x85\xd8\xad\xd9\x85\0" /* offset 13313 */ - "\xd9\x85\xd8\xad\xd9\x8a\0" /* offset 13320 */ - "\xd9\x85\xd8\xac\xd8\xad\0" /* offset 13327 */ - "\xd9\x85\xd8\xac\xd9\x85\0" /* offset 13334 */ - "\xd9\x85\xd8\xae\xd8\xac\0" /* offset 13341 */ - "\xd9\x85\xd8\xae\xd9\x85\0" /* offset 13348 */ - "\xd9\x85\xd8\xac\xd8\xae\0" /* offset 13355 */ - "\xd9\x87\xd9\x85\xd8\xac\0" /* offset 13362 */ - "\xd9\x87\xd9\x85\xd9\x85\0" /* offset 13369 */ - "\xd9\x86\xd8\xad\xd9\x85\0" /* offset 13376 */ - "\xd9\x86\xd8\xad\xd9\x89\0" /* offset 13383 */ - "\xd9\x86\xd8\xac\xd9\x85\0" /* offset 13390 */ - "\xd9\x86\xd8\xac\xd9\x89\0" /* offset 13397 */ - "\xd9\x86\xd9\x85\xd9\x8a\0" /* offset 13404 */ - "\xd9\x86\xd9\x85\xd9\x89\0" /* offset 13411 */ - "\xd9\x8a\xd9\x85\xd9\x85\0" /* offset 13418 */ - "\xd8\xa8\xd8\xae\xd9\x8a\0" /* offset 13425 */ - "\xd8\xaa\xd8\xac\xd9\x8a\0" /* offset 13432 */ - "\xd8\xaa\xd8\xac\xd9\x89\0" /* offset 13439 */ - "\xd8\xaa\xd8\xae\xd9\x8a\0" /* offset 13446 */ - "\xd8\xaa\xd8\xae\xd9\x89\0" /* offset 13453 */ - "\xd8\xaa\xd9\x85\xd9\x8a\0" /* offset 13460 */ - "\xd8\xaa\xd9\x85\xd9\x89\0" /* offset 13467 */ - "\xd8\xac\xd9\x85\xd9\x8a\0" /* offset 13474 */ - "\xd8\xac\xd8\xad\xd9\x89\0" /* offset 13481 */ - "\xd8\xac\xd9\x85\xd9\x89\0" /* offset 13488 */ - "\xd8\xb3\xd8\xae\xd9\x89\0" /* offset 13495 */ - "\xd8\xb5\xd8\xad\xd9\x8a\0" /* offset 13502 */ - "\xd8\xb4\xd8\xad\xd9\x8a\0" /* offset 13509 */ - "\xd8\xb6\xd8\xad\xd9\x8a\0" /* offset 13516 */ - "\xd9\x84\xd8\xac\xd9\x8a\0" /* offset 13523 */ - "\xd9\x84\xd9\x85\xd9\x8a\0" /* offset 13530 */ - "\xd9\x8a\xd8\xad\xd9\x8a\0" /* offset 13537 */ - "\xd9\x8a\xd8\xac\xd9\x8a\0" /* offset 13544 */ - "\xd9\x8a\xd9\x85\xd9\x8a\0" /* offset 13551 */ - "\xd9\x85\xd9\x85\xd9\x8a\0" /* offset 13558 */ - "\xd9\x82\xd9\x85\xd9\x8a\0" /* offset 13565 */ - "\xd9\x86\xd8\xad\xd9\x8a\0" /* offset 13572 */ - "\xd8\xb9\xd9\x85\xd9\x8a\0" /* offset 13579 */ - "\xd9\x83\xd9\x85\xd9\x8a\0" /* offset 13586 */ - "\xd9\x86\xd8\xac\xd8\xad\0" /* offset 13593 */ - "\xd9\x85\xd8\xae\xd9\x8a\0" /* offset 13600 */ - "\xd9\x84\xd8\xac\xd9\x85\0" /* offset 13607 */ - "\xd9\x83\xd9\x85\xd9\x85\0" /* offset 13614 */ - "\xd8\xac\xd8\xad\xd9\x8a\0" /* offset 13621 */ - "\xd8\xad\xd8\xac\xd9\x8a\0" /* offset 13628 */ - "\xd9\x85\xd8\xac\xd9\x8a\0" /* offset 13635 */ - "\xd9\x81\xd9\x85\xd9\x8a\0" /* offset 13642 */ - "\xd8\xa8\xd8\xad\xd9\x8a\0" /* offset 13649 */ - "\xd8\xb3\xd8\xae\xd9\x8a\0" /* offset 13656 */ - "\xd9\x86\xd8\xac\xd9\x8a\0" /* offset 13663 */ - "\xd8\xb5\xd9\x84\xdb\x92\0" /* offset 13670 */ - "\xd9\x82\xd9\x84\xdb\x92\0" /* offset 13677 */ - "\xd8\xa7\xd9\x84\xd9\x84\xd9\x87\0" /* offset 13684 */ - "\xd8\xa7\xd9\x83\xd8\xa8\xd8\xb1\0" /* offset 13693 */ - "\xd9\x85\xd8\xad\xd9\x85\xd8\xaf\0" /* offset 13702 */ - "\xd8\xb5\xd9\x84\xd8\xb9\xd9\x85\0" /* offset 13711 */ - "\xd8\xb1\xd8\xb3\xd9\x88\xd9\x84\0" /* offset 13720 */ - "\xd8\xb9\xd9\x84\xd9\x8a\xd9\x87\0" /* offset 13729 */ - "\xd9\x88\xd8\xb3\xd9\x84\xd9\x85\0" /* offset 13738 */ - "\xd8\xb5\xd9\x84\xd9\x89\0" /* offset 13747 */ - "\xd8\xb5\xd9\x84\xd9\x89\x20\xd8\xa7\xd9\x84\xd9\x84\xd9\x87\x20\xd8\xb9\xd9\x84\xd9\x8a\xd9\x87\x20\xd9\x88\xd8\xb3\xd9\x84\xd9\x85\0" /* offset 13754 */ - "\xd8\xac\xd9\x84\x20\xd8\xac\xd9\x84\xd8\xa7\xd9\x84\xd9\x87\0" /* offset 13788 */ - "\xd8\xb1\xdb\x8c\xd8\xa7\xd9\x84\0" /* offset 13804 */ - "\xe2\x80\x94\0" /* offset 13813 */ - "\xe2\x80\x93\0" /* offset 13817 */ - "\x5f\0" /* offset 13821 */ - "\x7b\0" /* offset 13823 */ - "\x7d\0" /* offset 13825 */ - "\xe3\x80\x94\0" /* offset 13827 */ - "\xe3\x80\x95\0" /* offset 13831 */ - "\xe3\x80\x90\0" /* offset 13835 */ - "\xe3\x80\x91\0" /* offset 13839 */ - "\xe3\x80\x8a\0" /* offset 13843 */ - "\xe3\x80\x8b\0" /* offset 13847 */ - "\xe3\x80\x8c\0" /* offset 13851 */ - "\xe3\x80\x8d\0" /* offset 13855 */ - "\xe3\x80\x8e\0" /* offset 13859 */ - "\xe3\x80\x8f\0" /* offset 13863 */ - "\x2c\0" /* offset 13867 */ - "\xe3\x80\x81\0" /* offset 13869 */ - "\x3a\0" /* offset 13873 */ - "\x3f\0" /* offset 13875 */ - "\x21\0" /* offset 13877 */ - "\x23\0" /* offset 13879 */ - "\x26\0" /* offset 13881 */ - "\x2a\0" /* offset 13883 */ - "\x2d\0" /* offset 13885 */ - "\x3c\0" /* offset 13887 */ - "\x3e\0" /* offset 13889 */ - "\x5c\0" /* offset 13891 */ - "\x24\0" /* offset 13893 */ - "\x25\0" /* offset 13895 */ - "\x40\0" /* offset 13897 */ - "\x20\xd9\x8b\0" /* offset 13899 */ - "\xd9\x80\xd9\x8b\0" /* offset 13903 */ - "\x20\xd9\x8c\0" /* offset 13908 */ - "\x20\xd9\x8d\0" /* offset 13912 */ - "\x20\xd9\x8e\0" /* offset 13916 */ - "\xd9\x80\xd9\x8e\0" /* offset 13920 */ - "\x20\xd9\x8f\0" /* offset 13925 */ - "\xd9\x80\xd9\x8f\0" /* offset 13929 */ - "\x20\xd9\x90\0" /* offset 13934 */ - "\xd9\x80\xd9\x90\0" /* offset 13938 */ - "\x20\xd9\x91\0" /* offset 13943 */ - "\xd9\x80\xd9\x91\0" /* offset 13947 */ - "\x20\xd9\x92\0" /* offset 13952 */ - "\xd9\x80\xd9\x92\0" /* offset 13956 */ - "\xd8\xa1\0" /* offset 13961 */ - "\xd8\xa7\0" /* offset 13964 */ - "\xd8\xa8\0" /* offset 13967 */ - "\xd8\xa9\0" /* offset 13970 */ - "\xd8\xaa\0" /* offset 13973 */ - "\xd8\xab\0" /* offset 13976 */ - "\xd8\xac\0" /* offset 13979 */ - "\xd8\xad\0" /* offset 13982 */ - "\xd8\xae\0" /* offset 13985 */ - "\xd8\xaf\0" /* offset 13988 */ - "\xd8\xb0\0" /* offset 13991 */ - "\xd8\xb1\0" /* offset 13994 */ - "\xd8\xb2\0" /* offset 13997 */ - "\xd8\xb3\0" /* offset 14000 */ - "\xd8\xb4\0" /* offset 14003 */ - "\xd8\xb5\0" /* offset 14006 */ - "\xd8\xb6\0" /* offset 14009 */ - "\xd8\xb7\0" /* offset 14012 */ - "\xd8\xb8\0" /* offset 14015 */ - "\xd8\xb9\0" /* offset 14018 */ - "\xd8\xba\0" /* offset 14021 */ - "\xd9\x81\0" /* offset 14024 */ - "\xd9\x82\0" /* offset 14027 */ - "\xd9\x83\0" /* offset 14030 */ - "\xd9\x84\0" /* offset 14033 */ - "\xd9\x85\0" /* offset 14036 */ - "\xd9\x86\0" /* offset 14039 */ - "\xd9\x87\0" /* offset 14042 */ - "\xd9\x88\0" /* offset 14045 */ - "\xd9\x8a\0" /* offset 14048 */ - "\xd9\x84\xd8\xa7\xd9\x93\0" /* offset 14051 */ - "\xd9\x84\xd8\xa7\xd9\x94\0" /* offset 14058 */ - "\xd9\x84\xd8\xa7\xd9\x95\0" /* offset 14065 */ - "\xd9\x84\xd8\xa7\0" /* offset 14072 */ - "\x22\0" /* offset 14077 */ - "\x27\0" /* offset 14079 */ - "\x2f\0" /* offset 14081 */ - "\x5b\0" /* offset 14083 */ - "\x5d\0" /* offset 14085 */ - "\x5e\0" /* offset 14087 */ - "\x7c\0" /* offset 14089 */ - "\x7e\0" /* offset 14091 */ - "\xe2\xa6\x85\0" /* offset 14093 */ - "\xe2\xa6\x86\0" /* offset 14097 */ - "\xe3\x80\x82\0" /* offset 14101 */ - "\xe3\x83\xbb\0" /* offset 14105 */ - "\xe3\x82\xa1\0" /* offset 14109 */ - "\xe3\x82\xa3\0" /* offset 14113 */ - "\xe3\x82\xa5\0" /* offset 14117 */ - "\xe3\x82\xa7\0" /* offset 14121 */ - "\xe3\x82\xa9\0" /* offset 14125 */ - "\xe3\x83\xa3\0" /* offset 14129 */ - "\xe3\x83\xa5\0" /* offset 14133 */ - "\xe3\x83\xa7\0" /* offset 14137 */ - "\xe3\x83\x83\0" /* offset 14141 */ - "\xe3\x83\xbc\0" /* offset 14145 */ - "\xe3\x83\xb3\0" /* offset 14149 */ - "\xe3\x82\x99\0" /* offset 14153 */ - "\xe3\x82\x9a\0" /* offset 14157 */ - "\xc2\xa2\0" /* offset 14161 */ - "\xc2\xa3\0" /* offset 14164 */ - "\xc2\xac\0" /* offset 14167 */ - "\xc2\xa6\0" /* offset 14170 */ - "\xc2\xa5\0" /* offset 14173 */ - "\xe2\x82\xa9\0" /* offset 14176 */ - "\xe2\x94\x82\0" /* offset 14180 */ - "\xe2\x86\x90\0" /* offset 14184 */ - "\xe2\x86\x91\0" /* offset 14188 */ - "\xe2\x86\x92\0" /* offset 14192 */ - "\xe2\x86\x93\0" /* offset 14196 */ - "\xe2\x96\xa0\0" /* offset 14200 */ - "\xe2\x97\x8b\0" /* offset 14204 */ - "\xf0\x9d\x85\x97\xf0\x9d\x85\xa5\0" /* offset 14208 */ - "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\0" /* offset 14217 */ - "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xae\0" /* offset 14226 */ - "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf\0" /* offset 14239 */ - "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb0\0" /* offset 14252 */ - "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb1\0" /* offset 14265 */ - "\xf0\x9d\x85\x98\xf0\x9d\x85\xa5\xf0\x9d\x85\xb2\0" /* offset 14278 */ - "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\0" /* offset 14291 */ - "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\0" /* offset 14300 */ - "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\xf0\x9d\x85\xae\0" /* offset 14309 */ - "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\xf0\x9d\x85\xae\0" /* offset 14322 */ - "\xf0\x9d\x86\xb9\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf\0" /* offset 14335 */ - "\xf0\x9d\x86\xba\xf0\x9d\x85\xa5\xf0\x9d\x85\xaf\0" /* offset 14348 */ - "\xce\x91\0" /* offset 14361 */ - "\xce\x92\0" /* offset 14364 */ - "\xce\x94\0" /* offset 14367 */ - "\xce\x95\0" /* offset 14370 */ - "\xce\x96\0" /* offset 14373 */ - "\xce\x97\0" /* offset 14376 */ - "\xce\x99\0" /* offset 14379 */ - "\xce\x9a\0" /* offset 14382 */ - "\xce\x9b\0" /* offset 14385 */ - "\xce\x9c\0" /* offset 14388 */ - "\xce\x9d\0" /* offset 14391 */ - "\xce\x9e\0" /* offset 14394 */ - "\xce\x9f\0" /* offset 14397 */ - "\xce\xa1\0" /* offset 14400 */ - "\xce\xa3\0" /* offset 14403 */ - "\xce\xa4\0" /* offset 14406 */ - "\xce\xa6\0" /* offset 14409 */ - "\xce\xa7\0" /* offset 14412 */ - "\xce\xa8\0" /* offset 14415 */ - "\xe2\x88\x87\0" /* offset 14418 */ - "\xce\xb1\0" /* offset 14422 */ - "\xce\xb4\0" /* offset 14425 */ - "\xce\xb6\0" /* offset 14428 */ - "\xce\xb7\0" /* offset 14431 */ - "\xce\xbb\0" /* offset 14434 */ - "\xce\xbd\0" /* offset 14437 */ - "\xce\xbe\0" /* offset 14440 */ - "\xce\xbf\0" /* offset 14443 */ - "\xcf\x83\0" /* offset 14446 */ - "\xcf\x84\0" /* offset 14449 */ - "\xcf\x85\0" /* offset 14452 */ - "\xcf\x87\0" /* offset 14455 */ - "\xcf\x88\0" /* offset 14458 */ - "\xcf\x89\0" /* offset 14461 */ - "\xe2\x88\x82\0" /* offset 14464 */ - "\xe4\xb8\xbd\0" /* offset 14468 */ - "\xe4\xb8\xb8\0" /* offset 14472 */ - "\xe4\xb9\x81\0" /* offset 14476 */ - "\xf0\xa0\x84\xa2\0" /* offset 14480 */ - "\xe4\xbd\xa0\0" /* offset 14485 */ - "\xe4\xbe\xbb\0" /* offset 14489 */ - "\xe5\x80\x82\0" /* offset 14493 */ - "\xe5\x81\xba\0" /* offset 14497 */ - "\xe5\x82\x99\0" /* offset 14501 */ - "\xe5\x83\x8f\0" /* offset 14505 */ - "\xe3\x92\x9e\0" /* offset 14509 */ - "\xf0\xa0\x98\xba\0" /* offset 14513 */ - "\xe5\x85\x94\0" /* offset 14518 */ - "\xe5\x85\xa4\0" /* offset 14522 */ - "\xe5\x85\xb7\0" /* offset 14526 */ - "\xf0\xa0\x94\x9c\0" /* offset 14530 */ - "\xe3\x92\xb9\0" /* offset 14535 */ - "\xe5\x85\xa7\0" /* offset 14539 */ - "\xe5\x86\x8d\0" /* offset 14543 */ - "\xf0\xa0\x95\x8b\0" /* offset 14547 */ - "\xe5\x86\x97\0" /* offset 14552 */ - "\xe5\x86\xa4\0" /* offset 14556 */ - "\xe4\xbb\x8c\0" /* offset 14560 */ - "\xe5\x86\xac\0" /* offset 14564 */ - "\xe5\x86\xb5\0" /* offset 14568 */ - "\xf0\xa9\x87\x9f\0" /* offset 14572 */ - "\xe5\x88\x83\0" /* offset 14577 */ - "\xe3\x93\x9f\0" /* offset 14581 */ - "\xe5\x88\xbb\0" /* offset 14585 */ - "\xe5\x89\x86\0" /* offset 14589 */ - "\xe5\x89\xb2\0" /* offset 14593 */ - "\xe5\x89\xb7\0" /* offset 14597 */ - "\xe3\x94\x95\0" /* offset 14601 */ - "\xe5\x8b\x87\0" /* offset 14605 */ - "\xe5\x8b\xba\0" /* offset 14609 */ - "\xe5\x8c\x85\0" /* offset 14613 */ - "\xe5\x8c\x86\0" /* offset 14617 */ - "\xe5\x8d\x89\0" /* offset 14621 */ - "\xe5\x8d\x9a\0" /* offset 14625 */ - "\xe5\x8d\xb3\0" /* offset 14629 */ - "\xe5\x8d\xbd\0" /* offset 14633 */ - "\xe5\x8d\xbf\0" /* offset 14637 */ - "\xf0\xa0\xa8\xac\0" /* offset 14641 */ - "\xe7\x81\xb0\0" /* offset 14646 */ - "\xe5\x8f\x8a\0" /* offset 14650 */ - "\xe5\x8f\x9f\0" /* offset 14654 */ - "\xf0\xa0\xad\xa3\0" /* offset 14658 */ - "\xe5\x8f\xab\0" /* offset 14663 */ - "\xe5\x8f\xb1\0" /* offset 14667 */ - "\xe5\x90\x86\0" /* offset 14671 */ - "\xe5\x92\x9e\0" /* offset 14675 */ - "\xe5\x90\xb8\0" /* offset 14679 */ - "\xe5\x91\x88\0" /* offset 14683 */ - "\xe5\x91\xa8\0" /* offset 14687 */ - "\xe5\x92\xa2\0" /* offset 14691 */ - "\xe5\x93\xb6\0" /* offset 14695 */ - "\xe5\x94\x90\0" /* offset 14699 */ - "\xe5\x95\x93\0" /* offset 14703 */ - "\xe5\x95\xa3\0" /* offset 14707 */ - "\xe5\x96\x84\0" /* offset 14711 */ - "\xe5\x96\x99\0" /* offset 14715 */ - "\xe5\x96\xab\0" /* offset 14719 */ - "\xe5\x96\xb3\0" /* offset 14723 */ - "\xe5\x97\x82\0" /* offset 14727 */ - "\xe5\x9c\x96\0" /* offset 14731 */ - "\xe5\x9c\x97\0" /* offset 14735 */ - "\xe5\x99\x91\0" /* offset 14739 */ - "\xe5\x99\xb4\0" /* offset 14743 */ - "\xe5\xa3\xae\0" /* offset 14747 */ - "\xe5\x9f\x8e\0" /* offset 14751 */ - "\xe5\x9f\xb4\0" /* offset 14755 */ - "\xe5\xa0\x8d\0" /* offset 14759 */ - "\xe5\x9e\x8b\0" /* offset 14763 */ - "\xe5\xa0\xb2\0" /* offset 14767 */ - "\xe5\xa0\xb1\0" /* offset 14771 */ - "\xe5\xa2\xac\0" /* offset 14775 */ - "\xf0\xa1\x93\xa4\0" /* offset 14779 */ - "\xe5\xa3\xb2\0" /* offset 14784 */ - "\xe5\xa3\xb7\0" /* offset 14788 */ - "\xe5\xa4\x86\0" /* offset 14792 */ - "\xe5\xa4\x9a\0" /* offset 14796 */ - "\xe5\xa4\xa2\0" /* offset 14800 */ - "\xe5\xa5\xa2\0" /* offset 14804 */ - "\xf0\xa1\x9a\xa8\0" /* offset 14808 */ - "\xf0\xa1\x9b\xaa\0" /* offset 14813 */ - "\xe5\xa7\xac\0" /* offset 14818 */ - "\xe5\xa8\x9b\0" /* offset 14822 */ - "\xe5\xa8\xa7\0" /* offset 14826 */ - "\xe5\xa7\x98\0" /* offset 14830 */ - "\xe5\xa9\xa6\0" /* offset 14834 */ - "\xe3\x9b\xae\0" /* offset 14838 */ - "\xf0\xa1\x8d\xaa\0" /* offset 14842 */ - "\xe5\xac\x88\0" /* offset 14847 */ - "\xe5\xac\xbe\0" /* offset 14851 */ - "\xf0\xa1\xa7\x88\0" /* offset 14855 */ - "\xe5\xaf\x83\0" /* offset 14860 */ - "\xe5\xaf\x98\0" /* offset 14864 */ - "\xe5\xaf\xb3\0" /* offset 14868 */ - "\xf0\xa1\xac\x98\0" /* offset 14872 */ - "\xe5\xaf\xbf\0" /* offset 14877 */ - "\xe5\xb0\x86\0" /* offset 14881 */ - "\xe5\xbc\xb3\0" /* offset 14885 */ - "\xe3\x9e\x81\0" /* offset 14889 */ - "\xe5\xb1\xa0\0" /* offset 14893 */ - "\xe5\xb3\x80\0" /* offset 14897 */ - "\xe5\xb2\x8d\0" /* offset 14901 */ - "\xf0\xa1\xb7\xa4\0" /* offset 14905 */ - "\xe5\xb5\x83\0" /* offset 14910 */ - "\xf0\xa1\xb7\xa6\0" /* offset 14914 */ - "\xe5\xb5\xae\0" /* offset 14919 */ - "\xe5\xb5\xab\0" /* offset 14923 */ - "\xe5\xb5\xbc\0" /* offset 14927 */ - "\xe5\xb7\xa1\0" /* offset 14931 */ - "\xe5\xb7\xa2\0" /* offset 14935 */ - "\xe3\xa0\xaf\0" /* offset 14939 */ - "\xe5\xb7\xbd\0" /* offset 14943 */ - "\xe5\xb8\xa8\0" /* offset 14947 */ - "\xe5\xb8\xbd\0" /* offset 14951 */ - "\xe5\xb9\xa9\0" /* offset 14955 */ - "\xe3\xa1\xa2\0" /* offset 14959 */ - "\xf0\xa2\x86\x83\0" /* offset 14963 */ - "\xe3\xa1\xbc\0" /* offset 14968 */ - "\xe5\xba\xb0\0" /* offset 14972 */ - "\xe5\xba\xb3\0" /* offset 14976 */ - "\xe5\xba\xb6\0" /* offset 14980 */ - "\xf0\xaa\x8e\x92\0" /* offset 14984 */ - "\xf0\xa2\x8c\xb1\0" /* offset 14989 */ - "\xe8\x88\x81\0" /* offset 14994 */ - "\xe5\xbc\xa2\0" /* offset 14998 */ - "\xe3\xa3\x87\0" /* offset 15002 */ - "\xf0\xa3\x8a\xb8\0" /* offset 15006 */ - "\xf0\xa6\x87\x9a\0" /* offset 15011 */ - "\xe5\xbd\xa2\0" /* offset 15016 */ - "\xe5\xbd\xab\0" /* offset 15020 */ - "\xe3\xa3\xa3\0" /* offset 15024 */ - "\xe5\xbe\x9a\0" /* offset 15028 */ - "\xe5\xbf\x8d\0" /* offset 15032 */ - "\xe5\xbf\x97\0" /* offset 15036 */ - "\xe5\xbf\xb9\0" /* offset 15040 */ - "\xe6\x82\x81\0" /* offset 15044 */ - "\xe3\xa4\xba\0" /* offset 15048 */ - "\xe3\xa4\x9c\0" /* offset 15052 */ - "\xf0\xa2\x9b\x94\0" /* offset 15056 */ - "\xe6\x83\x87\0" /* offset 15061 */ - "\xe6\x85\x88\0" /* offset 15065 */ - "\xe6\x85\x8c\0" /* offset 15069 */ - "\xe6\x85\x8e\0" /* offset 15073 */ - "\xe6\x85\xba\0" /* offset 15077 */ - "\xe6\x86\xb2\0" /* offset 15081 */ - "\xe6\x86\xa4\0" /* offset 15085 */ - "\xe6\x86\xaf\0" /* offset 15089 */ - "\xe6\x87\x9e\0" /* offset 15093 */ - "\xe6\x88\x90\0" /* offset 15097 */ - "\xe6\x88\x9b\0" /* offset 15101 */ - "\xe6\x89\x9d\0" /* offset 15105 */ - "\xe6\x8a\xb1\0" /* offset 15109 */ - "\xe6\x8b\x94\0" /* offset 15113 */ - "\xe6\x8d\x90\0" /* offset 15117 */ - "\xf0\xa2\xac\x8c\0" /* offset 15121 */ - "\xe6\x8c\xbd\0" /* offset 15126 */ - "\xe6\x8b\xbc\0" /* offset 15130 */ - "\xe6\x8d\xa8\0" /* offset 15134 */ - "\xe6\x8e\x83\0" /* offset 15138 */ - "\xe6\x8f\xa4\0" /* offset 15142 */ - "\xf0\xa2\xaf\xb1\0" /* offset 15146 */ - "\xe6\x90\xa2\0" /* offset 15151 */ - "\xe6\x8f\x85\0" /* offset 15155 */ - "\xe6\x8e\xa9\0" /* offset 15159 */ - "\xe3\xa8\xae\0" /* offset 15163 */ - "\xe6\x91\xa9\0" /* offset 15167 */ - "\xe6\x91\xbe\0" /* offset 15171 */ - "\xe6\x92\x9d\0" /* offset 15175 */ - "\xe6\x91\xb7\0" /* offset 15179 */ - "\xe3\xa9\xac\0" /* offset 15183 */ - "\xe6\x95\xac\0" /* offset 15187 */ - "\xf0\xa3\x80\x8a\0" /* offset 15191 */ - "\xe6\x97\xa3\0" /* offset 15196 */ - "\xe6\x9b\xb8\0" /* offset 15200 */ - "\xe6\x99\x89\0" /* offset 15204 */ - "\xe3\xac\x99\0" /* offset 15208 */ - "\xe3\xac\x88\0" /* offset 15212 */ - "\xe3\xab\xa4\0" /* offset 15216 */ - "\xe5\x86\x92\0" /* offset 15220 */ - "\xe5\x86\x95\0" /* offset 15224 */ - "\xe6\x9c\x80\0" /* offset 15228 */ - "\xe6\x9a\x9c\0" /* offset 15232 */ - "\xe8\x82\xad\0" /* offset 15236 */ - "\xe4\x8f\x99\0" /* offset 15240 */ - "\xe6\x9c\x9b\0" /* offset 15244 */ - "\xe6\x9c\xa1\0" /* offset 15248 */ - "\xe6\x9d\x9e\0" /* offset 15252 */ - "\xe6\x9d\x93\0" /* offset 15256 */ - "\xf0\xa3\x8f\x83\0" /* offset 15260 */ - "\xe3\xad\x89\0" /* offset 15265 */ - "\xe6\x9f\xba\0" /* offset 15269 */ - "\xe6\x9e\x85\0" /* offset 15273 */ - "\xe6\xa1\x92\0" /* offset 15277 */ - "\xf0\xa3\x91\xad\0" /* offset 15281 */ - "\xe6\xa2\x8e\0" /* offset 15286 */ - "\xe6\xa0\x9f\0" /* offset 15290 */ - "\xe6\xa4\x94\0" /* offset 15294 */ - "\xe3\xae\x9d\0" /* offset 15298 */ - "\xe6\xa5\x82\0" /* offset 15302 */ - "\xe6\xa6\xa3\0" /* offset 15306 */ - "\xe6\xa7\xaa\0" /* offset 15310 */ - "\xe6\xaa\xa8\0" /* offset 15314 */ - "\xf0\xa3\x9a\xa3\0" /* offset 15318 */ - "\xe6\xab\x9b\0" /* offset 15323 */ - "\xe3\xb0\x98\0" /* offset 15327 */ - "\xe6\xac\xa1\0" /* offset 15331 */ - "\xf0\xa3\xa2\xa7\0" /* offset 15335 */ - "\xe6\xad\x94\0" /* offset 15340 */ - "\xe3\xb1\x8e\0" /* offset 15344 */ - "\xe6\xad\xb2\0" /* offset 15348 */ - "\xe6\xae\x9f\0" /* offset 15352 */ - "\xe6\xae\xbb\0" /* offset 15356 */ - "\xf0\xa3\xaa\x8d\0" /* offset 15360 */ - "\xf0\xa1\xb4\x8b\0" /* offset 15365 */ - "\xf0\xa3\xab\xba\0" /* offset 15370 */ - "\xe6\xb1\x8e\0" /* offset 15375 */ - "\xf0\xa3\xb2\xbc\0" /* offset 15379 */ - "\xe6\xb2\xbf\0" /* offset 15384 */ - "\xe6\xb3\x8d\0" /* offset 15388 */ - "\xe6\xb1\xa7\0" /* offset 15392 */ - "\xe6\xb4\x96\0" /* offset 15396 */ - "\xe6\xb4\xbe\0" /* offset 15400 */ - "\xe6\xb5\xa9\0" /* offset 15404 */ - "\xe6\xb5\xb8\0" /* offset 15408 */ - "\xe6\xb6\x85\0" /* offset 15412 */ - "\xf0\xa3\xb4\x9e\0" /* offset 15416 */ - "\xe6\xb4\xb4\0" /* offset 15421 */ - "\xe6\xb8\xaf\0" /* offset 15425 */ - "\xe6\xb9\xae\0" /* offset 15429 */ - "\xe3\xb4\xb3\0" /* offset 15433 */ - "\xe6\xbb\x8b\0" /* offset 15437 */ - "\xe6\xbb\x87\0" /* offset 15441 */ - "\xf0\xa3\xbb\x91\0" /* offset 15445 */ - "\xe6\xb7\xb9\0" /* offset 15450 */ - "\xe6\xbd\xae\0" /* offset 15454 */ - "\xf0\xa3\xbd\x9e\0" /* offset 15458 */ - "\xf0\xa3\xbe\x8e\0" /* offset 15463 */ - "\xe6\xbf\x86\0" /* offset 15468 */ - "\xe7\x80\xb9\0" /* offset 15472 */ - "\xe7\x80\x9e\0" /* offset 15476 */ - "\xe7\x80\x9b\0" /* offset 15480 */ - "\xe3\xb6\x96\0" /* offset 15484 */ - "\xe7\x81\x8a\0" /* offset 15488 */ - "\xe7\x81\xbd\0" /* offset 15492 */ - "\xe7\x81\xb7\0" /* offset 15496 */ - "\xe7\x82\xad\0" /* offset 15500 */ - "\xf0\xa0\x94\xa5\0" /* offset 15504 */ - "\xe7\x85\x85\0" /* offset 15509 */ - "\xf0\xa4\x89\xa3\0" /* offset 15513 */ - "\xe7\x86\x9c\0" /* offset 15518 */ - "\xe4\x8e\xab\0" /* offset 15522 */ - "\xe7\x88\xa8\0" /* offset 15526 */ - "\xe7\x88\xb5\0" /* offset 15530 */ - "\xe7\x89\x90\0" /* offset 15534 */ - "\xf0\xa4\x98\x88\0" /* offset 15538 */ - "\xe7\x8a\x80\0" /* offset 15543 */ - "\xe7\x8a\x95\0" /* offset 15547 */ - "\xf0\xa4\x9c\xb5\0" /* offset 15551 */ - "\xf0\xa4\xa0\x94\0" /* offset 15556 */ - "\xe7\x8d\xba\0" /* offset 15561 */ - "\xe7\x8e\x8b\0" /* offset 15565 */ - "\xe3\xba\xac\0" /* offset 15569 */ - "\xe7\x8e\xa5\0" /* offset 15573 */ - "\xe3\xba\xb8\0" /* offset 15577 */ - "\xe7\x91\x87\0" /* offset 15581 */ - "\xe7\x91\x9c\0" /* offset 15585 */ - "\xe7\x91\xb1\0" /* offset 15589 */ - "\xe7\x92\x85\0" /* offset 15593 */ - "\xe7\x93\x8a\0" /* offset 15597 */ - "\xe3\xbc\x9b\0" /* offset 15601 */ - "\xe7\x94\xa4\0" /* offset 15605 */ - "\xf0\xa4\xb0\xb6\0" /* offset 15609 */ - "\xe7\x94\xbe\0" /* offset 15614 */ - "\xf0\xa4\xb2\x92\0" /* offset 15618 */ - "\xf0\xa2\x86\x9f\0" /* offset 15623 */ - "\xe7\x98\x90\0" /* offset 15628 */ - "\xf0\xa4\xbe\xa1\0" /* offset 15632 */ - "\xf0\xa4\xbe\xb8\0" /* offset 15637 */ - "\xf0\xa5\x81\x84\0" /* offset 15642 */ - "\xe3\xbf\xbc\0" /* offset 15647 */ - "\xe4\x80\x88\0" /* offset 15651 */ - "\xe7\x9b\xb4\0" /* offset 15655 */ - "\xf0\xa5\x83\xb3\0" /* offset 15659 */ - "\xf0\xa5\x83\xb2\0" /* offset 15664 */ - "\xf0\xa5\x84\x99\0" /* offset 15669 */ - "\xf0\xa5\x84\xb3\0" /* offset 15674 */ - "\xe7\x9c\x9e\0" /* offset 15679 */ - "\xe7\x9c\x9f\0" /* offset 15683 */ - "\xe7\x9d\x8a\0" /* offset 15687 */ - "\xe4\x80\xb9\0" /* offset 15691 */ - "\xe7\x9e\x8b\0" /* offset 15695 */ - "\xe4\x81\x86\0" /* offset 15699 */ - "\xe4\x82\x96\0" /* offset 15703 */ - "\xf0\xa5\x90\x9d\0" /* offset 15707 */ - "\xe7\xa1\x8e\0" /* offset 15712 */ - "\xe7\xa3\x8c\0" /* offset 15716 */ - "\xe4\x83\xa3\0" /* offset 15720 */ - "\xf0\xa5\x98\xa6\0" /* offset 15724 */ - "\xf0\xa5\x9a\x9a\0" /* offset 15729 */ - "\xf0\xa5\x9b\x85\0" /* offset 15734 */ - "\xe7\xa7\xab\0" /* offset 15739 */ - "\xe4\x84\xaf\0" /* offset 15743 */ - "\xe7\xa9\x8a\0" /* offset 15747 */ - "\xe7\xa9\x8f\0" /* offset 15751 */ - "\xf0\xa5\xa5\xbc\0" /* offset 15755 */ - "\xf0\xa5\xaa\xa7\0" /* offset 15760 */ - "\xe7\xaa\xae\0" /* offset 15765 */ - "\xe4\x88\x82\0" /* offset 15769 */ - "\xf0\xa5\xae\xab\0" /* offset 15773 */ - "\xe7\xaf\x86\0" /* offset 15778 */ - "\xe7\xaf\x89\0" /* offset 15782 */ - "\xe4\x88\xa7\0" /* offset 15786 */ - "\xf0\xa5\xb2\x80\0" /* offset 15790 */ - "\xe7\xb3\x92\0" /* offset 15795 */ - "\xe4\x8a\xa0\0" /* offset 15799 */ - "\xe7\xb3\xa8\0" /* offset 15803 */ - "\xe7\xb3\xa3\0" /* offset 15807 */ - "\xe7\xb4\x80\0" /* offset 15811 */ - "\xf0\xa5\xbe\x86\0" /* offset 15815 */ - "\xe7\xb5\xa3\0" /* offset 15820 */ - "\xe4\x8c\x81\0" /* offset 15824 */ - "\xe7\xb7\x87\0" /* offset 15828 */ - "\xe7\xb8\x82\0" /* offset 15832 */ - "\xe7\xb9\x85\0" /* offset 15836 */ - "\xe4\x8c\xb4\0" /* offset 15840 */ - "\xf0\xa6\x88\xa8\0" /* offset 15844 */ - "\xf0\xa6\x89\x87\0" /* offset 15849 */ - "\xe4\x8d\x99\0" /* offset 15854 */ - "\xf0\xa6\x8b\x99\0" /* offset 15858 */ - "\xe7\xbd\xba\0" /* offset 15863 */ - "\xf0\xa6\x8c\xbe\0" /* offset 15867 */ - "\xe7\xbe\x95\0" /* offset 15872 */ - "\xe7\xbf\xba\0" /* offset 15876 */ - "\xf0\xa6\x93\x9a\0" /* offset 15880 */ - "\xf0\xa6\x94\xa3\0" /* offset 15885 */ - "\xe8\x81\xa0\0" /* offset 15890 */ - "\xf0\xa6\x96\xa8\0" /* offset 15894 */ - "\xe8\x81\xb0\0" /* offset 15899 */ - "\xf0\xa3\x8d\x9f\0" /* offset 15903 */ - "\xe4\x8f\x95\0" /* offset 15908 */ - "\xe8\x82\xb2\0" /* offset 15912 */ - "\xe8\x84\x83\0" /* offset 15916 */ - "\xe4\x90\x8b\0" /* offset 15920 */ - "\xe8\x84\xbe\0" /* offset 15924 */ - "\xe5\xaa\xb5\0" /* offset 15928 */ - "\xf0\xa6\x9e\xa7\0" /* offset 15932 */ - "\xf0\xa6\x9e\xb5\0" /* offset 15937 */ - "\xf0\xa3\x8e\x93\0" /* offset 15942 */ - "\xf0\xa3\x8e\x9c\0" /* offset 15947 */ - "\xe8\x88\x84\0" /* offset 15952 */ - "\xe8\xbe\x9e\0" /* offset 15956 */ - "\xe4\x91\xab\0" /* offset 15960 */ - "\xe8\x8a\x91\0" /* offset 15964 */ - "\xe8\x8a\x8b\0" /* offset 15968 */ - "\xe8\x8a\x9d\0" /* offset 15972 */ - "\xe5\x8a\xb3\0" /* offset 15976 */ - "\xe8\x8a\xb1\0" /* offset 15980 */ - "\xe8\x8a\xb3\0" /* offset 15984 */ - "\xe8\x8a\xbd\0" /* offset 15988 */ - "\xe8\x8b\xa6\0" /* offset 15992 */ - "\xf0\xa6\xac\xbc\0" /* offset 15996 */ - "\xe8\x8c\x9d\0" /* offset 16001 */ - "\xe8\x8d\xa3\0" /* offset 16005 */ - "\xe8\x8e\xad\0" /* offset 16009 */ - "\xe8\x8c\xa3\0" /* offset 16013 */ - "\xe8\x8e\xbd\0" /* offset 16017 */ - "\xe8\x8f\xa7\0" /* offset 16021 */ - "\xe8\x8d\x93\0" /* offset 16025 */ - "\xe8\x8f\x8a\0" /* offset 16029 */ - "\xe8\x8f\x8c\0" /* offset 16033 */ - "\xe8\x8f\x9c\0" /* offset 16037 */ - "\xf0\xa6\xb0\xb6\0" /* offset 16041 */ - "\xf0\xa6\xb5\xab\0" /* offset 16046 */ - "\xf0\xa6\xb3\x95\0" /* offset 16051 */ - "\xe4\x94\xab\0" /* offset 16056 */ - "\xe8\x93\xb1\0" /* offset 16060 */ - "\xe8\x93\xb3\0" /* offset 16064 */ - "\xe8\x94\x96\0" /* offset 16068 */ - "\xf0\xa7\x8f\x8a\0" /* offset 16072 */ - "\xe8\x95\xa4\0" /* offset 16077 */ - "\xf0\xa6\xbc\xac\0" /* offset 16081 */ - "\xe4\x95\x9d\0" /* offset 16086 */ - "\xe4\x95\xa1\0" /* offset 16090 */ - "\xf0\xa6\xbe\xb1\0" /* offset 16094 */ - "\xf0\xa7\x83\x92\0" /* offset 16099 */ - "\xe4\x95\xab\0" /* offset 16104 */ - "\xe8\x99\x90\0" /* offset 16108 */ - "\xe8\x99\xa7\0" /* offset 16112 */ - "\xe8\x99\xa9\0" /* offset 16116 */ - "\xe8\x9a\xa9\0" /* offset 16120 */ - "\xe8\x9a\x88\0" /* offset 16124 */ - "\xe8\x9c\x8e\0" /* offset 16128 */ - "\xe8\x9b\xa2\0" /* offset 16132 */ - "\xe8\x9d\xb9\0" /* offset 16136 */ - "\xe8\x9c\xa8\0" /* offset 16140 */ - "\xe8\x9d\xab\0" /* offset 16144 */ - "\xe8\x9e\x86\0" /* offset 16148 */ - "\xe4\xb5\x97\0" /* offset 16152 */ - "\xe8\x9f\xa1\0" /* offset 16156 */ - "\xe8\xa0\x81\0" /* offset 16160 */ - "\xe4\x97\xb9\0" /* offset 16164 */ - "\xe8\xa1\xa0\0" /* offset 16168 */ - "\xf0\xa7\x99\xa7\0" /* offset 16172 */ - "\xe8\xa3\x97\0" /* offset 16177 */ - "\xe8\xa3\x9e\0" /* offset 16181 */ - "\xe4\x98\xb5\0" /* offset 16185 */ - "\xe8\xa3\xba\0" /* offset 16189 */ - "\xe3\x92\xbb\0" /* offset 16193 */ - "\xf0\xa7\xa2\xae\0" /* offset 16197 */ - "\xf0\xa7\xa5\xa6\0" /* offset 16202 */ - "\xe4\x9a\xbe\0" /* offset 16207 */ - "\xe4\x9b\x87\0" /* offset 16211 */ - "\xe8\xaa\xa0\0" /* offset 16215 */ - "\xe8\xab\xad\0" /* offset 16219 */ - "\xe8\xae\x8a\0" /* offset 16223 */ - "\xf0\xa7\xb2\xa8\0" /* offset 16227 */ - "\xe8\xb2\xab\0" /* offset 16232 */ - "\xe8\xb3\x81\0" /* offset 16236 */ - "\xe8\xb4\x9b\0" /* offset 16240 */ - "\xe8\xb5\xb7\0" /* offset 16244 */ - "\xf0\xa7\xbc\xaf\0" /* offset 16248 */ - "\xf0\xa0\xa0\x84\0" /* offset 16253 */ - "\xe8\xb7\x8b\0" /* offset 16258 */ - "\xe8\xb6\xbc\0" /* offset 16262 */ - "\xe8\xb7\xb0\0" /* offset 16266 */ - "\xf0\xa0\xa3\x9e\0" /* offset 16270 */ - "\xe8\xbb\x94\0" /* offset 16275 */ - "\xe8\xbc\xb8\0" /* offset 16279 */ - "\xf0\xa8\x97\x92\0" /* offset 16283 */ - "\xf0\xa8\x97\xad\0" /* offset 16288 */ - "\xe9\x82\x94\0" /* offset 16293 */ - "\xe9\x83\xb1\0" /* offset 16297 */ - "\xe9\x84\x91\0" /* offset 16301 */ - "\xf0\xa8\x9c\xae\0" /* offset 16305 */ - "\xe9\x84\x9b\0" /* offset 16310 */ - "\xe9\x88\xb8\0" /* offset 16314 */ - "\xe9\x8b\x97\0" /* offset 16318 */ - "\xe9\x8b\x98\0" /* offset 16322 */ - "\xe9\x89\xbc\0" /* offset 16326 */ - "\xe9\x8f\xb9\0" /* offset 16330 */ - "\xe9\x90\x95\0" /* offset 16334 */ - "\xf0\xa8\xaf\xba\0" /* offset 16338 */ - "\xe9\x96\x8b\0" /* offset 16343 */ - "\xe4\xa6\x95\0" /* offset 16347 */ - "\xe9\x96\xb7\0" /* offset 16351 */ - "\xf0\xa8\xb5\xb7\0" /* offset 16355 */ - "\xe4\xa7\xa6\0" /* offset 16360 */ - "\xe9\x9b\x83\0" /* offset 16364 */ - "\xe5\xb6\xb2\0" /* offset 16368 */ - "\xe9\x9c\xa3\0" /* offset 16372 */ - "\xf0\xa9\x85\x85\0" /* offset 16376 */ - "\xf0\xa9\x88\x9a\0" /* offset 16381 */ - "\xe4\xa9\xae\0" /* offset 16386 */ - "\xe4\xa9\xb6\0" /* offset 16390 */ - "\xe9\x9f\xa0\0" /* offset 16394 */ - "\xf0\xa9\x90\x8a\0" /* offset 16398 */ - "\xe4\xaa\xb2\0" /* offset 16403 */ - "\xf0\xa9\x92\x96\0" /* offset 16407 */ - "\xe9\xa0\x8b\0" /* offset 16412 */ - "\xe9\xa0\xa9\0" /* offset 16416 */ - "\xf0\xa9\x96\xb6\0" /* offset 16420 */ - "\xe9\xa3\xa2\0" /* offset 16425 */ - "\xe4\xac\xb3\0" /* offset 16429 */ - "\xe9\xa4\xa9\0" /* offset 16433 */ - "\xe9\xa6\xa7\0" /* offset 16437 */ - "\xe9\xa7\x82\0" /* offset 16441 */ - "\xe9\xa7\xbe\0" /* offset 16445 */ - "\xe4\xaf\x8e\0" /* offset 16449 */ - "\xf0\xa9\xac\xb0\0" /* offset 16453 */ - "\xe9\xac\x92\0" /* offset 16458 */ - "\xe9\xb1\x80\0" /* offset 16462 */ - "\xe9\xb3\xbd\0" /* offset 16466 */ - "\xe4\xb3\x8e\0" /* offset 16470 */ - "\xe4\xb3\xad\0" /* offset 16474 */ - "\xe9\xb5\xa7\0" /* offset 16478 */ - "\xf0\xaa\x83\x8e\0" /* offset 16482 */ - "\xe4\xb3\xb8\0" /* offset 16487 */ - "\xf0\xaa\x84\x85\0" /* offset 16491 */ - "\xf0\xaa\x88\x8e\0" /* offset 16496 */ - "\xf0\xaa\x8a\x91\0" /* offset 16501 */ - "\xe4\xb5\x96\0" /* offset 16506 */ - "\xe9\xbb\xbe\0" /* offset 16510 */ - "\xe9\xbc\x85\0" /* offset 16514 */ - "\xe9\xbc\x8f\0" /* offset 16518 */ - "\xe9\xbc\x96\0" /* offset 16522 */ - "\xf0\xaa\x98\x80\0" /* offset 16526 */; - -#endif /* DECOMP_H */ diff --git a/libidn/iconvme.c b/libidn/iconvme.c deleted file mode 100644 index 6284ca7..0000000 --- a/libidn/iconvme.c +++ /dev/null @@ -1,171 +0,0 @@ -/* Recode strings between character sets, using iconv. - Copyright (C) 2002-2018 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this program; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifdef HAVE_CONFIG_H -# include <config.h> -#endif - -/* Get prototype. */ -#include "iconvme.h" - -/* Get malloc. */ -#include <stdlib.h> - -/* Get strcmp. */ -#include <string.h> - -/* Get errno. */ -#include <errno.h> - -#ifdef _LIBC -# define HAVE_ICONV 1 -#else -/* Get strdup. */ -# include "strdup.h" -#endif - -#if HAVE_ICONV -/* Get iconv etc. */ -# include <iconv.h> -/* Get MB_LEN_MAX, CHAR_BIT. */ -# include <limits.h> -#endif - -#ifndef SIZE_MAX -# define SIZE_MAX ((size_t) -1) -#endif - -/* Convert a zero-terminated string STR from the FROM_CODSET code set - to the TO_CODESET code set. The returned string is allocated using - malloc, and must be dellocated by the caller using free. On - failure, NULL is returned and errno holds the error reason. Note - that if TO_CODESET uses \0 for anything but to terminate the - string, the caller of this function may have difficulties finding - out the length of the output string. */ -char * -iconv_string (const char *str, const char *from_codeset, - const char *to_codeset) -{ - char *dest = NULL; -#if HAVE_ICONV - iconv_t cd; - char *outp; - char *p = (char *) str; - size_t inbytes_remaining = strlen (p); - /* Guess the maximum length the output string can have. */ - size_t outbuf_size = inbytes_remaining + 1; - size_t outbytes_remaining; - size_t err; - int have_error = 0; - - /* Use a worst-case output size guess, so long as that wouldn't be - too large for comfort. It's OK if the guess is wrong so long as - it's nonzero. */ - size_t approx_sqrt_SIZE_MAX = SIZE_MAX >> (sizeof (size_t) * CHAR_BIT / 2); - if (outbuf_size <= approx_sqrt_SIZE_MAX / MB_LEN_MAX) - outbuf_size *= MB_LEN_MAX; - outbytes_remaining = outbuf_size - 1; -#endif - - if (strcmp (to_codeset, from_codeset) == 0) - return strdup (str); - -#if HAVE_ICONV - cd = iconv_open (to_codeset, from_codeset); - if (cd == (iconv_t) -1) - return NULL; - - outp = dest = (char *) malloc (outbuf_size); - if (dest == NULL) - goto out; - -again: - err = iconv (cd, &p, &inbytes_remaining, &outp, &outbytes_remaining); - - if (err == (size_t) - 1) - { - switch (errno) - { - case EINVAL: - /* Incomplete text, do not report an error */ - break; - - case E2BIG: - { - size_t used = outp - dest; - size_t newsize = outbuf_size * 2; - char *newdest; - - if (newsize <= outbuf_size) - { - errno = ENOMEM; - have_error = 1; - goto out; - } - newdest = (char *) realloc (dest, newsize); - if (newdest == NULL) - { - have_error = 1; - goto out; - } - dest = newdest; - outbuf_size = newsize; - - outp = dest + used; - outbytes_remaining = outbuf_size - used - 1; /* -1 for NUL */ - - goto again; - } - break; - - case EILSEQ: - have_error = 1; - break; - - default: - have_error = 1; - break; - } - } - - *outp = '\0'; - -out: - { - int save_errno = errno; - - if (iconv_close (cd) < 0 && !have_error) - { - /* If we didn't have a real error before, make sure we restore - the iconv_close error below. */ - save_errno = errno; - have_error = 1; - } - - if (have_error && dest) - { - free (dest); - dest = NULL; - errno = save_errno; - } - } -#else - errno = ENOSYS; -#endif - - return dest; -} diff --git a/libidn/iconvme.h b/libidn/iconvme.h deleted file mode 100644 index a9b7e1e..0000000 --- a/libidn/iconvme.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Recode strings between character sets, using iconv. - Copyright (C) 2004-2018 Free Software Foundation, Inc. - Written by Simon Josefsson. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this program; if not, see - <http://www.gnu.org/licenses/>. */ - -#ifndef ICONVME_H -# define ICONVME_H - -extern char *iconv_string (const char *string, const char *from_code, - const char *to_code); - -#endif /* ICONVME_H */ diff --git a/libidn/idn-stub.c b/libidn/idn-stub.c deleted file mode 100644 index fb67f74..0000000 --- a/libidn/idn-stub.c +++ /dev/null @@ -1,142 +0,0 @@ -/* idn-stub.c --- Stub to dlopen libcidn.so and invoke idna_to_ascii_lz. - * Copyright (C) 2003, 2004 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#include <ctype.h> -#include <stdio.h> -#include <string.h> -#include <dlfcn.h> -#include <gnu/lib-names.h> -#include <libc-lock.h> - -/* Get specification for idna_to_ascii_lz. */ -#include "idna.h" - -/* Handle of the libidn DSO. */ -static void *h; - - -static int (*to_ascii_lz) (const char *input, char **output, int flags); -static int (*to_unicode_lzlz) (const char *input, char **output, int flags); - - -static void -load_dso (void) -{ - /* Lock protecting the DSO loading. */ - __libc_lock_define_initialized (static, lock); - - __libc_lock_lock (lock); - - /* Retest in case some other thread arrived here at the same time. */ - if (h == NULL) - { - h = __libc_dlopen (LIBCIDN_SO); - - if (h == NULL) - h = (void *) 1l; - else - { - /* Get the function we are interested in. */ - to_ascii_lz = __libc_dlsym (h, "idna_to_ascii_lz"); - to_unicode_lzlz = __libc_dlsym (h, "idna_to_unicode_lzlz"); - if (to_ascii_lz == NULL || to_unicode_lzlz == NULL) - { - __libc_dlclose (h); - h = (void *) 1l; - } - } - } - - __libc_lock_unlock (lock); -} - - -/* Stub to dlopen libcidn.so and invoke the real idna_to_ascii_lz, or - return IDNA_DLOPEN_ERROR on failure. */ -int -__idna_to_unicode_lzlz (const char *input, char **output, int flags) -{ - /* If the input string contains no "xn--" prefix for a component of - the name we can pass it up right away. */ - const char *cp = input; - while (*cp != '\0') - { - if (strncmp (cp, IDNA_ACE_PREFIX, strlen (IDNA_ACE_PREFIX)) == 0) - break; - - /* On to the next part of the name. */ - cp = __strchrnul (cp, '.'); - if (*cp == '.') - ++cp; - } - - if (*cp == '\0') - { - *output = (char *) input; - return IDNA_SUCCESS; - } - - if (h == NULL) - load_dso (); - - if (h == (void *) 1l) - return IDNA_DLOPEN_ERROR; - - return to_unicode_lzlz (input, output, flags); -} - - -/* Stub to dlopen libcidn.so and invoke the real idna_to_ascii_lz, or - return IDNA_DLOPEN_ERROR on failure. */ -int -__idna_to_ascii_lz (const char *input, char **output, int flags) -{ - /* If the input string contains no non-ASCII character the output - string will be the same. No valid locale encoding does not have - this property. */ - const char *cp = input; - while (*cp != '\0' && isascii (*cp)) - ++cp; - - if (*cp == '\0') - { - *output = (char *) input; - return IDNA_SUCCESS; - } - - if (h == NULL) - load_dso (); - - if (h == (void *) 1l) - return IDNA_DLOPEN_ERROR; - - return to_ascii_lz (input, output, flags); -} - - -#if IS_IN (libc) -libc_freeres_fn (unload_libidn) -{ - if (h != NULL && h != (void *) 1l) - { - __libc_dlclose (h); - h = (void *) 1l; - } -} -#endif diff --git a/libidn/idna.c b/libidn/idna.c deleted file mode 100644 index 7a15a25..0000000 --- a/libidn/idna.c +++ /dev/null @@ -1,834 +0,0 @@ -/* idna.c Convert to or from IDN strings. - * Copyright (C) 2002, 2003, 2004, 2011 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <string.h> -#include <stringprep.h> -#include <punycode.h> -#include <stdint.h> - -#include "idna.h" - -#define DOTP(c) ((c) == 0x002E || (c) == 0x3002 || \ - (c) == 0xFF0E || (c) == 0xFF61) - -/* Core functions */ - -/** - * idna_to_ascii_4i - * @in: input array with unicode code points. - * @inlen: length of input array with unicode code points. - * @out: output zero terminated string that must have room for at - * least 63 characters plus the terminating zero. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * The ToASCII operation takes a sequence of Unicode code points that make - * up one label and transforms it into a sequence of code points in the - * ASCII range (0..7F). If ToASCII succeeds, the original sequence and the - * resulting sequence are equivalent labels. - * - * It is important to note that the ToASCII operation can fail. ToASCII - * fails if any step of it fails. If any step of the ToASCII operation - * fails on any label in a domain name, that domain name MUST NOT be used - * as an internationalized domain name. The method for deadling with this - * failure is application-specific. - * - * The inputs to ToASCII are a sequence of code points, the AllowUnassigned - * flag, and the UseSTD3ASCIIRules flag. The output of ToASCII is either a - * sequence of ASCII code points or a failure condition. - * - * ToASCII never alters a sequence of code points that are all in the ASCII - * range to begin with (although it could fail). Applying the ToASCII - * operation multiple times has exactly the same effect as applying it just - * once. - * - * Return value: Returns 0 on success, or an error code. - */ -int -idna_to_ascii_4i (const uint32_t * in, size_t inlen, char *out, int flags) -{ - size_t len, outlen; - uint32_t *src; /* XXX don't need to copy data? */ - int rc; - - /* - * ToASCII consists of the following steps: - * - * 1. If all code points in the sequence are in the ASCII range (0..7F) - * then skip to step 3. - */ - - { - size_t i; - int inasciirange; - - inasciirange = 1; - for (i = 0; i < inlen; i++) - if (in[i] > 0x7F) - inasciirange = 0; - if (inasciirange) - { - src = malloc (sizeof (in[0]) * (inlen + 1)); - if (src == NULL) - return IDNA_MALLOC_ERROR; - - memcpy (src, in, sizeof (in[0]) * inlen); - src[inlen] = 0; - - goto step3; - } - } - - /* - * 2. Perform the steps specified in [NAMEPREP] and fail if there is - * an error. The AllowUnassigned flag is used in [NAMEPREP]. - */ - - { - char *p; - - p = stringprep_ucs4_to_utf8 (in, inlen, NULL, NULL); - if (p == NULL) - return IDNA_MALLOC_ERROR; - - len = strlen (p); - do - { - char *newp; - - len = 2 * len + 10; /* XXX better guess? */ - newp = realloc (p, len); - if (newp == NULL) - { - free (p); - return IDNA_MALLOC_ERROR; - } - p = newp; - - if (flags & IDNA_ALLOW_UNASSIGNED) - rc = stringprep_nameprep (p, len); - else - rc = stringprep_nameprep_no_unassigned (p, len); - } - while (rc == STRINGPREP_TOO_SMALL_BUFFER); - - if (rc != STRINGPREP_OK) - { - free (p); - return IDNA_STRINGPREP_ERROR; - } - - src = stringprep_utf8_to_ucs4 (p, -1, NULL); - - free (p); - } - -step3: - /* - * 3. If the UseSTD3ASCIIRules flag is set, then perform these checks: - * - * (a) Verify the absence of non-LDH ASCII code points; that is, - * the absence of 0..2C, 2E..2F, 3A..40, 5B..60, and 7B..7F. - * - * (b) Verify the absence of leading and trailing hyphen-minus; - * that is, the absence of U+002D at the beginning and end of - * the sequence. - */ - - if (flags & IDNA_USE_STD3_ASCII_RULES) - { - size_t i; - - for (i = 0; src[i]; i++) - if (src[i] <= 0x2C || src[i] == 0x2E || src[i] == 0x2F || - (src[i] >= 0x3A && src[i] <= 0x40) || - (src[i] >= 0x5B && src[i] <= 0x60) || - (src[i] >= 0x7B && src[i] <= 0x7F)) - { - free (src); - return IDNA_CONTAINS_NON_LDH; - } - - if (src[0] == 0x002D || (i > 0 && src[i - 1] == 0x002D)) - { - free (src); - return IDNA_CONTAINS_MINUS; - } - } - - /* - * 4. If all code points in the sequence are in the ASCII range - * (0..7F), then skip to step 8. - */ - - { - size_t i; - int inasciirange; - - inasciirange = 1; - for (i = 0; src[i]; i++) - { - if (src[i] > 0x7F) - inasciirange = 0; - /* copy string to output buffer if we are about to skip to step8 */ - if (i < 64) - out[i] = src[i]; - } - if (i < 64) - out[i] = '\0'; - if (inasciirange) - goto step8; - } - - /* - * 5. Verify that the sequence does NOT begin with the ACE prefix. - * - */ - - { - size_t i; - int match; - - match = 1; - for (i = 0; match && i < strlen (IDNA_ACE_PREFIX); i++) - if (((uint32_t) IDNA_ACE_PREFIX[i] & 0xFF) != src[i]) - match = 0; - if (match) - { - free (src); - return IDNA_CONTAINS_ACE_PREFIX; - } - } - - /* - * 6. Encode the sequence using the encoding algorithm in [PUNYCODE] - * and fail if there is an error. - */ - for (len = 0; src[len]; len++) - ; - src[len] = '\0'; - outlen = 63 - strlen (IDNA_ACE_PREFIX); - rc = punycode_encode (len, src, NULL, - &outlen, &out[strlen (IDNA_ACE_PREFIX)]); - if (rc != PUNYCODE_SUCCESS) - { - free (src); - return IDNA_PUNYCODE_ERROR; - } - out[strlen (IDNA_ACE_PREFIX) + outlen] = '\0'; - - /* - * 7. Prepend the ACE prefix. - */ - - memcpy (out, IDNA_ACE_PREFIX, strlen (IDNA_ACE_PREFIX)); - - /* - * 8. Verify that the number of code points is in the range 1 to 63 - * inclusive (0 is excluded). - */ - -step8: - free (src); - if (strlen (out) < 1 || strlen (out) > 63) - return IDNA_INVALID_LENGTH; - - return IDNA_SUCCESS; -} - -/* ToUnicode(). May realloc() utf8in. */ -static int -idna_to_unicode_internal (char *utf8in, - uint32_t * out, size_t * outlen, int flags) -{ - int rc; - char tmpout[64]; - size_t utf8len = strlen (utf8in) + 1; - size_t addlen = 0; - - /* - * ToUnicode consists of the following steps: - * - * 1. If the sequence contains any code points outside the ASCII range - * (0..7F) then proceed to step 2, otherwise skip to step 3. - */ - - { - size_t i; - int inasciirange; - - inasciirange = 1; - for (i = 0; utf8in[i]; i++) - if (utf8in[i] & ~0x7F) - inasciirange = 0; - if (inasciirange) - goto step3; - } - - /* - * 2. Perform the steps specified in [NAMEPREP] and fail if there is an - * error. (If step 3 of ToASCII is also performed here, it will not - * affect the overall behavior of ToUnicode, but it is not - * necessary.) The AllowUnassigned flag is used in [NAMEPREP]. - */ - do - { - char *newp = realloc (utf8in, utf8len + addlen); - if (newp == NULL) - { - free (utf8in); - return IDNA_MALLOC_ERROR; - } - utf8in = newp; - if (flags & IDNA_ALLOW_UNASSIGNED) - rc = stringprep_nameprep (utf8in, utf8len + addlen); - else - rc = stringprep_nameprep_no_unassigned (utf8in, utf8len + addlen); - addlen += 1; - } - while (rc == STRINGPREP_TOO_SMALL_BUFFER); - - if (rc != STRINGPREP_OK) - { - free (utf8in); - return IDNA_STRINGPREP_ERROR; - } - - /* 3. Verify that the sequence begins with the ACE prefix, and save a - * copy of the sequence. - */ - -step3: - if (memcmp (IDNA_ACE_PREFIX, utf8in, strlen (IDNA_ACE_PREFIX)) != 0) - { - free (utf8in); - return IDNA_NO_ACE_PREFIX; - } - - /* 4. Remove the ACE prefix. - */ - - memmove (utf8in, &utf8in[strlen (IDNA_ACE_PREFIX)], - strlen (utf8in) - strlen (IDNA_ACE_PREFIX) + 1); - - /* 5. Decode the sequence using the decoding algorithm in [PUNYCODE] - * and fail if there is an error. Save a copy of the result of - * this step. - */ - - (*outlen)--; /* reserve one for the zero */ - - rc = punycode_decode (strlen (utf8in), utf8in, outlen, out, NULL); - if (rc != PUNYCODE_SUCCESS) - { - free (utf8in); - return IDNA_PUNYCODE_ERROR; - } - - out[*outlen] = 0; /* add zero */ - - /* 6. Apply ToASCII. - */ - - rc = idna_to_ascii_4i (out, *outlen, tmpout, flags); - if (rc != IDNA_SUCCESS) - { - free (utf8in); - return rc; - } - - /* 7. Verify that the result of step 6 matches the saved copy from - * step 3, using a case-insensitive ASCII comparison. - */ - - if (strcasecmp (utf8in, tmpout + strlen (IDNA_ACE_PREFIX)) != 0) - { - free (utf8in); - return IDNA_ROUNDTRIP_VERIFY_ERROR; - } - - /* 8. Return the saved copy from step 5. - */ - - free (utf8in); - return IDNA_SUCCESS; -} - -/** - * idna_to_unicode_44i - * @in: input array with unicode code points. - * @inlen: length of input array with unicode code points. - * @out: output array with unicode code points. - * @outlen: on input, maximum size of output array with unicode code points, - * on exit, actual size of output array with unicode code points. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * The ToUnicode operation takes a sequence of Unicode code points - * that make up one label and returns a sequence of Unicode code - * points. If the input sequence is a label in ACE form, then the - * result is an equivalent internationalized label that is not in ACE - * form, otherwise the original sequence is returned unaltered. - * - * ToUnicode never fails. If any step fails, then the original input - * sequence is returned immediately in that step. - * - * The Punycode decoder can never output more code points than it - * inputs, but Nameprep can, and therefore ToUnicode can. Note that - * the number of octets needed to represent a sequence of code points - * depends on the particular character encoding used. - * - * The inputs to ToUnicode are a sequence of code points, the - * AllowUnassigned flag, and the UseSTD3ASCIIRules flag. The output of - * ToUnicode is always a sequence of Unicode code points. - * - * Return value: Returns error condition, but it must only be used for - * debugging purposes. The output buffer is always - * guaranteed to contain the correct data according to - * the specification (sans malloc induced errors). NB! - * This means that you normally ignore the return code - * from this function, as checking it means breaking the - * standard. - */ -int -idna_to_unicode_44i (const uint32_t * in, size_t inlen, - uint32_t * out, size_t * outlen, int flags) -{ - int rc; - size_t outlensave = *outlen; - char *p; - - p = stringprep_ucs4_to_utf8 (in, inlen, NULL, NULL); - if (p == NULL) - return IDNA_MALLOC_ERROR; - - rc = idna_to_unicode_internal (p, out, outlen, flags); - if (rc != IDNA_SUCCESS) - { - memcpy (out, in, sizeof (in[0]) * (inlen < outlensave ? - inlen : outlensave)); - *outlen = inlen; - } - - /* p is freed in idna_to_unicode_internal. */ - - return rc; -} - -/* Wrappers that handle several labels */ - -/** - * idna_to_ascii_4z: - * @input: zero terminated input Unicode string. - * @output: pointer to newly allocated output string. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert UCS-4 domain name to ASCII string. The domain name may - * contain several labels, separated by dots. The output buffer must - * be deallocated by the caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_ascii_4z (const uint32_t * input, char **output, int flags) -{ - const uint32_t *start = input; - const uint32_t *end = input; - char buf[64]; - char *out = NULL; - int rc; - - /* 1) Whenever dots are used as label separators, the following - characters MUST be recognized as dots: U+002E (full stop), - U+3002 (ideographic full stop), U+FF0E (fullwidth full stop), - U+FF61 (halfwidth ideographic full stop). */ - - if (input[0] == 0) - { - /* Handle implicit zero-length root label. */ - *output = malloc (1); - if (!*output) - return IDNA_MALLOC_ERROR; - strcpy (*output, ""); - return IDNA_SUCCESS; - } - - if (DOTP (input[0]) && input[1] == 0) - { - /* Handle explicit zero-length root label. */ - *output = malloc (2); - if (!*output) - return IDNA_MALLOC_ERROR; - strcpy (*output, "."); - return IDNA_SUCCESS; - } - - *output = NULL; - do - { - end = start; - - for (; *end && !DOTP (*end); end++) - ; - - if (*end == '\0' && start == end) - { - /* Handle explicit zero-length root label. */ - buf[0] = '\0'; - } - else - { - rc = idna_to_ascii_4i (start, end - start, buf, flags); - if (rc != IDNA_SUCCESS) - return rc; - } - - if (out) - { - char *newp = realloc (out, strlen (out) + 1 + strlen (buf) + 1); - if (!newp) - { - free (out); - return IDNA_MALLOC_ERROR; - } - out = newp; - strcat (out, "."); - strcat (out, buf); - } - else - { - out = (char *) malloc (strlen (buf) + 1); - if (!out) - return IDNA_MALLOC_ERROR; - strcpy (out, buf); - } - - start = end + 1; - } - while (*end); - - *output = out; - - return IDNA_SUCCESS; -} - -/** - * idna_to_ascii_8z: - * @input: zero terminated input UTF-8 string. - * @output: pointer to newly allocated output string. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert UTF-8 domain name to ASCII string. The domain name may - * contain several labels, separated by dots. The output buffer must - * be deallocated by the caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_ascii_8z (const char *input, char **output, int flags) -{ - uint32_t *ucs4; - size_t ucs4len; - int rc; - - ucs4 = stringprep_utf8_to_ucs4 (input, -1, &ucs4len); - if (!ucs4) - return IDNA_ICONV_ERROR; - - rc = idna_to_ascii_4z (ucs4, output, flags); - - free (ucs4); - - return rc; - -} - -/** - * idna_to_ascii_lz: - * @input: zero terminated input UTF-8 string. - * @output: pointer to newly allocated output string. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert domain name in the locale's encoding to ASCII string. The - * domain name may contain several labels, separated by dots. The - * output buffer must be deallocated by the caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_ascii_lz (const char *input, char **output, int flags) -{ - char *utf8; - int rc; - - utf8 = stringprep_locale_to_utf8 (input); - if (!utf8) - return IDNA_ICONV_ERROR; - - rc = idna_to_ascii_8z (utf8, output, flags); - - free (utf8); - - return rc; -} - -/** - * idna_to_unicode_4z4z: - * @input: zero-terminated Unicode string. - * @output: pointer to newly allocated output Unicode string. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert possibly ACE encoded domain name in UCS-4 format into a - * UCS-4 string. The domain name may contain several labels, - * separated by dots. The output buffer must be deallocated by the - * caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_unicode_4z4z (const uint32_t * input, uint32_t ** output, int flags) -{ - const uint32_t *start = input; - const uint32_t *end = input; - uint32_t *buf; - size_t buflen; - uint32_t *out = NULL; - size_t outlen = 0; - - *output = NULL; - - do - { - end = start; - - for (; *end && !DOTP (*end); end++) - ; - - buflen = end - start; - buf = malloc (sizeof (buf[0]) * (buflen + 1)); - if (!buf) - return IDNA_MALLOC_ERROR; - - idna_to_unicode_44i (start, end - start, buf, &buflen, flags); - /* don't check return value as per specification! */ - - if (out) - { - uint32_t *newp = realloc (out, - sizeof (out[0]) - * (outlen + 1 + buflen + 1)); - if (!newp) - { - free (buf); - free (out); - return IDNA_MALLOC_ERROR; - } - out = newp; - out[outlen++] = 0x002E; /* '.' (full stop) */ - memcpy (out + outlen, buf, sizeof (buf[0]) * buflen); - outlen += buflen; - out[outlen] = 0x0; - free (buf); - } - else - { - out = buf; - outlen = buflen; - out[outlen] = 0x0; - } - - start = end + 1; - } - while (*end); - - *output = out; - - return IDNA_SUCCESS; -} - -/** - * idna_to_unicode_8z4z: - * @input: zero-terminated UTF-8 string. - * @output: pointer to newly allocated output Unicode string. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert possibly ACE encoded domain name in UTF-8 format into a - * UCS-4 string. The domain name may contain several labels, - * separated by dots. The output buffer must be deallocated by the - * caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_unicode_8z4z (const char *input, uint32_t ** output, int flags) -{ - uint32_t *ucs4; - size_t ucs4len; - int rc; - - ucs4 = stringprep_utf8_to_ucs4 (input, -1, &ucs4len); - if (!ucs4) - return IDNA_ICONV_ERROR; - - rc = idna_to_unicode_4z4z (ucs4, output, flags); - free (ucs4); - - return rc; -} - -/** - * idna_to_unicode_8z8z: - * @input: zero-terminated UTF-8 string. - * @output: pointer to newly allocated output UTF-8 string. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert possibly ACE encoded domain name in UTF-8 format into a - * UTF-8 string. The domain name may contain several labels, - * separated by dots. The output buffer must be deallocated by the - * caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_unicode_8z8z (const char *input, char **output, int flags) -{ - uint32_t *ucs4; - int rc; - - rc = idna_to_unicode_8z4z (input, &ucs4, flags); - *output = stringprep_ucs4_to_utf8 (ucs4, -1, NULL, NULL); - free (ucs4); - - if (!*output) - return IDNA_ICONV_ERROR; - - return rc; -} - -/** - * idna_to_unicode_8zlz: - * @input: zero-terminated UTF-8 string. - * @output: pointer to newly allocated output string encoded in the - * current locale's character set. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert possibly ACE encoded domain name in UTF-8 format into a - * string encoded in the current locale's character set. The domain - * name may contain several labels, separated by dots. The output - * buffer must be deallocated by the caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_unicode_8zlz (const char *input, char **output, int flags) -{ - char *utf8; - int rc; - - rc = idna_to_unicode_8z8z (input, &utf8, flags); - *output = stringprep_utf8_to_locale (utf8); - free (utf8); - - if (!*output) - return IDNA_ICONV_ERROR; - - return rc; -} - -/** - * idna_to_unicode_lzlz: - * @input: zero-terminated string encoded in the current locale's - * character set. - * @output: pointer to newly allocated output string encoded in the - * current locale's character set. - * @flags: IDNA flags, e.g. IDNA_ALLOW_UNASSIGNED or IDNA_USE_STD3_ASCII_RULES. - * - * Convert possibly ACE encoded domain name in the locale's character - * set into a string encoded in the current locale's character set. - * The domain name may contain several labels, separated by dots. The - * output buffer must be deallocated by the caller. - * - * Return value: Returns IDNA_SUCCESS on success, or error code. - **/ -int -idna_to_unicode_lzlz (const char *input, char **output, int flags) -{ - char *utf8; - int rc; - - utf8 = stringprep_locale_to_utf8 (input); - if (!utf8) - return IDNA_ICONV_ERROR; - - rc = idna_to_unicode_8zlz (utf8, output, flags); - free (utf8); - - return rc; -} - -/** - * IDNA_ACE_PREFIX - * - * The IANA allocated prefix to use for IDNA. "xn--" - */ - -/** - * Idna_rc: - * @IDNA_SUCCESS: Successful operation. This value is guaranteed to - * always be zero, the remaining ones are only guaranteed to hold - * non-zero values, for logical comparison purposes. - * @IDNA_STRINGPREP_ERROR: Error during string preparation. - * @IDNA_PUNYCODE_ERROR: Error during punycode operation. - * @IDNA_CONTAINS_NON_LDH: For IDNA_USE_STD3_ASCII_RULES, indicate that - * the string contains non-LDH ASCII characters. - * @IDNA_CONTAINS_MINUS: For IDNA_USE_STD3_ASCII_RULES, indicate that - * the string contains a leading or trailing hyphen-minus (U+002D). - * @IDNA_INVALID_LENGTH: The final output string is not within the - * (inclusive) range 1 to 63 characters. - * @IDNA_NO_ACE_PREFIX: The string does not contain the ACE prefix - * (for ToUnicode). - * @IDNA_ROUNDTRIP_VERIFY_ERROR: The ToASCII operation on output - * string does not equal the input. - * @IDNA_CONTAINS_ACE_PREFIX: The input contains the ACE prefix (for - * ToASCII). - * @IDNA_ICONV_ERROR: Could not convert string in locale encoding. - * @IDNA_MALLOC_ERROR: Could not allocate buffer (this is typically a - * fatal error). - * @IDNA_DLOPEN_ERROR: Could not dlopen the libcidn DSO (only used - * internally in libc). - * - * Enumerated return codes of idna_to_ascii_4i(), - * idna_to_unicode_44i() functions (and functions derived from those - * functions). The value 0 is guaranteed to always correspond to - * success. - */ - - -/** - * Idna_flags: - * @IDNA_ALLOW_UNASSIGNED: Don't reject strings containing unassigned - * Unicode code points. - * @IDNA_USE_STD3_ASCII_RULES: Validate strings according to STD3 - * rules (i.e., normal host name rules). - * - * Flags to pass to idna_to_ascii_4i(), idna_to_unicode_44i() etc. - */ diff --git a/libidn/idna.h b/libidn/idna.h deleted file mode 100644 index c3de0d7..0000000 --- a/libidn/idna.h +++ /dev/null @@ -1,96 +0,0 @@ -/* idna.h Declarations for IDNA. - * Copyright (C) 2002, 2003, 2004 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef _IDNA_H -#define _IDNA_H - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include <stddef.h> /* size_t */ -#include <stdint.h> /* uint32_t */ - - /* Error codes. */ - typedef enum - { - IDNA_SUCCESS = 0, - IDNA_STRINGPREP_ERROR = 1, - IDNA_PUNYCODE_ERROR = 2, - IDNA_CONTAINS_NON_LDH = 3, - /* Workaround typo in earlier versions. */ - IDNA_CONTAINS_LDH = IDNA_CONTAINS_NON_LDH, - IDNA_CONTAINS_MINUS = 4, - IDNA_INVALID_LENGTH = 5, - IDNA_NO_ACE_PREFIX = 6, - IDNA_ROUNDTRIP_VERIFY_ERROR = 7, - IDNA_CONTAINS_ACE_PREFIX = 8, - IDNA_ICONV_ERROR = 9, - /* Internal errors. */ - IDNA_MALLOC_ERROR = 201, - IDNA_DLOPEN_ERROR = 202 - } Idna_rc; - - /* IDNA flags */ - typedef enum - { - IDNA_ALLOW_UNASSIGNED = 0x0001, - IDNA_USE_STD3_ASCII_RULES = 0x0002 - } Idna_flags; - -#ifndef IDNA_ACE_PREFIX -#define IDNA_ACE_PREFIX "xn--" -#endif - - /* Core functions */ - extern int idna_to_ascii_4i (const uint32_t * in, size_t inlen, - char *out, int flags); - extern int idna_to_unicode_44i (const uint32_t * in, size_t inlen, - uint32_t * out, size_t * outlen, int flags); - - /* Wrappers that handle several labels */ - - extern int idna_to_ascii_4z (const uint32_t * input, - char **output, int flags); - - extern int idna_to_ascii_8z (const char *input, char **output, int flags); - - extern int idna_to_ascii_lz (const char *input, char **output, int flags); - - - extern int idna_to_unicode_4z4z (const uint32_t * input, - uint32_t ** output, int flags); - - extern int idna_to_unicode_8z4z (const char *input, - uint32_t ** output, int flags); - - extern int idna_to_unicode_8z8z (const char *input, - char **output, int flags); - - extern int idna_to_unicode_8zlz (const char *input, - char **output, int flags); - - extern int idna_to_unicode_lzlz (const char *input, - char **output, int flags); - -#ifdef __cplusplus -} -#endif -#endif /* _PUNYCODE_H */ diff --git a/libidn/nfkc.c b/libidn/nfkc.c deleted file mode 100644 index f3e41d0..0000000 --- a/libidn/nfkc.c +++ /dev/null @@ -1,1057 +0,0 @@ -/* nfkc.c Unicode normalization utilities. - * Copyright (C) 2002, 2003 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <string.h> -#include <stdint.h> - -#include "stringprep.h" - -/* This file contains functions from GLIB, including gutf8.c and - * gunidecomp.c, all licensed under LGPL and copyright hold by: - * - * Copyright (C) 1999, 2000 Tom Tromey - * Copyright 2000 Red Hat, Inc. - */ - -/* Hacks to make syncing with GLIB code easier. */ -#define gboolean int -#define gchar char -#define guchar unsigned char -#define glong long -#define gint int -#define guint unsigned int -#define gushort unsigned short -#define gint16 int16_t -#define guint16 uint16_t -#define gunichar uint32_t -#define gsize size_t -#define gssize ssize_t -#define g_malloc malloc -#define g_free free -#define GError void -#define g_set_error(a,b,c,d) ((void) 0) -#define g_new(struct_type, n_structs) \ - ((struct_type *) g_malloc (((gsize) sizeof (struct_type)) * ((gsize) (n_structs)))) -# if defined (__GNUC__) && !defined (__STRICT_ANSI__) && !defined (__cplusplus) -# define G_STMT_START (void)( -# define G_STMT_END ) -# else -# if (defined (sun) || defined (__sun__)) -# define G_STMT_START if (1) -# define G_STMT_END else (void)0 -# else -# define G_STMT_START do -# define G_STMT_END while (0) -# endif -# endif -#define g_return_val_if_fail(expr,val) G_STMT_START{ (void)0; }G_STMT_END -#define G_N_ELEMENTS(arr) (sizeof (arr) / sizeof ((arr)[0])) -#define TRUE 1 -#define FALSE 0 - -/* Code from GLIB gunicode.h starts here. */ - -typedef enum -{ - G_NORMALIZE_DEFAULT, - G_NORMALIZE_NFD = G_NORMALIZE_DEFAULT, - G_NORMALIZE_DEFAULT_COMPOSE, - G_NORMALIZE_NFC = G_NORMALIZE_DEFAULT_COMPOSE, - G_NORMALIZE_ALL, - G_NORMALIZE_NFKD = G_NORMALIZE_ALL, - G_NORMALIZE_ALL_COMPOSE, - G_NORMALIZE_NFKC = G_NORMALIZE_ALL_COMPOSE -} -GNormalizeMode; - -/* Code from GLIB gutf8.c starts here. */ - -#define UTF8_COMPUTE(Char, Mask, Len) \ - if (Char < 128) \ - { \ - Len = 1; \ - Mask = 0x7f; \ - } \ - else if ((Char & 0xe0) == 0xc0) \ - { \ - Len = 2; \ - Mask = 0x1f; \ - } \ - else if ((Char & 0xf0) == 0xe0) \ - { \ - Len = 3; \ - Mask = 0x0f; \ - } \ - else if ((Char & 0xf8) == 0xf0) \ - { \ - Len = 4; \ - Mask = 0x07; \ - } \ - else if ((Char & 0xfc) == 0xf8) \ - { \ - Len = 5; \ - Mask = 0x03; \ - } \ - else if ((Char & 0xfe) == 0xfc) \ - { \ - Len = 6; \ - Mask = 0x01; \ - } \ - else \ - Len = -1; - -#define UTF8_LENGTH(Char) \ - ((Char) < 0x80 ? 1 : \ - ((Char) < 0x800 ? 2 : \ - ((Char) < 0x10000 ? 3 : \ - ((Char) < 0x200000 ? 4 : \ - ((Char) < 0x4000000 ? 5 : 6))))) - - -#define UTF8_GET(Result, Chars, Count, Mask, Len) \ - (Result) = (Chars)[0] & (Mask); \ - for ((Count) = 1; (Count) < (Len); ++(Count)) \ - { \ - if (((Chars)[(Count)] & 0xc0) != 0x80) \ - { \ - (Result) = -1; \ - break; \ - } \ - (Result) <<= 6; \ - (Result) |= ((Chars)[(Count)] & 0x3f); \ - } - -#define UNICODE_VALID(Char) \ - ((Char) < 0x110000 && \ - (((Char) & 0xFFFFF800) != 0xD800) && \ - ((Char) < 0xFDD0 || (Char) > 0xFDEF) && \ - ((Char) & 0xFFFE) != 0xFFFE) - - -static const gchar utf8_skip_data[256] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, - 5, 5, 5, 6, 6, 1, 1 -}; - -const gchar *const g_utf8_skip = utf8_skip_data; - -#define g_utf8_next_char(p) (char *)((p) + g_utf8_skip[*(guchar *)(p)]) - -/* - * g_utf8_strlen: - * @p: pointer to the start of a UTF-8 encoded string. - * @max: the maximum number of bytes to examine. If @max - * is less than 0, then the string is assumed to be - * nul-terminated. If @max is 0, @p will not be examined and - * may be %NULL. - * - * Returns the length of the string in characters. - * - * Return value: the length of the string in characters - **/ -static glong -g_utf8_strlen (const gchar * p, gssize max) -{ - glong len = 0; - const gchar *start = p; - g_return_val_if_fail (p != NULL || max == 0, 0); - - if (max < 0) - { - while (*p) - { - p = g_utf8_next_char (p); - ++len; - } - } - else - { - if (max == 0 || !*p) - return 0; - - p = g_utf8_next_char (p); - - while (p - start < max && *p) - { - ++len; - p = g_utf8_next_char (p); - } - - /* only do the last len increment if we got a complete - * char (don't count partial chars) - */ - if (p - start == max) - ++len; - } - - return len; -} - -/* - * g_utf8_get_char: - * @p: a pointer to Unicode character encoded as UTF-8 - * - * Converts a sequence of bytes encoded as UTF-8 to a Unicode character. - * If @p does not point to a valid UTF-8 encoded character, results are - * undefined. If you are not sure that the bytes are complete - * valid Unicode characters, you should use g_utf8_get_char_validated() - * instead. - * - * Return value: the resulting character - **/ -static gunichar -g_utf8_get_char (const gchar * p) -{ - int i, mask = 0, len; - gunichar result; - unsigned char c = (unsigned char) *p; - - UTF8_COMPUTE (c, mask, len); - if (len == -1) - return (gunichar) - 1; - UTF8_GET (result, p, i, mask, len); - - return result; -} - -/* - * g_unichar_to_utf8: - * @c: a ISO10646 character code - * @outbuf: output buffer, must have at least 6 bytes of space. - * If %NULL, the length will be computed and returned - * and nothing will be written to @outbuf. - * - * Converts a single character to UTF-8. - * - * Return value: number of bytes written - **/ -static int -g_unichar_to_utf8 (gunichar c, gchar * outbuf) -{ - guint len = 0; - int first; - int i; - - if (c < 0x80) - { - first = 0; - len = 1; - } - else if (c < 0x800) - { - first = 0xc0; - len = 2; - } - else if (c < 0x10000) - { - first = 0xe0; - len = 3; - } - else if (c < 0x200000) - { - first = 0xf0; - len = 4; - } - else if (c < 0x4000000) - { - first = 0xf8; - len = 5; - } - else - { - first = 0xfc; - len = 6; - } - - if (outbuf) - { - for (i = len - 1; i > 0; --i) - { - outbuf[i] = (c & 0x3f) | 0x80; - c >>= 6; - } - outbuf[0] = c | first; - } - - return len; -} - -/* - * g_utf8_to_ucs4_fast: - * @str: a UTF-8 encoded string - * @len: the maximum length of @str to use. If @len < 0, then - * the string is nul-terminated. - * @items_written: location to store the number of characters in the - * result, or %NULL. - * - * Convert a string from UTF-8 to a 32-bit fixed width - * representation as UCS-4, assuming valid UTF-8 input. - * This function is roughly twice as fast as g_utf8_to_ucs4() - * but does no error checking on the input. - * - * Return value: a pointer to a newly allocated UCS-4 string. - * This value must be freed with g_free(). - **/ -static gunichar * -g_utf8_to_ucs4_fast (const gchar * str, glong len, glong * items_written) -{ - gint j, charlen; - gunichar *result; - gint n_chars, i; - const gchar *p; - - g_return_val_if_fail (str != NULL, NULL); - - p = str; - n_chars = 0; - if (len < 0) - { - while (*p) - { - p = g_utf8_next_char (p); - ++n_chars; - } - } - else - { - while (p < str + len && *p) - { - p = g_utf8_next_char (p); - ++n_chars; - } - } - - result = g_new (gunichar, n_chars + 1); - if (!result) - return NULL; - - p = str; - for (i = 0; i < n_chars; i++) - { - gunichar wc = ((unsigned char *) p)[0]; - - if (wc < 0x80) - { - result[i] = wc; - p++; - } - else - { - if (wc < 0xe0) - { - charlen = 2; - wc &= 0x1f; - } - else if (wc < 0xf0) - { - charlen = 3; - wc &= 0x0f; - } - else if (wc < 0xf8) - { - charlen = 4; - wc &= 0x07; - } - else if (wc < 0xfc) - { - charlen = 5; - wc &= 0x03; - } - else - { - charlen = 6; - wc &= 0x01; - } - - for (j = 1; j < charlen; j++) - { - wc <<= 6; - wc |= ((unsigned char *) p)[j] & 0x3f; - } - - result[i] = wc; - p += charlen; - } - } - result[i] = 0; - - if (items_written) - *items_written = i; - - return result; -} - -/* - * g_ucs4_to_utf8: - * @str: a UCS-4 encoded string - * @len: the maximum length of @str to use. If @len < 0, then - * the string is terminated with a 0 character. - * @items_read: location to store number of characters read read, or %NULL. - * @items_written: location to store number of bytes written or %NULL. - * The value here stored does not include the trailing 0 - * byte. - * @error: location to store the error occuring, or %NULL to ignore - * errors. Any of the errors in #GConvertError other than - * %G_CONVERT_ERROR_NO_CONVERSION may occur. - * - * Convert a string from a 32-bit fixed width representation as UCS-4. - * to UTF-8. The result will be terminated with a 0 byte. - * - * Return value: a pointer to a newly allocated UTF-8 string. - * This value must be freed with g_free(). If an - * error occurs, %NULL will be returned and - * @error set. - **/ -static gchar * -g_ucs4_to_utf8 (const gunichar * str, - glong len, - glong * items_read, glong * items_written, GError ** error) -{ - gint result_length; - gchar *result = NULL; - gchar *p; - gint i; - - result_length = 0; - for (i = 0; len < 0 || i < len; i++) - { - if (!str[i]) - break; - - if (str[i] >= 0x80000000) - { - if (items_read) - *items_read = i; - - g_set_error (error, G_CONVERT_ERROR, - G_CONVERT_ERROR_ILLEGAL_SEQUENCE, - _("Character out of range for UTF-8")); - goto err_out; - } - - result_length += UTF8_LENGTH (str[i]); - } - - result = g_malloc (result_length + 1); - if (!result) - return NULL; - p = result; - - i = 0; - while (p < result + result_length) - p += g_unichar_to_utf8 (str[i++], p); - - *p = '\0'; - - if (items_written) - *items_written = p - result; - -err_out: - if (items_read) - *items_read = i; - - return result; -} - -/* Code from GLIB gunidecomp.c starts here. */ - -#include "gunidecomp.h" -#include "gunicomp.h" - -#define CC_PART1(Page, Char) \ - ((combining_class_table_part1[Page] >= G_UNICODE_MAX_TABLE_INDEX) \ - ? (combining_class_table_part1[Page] - G_UNICODE_MAX_TABLE_INDEX) \ - : (cclass_data[combining_class_table_part1[Page]][Char])) - -#define CC_PART2(Page, Char) \ - ((combining_class_table_part2[Page] >= G_UNICODE_MAX_TABLE_INDEX) \ - ? (combining_class_table_part2[Page] - G_UNICODE_MAX_TABLE_INDEX) \ - : (cclass_data[combining_class_table_part2[Page]][Char])) - -#define COMBINING_CLASS(Char) \ - (((Char) <= G_UNICODE_LAST_CHAR_PART1) \ - ? CC_PART1 ((Char) >> 8, (Char) & 0xff) \ - : (((Char) >= 0xe0000 && (Char) <= G_UNICODE_LAST_CHAR) \ - ? CC_PART2 (((Char) - 0xe0000) >> 8, (Char) & 0xff) \ - : 0)) - -/* constants for hangul syllable [de]composition */ -#define SBase 0xAC00 -#define LBase 0x1100 -#define VBase 0x1161 -#define TBase 0x11A7 -#define LCount 19 -#define VCount 21 -#define TCount 28 -#define NCount (VCount * TCount) -#define SCount (LCount * NCount) - -/* - * g_unicode_canonical_ordering: - * @string: a UCS-4 encoded string. - * @len: the maximum length of @string to use. - * - * Computes the canonical ordering of a string in-place. - * This rearranges decomposed characters in the string - * according to their combining classes. See the Unicode - * manual for more information. - **/ -static void -g_unicode_canonical_ordering (gunichar * string, gsize len) -{ - gsize i; - int swap = 1; - - while (swap) - { - int last; - swap = 0; - last = COMBINING_CLASS (string[0]); - for (i = 0; i < len - 1; ++i) - { - int next = COMBINING_CLASS (string[i + 1]); - if (next != 0 && last > next) - { - gsize j; - /* Percolate item leftward through string. */ - for (j = i + 1; j > 0; --j) - { - gunichar t; - if (COMBINING_CLASS (string[j - 1]) <= next) - break; - t = string[j]; - string[j] = string[j - 1]; - string[j - 1] = t; - swap = 1; - } - /* We're re-entering the loop looking at the old - character again. */ - next = last; - } - last = next; - } - } -} - -/* http://www.unicode.org/unicode/reports/tr15/#Hangul - * r should be null or have sufficient space. Calling with r == NULL will - * only calculate the result_len; however, a buffer with space for three - * characters will always be big enough. */ -static void -decompose_hangul (gunichar s, gunichar * r, gsize * result_len) -{ - gint SIndex = s - SBase; - - /* not a hangul syllable */ - if (SIndex < 0 || SIndex >= SCount) - { - if (r) - r[0] = s; - *result_len = 1; - } - else - { - gunichar L = LBase + SIndex / NCount; - gunichar V = VBase + (SIndex % NCount) / TCount; - gunichar T = TBase + SIndex % TCount; - - if (r) - { - r[0] = L; - r[1] = V; - } - - if (T != TBase) - { - if (r) - r[2] = T; - *result_len = 3; - } - else - *result_len = 2; - } -} - -/* returns a pointer to a null-terminated UTF-8 string */ -static const gchar * -find_decomposition (gunichar ch, gboolean compat) -{ - int start = 0; - int end = G_N_ELEMENTS (decomp_table); - - if (ch >= decomp_table[start].ch && ch <= decomp_table[end - 1].ch) - { - while (TRUE) - { - int half = (start + end) / 2; - if (ch == decomp_table[half].ch) - { - int offset; - - if (compat) - { - offset = decomp_table[half].compat_offset; - if (offset == G_UNICODE_NOT_PRESENT_OFFSET) - offset = decomp_table[half].canon_offset; - } - else - { - offset = decomp_table[half].canon_offset; - if (offset == G_UNICODE_NOT_PRESENT_OFFSET) - return NULL; - } - - return &(decomp_expansion_string[offset]); - } - else if (half == start) - break; - else if (ch > decomp_table[half].ch) - start = half; - else - end = half; - } - } - - return NULL; -} - -/* L,V => LV and LV,T => LVT */ -static gboolean -combine_hangul (gunichar a, gunichar b, gunichar * result) -{ - gint LIndex = a - LBase; - gint SIndex = a - SBase; - - gint VIndex = b - VBase; - gint TIndex = b - TBase; - - if (0 <= LIndex && LIndex < LCount && 0 <= VIndex && VIndex < VCount) - { - *result = SBase + (LIndex * VCount + VIndex) * TCount; - return TRUE; - } - else if (0 <= SIndex && SIndex < SCount && (SIndex % TCount) == 0 - && 0 <= TIndex && TIndex <= TCount) - { - *result = a + TIndex; - return TRUE; - } - - return FALSE; -} - -#define CI(Page, Char) \ - ((compose_table[Page] >= G_UNICODE_MAX_TABLE_INDEX) \ - ? (compose_table[Page] - G_UNICODE_MAX_TABLE_INDEX) \ - : (compose_data[compose_table[Page]][Char])) - -#define COMPOSE_INDEX(Char) \ - ((((Char) >> 8) > (COMPOSE_TABLE_LAST)) ? 0 : CI((Char) >> 8, (Char) & 0xff)) - -static gboolean -combine (gunichar a, gunichar b, gunichar * result) -{ - gushort index_a, index_b; - - if (combine_hangul (a, b, result)) - return TRUE; - - index_a = COMPOSE_INDEX (a); - - if (index_a >= COMPOSE_FIRST_SINGLE_START && index_a < COMPOSE_SECOND_START) - { - if (b == compose_first_single[index_a - COMPOSE_FIRST_SINGLE_START][0]) - { - *result = - compose_first_single[index_a - COMPOSE_FIRST_SINGLE_START][1]; - return TRUE; - } - else - return FALSE; - } - - index_b = COMPOSE_INDEX (b); - - if (index_b >= COMPOSE_SECOND_SINGLE_START) - { - if (a == - compose_second_single[index_b - COMPOSE_SECOND_SINGLE_START][0]) - { - *result = - compose_second_single[index_b - COMPOSE_SECOND_SINGLE_START][1]; - return TRUE; - } - else - return FALSE; - } - - if (index_a >= COMPOSE_FIRST_START && index_a < COMPOSE_FIRST_SINGLE_START - && index_b >= COMPOSE_SECOND_START - && index_b < COMPOSE_SECOND_SINGLE_START) - { - gunichar res = - compose_array[index_a - COMPOSE_FIRST_START][index_b - - COMPOSE_SECOND_START]; - - if (res) - { - *result = res; - return TRUE; - } - } - - return FALSE; -} - -static gunichar * -_g_utf8_normalize_wc (const gchar * str, gssize max_len, GNormalizeMode mode) -{ - gsize n_wc; - gunichar *wc_buffer; - const char *p; - gsize last_start; - gboolean do_compat = (mode == G_NORMALIZE_NFKC || mode == G_NORMALIZE_NFKD); - gboolean do_compose = (mode == G_NORMALIZE_NFC || mode == G_NORMALIZE_NFKC); - - n_wc = 0; - p = str; - while ((max_len < 0 || p < str + max_len) && *p) - { - const gchar *decomp; - gunichar wc = g_utf8_get_char (p); - - if (wc >= 0xac00 && wc <= 0xd7af) - { - gsize result_len; - decompose_hangul (wc, NULL, &result_len); - n_wc += result_len; - } - else - { - decomp = find_decomposition (wc, do_compat); - - if (decomp) - n_wc += g_utf8_strlen (decomp, -1); - else - n_wc++; - } - - p = g_utf8_next_char (p); - } - - wc_buffer = g_new (gunichar, n_wc + 1); - if (!wc_buffer) - return NULL; - - last_start = 0; - n_wc = 0; - p = str; - while ((max_len < 0 || p < str + max_len) && *p) - { - gunichar wc = g_utf8_get_char (p); - const gchar *decomp; - int cc; - gsize old_n_wc = n_wc; - - if (wc >= 0xac00 && wc <= 0xd7af) - { - gsize result_len; - decompose_hangul (wc, wc_buffer + n_wc, &result_len); - n_wc += result_len; - } - else - { - decomp = find_decomposition (wc, do_compat); - - if (decomp) - { - const char *pd; - for (pd = decomp; *pd != '\0'; pd = g_utf8_next_char (pd)) - wc_buffer[n_wc++] = g_utf8_get_char (pd); - } - else - wc_buffer[n_wc++] = wc; - } - - if (n_wc > 0) - { - cc = COMBINING_CLASS (wc_buffer[old_n_wc]); - - if (cc == 0) - { - g_unicode_canonical_ordering (wc_buffer + last_start, - n_wc - last_start); - last_start = old_n_wc; - } - } - - p = g_utf8_next_char (p); - } - - if (n_wc > 0) - { - g_unicode_canonical_ordering (wc_buffer + last_start, - n_wc - last_start); - last_start = n_wc; - } - - wc_buffer[n_wc] = 0; - - /* All decomposed and reordered */ - - if (do_compose && n_wc > 0) - { - gsize i, j; - int last_cc = 0; - last_start = 0; - - for (i = 0; i < n_wc; i++) - { - int cc = COMBINING_CLASS (wc_buffer[i]); - - if (i > 0 && - (last_cc == 0 || last_cc != cc) && - combine (wc_buffer[last_start], wc_buffer[i], - &wc_buffer[last_start])) - { - for (j = i + 1; j < n_wc; j++) - wc_buffer[j - 1] = wc_buffer[j]; - n_wc--; - i--; - - if (i == last_start) - last_cc = 0; - else - last_cc = COMBINING_CLASS (wc_buffer[i - 1]); - - continue; - } - - if (cc == 0) - last_start = i; - - last_cc = cc; - } - } - - wc_buffer[n_wc] = 0; - - return wc_buffer; -} - -/* - * g_utf8_normalize: - * @str: a UTF-8 encoded string. - * @len: length of @str, in bytes, or -1 if @str is nul-terminated. - * @mode: the type of normalization to perform. - * - * Converts a string into canonical form, standardizing - * such issues as whether a character with an accent - * is represented as a base character and combining - * accent or as a single precomposed character. You - * should generally call g_utf8_normalize() before - * comparing two Unicode strings. - * - * The normalization mode %G_NORMALIZE_DEFAULT only - * standardizes differences that do not affect the - * text content, such as the above-mentioned accent - * representation. %G_NORMALIZE_ALL also standardizes - * the "compatibility" characters in Unicode, such - * as SUPERSCRIPT THREE to the standard forms - * (in this case DIGIT THREE). Formatting information - * may be lost but for most text operations such - * characters should be considered the same. - * For example, g_utf8_collate() normalizes - * with %G_NORMALIZE_ALL as its first step. - * - * %G_NORMALIZE_DEFAULT_COMPOSE and %G_NORMALIZE_ALL_COMPOSE - * are like %G_NORMALIZE_DEFAULT and %G_NORMALIZE_ALL, - * but returned a result with composed forms rather - * than a maximally decomposed form. This is often - * useful if you intend to convert the string to - * a legacy encoding or pass it to a system with - * less capable Unicode handling. - * - * Return value: a newly allocated string, that is the - * normalized form of @str. - **/ -static gchar * -g_utf8_normalize (const gchar * str, gssize len, GNormalizeMode mode) -{ - gunichar *result_wc = _g_utf8_normalize_wc (str, len, mode); - gchar *result; - - result = g_ucs4_to_utf8 (result_wc, -1, NULL, NULL, NULL); - g_free (result_wc); - - return result; -} - -/* Public Libidn API starts here. */ - -/** - * stringprep_utf8_to_unichar: - * @p: a pointer to Unicode character encoded as UTF-8 - * - * Converts a sequence of bytes encoded as UTF-8 to a Unicode character. - * If @p does not point to a valid UTF-8 encoded character, results are - * undefined. - * - * Return value: the resulting character. - **/ -uint32_t -stringprep_utf8_to_unichar (const char *p) -{ - return g_utf8_get_char (p); -} - -/** - * stringprep_unichar_to_utf8: - * @c: a ISO10646 character code - * @outbuf: output buffer, must have at least 6 bytes of space. - * If %NULL, the length will be computed and returned - * and nothing will be written to @outbuf. - * - * Converts a single character to UTF-8. - * - * Return value: number of bytes written. - **/ -int -stringprep_unichar_to_utf8 (uint32_t c, char *outbuf) -{ - return g_unichar_to_utf8 (c, outbuf); -} - -/** - * stringprep_utf8_to_ucs4: - * @str: a UTF-8 encoded string - * @len: the maximum length of @str to use. If @len < 0, then - * the string is nul-terminated. - * @items_written: location to store the number of characters in the - * result, or %NULL. - * - * Convert a string from UTF-8 to a 32-bit fixed width - * representation as UCS-4, assuming valid UTF-8 input. - * This function does no error checking on the input. - * - * Return value: a pointer to a newly allocated UCS-4 string. - * This value must be freed with free(). - **/ -uint32_t * -stringprep_utf8_to_ucs4 (const char *str, ssize_t len, size_t * items_written) -{ - return g_utf8_to_ucs4_fast (str, (glong) len, (glong *) items_written); -} - -/** - * stringprep_ucs4_to_utf8: - * @str: a UCS-4 encoded string - * @len: the maximum length of @str to use. If @len < 0, then - * the string is terminated with a 0 character. - * @items_read: location to store number of characters read read, or %NULL. - * @items_written: location to store number of bytes written or %NULL. - * The value here stored does not include the trailing 0 - * byte. - * - * Convert a string from a 32-bit fixed width representation as UCS-4. - * to UTF-8. The result will be terminated with a 0 byte. - * - * Return value: a pointer to a newly allocated UTF-8 string. - * This value must be freed with free(). If an - * error occurs, %NULL will be returned and - * @error set. - **/ -char * -stringprep_ucs4_to_utf8 (const uint32_t * str, ssize_t len, - size_t * items_read, size_t * items_written) -{ - return g_ucs4_to_utf8 (str, len, (glong *) items_read, - (glong *) items_written, NULL); -} - -/** - * stringprep_utf8_nfkc_normalize: - * @str: a UTF-8 encoded string. - * @len: length of @str, in bytes, or -1 if @str is nul-terminated. - * - * Converts a string into canonical form, standardizing - * such issues as whether a character with an accent - * is represented as a base character and combining - * accent or as a single precomposed character. - * - * The normalization mode is NFKC (ALL COMPOSE). It standardizes - * differences that do not affect the text content, such as the - * above-mentioned accent representation. It standardizes the - * "compatibility" characters in Unicode, such as SUPERSCRIPT THREE to - * the standard forms (in this case DIGIT THREE). Formatting - * information may be lost but for most text operations such - * characters should be considered the same. It returns a result with - * composed forms rather than a maximally decomposed form. - * - * Return value: a newly allocated string, that is the - * NFKC normalized form of @str. - **/ -char * -stringprep_utf8_nfkc_normalize (const char *str, ssize_t len) -{ - return g_utf8_normalize (str, len, G_NORMALIZE_NFKC); -} - -/** - * stringprep_ucs4_nfkc_normalize: - * @str: a Unicode string. - * @len: length of @str array, or -1 if @str is nul-terminated. - * - * Converts UCS4 string into UTF-8 and runs - * stringprep_utf8_nfkc_normalize(). - * - * Return value: a newly allocated Unicode string, that is the NFKC - * normalized form of @str. - **/ -uint32_t * -stringprep_ucs4_nfkc_normalize (uint32_t * str, ssize_t len) -{ - char *p; - uint32_t *result_wc; - - p = stringprep_ucs4_to_utf8 (str, len, 0, 0); - result_wc = _g_utf8_normalize_wc (p, -1, G_NORMALIZE_NFKC); - free (p); - - return result_wc; -} diff --git a/libidn/profiles.c b/libidn/profiles.c deleted file mode 100644 index ee11b60..0000000 --- a/libidn/profiles.c +++ /dev/null @@ -1,308 +0,0 @@ -/* profiles.c Definitions of stringprep profiles. - * Copyright (C) 2002, 2003, 2004 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#include "stringprep.h" - -const Stringprep_profiles stringprep_profiles[] = { - {"Nameprep", stringprep_nameprep}, - {"KRBprep", stringprep_kerberos5}, /* Deprecate? */ - {"Nodeprep", stringprep_xmpp_nodeprep}, - {"Resourceprep", stringprep_xmpp_resourceprep}, - {"plain", stringprep_plain}, /* sasl-anon-00. */ - {"trace", stringprep_trace}, /* sasl-anon-01,02. */ - {"SASLprep", stringprep_saslprep}, - {"ISCSIprep", stringprep_iscsi}, /* Obsolete. */ - {"iSCSI", stringprep_iscsi}, /* IANA. */ - {NULL, NULL} -}; - -const Stringprep_profile stringprep_nameprep[] = { - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1}, - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2}, - {STRINGPREP_NFKC, 0, 0}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI, - stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2}, - {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, - stringprep_rfc3454_A_1}, - {0} -}; - -const Stringprep_profile stringprep_kerberos5[] = { - /* XXX this is likely to be wrong as the specification is - a rough draft. */ - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1}, - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_3}, - {STRINGPREP_NFKC, 0, 0}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, ~STRINGPREP_NO_BIDI, - stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2}, - {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, - stringprep_rfc3454_A_1}, - {0} -}; - -const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[] = { - {0x000022}, /* #x22 (") */ - {0x000026}, /* #x26 (&) */ - {0x000027}, /* #x27 (') */ - {0x00002F}, /* #x2F (/) */ - {0x00003A}, /* #x3A (:) */ - {0x00003C}, /* #x3C (<) */ - {0x00003E}, /* #x3E (>) */ - {0x000040}, /* #x40 (@) */ - {0} -}; - -const Stringprep_profile stringprep_xmpp_nodeprep[] = { - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1}, - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2}, - {STRINGPREP_NFKC, 0, 0}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_xmpp_nodeprep_prohibit}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, 0, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, 0, stringprep_rfc3454_D_2}, - {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, - stringprep_rfc3454_A_1}, - {0} -}; - -const Stringprep_profile stringprep_xmpp_resourceprep[] = { - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1}, - {STRINGPREP_NFKC, 0, 0}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2}, - {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, - stringprep_rfc3454_A_1}, - {0} -}; - -const Stringprep_profile stringprep_plain[] = { - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2}, - {0} -}; - -const Stringprep_profile stringprep_trace[] = { - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2}, - {0} -}; - -const Stringprep_table_element stringprep_iscsi_prohibit[] = { - {0x0000}, /* [ASCII CONTROL CHARACTERS and SPACE through ,] */ - {0x0001}, - {0x0002}, - {0x0003}, - {0x0004}, - {0x0005}, - {0x0006}, - {0x0007}, - {0x0008}, - {0x0009}, - {0x000A}, - {0x000B}, - {0x000C}, - {0x000D}, - {0x000E}, - {0x000F}, - {0x0010}, - {0x0011}, - {0x0012}, - {0x0013}, - {0x0014}, - {0x0015}, - {0x0016}, - {0x0017}, - {0x0018}, - {0x0019}, - {0x001A}, - {0x001B}, - {0x001C}, - {0x001D}, - {0x001E}, - {0x001F}, - {0x0020}, - {0x0021}, - {0x0022}, - {0x0023}, - {0x0024}, - {0x0025}, - {0x0026}, - {0x0027}, - {0x0028}, - {0x0029}, - {0x002A}, - {0x002B}, - {0x002C}, - {0x002F}, /* [ASCII /] */ - {0x003B}, /* [ASCII ; through @] */ - {0x003C}, - {0x003D}, - {0x003E}, - {0x003F}, - {0x0040}, - {0x005B}, /* [ASCII [ through `] */ - {0x005C}, - {0x005D}, - {0x005E}, - {0x005F}, - {0x0060}, - {0x007B}, /* [ASCII { through DEL] */ - {0x007C}, - {0x007D}, - {0x007E}, - {0x007F}, - {0x3002}, /* ideographic full stop */ - {0} -}; - -const Stringprep_profile stringprep_iscsi[] = { - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1}, - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_2}, - {STRINGPREP_NFKC, 0, 0}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_iscsi_prohibit}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2}, - {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, - stringprep_rfc3454_A_1}, - {0} -}; - -const Stringprep_table_element stringprep_saslprep_space_map[] = { - {0x0000A0, 0, {0x0020}}, /* 00A0; NO-BREAK SPACE */ - {0x001680, 0, {0x0020}}, /* 1680; OGHAM SPACE MARK */ - {0x002000, 0, {0x0020}}, /* 2000; EN QUAD */ - {0x002001, 0, {0x0020}}, /* 2001; EM QUAD */ - {0x002002, 0, {0x0020}}, /* 2002; EN SPACE */ - {0x002003, 0, {0x0020}}, /* 2003; EM SPACE */ - {0x002004, 0, {0x0020}}, /* 2004; THREE-PER-EM SPACE */ - {0x002005, 0, {0x0020}}, /* 2005; FOUR-PER-EM SPACE */ - {0x002006, 0, {0x0020}}, /* 2006; SIX-PER-EM SPACE */ - {0x002007, 0, {0x0020}}, /* 2007; FIGURE SPACE */ - {0x002008, 0, {0x0020}}, /* 2008; PUNCTUATION SPACE */ - {0x002009, 0, {0x0020}}, /* 2009; THIN SPACE */ - {0x00200A, 0, {0x0020}}, /* 200A; HAIR SPACE */ - {0x00200B, 0, {0x0020}}, /* 200B; ZERO WIDTH SPACE */ - {0x00202F, 0, {0x0020}}, /* 202F; NARROW NO-BREAK SPACE */ - {0x00205F, 0, {0x0020}}, /* 205F; MEDIUM MATHEMATICAL SPACE */ - {0x003000, 0, {0x0020}}, /* 3000; IDEOGRAPHIC SPACE */ - {0} -}; - -const Stringprep_profile stringprep_saslprep[] = { - {STRINGPREP_MAP_TABLE, 0, stringprep_saslprep_space_map}, - {STRINGPREP_MAP_TABLE, 0, stringprep_rfc3454_B_1}, - {STRINGPREP_NFKC, 0, 0}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_1_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_1}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_2_2}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_3}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_4}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_5}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_6}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_7}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_9}, - {STRINGPREP_BIDI, 0, 0}, - {STRINGPREP_BIDI_PROHIBIT_TABLE, 0, stringprep_rfc3454_C_8}, - {STRINGPREP_BIDI_RAL_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_1}, - {STRINGPREP_BIDI_L_TABLE, ~STRINGPREP_NO_BIDI, stringprep_rfc3454_D_2}, - {STRINGPREP_UNASSIGNED_TABLE, ~STRINGPREP_NO_UNASSIGNED, - stringprep_rfc3454_A_1}, - {0} -}; diff --git a/libidn/punycode.c b/libidn/punycode.c deleted file mode 100644 index 9302718..0000000 --- a/libidn/punycode.c +++ /dev/null @@ -1,454 +0,0 @@ -/* punycode.c Implementation of punycode used to ASCII encode IDN's. - * Copyright (C) 2002, 2003 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -/* - * This file is derived from RFC 3492bis written by Adam M. Costello. - * - * Disclaimer and license: Regarding this entire document or any - * portion of it (including the pseudocode and C code), the author - * makes no guarantees and is not responsible for any damage resulting - * from its use. The author grants irrevocable permission to anyone - * to use, modify, and distribute it in any way that does not diminish - * the rights of anyone else to use, modify, and distribute it, - * provided that redistributed derivative works do not contain - * misleading author or version information. Derivative works need - * not be licensed under similar terms. - * - * Copyright (C) The Internet Society (2003). All Rights Reserved. - * - * This document and translations of it may be copied and furnished to - * others, and derivative works that comment on or otherwise explain it - * or assist in its implementation may be prepared, copied, published - * and distributed, in whole or in part, without restriction of any - * kind, provided that the above copyright notice and this paragraph are - * included on all such copies and derivative works. However, this - * document itself may not be modified in any way, such as by removing - * the copyright notice or references to the Internet Society or other - * Internet organizations, except as needed for the purpose of - * developing Internet standards in which case the procedures for - * copyrights defined in the Internet Standards process must be - * followed, or as required to translate it into languages other than - * English. - * - * The limited permissions granted above are perpetual and will not be - * revoked by the Internet Society or its successors or assigns. - * - * This document and the information contained herein is provided on an - * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING - * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION - * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - */ - -#include <string.h> - -#include "punycode.h" - -/*** Bootstring parameters for Punycode ***/ - -enum -{ base = 36, tmin = 1, tmax = 26, skew = 38, damp = 700, - initial_bias = 72, initial_n = 0x80, delimiter = 0x2D -}; - -/* basic(cp) tests whether cp is a basic code point: */ -#define basic(cp) ((punycode_uint)(cp) < 0x80) - -/* delim(cp) tests whether cp is a delimiter: */ -#define delim(cp) ((cp) == delimiter) - -/* decode_digit(cp) returns the numeric value of a basic code */ -/* point (for use in representing integers) in the range 0 to */ -/* base-1, or base if cp does not represent a value. */ - -static punycode_uint -decode_digit (punycode_uint cp) -{ - return cp - 48 < 10 ? cp - 22 : cp - 65 < 26 ? cp - 65 : - cp - 97 < 26 ? cp - 97 : base; -} - -/* encode_digit(d,flag) returns the basic code point whose value */ -/* (when used for representing integers) is d, which needs to be in */ -/* the range 0 to base-1. The lowercase form is used unless flag is */ -/* nonzero, in which case the uppercase form is used. The behavior */ -/* is undefined if flag is nonzero and digit d has no uppercase form. */ - -static char -encode_digit (punycode_uint d, int flag) -{ - return d + 22 + 75 * (d < 26) - ((flag != 0) << 5); - /* 0..25 map to ASCII a..z or A..Z */ - /* 26..35 map to ASCII 0..9 */ -} - -/* flagged(bcp) tests whether a basic code point is flagged */ -/* (uppercase). The behavior is undefined if bcp is not a */ -/* basic code point. */ - -#define flagged(bcp) ((punycode_uint)(bcp) - 65 < 26) - -/* encode_basic(bcp,flag) forces a basic code point to lowercase */ -/* if flag is zero, uppercase if flag is nonzero, and returns */ -/* the resulting code point. The code point is unchanged if it */ -/* is caseless. The behavior is undefined if bcp is not a basic */ -/* code point. */ - -static char -encode_basic (punycode_uint bcp, int flag) -{ - bcp -= (bcp - 97 < 26) << 5; - return bcp + ((!flag && (bcp - 65 < 26)) << 5); -} - -/*** Platform-specific constants ***/ - -/* maxint is the maximum value of a punycode_uint variable: */ -static const punycode_uint maxint = -1; -/* Because maxint is unsigned, -1 becomes the maximum value. */ - -/*** Bias adaptation function ***/ - -static punycode_uint -adapt (punycode_uint delta, punycode_uint numpoints, int firsttime) -{ - punycode_uint k; - - delta = firsttime ? delta / damp : delta >> 1; - /* delta >> 1 is a faster way of doing delta / 2 */ - delta += delta / numpoints; - - for (k = 0; delta > ((base - tmin) * tmax) / 2; k += base) - { - delta /= base - tmin; - } - - return k + (base - tmin + 1) * delta / (delta + skew); -} - -/*** Main encode function ***/ - -/** - * punycode_encode: - * @input_length: The number of code points in the @input array and - * the number of flags in the @case_flags array. - * @input: An array of code points. They are presumed to be Unicode - * code points, but that is not strictly REQUIRED. The array - * contains code points, not code units. UTF-16 uses code units - * D800 through DFFF to refer to code points 10000..10FFFF. The - * code points D800..DFFF do not occur in any valid Unicode string. - * The code points that can occur in Unicode strings (0..D7FF and - * E000..10FFFF) are also called Unicode scalar values. - * @case_flags: A %NULL pointer or an array of boolean values parallel - * to the @input array. Nonzero (true, flagged) suggests that the - * corresponding Unicode character be forced to uppercase after - * being decoded (if possible), and zero (false, unflagged) suggests - * that it be forced to lowercase (if possible). ASCII code points - * (0..7F) are encoded literally, except that ASCII letters are - * forced to uppercase or lowercase according to the corresponding - * case flags. If @case_flags is a %NULL pointer then ASCII letters - * are left as they are, and other code points are treated as - * unflagged. - * @output_length: The caller passes in the maximum number of ASCII - * code points that it can receive. On successful return it will - * contain the number of ASCII code points actually output. - * @output: An array of ASCII code points. It is *not* - * null-terminated; it will contain zeros if and only if the @input - * contains zeros. (Of course the caller can leave room for a - * terminator and add one if needed.) - * - * Converts a sequence of code points (presumed to be Unicode code - * points) to Punycode. - * - * Return value: The return value can be any of the punycode_status - * values defined above except %punycode_bad_input. If not - * %punycode_success, then @output_size and @output might contain - * garbage. - **/ -int -punycode_encode (size_t input_length, - const punycode_uint input[], - const unsigned char case_flags[], - size_t * output_length, char output[]) -{ - punycode_uint input_len, n, delta, h, b, bias, j, m, q, k, t; - size_t out, max_out; - - /* The Punycode spec assumes that the input length is the same type */ - /* of integer as a code point, so we need to convert the size_t to */ - /* a punycode_uint, which could overflow. */ - - if (input_length > maxint) - return punycode_overflow; - input_len = (punycode_uint) input_length; - - /* Initialize the state: */ - - n = initial_n; - delta = 0; - out = 0; - max_out = *output_length; - bias = initial_bias; - - /* Handle the basic code points: */ - - for (j = 0; j < input_len; ++j) - { - if (basic (input[j])) - { - if (max_out - out < 2) - return punycode_big_output; - output[out++] = case_flags ? - encode_basic (input[j], case_flags[j]) : (char) input[j]; - } - /* else if (input[j] < n) return punycode_bad_input; */ - /* (not needed for Punycode with unsigned code points) */ - } - - h = b = (punycode_uint) out; - /* cannot overflow because out <= input_len <= maxint */ - - /* h is the number of code points that have been handled, b is the */ - /* number of basic code points, and out is the number of ASCII code */ - /* points that have been output. */ - - if (b > 0) - output[out++] = delimiter; - - /* Main encoding loop: */ - - while (h < input_len) - { - /* All non-basic code points < n have been */ - /* handled already. Find the next larger one: */ - - for (m = maxint, j = 0; j < input_len; ++j) - { - /* if (basic(input[j])) continue; */ - /* (not needed for Punycode) */ - if (input[j] >= n && input[j] < m) - m = input[j]; - } - - /* Increase delta enough to advance the decoder's */ - /* <n,i> state to <m,0>, but guard against overflow: */ - - if (m - n > (maxint - delta) / (h + 1)) - return punycode_overflow; - delta += (m - n) * (h + 1); - n = m; - - for (j = 0; j < input_len; ++j) - { - /* Punycode does not need to check whether input[j] is basic: */ - if (input[j] < n /* || basic(input[j]) */ ) - { - if (++delta == 0) - return punycode_overflow; - } - - if (input[j] == n) - { - /* Represent delta as a generalized variable-length integer: */ - - for (q = delta, k = base;; k += base) - { - if (out >= max_out) - return punycode_big_output; - t = k <= bias /* + tmin */ ? tmin : /* +tmin not needed */ - k >= bias + tmax ? tmax : k - bias; - if (q < t) - break; - output[out++] = encode_digit (t + (q - t) % (base - t), 0); - q = (q - t) / (base - t); - } - - output[out++] = encode_digit (q, case_flags && case_flags[j]); - bias = adapt (delta, h + 1, h == b); - delta = 0; - ++h; - } - } - - ++delta, ++n; - } - - *output_length = out; - return punycode_success; -} - -/*** Main decode function ***/ - -/** - * punycode_decode: - * @input_length: The number of ASCII code points in the @input array. - * @input: An array of ASCII code points (0..7F). - * @output_length: The caller passes in the maximum number of code - * points that it can receive into the @output array (which is also - * the maximum number of flags that it can receive into the - * @case_flags array, if @case_flags is not a %NULL pointer). On - * successful return it will contain the number of code points - * actually output (which is also the number of flags actually - * output, if case_flags is not a null pointer). The decoder will - * never need to output more code points than the number of ASCII - * code points in the input, because of the way the encoding is - * defined. The number of code points output cannot exceed the - * maximum possible value of a punycode_uint, even if the supplied - * @output_length is greater than that. - * @output: An array of code points like the input argument of - * punycode_encode() (see above). - * @case_flags: A %NULL pointer (if the flags are not needed by the - * caller) or an array of boolean values parallel to the @output - * array. Nonzero (true, flagged) suggests that the corresponding - * Unicode character be forced to uppercase by the caller (if - * possible), and zero (false, unflagged) suggests that it be forced - * to lowercase (if possible). ASCII code points (0..7F) are output - * already in the proper case, but their flags will be set - * appropriately so that applying the flags would be harmless. - * - * Converts Punycode to a sequence of code points (presumed to be - * Unicode code points). - * - * Return value: The return value can be any of the punycode_status - * values defined above. If not %punycode_success, then - * @output_length, @output, and @case_flags might contain garbage. - * - **/ -int -punycode_decode (size_t input_length, - const char input[], - size_t * output_length, - punycode_uint output[], unsigned char case_flags[]) -{ - punycode_uint n, out, i, max_out, bias, oldi, w, k, digit, t; - size_t b, j, in; - - /* Initialize the state: */ - - n = initial_n; - out = i = 0; - max_out = *output_length > maxint ? maxint - : (punycode_uint) * output_length; - bias = initial_bias; - - /* Handle the basic code points: Let b be the number of input code */ - /* points before the last delimiter, or 0 if there is none, then */ - /* copy the first b code points to the output. */ - - for (b = j = 0; j < input_length; ++j) - if (delim (input[j])) - b = j; - if (b > max_out) - return punycode_big_output; - - for (j = 0; j < b; ++j) - { - if (case_flags) - case_flags[out] = flagged (input[j]); - if (!basic (input[j])) - return punycode_bad_input; - output[out++] = input[j]; - } - - /* Main decoding loop: Start just after the last delimiter if any */ - /* basic code points were copied; start at the beginning otherwise. */ - - for (in = b > 0 ? b + 1 : 0; in < input_length; ++out) - { - - /* in is the index of the next ASCII code point to be consumed, */ - /* and out is the number of code points in the output array. */ - - /* Decode a generalized variable-length integer into delta, */ - /* which gets added to i. The overflow checking is easier */ - /* if we increase i as we go, then subtract off its starting */ - /* value at the end to obtain delta. */ - - for (oldi = i, w = 1, k = base;; k += base) - { - if (in >= input_length) - return punycode_bad_input; - digit = decode_digit (input[in++]); - if (digit >= base) - return punycode_bad_input; - if (digit > (maxint - i) / w) - return punycode_overflow; - i += digit * w; - t = k <= bias /* + tmin */ ? tmin : /* +tmin not needed */ - k >= bias + tmax ? tmax : k - bias; - if (digit < t) - break; - if (w > maxint / (base - t)) - return punycode_overflow; - w *= (base - t); - } - - bias = adapt (i - oldi, out + 1, oldi == 0); - - /* i was supposed to wrap around from out+1 to 0, */ - /* incrementing n each time, so we'll fix that now: */ - - if (i / (out + 1) > maxint - n) - return punycode_overflow; - n += i / (out + 1); - i %= (out + 1); - - /* Insert n at position i of the output: */ - - /* not needed for Punycode: */ - /* if (basic(n)) return punycode_invalid_input; */ - if (out >= max_out) - return punycode_big_output; - - if (case_flags) - { - memmove (case_flags + i + 1, case_flags + i, out - i); - /* Case of last ASCII code point determines case flag: */ - case_flags[i] = flagged (input[in - 1]); - } - - memmove (output + i + 1, output + i, (out - i) * sizeof *output); - output[i++] = n; - } - - *output_length = (size_t) out; - /* cannot overflow because out <= old value of *output_length */ - return punycode_success; -} - -/** - * punycode_uint - * - * Unicode code point data type, this is always a 32 bit unsigned - * integer. - */ - -/** - * Punycode_status - * @PUNYCODE_SUCCESS: Successful operation. This value is guaranteed - * to always be zero, the remaining ones are only guaranteed to hold - * non-zero values, for logical comparison purposes. - * @PUNYCODE_BAD_INPUT: Input is invalid. - * @PUNYCODE_BIG_OUTPUT: Output would exceed the space provided. - * @PUNYCODE_OVERFLOW: Input needs wider integers to process. - * - * Enumerated return codes of punycode_encode() and punycode_decode(). - * The value 0 is guaranteed to always correspond to success. - */ diff --git a/libidn/punycode.h b/libidn/punycode.h deleted file mode 100644 index b73d76d..0000000 --- a/libidn/punycode.h +++ /dev/null @@ -1,214 +0,0 @@ -/* punycode.h Declarations for punycode functions. - * Copyright (C) 2002, 2003 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -/* - * This file is derived from RFC 3492bis written by Adam M. Costello. - * - * Disclaimer and license: Regarding this entire document or any - * portion of it (including the pseudocode and C code), the author - * makes no guarantees and is not responsible for any damage resulting - * from its use. The author grants irrevocable permission to anyone - * to use, modify, and distribute it in any way that does not diminish - * the rights of anyone else to use, modify, and distribute it, - * provided that redistributed derivative works do not contain - * misleading author or version information. Derivative works need - * not be licensed under similar terms. - * - * Copyright (C) The Internet Society (2003). All Rights Reserved. - * - * This document and translations of it may be copied and furnished to - * others, and derivative works that comment on or otherwise explain it - * or assist in its implementation may be prepared, copied, published - * and distributed, in whole or in part, without restriction of any - * kind, provided that the above copyright notice and this paragraph are - * included on all such copies and derivative works. However, this - * document itself may not be modified in any way, such as by removing - * the copyright notice or references to the Internet Society or other - * Internet organizations, except as needed for the purpose of - * developing Internet standards in which case the procedures for - * copyrights defined in the Internet Standards process must be - * followed, or as required to translate it into languages other than - * English. - * - * The limited permissions granted above are perpetual and will not be - * revoked by the Internet Society or its successors or assigns. - * - * This document and the information contained herein is provided on an - * "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING - * TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING - * BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION - * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF - * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. - */ - -#ifndef _PUNYCODE_H -#define _PUNYCODE_H - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include <stddef.h> /* size_t */ -#include <stdint.h> /* uint32_t */ - - enum punycode_status - { - punycode_success = 0, - punycode_bad_input = 1, /* Input is invalid. */ - punycode_big_output = 2, /* Output would exceed the space provided. */ - punycode_overflow = 3 /* Wider integers needed to process input. */ - }; - - typedef enum - { - PUNYCODE_SUCCESS = punycode_success, - PUNYCODE_BAD_INPUT = punycode_bad_input, - PUNYCODE_BIG_OUTPUT = punycode_big_output, - PUNYCODE_OVERFLOW = punycode_overflow - } Punycode_status; - -/* punycode_uint needs to be unsigned and needs to be */ -/* at least 26 bits wide. */ - - typedef uint32_t punycode_uint; - - extern int punycode_encode (size_t input_length, - const punycode_uint input[], - const unsigned char case_flags[], - size_t * output_length, char output[]); - -/* - punycode_encode() converts a sequence of code points (presumed to be - Unicode code points) to Punycode. - - Input arguments (to be supplied by the caller): - - input_length - The number of code points in the input array and the number - of flags in the case_flags array. - - input - An array of code points. They are presumed to be Unicode - code points, but that is not strictly REQUIRED. The - array contains code points, not code units. UTF-16 uses - code units D800 through DFFF to refer to code points - 10000..10FFFF. The code points D800..DFFF do not occur in - any valid Unicode string. The code points that can occur in - Unicode strings (0..D7FF and E000..10FFFF) are also called - Unicode scalar values. - - case_flags - A null pointer or an array of boolean values parallel to - the input array. Nonzero (true, flagged) suggests that the - corresponding Unicode character be forced to uppercase after - being decoded (if possible), and zero (false, unflagged) - suggests that it be forced to lowercase (if possible). - ASCII code points (0..7F) are encoded literally, except that - ASCII letters are forced to uppercase or lowercase according - to the corresponding case flags. If case_flags is a null - pointer then ASCII letters are left as they are, and other - code points are treated as unflagged. - - Output arguments (to be filled in by the function): - - output - An array of ASCII code points. It is *not* null-terminated; - it will contain zeros if and only if the input contains - zeros. (Of course the caller can leave room for a - terminator and add one if needed.) - - Input/output arguments (to be supplied by the caller and overwritten - by the function): - - output_length - The caller passes in the maximum number of ASCII code points - that it can receive. On successful return it will contain - the number of ASCII code points actually output. - - Return value: - - Can be any of the punycode_status values defined above except - punycode_bad_input. If not punycode_success, then output_size - and output might contain garbage. -*/ - - extern int punycode_decode (size_t input_length, - const char input[], - size_t * output_length, - punycode_uint output[], - unsigned char case_flags[]); - -/* - punycode_decode() converts Punycode to a sequence of code points - (presumed to be Unicode code points). - - Input arguments (to be supplied by the caller): - - input_length - The number of ASCII code points in the input array. - - input - An array of ASCII code points (0..7F). - - Output arguments (to be filled in by the function): - - output - An array of code points like the input argument of - punycode_encode() (see above). - - case_flags - A null pointer (if the flags are not needed by the caller) - or an array of boolean values parallel to the output array. - Nonzero (true, flagged) suggests that the corresponding - Unicode character be forced to uppercase by the caller (if - possible), and zero (false, unflagged) suggests that it - be forced to lowercase (if possible). ASCII code points - (0..7F) are output already in the proper case, but their - flags will be set appropriately so that applying the flags - would be harmless. - - Input/output arguments (to be supplied by the caller and overwritten - by the function): - - output_length - The caller passes in the maximum number of code points - that it can receive into the output array (which is also - the maximum number of flags that it can receive into the - case_flags array, if case_flags is not a null pointer). On - successful return it will contain the number of code points - actually output (which is also the number of flags actually - output, if case_flags is not a null pointer). The decoder - will never need to output more code points than the number - of ASCII code points in the input, because of the way the - encoding is defined. The number of code points output - cannot exceed the maximum possible value of a punycode_uint, - even if the supplied output_length is greater than that. - - Return value: - - Can be any of the punycode_status values defined above. If not - punycode_success, then output_length, output, and case_flags - might contain garbage. -*/ - -#ifdef __cplusplus -} -#endif -#endif /* _PUNYCODE_H */ diff --git a/libidn/rfc3454.c b/libidn/rfc3454.c deleted file mode 100644 index a0a0cce..0000000 --- a/libidn/rfc3454.c +++ /dev/null @@ -1,3544 +0,0 @@ -/* This file is automatically generated. DO NOT EDIT! - Instead, edit gen-stringprep-tables.pl and re-run. */ - -#include "stringprep.h" - -/* - * A.1 Unassigned code points in Unicode 3.2 - * - */ - -const Stringprep_table_element stringprep_rfc3454_A_1[] = { - { 0x000221 }, /* 0221 */ - { 0x000234, 0x00024F }, /* 0234-024F */ - { 0x0002AE, 0x0002AF }, /* 02AE-02AF */ - { 0x0002EF, 0x0002FF }, /* 02EF-02FF */ - { 0x000350, 0x00035F }, /* 0350-035F */ - { 0x000370, 0x000373 }, /* 0370-0373 */ - { 0x000376, 0x000379 }, /* 0376-0379 */ - { 0x00037B, 0x00037D }, /* 037B-037D */ - { 0x00037F, 0x000383 }, /* 037F-0383 */ - { 0x00038B }, /* 038B */ - { 0x00038D }, /* 038D */ - { 0x0003A2 }, /* 03A2 */ - { 0x0003CF }, /* 03CF */ - { 0x0003F7, 0x0003FF }, /* 03F7-03FF */ - { 0x000487 }, /* 0487 */ - { 0x0004CF }, /* 04CF */ - { 0x0004F6, 0x0004F7 }, /* 04F6-04F7 */ - { 0x0004FA, 0x0004FF }, /* 04FA-04FF */ - { 0x000510, 0x000530 }, /* 0510-0530 */ - { 0x000557, 0x000558 }, /* 0557-0558 */ - { 0x000560 }, /* 0560 */ - { 0x000588 }, /* 0588 */ - { 0x00058B, 0x000590 }, /* 058B-0590 */ - { 0x0005A2 }, /* 05A2 */ - { 0x0005BA }, /* 05BA */ - { 0x0005C5, 0x0005CF }, /* 05C5-05CF */ - { 0x0005EB, 0x0005EF }, /* 05EB-05EF */ - { 0x0005F5, 0x00060B }, /* 05F5-060B */ - { 0x00060D, 0x00061A }, /* 060D-061A */ - { 0x00061C, 0x00061E }, /* 061C-061E */ - { 0x000620 }, /* 0620 */ - { 0x00063B, 0x00063F }, /* 063B-063F */ - { 0x000656, 0x00065F }, /* 0656-065F */ - { 0x0006EE, 0x0006EF }, /* 06EE-06EF */ - { 0x0006FF }, /* 06FF */ - { 0x00070E }, /* 070E */ - { 0x00072D, 0x00072F }, /* 072D-072F */ - { 0x00074B, 0x00077F }, /* 074B-077F */ - { 0x0007B2, 0x000900 }, /* 07B2-0900 */ - { 0x000904 }, /* 0904 */ - { 0x00093A, 0x00093B }, /* 093A-093B */ - { 0x00094E, 0x00094F }, /* 094E-094F */ - { 0x000955, 0x000957 }, /* 0955-0957 */ - { 0x000971, 0x000980 }, /* 0971-0980 */ - { 0x000984 }, /* 0984 */ - { 0x00098D, 0x00098E }, /* 098D-098E */ - { 0x000991, 0x000992 }, /* 0991-0992 */ - { 0x0009A9 }, /* 09A9 */ - { 0x0009B1 }, /* 09B1 */ - { 0x0009B3, 0x0009B5 }, /* 09B3-09B5 */ - { 0x0009BA, 0x0009BB }, /* 09BA-09BB */ - { 0x0009BD }, /* 09BD */ - { 0x0009C5, 0x0009C6 }, /* 09C5-09C6 */ - { 0x0009C9, 0x0009CA }, /* 09C9-09CA */ - { 0x0009CE, 0x0009D6 }, /* 09CE-09D6 */ - { 0x0009D8, 0x0009DB }, /* 09D8-09DB */ - { 0x0009DE }, /* 09DE */ - { 0x0009E4, 0x0009E5 }, /* 09E4-09E5 */ - { 0x0009FB, 0x000A01 }, /* 09FB-0A01 */ - { 0x000A03, 0x000A04 }, /* 0A03-0A04 */ - { 0x000A0B, 0x000A0E }, /* 0A0B-0A0E */ - { 0x000A11, 0x000A12 }, /* 0A11-0A12 */ - { 0x000A29 }, /* 0A29 */ - { 0x000A31 }, /* 0A31 */ - { 0x000A34 }, /* 0A34 */ - { 0x000A37 }, /* 0A37 */ - { 0x000A3A, 0x000A3B }, /* 0A3A-0A3B */ - { 0x000A3D }, /* 0A3D */ - { 0x000A43, 0x000A46 }, /* 0A43-0A46 */ - { 0x000A49, 0x000A4A }, /* 0A49-0A4A */ - { 0x000A4E, 0x000A58 }, /* 0A4E-0A58 */ - { 0x000A5D }, /* 0A5D */ - { 0x000A5F, 0x000A65 }, /* 0A5F-0A65 */ - { 0x000A75, 0x000A80 }, /* 0A75-0A80 */ - { 0x000A84 }, /* 0A84 */ - { 0x000A8C }, /* 0A8C */ - { 0x000A8E }, /* 0A8E */ - { 0x000A92 }, /* 0A92 */ - { 0x000AA9 }, /* 0AA9 */ - { 0x000AB1 }, /* 0AB1 */ - { 0x000AB4 }, /* 0AB4 */ - { 0x000ABA, 0x000ABB }, /* 0ABA-0ABB */ - { 0x000AC6 }, /* 0AC6 */ - { 0x000ACA }, /* 0ACA */ - { 0x000ACE, 0x000ACF }, /* 0ACE-0ACF */ - { 0x000AD1, 0x000ADF }, /* 0AD1-0ADF */ - { 0x000AE1, 0x000AE5 }, /* 0AE1-0AE5 */ - { 0x000AF0, 0x000B00 }, /* 0AF0-0B00 */ - { 0x000B04 }, /* 0B04 */ - { 0x000B0D, 0x000B0E }, /* 0B0D-0B0E */ - { 0x000B11, 0x000B12 }, /* 0B11-0B12 */ - { 0x000B29 }, /* 0B29 */ - { 0x000B31 }, /* 0B31 */ - { 0x000B34, 0x000B35 }, /* 0B34-0B35 */ - { 0x000B3A, 0x000B3B }, /* 0B3A-0B3B */ - { 0x000B44, 0x000B46 }, /* 0B44-0B46 */ - { 0x000B49, 0x000B4A }, /* 0B49-0B4A */ - { 0x000B4E, 0x000B55 }, /* 0B4E-0B55 */ - { 0x000B58, 0x000B5B }, /* 0B58-0B5B */ - { 0x000B5E }, /* 0B5E */ - { 0x000B62, 0x000B65 }, /* 0B62-0B65 */ - { 0x000B71, 0x000B81 }, /* 0B71-0B81 */ - { 0x000B84 }, /* 0B84 */ - { 0x000B8B, 0x000B8D }, /* 0B8B-0B8D */ - { 0x000B91 }, /* 0B91 */ - { 0x000B96, 0x000B98 }, /* 0B96-0B98 */ - { 0x000B9B }, /* 0B9B */ - { 0x000B9D }, /* 0B9D */ - { 0x000BA0, 0x000BA2 }, /* 0BA0-0BA2 */ - { 0x000BA5, 0x000BA7 }, /* 0BA5-0BA7 */ - { 0x000BAB, 0x000BAD }, /* 0BAB-0BAD */ - { 0x000BB6 }, /* 0BB6 */ - { 0x000BBA, 0x000BBD }, /* 0BBA-0BBD */ - { 0x000BC3, 0x000BC5 }, /* 0BC3-0BC5 */ - { 0x000BC9 }, /* 0BC9 */ - { 0x000BCE, 0x000BD6 }, /* 0BCE-0BD6 */ - { 0x000BD8, 0x000BE6 }, /* 0BD8-0BE6 */ - { 0x000BF3, 0x000C00 }, /* 0BF3-0C00 */ - { 0x000C04 }, /* 0C04 */ - { 0x000C0D }, /* 0C0D */ - { 0x000C11 }, /* 0C11 */ - { 0x000C29 }, /* 0C29 */ - { 0x000C34 }, /* 0C34 */ - { 0x000C3A, 0x000C3D }, /* 0C3A-0C3D */ - { 0x000C45 }, /* 0C45 */ - { 0x000C49 }, /* 0C49 */ - { 0x000C4E, 0x000C54 }, /* 0C4E-0C54 */ - { 0x000C57, 0x000C5F }, /* 0C57-0C5F */ - { 0x000C62, 0x000C65 }, /* 0C62-0C65 */ - { 0x000C70, 0x000C81 }, /* 0C70-0C81 */ - { 0x000C84 }, /* 0C84 */ - { 0x000C8D }, /* 0C8D */ - { 0x000C91 }, /* 0C91 */ - { 0x000CA9 }, /* 0CA9 */ - { 0x000CB4 }, /* 0CB4 */ - { 0x000CBA, 0x000CBD }, /* 0CBA-0CBD */ - { 0x000CC5 }, /* 0CC5 */ - { 0x000CC9 }, /* 0CC9 */ - { 0x000CCE, 0x000CD4 }, /* 0CCE-0CD4 */ - { 0x000CD7, 0x000CDD }, /* 0CD7-0CDD */ - { 0x000CDF }, /* 0CDF */ - { 0x000CE2, 0x000CE5 }, /* 0CE2-0CE5 */ - { 0x000CF0, 0x000D01 }, /* 0CF0-0D01 */ - { 0x000D04 }, /* 0D04 */ - { 0x000D0D }, /* 0D0D */ - { 0x000D11 }, /* 0D11 */ - { 0x000D29 }, /* 0D29 */ - { 0x000D3A, 0x000D3D }, /* 0D3A-0D3D */ - { 0x000D44, 0x000D45 }, /* 0D44-0D45 */ - { 0x000D49 }, /* 0D49 */ - { 0x000D4E, 0x000D56 }, /* 0D4E-0D56 */ - { 0x000D58, 0x000D5F }, /* 0D58-0D5F */ - { 0x000D62, 0x000D65 }, /* 0D62-0D65 */ - { 0x000D70, 0x000D81 }, /* 0D70-0D81 */ - { 0x000D84 }, /* 0D84 */ - { 0x000D97, 0x000D99 }, /* 0D97-0D99 */ - { 0x000DB2 }, /* 0DB2 */ - { 0x000DBC }, /* 0DBC */ - { 0x000DBE, 0x000DBF }, /* 0DBE-0DBF */ - { 0x000DC7, 0x000DC9 }, /* 0DC7-0DC9 */ - { 0x000DCB, 0x000DCE }, /* 0DCB-0DCE */ - { 0x000DD5 }, /* 0DD5 */ - { 0x000DD7 }, /* 0DD7 */ - { 0x000DE0, 0x000DF1 }, /* 0DE0-0DF1 */ - { 0x000DF5, 0x000E00 }, /* 0DF5-0E00 */ - { 0x000E3B, 0x000E3E }, /* 0E3B-0E3E */ - { 0x000E5C, 0x000E80 }, /* 0E5C-0E80 */ - { 0x000E83 }, /* 0E83 */ - { 0x000E85, 0x000E86 }, /* 0E85-0E86 */ - { 0x000E89 }, /* 0E89 */ - { 0x000E8B, 0x000E8C }, /* 0E8B-0E8C */ - { 0x000E8E, 0x000E93 }, /* 0E8E-0E93 */ - { 0x000E98 }, /* 0E98 */ - { 0x000EA0 }, /* 0EA0 */ - { 0x000EA4 }, /* 0EA4 */ - { 0x000EA6 }, /* 0EA6 */ - { 0x000EA8, 0x000EA9 }, /* 0EA8-0EA9 */ - { 0x000EAC }, /* 0EAC */ - { 0x000EBA }, /* 0EBA */ - { 0x000EBE, 0x000EBF }, /* 0EBE-0EBF */ - { 0x000EC5 }, /* 0EC5 */ - { 0x000EC7 }, /* 0EC7 */ - { 0x000ECE, 0x000ECF }, /* 0ECE-0ECF */ - { 0x000EDA, 0x000EDB }, /* 0EDA-0EDB */ - { 0x000EDE, 0x000EFF }, /* 0EDE-0EFF */ - { 0x000F48 }, /* 0F48 */ - { 0x000F6B, 0x000F70 }, /* 0F6B-0F70 */ - { 0x000F8C, 0x000F8F }, /* 0F8C-0F8F */ - { 0x000F98 }, /* 0F98 */ - { 0x000FBD }, /* 0FBD */ - { 0x000FCD, 0x000FCE }, /* 0FCD-0FCE */ - { 0x000FD0, 0x000FFF }, /* 0FD0-0FFF */ - { 0x001022 }, /* 1022 */ - { 0x001028 }, /* 1028 */ - { 0x00102B }, /* 102B */ - { 0x001033, 0x001035 }, /* 1033-1035 */ - { 0x00103A, 0x00103F }, /* 103A-103F */ - { 0x00105A, 0x00109F }, /* 105A-109F */ - { 0x0010C6, 0x0010CF }, /* 10C6-10CF */ - { 0x0010F9, 0x0010FA }, /* 10F9-10FA */ - { 0x0010FC, 0x0010FF }, /* 10FC-10FF */ - { 0x00115A, 0x00115E }, /* 115A-115E */ - { 0x0011A3, 0x0011A7 }, /* 11A3-11A7 */ - { 0x0011FA, 0x0011FF }, /* 11FA-11FF */ - { 0x001207 }, /* 1207 */ - { 0x001247 }, /* 1247 */ - { 0x001249 }, /* 1249 */ - { 0x00124E, 0x00124F }, /* 124E-124F */ - { 0x001257 }, /* 1257 */ - { 0x001259 }, /* 1259 */ - { 0x00125E, 0x00125F }, /* 125E-125F */ - { 0x001287 }, /* 1287 */ - { 0x001289 }, /* 1289 */ - { 0x00128E, 0x00128F }, /* 128E-128F */ - { 0x0012AF }, /* 12AF */ - { 0x0012B1 }, /* 12B1 */ - { 0x0012B6, 0x0012B7 }, /* 12B6-12B7 */ - { 0x0012BF }, /* 12BF */ - { 0x0012C1 }, /* 12C1 */ - { 0x0012C6, 0x0012C7 }, /* 12C6-12C7 */ - { 0x0012CF }, /* 12CF */ - { 0x0012D7 }, /* 12D7 */ - { 0x0012EF }, /* 12EF */ - { 0x00130F }, /* 130F */ - { 0x001311 }, /* 1311 */ - { 0x001316, 0x001317 }, /* 1316-1317 */ - { 0x00131F }, /* 131F */ - { 0x001347 }, /* 1347 */ - { 0x00135B, 0x001360 }, /* 135B-1360 */ - { 0x00137D, 0x00139F }, /* 137D-139F */ - { 0x0013F5, 0x001400 }, /* 13F5-1400 */ - { 0x001677, 0x00167F }, /* 1677-167F */ - { 0x00169D, 0x00169F }, /* 169D-169F */ - { 0x0016F1, 0x0016FF }, /* 16F1-16FF */ - { 0x00170D }, /* 170D */ - { 0x001715, 0x00171F }, /* 1715-171F */ - { 0x001737, 0x00173F }, /* 1737-173F */ - { 0x001754, 0x00175F }, /* 1754-175F */ - { 0x00176D }, /* 176D */ - { 0x001771 }, /* 1771 */ - { 0x001774, 0x00177F }, /* 1774-177F */ - { 0x0017DD, 0x0017DF }, /* 17DD-17DF */ - { 0x0017EA, 0x0017FF }, /* 17EA-17FF */ - { 0x00180F }, /* 180F */ - { 0x00181A, 0x00181F }, /* 181A-181F */ - { 0x001878, 0x00187F }, /* 1878-187F */ - { 0x0018AA, 0x001DFF }, /* 18AA-1DFF */ - { 0x001E9C, 0x001E9F }, /* 1E9C-1E9F */ - { 0x001EFA, 0x001EFF }, /* 1EFA-1EFF */ - { 0x001F16, 0x001F17 }, /* 1F16-1F17 */ - { 0x001F1E, 0x001F1F }, /* 1F1E-1F1F */ - { 0x001F46, 0x001F47 }, /* 1F46-1F47 */ - { 0x001F4E, 0x001F4F }, /* 1F4E-1F4F */ - { 0x001F58 }, /* 1F58 */ - { 0x001F5A }, /* 1F5A */ - { 0x001F5C }, /* 1F5C */ - { 0x001F5E }, /* 1F5E */ - { 0x001F7E, 0x001F7F }, /* 1F7E-1F7F */ - { 0x001FB5 }, /* 1FB5 */ - { 0x001FC5 }, /* 1FC5 */ - { 0x001FD4, 0x001FD5 }, /* 1FD4-1FD5 */ - { 0x001FDC }, /* 1FDC */ - { 0x001FF0, 0x001FF1 }, /* 1FF0-1FF1 */ - { 0x001FF5 }, /* 1FF5 */ - { 0x001FFF }, /* 1FFF */ - { 0x002053, 0x002056 }, /* 2053-2056 */ - { 0x002058, 0x00205E }, /* 2058-205E */ - { 0x002064, 0x002069 }, /* 2064-2069 */ - { 0x002072, 0x002073 }, /* 2072-2073 */ - { 0x00208F, 0x00209F }, /* 208F-209F */ - { 0x0020B2, 0x0020CF }, /* 20B2-20CF */ - { 0x0020EB, 0x0020FF }, /* 20EB-20FF */ - { 0x00213B, 0x00213C }, /* 213B-213C */ - { 0x00214C, 0x002152 }, /* 214C-2152 */ - { 0x002184, 0x00218F }, /* 2184-218F */ - { 0x0023CF, 0x0023FF }, /* 23CF-23FF */ - { 0x002427, 0x00243F }, /* 2427-243F */ - { 0x00244B, 0x00245F }, /* 244B-245F */ - { 0x0024FF }, /* 24FF */ - { 0x002614, 0x002615 }, /* 2614-2615 */ - { 0x002618 }, /* 2618 */ - { 0x00267E, 0x00267F }, /* 267E-267F */ - { 0x00268A, 0x002700 }, /* 268A-2700 */ - { 0x002705 }, /* 2705 */ - { 0x00270A, 0x00270B }, /* 270A-270B */ - { 0x002728 }, /* 2728 */ - { 0x00274C }, /* 274C */ - { 0x00274E }, /* 274E */ - { 0x002753, 0x002755 }, /* 2753-2755 */ - { 0x002757 }, /* 2757 */ - { 0x00275F, 0x002760 }, /* 275F-2760 */ - { 0x002795, 0x002797 }, /* 2795-2797 */ - { 0x0027B0 }, /* 27B0 */ - { 0x0027BF, 0x0027CF }, /* 27BF-27CF */ - { 0x0027EC, 0x0027EF }, /* 27EC-27EF */ - { 0x002B00, 0x002E7F }, /* 2B00-2E7F */ - { 0x002E9A }, /* 2E9A */ - { 0x002EF4, 0x002EFF }, /* 2EF4-2EFF */ - { 0x002FD6, 0x002FEF }, /* 2FD6-2FEF */ - { 0x002FFC, 0x002FFF }, /* 2FFC-2FFF */ - { 0x003040 }, /* 3040 */ - { 0x003097, 0x003098 }, /* 3097-3098 */ - { 0x003100, 0x003104 }, /* 3100-3104 */ - { 0x00312D, 0x003130 }, /* 312D-3130 */ - { 0x00318F }, /* 318F */ - { 0x0031B8, 0x0031EF }, /* 31B8-31EF */ - { 0x00321D, 0x00321F }, /* 321D-321F */ - { 0x003244, 0x003250 }, /* 3244-3250 */ - { 0x00327C, 0x00327E }, /* 327C-327E */ - { 0x0032CC, 0x0032CF }, /* 32CC-32CF */ - { 0x0032FF }, /* 32FF */ - { 0x003377, 0x00337A }, /* 3377-337A */ - { 0x0033DE, 0x0033DF }, /* 33DE-33DF */ - { 0x0033FF }, /* 33FF */ - { 0x004DB6, 0x004DFF }, /* 4DB6-4DFF */ - { 0x009FA6, 0x009FFF }, /* 9FA6-9FFF */ - { 0x00A48D, 0x00A48F }, /* A48D-A48F */ - { 0x00A4C7, 0x00ABFF }, /* A4C7-ABFF */ - { 0x00D7A4, 0x00D7FF }, /* D7A4-D7FF */ - { 0x00FA2E, 0x00FA2F }, /* FA2E-FA2F */ - { 0x00FA6B, 0x00FAFF }, /* FA6B-FAFF */ - { 0x00FB07, 0x00FB12 }, /* FB07-FB12 */ - { 0x00FB18, 0x00FB1C }, /* FB18-FB1C */ - { 0x00FB37 }, /* FB37 */ - { 0x00FB3D }, /* FB3D */ - { 0x00FB3F }, /* FB3F */ - { 0x00FB42 }, /* FB42 */ - { 0x00FB45 }, /* FB45 */ - { 0x00FBB2, 0x00FBD2 }, /* FBB2-FBD2 */ - { 0x00FD40, 0x00FD4F }, /* FD40-FD4F */ - { 0x00FD90, 0x00FD91 }, /* FD90-FD91 */ - { 0x00FDC8, 0x00FDCF }, /* FDC8-FDCF */ - { 0x00FDFD, 0x00FDFF }, /* FDFD-FDFF */ - { 0x00FE10, 0x00FE1F }, /* FE10-FE1F */ - { 0x00FE24, 0x00FE2F }, /* FE24-FE2F */ - { 0x00FE47, 0x00FE48 }, /* FE47-FE48 */ - { 0x00FE53 }, /* FE53 */ - { 0x00FE67 }, /* FE67 */ - { 0x00FE6C, 0x00FE6F }, /* FE6C-FE6F */ - { 0x00FE75 }, /* FE75 */ - { 0x00FEFD, 0x00FEFE }, /* FEFD-FEFE */ - { 0x00FF00 }, /* FF00 */ - { 0x00FFBF, 0x00FFC1 }, /* FFBF-FFC1 */ - { 0x00FFC8, 0x00FFC9 }, /* FFC8-FFC9 */ - { 0x00FFD0, 0x00FFD1 }, /* FFD0-FFD1 */ - { 0x00FFD8, 0x00FFD9 }, /* FFD8-FFD9 */ - { 0x00FFDD, 0x00FFDF }, /* FFDD-FFDF */ - { 0x00FFE7 }, /* FFE7 */ - { 0x00FFEF, 0x00FFF8 }, /* FFEF-FFF8 */ - { 0x010000, 0x0102FF }, /* 10000-102FF */ - { 0x01031F }, /* 1031F */ - { 0x010324, 0x01032F }, /* 10324-1032F */ - { 0x01034B, 0x0103FF }, /* 1034B-103FF */ - { 0x010426, 0x010427 }, /* 10426-10427 */ - { 0x01044E, 0x01CFFF }, /* 1044E-1CFFF */ - { 0x01D0F6, 0x01D0FF }, /* 1D0F6-1D0FF */ - { 0x01D127, 0x01D129 }, /* 1D127-1D129 */ - { 0x01D1DE, 0x01D3FF }, /* 1D1DE-1D3FF */ - { 0x01D455 }, /* 1D455 */ - { 0x01D49D }, /* 1D49D */ - { 0x01D4A0, 0x01D4A1 }, /* 1D4A0-1D4A1 */ - { 0x01D4A3, 0x01D4A4 }, /* 1D4A3-1D4A4 */ - { 0x01D4A7, 0x01D4A8 }, /* 1D4A7-1D4A8 */ - { 0x01D4AD }, /* 1D4AD */ - { 0x01D4BA }, /* 1D4BA */ - { 0x01D4BC }, /* 1D4BC */ - { 0x01D4C1 }, /* 1D4C1 */ - { 0x01D4C4 }, /* 1D4C4 */ - { 0x01D506 }, /* 1D506 */ - { 0x01D50B, 0x01D50C }, /* 1D50B-1D50C */ - { 0x01D515 }, /* 1D515 */ - { 0x01D51D }, /* 1D51D */ - { 0x01D53A }, /* 1D53A */ - { 0x01D53F }, /* 1D53F */ - { 0x01D545 }, /* 1D545 */ - { 0x01D547, 0x01D549 }, /* 1D547-1D549 */ - { 0x01D551 }, /* 1D551 */ - { 0x01D6A4, 0x01D6A7 }, /* 1D6A4-1D6A7 */ - { 0x01D7CA, 0x01D7CD }, /* 1D7CA-1D7CD */ - { 0x01D800, 0x01FFFD }, /* 1D800-1FFFD */ - { 0x02A6D7, 0x02F7FF }, /* 2A6D7-2F7FF */ - { 0x02FA1E, 0x02FFFD }, /* 2FA1E-2FFFD */ - { 0x030000, 0x03FFFD }, /* 30000-3FFFD */ - { 0x040000, 0x04FFFD }, /* 40000-4FFFD */ - { 0x050000, 0x05FFFD }, /* 50000-5FFFD */ - { 0x060000, 0x06FFFD }, /* 60000-6FFFD */ - { 0x070000, 0x07FFFD }, /* 70000-7FFFD */ - { 0x080000, 0x08FFFD }, /* 80000-8FFFD */ - { 0x090000, 0x09FFFD }, /* 90000-9FFFD */ - { 0x0A0000, 0x0AFFFD }, /* A0000-AFFFD */ - { 0x0B0000, 0x0BFFFD }, /* B0000-BFFFD */ - { 0x0C0000, 0x0CFFFD }, /* C0000-CFFFD */ - { 0x0D0000, 0x0DFFFD }, /* D0000-DFFFD */ - { 0x0E0000 }, /* E0000 */ - { 0x0E0002, 0x0E001F }, /* E0002-E001F */ - { 0x0E0080, 0x0EFFFD }, /* E0080-EFFFD */ - { 0 }, -}; - - -/* - * B.1 Commonly mapped to nothing - * - */ - -const Stringprep_table_element stringprep_rfc3454_B_1[] = { - { 0x0000AD }, /* 00AD; ; Map to nothing */ - { 0x00034F }, /* 034F; ; Map to nothing */ - { 0x001806 }, /* 1806; ; Map to nothing */ - { 0x00180B }, /* 180B; ; Map to nothing */ - { 0x00180C }, /* 180C; ; Map to nothing */ - { 0x00180D }, /* 180D; ; Map to nothing */ - { 0x00200B }, /* 200B; ; Map to nothing */ - { 0x00200C }, /* 200C; ; Map to nothing */ - { 0x00200D }, /* 200D; ; Map to nothing */ - { 0x002060 }, /* 2060; ; Map to nothing */ - { 0x00FE00 }, /* FE00; ; Map to nothing */ - { 0x00FE01 }, /* FE01; ; Map to nothing */ - { 0x00FE02 }, /* FE02; ; Map to nothing */ - { 0x00FE03 }, /* FE03; ; Map to nothing */ - { 0x00FE04 }, /* FE04; ; Map to nothing */ - { 0x00FE05 }, /* FE05; ; Map to nothing */ - { 0x00FE06 }, /* FE06; ; Map to nothing */ - { 0x00FE07 }, /* FE07; ; Map to nothing */ - { 0x00FE08 }, /* FE08; ; Map to nothing */ - { 0x00FE09 }, /* FE09; ; Map to nothing */ - { 0x00FE0A }, /* FE0A; ; Map to nothing */ - { 0x00FE0B }, /* FE0B; ; Map to nothing */ - { 0x00FE0C }, /* FE0C; ; Map to nothing */ - { 0x00FE0D }, /* FE0D; ; Map to nothing */ - { 0x00FE0E }, /* FE0E; ; Map to nothing */ - { 0x00FE0F }, /* FE0F; ; Map to nothing */ - { 0x00FEFF }, /* FEFF; ; Map to nothing */ - { 0 }, -}; - - -/* - * B.2 Mapping for case-folding used with NFKC - * - */ - -const Stringprep_table_element stringprep_rfc3454_B_2[] = { - { 0x000041, 0, { 0x000061 }}, /* 0041; 0061; Case map */ - { 0x000042, 0, { 0x000062 }}, /* 0042; 0062; Case map */ - { 0x000043, 0, { 0x000063 }}, /* 0043; 0063; Case map */ - { 0x000044, 0, { 0x000064 }}, /* 0044; 0064; Case map */ - { 0x000045, 0, { 0x000065 }}, /* 0045; 0065; Case map */ - { 0x000046, 0, { 0x000066 }}, /* 0046; 0066; Case map */ - { 0x000047, 0, { 0x000067 }}, /* 0047; 0067; Case map */ - { 0x000048, 0, { 0x000068 }}, /* 0048; 0068; Case map */ - { 0x000049, 0, { 0x000069 }}, /* 0049; 0069; Case map */ - { 0x00004A, 0, { 0x00006A }}, /* 004A; 006A; Case map */ - { 0x00004B, 0, { 0x00006B }}, /* 004B; 006B; Case map */ - { 0x00004C, 0, { 0x00006C }}, /* 004C; 006C; Case map */ - { 0x00004D, 0, { 0x00006D }}, /* 004D; 006D; Case map */ - { 0x00004E, 0, { 0x00006E }}, /* 004E; 006E; Case map */ - { 0x00004F, 0, { 0x00006F }}, /* 004F; 006F; Case map */ - { 0x000050, 0, { 0x000070 }}, /* 0050; 0070; Case map */ - { 0x000051, 0, { 0x000071 }}, /* 0051; 0071; Case map */ - { 0x000052, 0, { 0x000072 }}, /* 0052; 0072; Case map */ - { 0x000053, 0, { 0x000073 }}, /* 0053; 0073; Case map */ - { 0x000054, 0, { 0x000074 }}, /* 0054; 0074; Case map */ - { 0x000055, 0, { 0x000075 }}, /* 0055; 0075; Case map */ - { 0x000056, 0, { 0x000076 }}, /* 0056; 0076; Case map */ - { 0x000057, 0, { 0x000077 }}, /* 0057; 0077; Case map */ - { 0x000058, 0, { 0x000078 }}, /* 0058; 0078; Case map */ - { 0x000059, 0, { 0x000079 }}, /* 0059; 0079; Case map */ - { 0x00005A, 0, { 0x00007A }}, /* 005A; 007A; Case map */ - { 0x0000B5, 0, { 0x0003BC }}, /* 00B5; 03BC; Case map */ - { 0x0000C0, 0, { 0x0000E0 }}, /* 00C0; 00E0; Case map */ - { 0x0000C1, 0, { 0x0000E1 }}, /* 00C1; 00E1; Case map */ - { 0x0000C2, 0, { 0x0000E2 }}, /* 00C2; 00E2; Case map */ - { 0x0000C3, 0, { 0x0000E3 }}, /* 00C3; 00E3; Case map */ - { 0x0000C4, 0, { 0x0000E4 }}, /* 00C4; 00E4; Case map */ - { 0x0000C5, 0, { 0x0000E5 }}, /* 00C5; 00E5; Case map */ - { 0x0000C6, 0, { 0x0000E6 }}, /* 00C6; 00E6; Case map */ - { 0x0000C7, 0, { 0x0000E7 }}, /* 00C7; 00E7; Case map */ - { 0x0000C8, 0, { 0x0000E8 }}, /* 00C8; 00E8; Case map */ - { 0x0000C9, 0, { 0x0000E9 }}, /* 00C9; 00E9; Case map */ - { 0x0000CA, 0, { 0x0000EA }}, /* 00CA; 00EA; Case map */ - { 0x0000CB, 0, { 0x0000EB }}, /* 00CB; 00EB; Case map */ - { 0x0000CC, 0, { 0x0000EC }}, /* 00CC; 00EC; Case map */ - { 0x0000CD, 0, { 0x0000ED }}, /* 00CD; 00ED; Case map */ - { 0x0000CE, 0, { 0x0000EE }}, /* 00CE; 00EE; Case map */ - { 0x0000CF, 0, { 0x0000EF }}, /* 00CF; 00EF; Case map */ - { 0x0000D0, 0, { 0x0000F0 }}, /* 00D0; 00F0; Case map */ - { 0x0000D1, 0, { 0x0000F1 }}, /* 00D1; 00F1; Case map */ - { 0x0000D2, 0, { 0x0000F2 }}, /* 00D2; 00F2; Case map */ - { 0x0000D3, 0, { 0x0000F3 }}, /* 00D3; 00F3; Case map */ - { 0x0000D4, 0, { 0x0000F4 }}, /* 00D4; 00F4; Case map */ - { 0x0000D5, 0, { 0x0000F5 }}, /* 00D5; 00F5; Case map */ - { 0x0000D6, 0, { 0x0000F6 }}, /* 00D6; 00F6; Case map */ - { 0x0000D8, 0, { 0x0000F8 }}, /* 00D8; 00F8; Case map */ - { 0x0000D9, 0, { 0x0000F9 }}, /* 00D9; 00F9; Case map */ - { 0x0000DA, 0, { 0x0000FA }}, /* 00DA; 00FA; Case map */ - { 0x0000DB, 0, { 0x0000FB }}, /* 00DB; 00FB; Case map */ - { 0x0000DC, 0, { 0x0000FC }}, /* 00DC; 00FC; Case map */ - { 0x0000DD, 0, { 0x0000FD }}, /* 00DD; 00FD; Case map */ - { 0x0000DE, 0, { 0x0000FE }}, /* 00DE; 00FE; Case map */ - { 0x0000DF, 0, { 0x000073, /* 00DF; 0073 0073; Case map */ - 0x000073 }}, - { 0x000100, 0, { 0x000101 }}, /* 0100; 0101; Case map */ - { 0x000102, 0, { 0x000103 }}, /* 0102; 0103; Case map */ - { 0x000104, 0, { 0x000105 }}, /* 0104; 0105; Case map */ - { 0x000106, 0, { 0x000107 }}, /* 0106; 0107; Case map */ - { 0x000108, 0, { 0x000109 }}, /* 0108; 0109; Case map */ - { 0x00010A, 0, { 0x00010B }}, /* 010A; 010B; Case map */ - { 0x00010C, 0, { 0x00010D }}, /* 010C; 010D; Case map */ - { 0x00010E, 0, { 0x00010F }}, /* 010E; 010F; Case map */ - { 0x000110, 0, { 0x000111 }}, /* 0110; 0111; Case map */ - { 0x000112, 0, { 0x000113 }}, /* 0112; 0113; Case map */ - { 0x000114, 0, { 0x000115 }}, /* 0114; 0115; Case map */ - { 0x000116, 0, { 0x000117 }}, /* 0116; 0117; Case map */ - { 0x000118, 0, { 0x000119 }}, /* 0118; 0119; Case map */ - { 0x00011A, 0, { 0x00011B }}, /* 011A; 011B; Case map */ - { 0x00011C, 0, { 0x00011D }}, /* 011C; 011D; Case map */ - { 0x00011E, 0, { 0x00011F }}, /* 011E; 011F; Case map */ - { 0x000120, 0, { 0x000121 }}, /* 0120; 0121; Case map */ - { 0x000122, 0, { 0x000123 }}, /* 0122; 0123; Case map */ - { 0x000124, 0, { 0x000125 }}, /* 0124; 0125; Case map */ - { 0x000126, 0, { 0x000127 }}, /* 0126; 0127; Case map */ - { 0x000128, 0, { 0x000129 }}, /* 0128; 0129; Case map */ - { 0x00012A, 0, { 0x00012B }}, /* 012A; 012B; Case map */ - { 0x00012C, 0, { 0x00012D }}, /* 012C; 012D; Case map */ - { 0x00012E, 0, { 0x00012F }}, /* 012E; 012F; Case map */ - { 0x000130, 0, { 0x000069, /* 0130; 0069 0307; Case map */ - 0x000307 }}, - { 0x000132, 0, { 0x000133 }}, /* 0132; 0133; Case map */ - { 0x000134, 0, { 0x000135 }}, /* 0134; 0135; Case map */ - { 0x000136, 0, { 0x000137 }}, /* 0136; 0137; Case map */ - { 0x000139, 0, { 0x00013A }}, /* 0139; 013A; Case map */ - { 0x00013B, 0, { 0x00013C }}, /* 013B; 013C; Case map */ - { 0x00013D, 0, { 0x00013E }}, /* 013D; 013E; Case map */ - { 0x00013F, 0, { 0x000140 }}, /* 013F; 0140; Case map */ - { 0x000141, 0, { 0x000142 }}, /* 0141; 0142; Case map */ - { 0x000143, 0, { 0x000144 }}, /* 0143; 0144; Case map */ - { 0x000145, 0, { 0x000146 }}, /* 0145; 0146; Case map */ - { 0x000147, 0, { 0x000148 }}, /* 0147; 0148; Case map */ - { 0x000149, 0, { 0x0002BC, /* 0149; 02BC 006E; Case map */ - 0x00006E }}, - { 0x00014A, 0, { 0x00014B }}, /* 014A; 014B; Case map */ - { 0x00014C, 0, { 0x00014D }}, /* 014C; 014D; Case map */ - { 0x00014E, 0, { 0x00014F }}, /* 014E; 014F; Case map */ - { 0x000150, 0, { 0x000151 }}, /* 0150; 0151; Case map */ - { 0x000152, 0, { 0x000153 }}, /* 0152; 0153; Case map */ - { 0x000154, 0, { 0x000155 }}, /* 0154; 0155; Case map */ - { 0x000156, 0, { 0x000157 }}, /* 0156; 0157; Case map */ - { 0x000158, 0, { 0x000159 }}, /* 0158; 0159; Case map */ - { 0x00015A, 0, { 0x00015B }}, /* 015A; 015B; Case map */ - { 0x00015C, 0, { 0x00015D }}, /* 015C; 015D; Case map */ - { 0x00015E, 0, { 0x00015F }}, /* 015E; 015F; Case map */ - { 0x000160, 0, { 0x000161 }}, /* 0160; 0161; Case map */ - { 0x000162, 0, { 0x000163 }}, /* 0162; 0163; Case map */ - { 0x000164, 0, { 0x000165 }}, /* 0164; 0165; Case map */ - { 0x000166, 0, { 0x000167 }}, /* 0166; 0167; Case map */ - { 0x000168, 0, { 0x000169 }}, /* 0168; 0169; Case map */ - { 0x00016A, 0, { 0x00016B }}, /* 016A; 016B; Case map */ - { 0x00016C, 0, { 0x00016D }}, /* 016C; 016D; Case map */ - { 0x00016E, 0, { 0x00016F }}, /* 016E; 016F; Case map */ - { 0x000170, 0, { 0x000171 }}, /* 0170; 0171; Case map */ - { 0x000172, 0, { 0x000173 }}, /* 0172; 0173; Case map */ - { 0x000174, 0, { 0x000175 }}, /* 0174; 0175; Case map */ - { 0x000176, 0, { 0x000177 }}, /* 0176; 0177; Case map */ - { 0x000178, 0, { 0x0000FF }}, /* 0178; 00FF; Case map */ - { 0x000179, 0, { 0x00017A }}, /* 0179; 017A; Case map */ - { 0x00017B, 0, { 0x00017C }}, /* 017B; 017C; Case map */ - { 0x00017D, 0, { 0x00017E }}, /* 017D; 017E; Case map */ - { 0x00017F, 0, { 0x000073 }}, /* 017F; 0073; Case map */ - { 0x000181, 0, { 0x000253 }}, /* 0181; 0253; Case map */ - { 0x000182, 0, { 0x000183 }}, /* 0182; 0183; Case map */ - { 0x000184, 0, { 0x000185 }}, /* 0184; 0185; Case map */ - { 0x000186, 0, { 0x000254 }}, /* 0186; 0254; Case map */ - { 0x000187, 0, { 0x000188 }}, /* 0187; 0188; Case map */ - { 0x000189, 0, { 0x000256 }}, /* 0189; 0256; Case map */ - { 0x00018A, 0, { 0x000257 }}, /* 018A; 0257; Case map */ - { 0x00018B, 0, { 0x00018C }}, /* 018B; 018C; Case map */ - { 0x00018E, 0, { 0x0001DD }}, /* 018E; 01DD; Case map */ - { 0x00018F, 0, { 0x000259 }}, /* 018F; 0259; Case map */ - { 0x000190, 0, { 0x00025B }}, /* 0190; 025B; Case map */ - { 0x000191, 0, { 0x000192 }}, /* 0191; 0192; Case map */ - { 0x000193, 0, { 0x000260 }}, /* 0193; 0260; Case map */ - { 0x000194, 0, { 0x000263 }}, /* 0194; 0263; Case map */ - { 0x000196, 0, { 0x000269 }}, /* 0196; 0269; Case map */ - { 0x000197, 0, { 0x000268 }}, /* 0197; 0268; Case map */ - { 0x000198, 0, { 0x000199 }}, /* 0198; 0199; Case map */ - { 0x00019C, 0, { 0x00026F }}, /* 019C; 026F; Case map */ - { 0x00019D, 0, { 0x000272 }}, /* 019D; 0272; Case map */ - { 0x00019F, 0, { 0x000275 }}, /* 019F; 0275; Case map */ - { 0x0001A0, 0, { 0x0001A1 }}, /* 01A0; 01A1; Case map */ - { 0x0001A2, 0, { 0x0001A3 }}, /* 01A2; 01A3; Case map */ - { 0x0001A4, 0, { 0x0001A5 }}, /* 01A4; 01A5; Case map */ - { 0x0001A6, 0, { 0x000280 }}, /* 01A6; 0280; Case map */ - { 0x0001A7, 0, { 0x0001A8 }}, /* 01A7; 01A8; Case map */ - { 0x0001A9, 0, { 0x000283 }}, /* 01A9; 0283; Case map */ - { 0x0001AC, 0, { 0x0001AD }}, /* 01AC; 01AD; Case map */ - { 0x0001AE, 0, { 0x000288 }}, /* 01AE; 0288; Case map */ - { 0x0001AF, 0, { 0x0001B0 }}, /* 01AF; 01B0; Case map */ - { 0x0001B1, 0, { 0x00028A }}, /* 01B1; 028A; Case map */ - { 0x0001B2, 0, { 0x00028B }}, /* 01B2; 028B; Case map */ - { 0x0001B3, 0, { 0x0001B4 }}, /* 01B3; 01B4; Case map */ - { 0x0001B5, 0, { 0x0001B6 }}, /* 01B5; 01B6; Case map */ - { 0x0001B7, 0, { 0x000292 }}, /* 01B7; 0292; Case map */ - { 0x0001B8, 0, { 0x0001B9 }}, /* 01B8; 01B9; Case map */ - { 0x0001BC, 0, { 0x0001BD }}, /* 01BC; 01BD; Case map */ - { 0x0001C4, 0, { 0x0001C6 }}, /* 01C4; 01C6; Case map */ - { 0x0001C5, 0, { 0x0001C6 }}, /* 01C5; 01C6; Case map */ - { 0x0001C7, 0, { 0x0001C9 }}, /* 01C7; 01C9; Case map */ - { 0x0001C8, 0, { 0x0001C9 }}, /* 01C8; 01C9; Case map */ - { 0x0001CA, 0, { 0x0001CC }}, /* 01CA; 01CC; Case map */ - { 0x0001CB, 0, { 0x0001CC }}, /* 01CB; 01CC; Case map */ - { 0x0001CD, 0, { 0x0001CE }}, /* 01CD; 01CE; Case map */ - { 0x0001CF, 0, { 0x0001D0 }}, /* 01CF; 01D0; Case map */ - { 0x0001D1, 0, { 0x0001D2 }}, /* 01D1; 01D2; Case map */ - { 0x0001D3, 0, { 0x0001D4 }}, /* 01D3; 01D4; Case map */ - { 0x0001D5, 0, { 0x0001D6 }}, /* 01D5; 01D6; Case map */ - { 0x0001D7, 0, { 0x0001D8 }}, /* 01D7; 01D8; Case map */ - { 0x0001D9, 0, { 0x0001DA }}, /* 01D9; 01DA; Case map */ - { 0x0001DB, 0, { 0x0001DC }}, /* 01DB; 01DC; Case map */ - { 0x0001DE, 0, { 0x0001DF }}, /* 01DE; 01DF; Case map */ - { 0x0001E0, 0, { 0x0001E1 }}, /* 01E0; 01E1; Case map */ - { 0x0001E2, 0, { 0x0001E3 }}, /* 01E2; 01E3; Case map */ - { 0x0001E4, 0, { 0x0001E5 }}, /* 01E4; 01E5; Case map */ - { 0x0001E6, 0, { 0x0001E7 }}, /* 01E6; 01E7; Case map */ - { 0x0001E8, 0, { 0x0001E9 }}, /* 01E8; 01E9; Case map */ - { 0x0001EA, 0, { 0x0001EB }}, /* 01EA; 01EB; Case map */ - { 0x0001EC, 0, { 0x0001ED }}, /* 01EC; 01ED; Case map */ - { 0x0001EE, 0, { 0x0001EF }}, /* 01EE; 01EF; Case map */ - { 0x0001F0, 0, { 0x00006A, /* 01F0; 006A 030C; Case map */ - 0x00030C }}, - { 0x0001F1, 0, { 0x0001F3 }}, /* 01F1; 01F3; Case map */ - { 0x0001F2, 0, { 0x0001F3 }}, /* 01F2; 01F3; Case map */ - { 0x0001F4, 0, { 0x0001F5 }}, /* 01F4; 01F5; Case map */ - { 0x0001F6, 0, { 0x000195 }}, /* 01F6; 0195; Case map */ - { 0x0001F7, 0, { 0x0001BF }}, /* 01F7; 01BF; Case map */ - { 0x0001F8, 0, { 0x0001F9 }}, /* 01F8; 01F9; Case map */ - { 0x0001FA, 0, { 0x0001FB }}, /* 01FA; 01FB; Case map */ - { 0x0001FC, 0, { 0x0001FD }}, /* 01FC; 01FD; Case map */ - { 0x0001FE, 0, { 0x0001FF }}, /* 01FE; 01FF; Case map */ - { 0x000200, 0, { 0x000201 }}, /* 0200; 0201; Case map */ - { 0x000202, 0, { 0x000203 }}, /* 0202; 0203; Case map */ - { 0x000204, 0, { 0x000205 }}, /* 0204; 0205; Case map */ - { 0x000206, 0, { 0x000207 }}, /* 0206; 0207; Case map */ - { 0x000208, 0, { 0x000209 }}, /* 0208; 0209; Case map */ - { 0x00020A, 0, { 0x00020B }}, /* 020A; 020B; Case map */ - { 0x00020C, 0, { 0x00020D }}, /* 020C; 020D; Case map */ - { 0x00020E, 0, { 0x00020F }}, /* 020E; 020F; Case map */ - { 0x000210, 0, { 0x000211 }}, /* 0210; 0211; Case map */ - { 0x000212, 0, { 0x000213 }}, /* 0212; 0213; Case map */ - { 0x000214, 0, { 0x000215 }}, /* 0214; 0215; Case map */ - { 0x000216, 0, { 0x000217 }}, /* 0216; 0217; Case map */ - { 0x000218, 0, { 0x000219 }}, /* 0218; 0219; Case map */ - { 0x00021A, 0, { 0x00021B }}, /* 021A; 021B; Case map */ - { 0x00021C, 0, { 0x00021D }}, /* 021C; 021D; Case map */ - { 0x00021E, 0, { 0x00021F }}, /* 021E; 021F; Case map */ - { 0x000220, 0, { 0x00019E }}, /* 0220; 019E; Case map */ - { 0x000222, 0, { 0x000223 }}, /* 0222; 0223; Case map */ - { 0x000224, 0, { 0x000225 }}, /* 0224; 0225; Case map */ - { 0x000226, 0, { 0x000227 }}, /* 0226; 0227; Case map */ - { 0x000228, 0, { 0x000229 }}, /* 0228; 0229; Case map */ - { 0x00022A, 0, { 0x00022B }}, /* 022A; 022B; Case map */ - { 0x00022C, 0, { 0x00022D }}, /* 022C; 022D; Case map */ - { 0x00022E, 0, { 0x00022F }}, /* 022E; 022F; Case map */ - { 0x000230, 0, { 0x000231 }}, /* 0230; 0231; Case map */ - { 0x000232, 0, { 0x000233 }}, /* 0232; 0233; Case map */ - { 0x000345, 0, { 0x0003B9 }}, /* 0345; 03B9; Case map */ - { 0x00037A, 0, { 0x000020, /* 037A; 0020 03B9; Additional folding */ - 0x0003B9 }}, - { 0x000386, 0, { 0x0003AC }}, /* 0386; 03AC; Case map */ - { 0x000388, 0, { 0x0003AD }}, /* 0388; 03AD; Case map */ - { 0x000389, 0, { 0x0003AE }}, /* 0389; 03AE; Case map */ - { 0x00038A, 0, { 0x0003AF }}, /* 038A; 03AF; Case map */ - { 0x00038C, 0, { 0x0003CC }}, /* 038C; 03CC; Case map */ - { 0x00038E, 0, { 0x0003CD }}, /* 038E; 03CD; Case map */ - { 0x00038F, 0, { 0x0003CE }}, /* 038F; 03CE; Case map */ - { 0x000390, 0, { 0x0003B9, /* 0390; 03B9 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x000391, 0, { 0x0003B1 }}, /* 0391; 03B1; Case map */ - { 0x000392, 0, { 0x0003B2 }}, /* 0392; 03B2; Case map */ - { 0x000393, 0, { 0x0003B3 }}, /* 0393; 03B3; Case map */ - { 0x000394, 0, { 0x0003B4 }}, /* 0394; 03B4; Case map */ - { 0x000395, 0, { 0x0003B5 }}, /* 0395; 03B5; Case map */ - { 0x000396, 0, { 0x0003B6 }}, /* 0396; 03B6; Case map */ - { 0x000397, 0, { 0x0003B7 }}, /* 0397; 03B7; Case map */ - { 0x000398, 0, { 0x0003B8 }}, /* 0398; 03B8; Case map */ - { 0x000399, 0, { 0x0003B9 }}, /* 0399; 03B9; Case map */ - { 0x00039A, 0, { 0x0003BA }}, /* 039A; 03BA; Case map */ - { 0x00039B, 0, { 0x0003BB }}, /* 039B; 03BB; Case map */ - { 0x00039C, 0, { 0x0003BC }}, /* 039C; 03BC; Case map */ - { 0x00039D, 0, { 0x0003BD }}, /* 039D; 03BD; Case map */ - { 0x00039E, 0, { 0x0003BE }}, /* 039E; 03BE; Case map */ - { 0x00039F, 0, { 0x0003BF }}, /* 039F; 03BF; Case map */ - { 0x0003A0, 0, { 0x0003C0 }}, /* 03A0; 03C0; Case map */ - { 0x0003A1, 0, { 0x0003C1 }}, /* 03A1; 03C1; Case map */ - { 0x0003A3, 0, { 0x0003C3 }}, /* 03A3; 03C3; Case map */ - { 0x0003A4, 0, { 0x0003C4 }}, /* 03A4; 03C4; Case map */ - { 0x0003A5, 0, { 0x0003C5 }}, /* 03A5; 03C5; Case map */ - { 0x0003A6, 0, { 0x0003C6 }}, /* 03A6; 03C6; Case map */ - { 0x0003A7, 0, { 0x0003C7 }}, /* 03A7; 03C7; Case map */ - { 0x0003A8, 0, { 0x0003C8 }}, /* 03A8; 03C8; Case map */ - { 0x0003A9, 0, { 0x0003C9 }}, /* 03A9; 03C9; Case map */ - { 0x0003AA, 0, { 0x0003CA }}, /* 03AA; 03CA; Case map */ - { 0x0003AB, 0, { 0x0003CB }}, /* 03AB; 03CB; Case map */ - { 0x0003B0, 0, { 0x0003C5, /* 03B0; 03C5 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x0003C2, 0, { 0x0003C3 }}, /* 03C2; 03C3; Case map */ - { 0x0003D0, 0, { 0x0003B2 }}, /* 03D0; 03B2; Case map */ - { 0x0003D1, 0, { 0x0003B8 }}, /* 03D1; 03B8; Case map */ - { 0x0003D2, 0, { 0x0003C5 }}, /* 03D2; 03C5; Additional folding */ - { 0x0003D3, 0, { 0x0003CD }}, /* 03D3; 03CD; Additional folding */ - { 0x0003D4, 0, { 0x0003CB }}, /* 03D4; 03CB; Additional folding */ - { 0x0003D5, 0, { 0x0003C6 }}, /* 03D5; 03C6; Case map */ - { 0x0003D6, 0, { 0x0003C0 }}, /* 03D6; 03C0; Case map */ - { 0x0003D8, 0, { 0x0003D9 }}, /* 03D8; 03D9; Case map */ - { 0x0003DA, 0, { 0x0003DB }}, /* 03DA; 03DB; Case map */ - { 0x0003DC, 0, { 0x0003DD }}, /* 03DC; 03DD; Case map */ - { 0x0003DE, 0, { 0x0003DF }}, /* 03DE; 03DF; Case map */ - { 0x0003E0, 0, { 0x0003E1 }}, /* 03E0; 03E1; Case map */ - { 0x0003E2, 0, { 0x0003E3 }}, /* 03E2; 03E3; Case map */ - { 0x0003E4, 0, { 0x0003E5 }}, /* 03E4; 03E5; Case map */ - { 0x0003E6, 0, { 0x0003E7 }}, /* 03E6; 03E7; Case map */ - { 0x0003E8, 0, { 0x0003E9 }}, /* 03E8; 03E9; Case map */ - { 0x0003EA, 0, { 0x0003EB }}, /* 03EA; 03EB; Case map */ - { 0x0003EC, 0, { 0x0003ED }}, /* 03EC; 03ED; Case map */ - { 0x0003EE, 0, { 0x0003EF }}, /* 03EE; 03EF; Case map */ - { 0x0003F0, 0, { 0x0003BA }}, /* 03F0; 03BA; Case map */ - { 0x0003F1, 0, { 0x0003C1 }}, /* 03F1; 03C1; Case map */ - { 0x0003F2, 0, { 0x0003C3 }}, /* 03F2; 03C3; Case map */ - { 0x0003F4, 0, { 0x0003B8 }}, /* 03F4; 03B8; Case map */ - { 0x0003F5, 0, { 0x0003B5 }}, /* 03F5; 03B5; Case map */ - { 0x000400, 0, { 0x000450 }}, /* 0400; 0450; Case map */ - { 0x000401, 0, { 0x000451 }}, /* 0401; 0451; Case map */ - { 0x000402, 0, { 0x000452 }}, /* 0402; 0452; Case map */ - { 0x000403, 0, { 0x000453 }}, /* 0403; 0453; Case map */ - { 0x000404, 0, { 0x000454 }}, /* 0404; 0454; Case map */ - { 0x000405, 0, { 0x000455 }}, /* 0405; 0455; Case map */ - { 0x000406, 0, { 0x000456 }}, /* 0406; 0456; Case map */ - { 0x000407, 0, { 0x000457 }}, /* 0407; 0457; Case map */ - { 0x000408, 0, { 0x000458 }}, /* 0408; 0458; Case map */ - { 0x000409, 0, { 0x000459 }}, /* 0409; 0459; Case map */ - { 0x00040A, 0, { 0x00045A }}, /* 040A; 045A; Case map */ - { 0x00040B, 0, { 0x00045B }}, /* 040B; 045B; Case map */ - { 0x00040C, 0, { 0x00045C }}, /* 040C; 045C; Case map */ - { 0x00040D, 0, { 0x00045D }}, /* 040D; 045D; Case map */ - { 0x00040E, 0, { 0x00045E }}, /* 040E; 045E; Case map */ - { 0x00040F, 0, { 0x00045F }}, /* 040F; 045F; Case map */ - { 0x000410, 0, { 0x000430 }}, /* 0410; 0430; Case map */ - { 0x000411, 0, { 0x000431 }}, /* 0411; 0431; Case map */ - { 0x000412, 0, { 0x000432 }}, /* 0412; 0432; Case map */ - { 0x000413, 0, { 0x000433 }}, /* 0413; 0433; Case map */ - { 0x000414, 0, { 0x000434 }}, /* 0414; 0434; Case map */ - { 0x000415, 0, { 0x000435 }}, /* 0415; 0435; Case map */ - { 0x000416, 0, { 0x000436 }}, /* 0416; 0436; Case map */ - { 0x000417, 0, { 0x000437 }}, /* 0417; 0437; Case map */ - { 0x000418, 0, { 0x000438 }}, /* 0418; 0438; Case map */ - { 0x000419, 0, { 0x000439 }}, /* 0419; 0439; Case map */ - { 0x00041A, 0, { 0x00043A }}, /* 041A; 043A; Case map */ - { 0x00041B, 0, { 0x00043B }}, /* 041B; 043B; Case map */ - { 0x00041C, 0, { 0x00043C }}, /* 041C; 043C; Case map */ - { 0x00041D, 0, { 0x00043D }}, /* 041D; 043D; Case map */ - { 0x00041E, 0, { 0x00043E }}, /* 041E; 043E; Case map */ - { 0x00041F, 0, { 0x00043F }}, /* 041F; 043F; Case map */ - { 0x000420, 0, { 0x000440 }}, /* 0420; 0440; Case map */ - { 0x000421, 0, { 0x000441 }}, /* 0421; 0441; Case map */ - { 0x000422, 0, { 0x000442 }}, /* 0422; 0442; Case map */ - { 0x000423, 0, { 0x000443 }}, /* 0423; 0443; Case map */ - { 0x000424, 0, { 0x000444 }}, /* 0424; 0444; Case map */ - { 0x000425, 0, { 0x000445 }}, /* 0425; 0445; Case map */ - { 0x000426, 0, { 0x000446 }}, /* 0426; 0446; Case map */ - { 0x000427, 0, { 0x000447 }}, /* 0427; 0447; Case map */ - { 0x000428, 0, { 0x000448 }}, /* 0428; 0448; Case map */ - { 0x000429, 0, { 0x000449 }}, /* 0429; 0449; Case map */ - { 0x00042A, 0, { 0x00044A }}, /* 042A; 044A; Case map */ - { 0x00042B, 0, { 0x00044B }}, /* 042B; 044B; Case map */ - { 0x00042C, 0, { 0x00044C }}, /* 042C; 044C; Case map */ - { 0x00042D, 0, { 0x00044D }}, /* 042D; 044D; Case map */ - { 0x00042E, 0, { 0x00044E }}, /* 042E; 044E; Case map */ - { 0x00042F, 0, { 0x00044F }}, /* 042F; 044F; Case map */ - { 0x000460, 0, { 0x000461 }}, /* 0460; 0461; Case map */ - { 0x000462, 0, { 0x000463 }}, /* 0462; 0463; Case map */ - { 0x000464, 0, { 0x000465 }}, /* 0464; 0465; Case map */ - { 0x000466, 0, { 0x000467 }}, /* 0466; 0467; Case map */ - { 0x000468, 0, { 0x000469 }}, /* 0468; 0469; Case map */ - { 0x00046A, 0, { 0x00046B }}, /* 046A; 046B; Case map */ - { 0x00046C, 0, { 0x00046D }}, /* 046C; 046D; Case map */ - { 0x00046E, 0, { 0x00046F }}, /* 046E; 046F; Case map */ - { 0x000470, 0, { 0x000471 }}, /* 0470; 0471; Case map */ - { 0x000472, 0, { 0x000473 }}, /* 0472; 0473; Case map */ - { 0x000474, 0, { 0x000475 }}, /* 0474; 0475; Case map */ - { 0x000476, 0, { 0x000477 }}, /* 0476; 0477; Case map */ - { 0x000478, 0, { 0x000479 }}, /* 0478; 0479; Case map */ - { 0x00047A, 0, { 0x00047B }}, /* 047A; 047B; Case map */ - { 0x00047C, 0, { 0x00047D }}, /* 047C; 047D; Case map */ - { 0x00047E, 0, { 0x00047F }}, /* 047E; 047F; Case map */ - { 0x000480, 0, { 0x000481 }}, /* 0480; 0481; Case map */ - { 0x00048A, 0, { 0x00048B }}, /* 048A; 048B; Case map */ - { 0x00048C, 0, { 0x00048D }}, /* 048C; 048D; Case map */ - { 0x00048E, 0, { 0x00048F }}, /* 048E; 048F; Case map */ - { 0x000490, 0, { 0x000491 }}, /* 0490; 0491; Case map */ - { 0x000492, 0, { 0x000493 }}, /* 0492; 0493; Case map */ - { 0x000494, 0, { 0x000495 }}, /* 0494; 0495; Case map */ - { 0x000496, 0, { 0x000497 }}, /* 0496; 0497; Case map */ - { 0x000498, 0, { 0x000499 }}, /* 0498; 0499; Case map */ - { 0x00049A, 0, { 0x00049B }}, /* 049A; 049B; Case map */ - { 0x00049C, 0, { 0x00049D }}, /* 049C; 049D; Case map */ - { 0x00049E, 0, { 0x00049F }}, /* 049E; 049F; Case map */ - { 0x0004A0, 0, { 0x0004A1 }}, /* 04A0; 04A1; Case map */ - { 0x0004A2, 0, { 0x0004A3 }}, /* 04A2; 04A3; Case map */ - { 0x0004A4, 0, { 0x0004A5 }}, /* 04A4; 04A5; Case map */ - { 0x0004A6, 0, { 0x0004A7 }}, /* 04A6; 04A7; Case map */ - { 0x0004A8, 0, { 0x0004A9 }}, /* 04A8; 04A9; Case map */ - { 0x0004AA, 0, { 0x0004AB }}, /* 04AA; 04AB; Case map */ - { 0x0004AC, 0, { 0x0004AD }}, /* 04AC; 04AD; Case map */ - { 0x0004AE, 0, { 0x0004AF }}, /* 04AE; 04AF; Case map */ - { 0x0004B0, 0, { 0x0004B1 }}, /* 04B0; 04B1; Case map */ - { 0x0004B2, 0, { 0x0004B3 }}, /* 04B2; 04B3; Case map */ - { 0x0004B4, 0, { 0x0004B5 }}, /* 04B4; 04B5; Case map */ - { 0x0004B6, 0, { 0x0004B7 }}, /* 04B6; 04B7; Case map */ - { 0x0004B8, 0, { 0x0004B9 }}, /* 04B8; 04B9; Case map */ - { 0x0004BA, 0, { 0x0004BB }}, /* 04BA; 04BB; Case map */ - { 0x0004BC, 0, { 0x0004BD }}, /* 04BC; 04BD; Case map */ - { 0x0004BE, 0, { 0x0004BF }}, /* 04BE; 04BF; Case map */ - { 0x0004C1, 0, { 0x0004C2 }}, /* 04C1; 04C2; Case map */ - { 0x0004C3, 0, { 0x0004C4 }}, /* 04C3; 04C4; Case map */ - { 0x0004C5, 0, { 0x0004C6 }}, /* 04C5; 04C6; Case map */ - { 0x0004C7, 0, { 0x0004C8 }}, /* 04C7; 04C8; Case map */ - { 0x0004C9, 0, { 0x0004CA }}, /* 04C9; 04CA; Case map */ - { 0x0004CB, 0, { 0x0004CC }}, /* 04CB; 04CC; Case map */ - { 0x0004CD, 0, { 0x0004CE }}, /* 04CD; 04CE; Case map */ - { 0x0004D0, 0, { 0x0004D1 }}, /* 04D0; 04D1; Case map */ - { 0x0004D2, 0, { 0x0004D3 }}, /* 04D2; 04D3; Case map */ - { 0x0004D4, 0, { 0x0004D5 }}, /* 04D4; 04D5; Case map */ - { 0x0004D6, 0, { 0x0004D7 }}, /* 04D6; 04D7; Case map */ - { 0x0004D8, 0, { 0x0004D9 }}, /* 04D8; 04D9; Case map */ - { 0x0004DA, 0, { 0x0004DB }}, /* 04DA; 04DB; Case map */ - { 0x0004DC, 0, { 0x0004DD }}, /* 04DC; 04DD; Case map */ - { 0x0004DE, 0, { 0x0004DF }}, /* 04DE; 04DF; Case map */ - { 0x0004E0, 0, { 0x0004E1 }}, /* 04E0; 04E1; Case map */ - { 0x0004E2, 0, { 0x0004E3 }}, /* 04E2; 04E3; Case map */ - { 0x0004E4, 0, { 0x0004E5 }}, /* 04E4; 04E5; Case map */ - { 0x0004E6, 0, { 0x0004E7 }}, /* 04E6; 04E7; Case map */ - { 0x0004E8, 0, { 0x0004E9 }}, /* 04E8; 04E9; Case map */ - { 0x0004EA, 0, { 0x0004EB }}, /* 04EA; 04EB; Case map */ - { 0x0004EC, 0, { 0x0004ED }}, /* 04EC; 04ED; Case map */ - { 0x0004EE, 0, { 0x0004EF }}, /* 04EE; 04EF; Case map */ - { 0x0004F0, 0, { 0x0004F1 }}, /* 04F0; 04F1; Case map */ - { 0x0004F2, 0, { 0x0004F3 }}, /* 04F2; 04F3; Case map */ - { 0x0004F4, 0, { 0x0004F5 }}, /* 04F4; 04F5; Case map */ - { 0x0004F8, 0, { 0x0004F9 }}, /* 04F8; 04F9; Case map */ - { 0x000500, 0, { 0x000501 }}, /* 0500; 0501; Case map */ - { 0x000502, 0, { 0x000503 }}, /* 0502; 0503; Case map */ - { 0x000504, 0, { 0x000505 }}, /* 0504; 0505; Case map */ - { 0x000506, 0, { 0x000507 }}, /* 0506; 0507; Case map */ - { 0x000508, 0, { 0x000509 }}, /* 0508; 0509; Case map */ - { 0x00050A, 0, { 0x00050B }}, /* 050A; 050B; Case map */ - { 0x00050C, 0, { 0x00050D }}, /* 050C; 050D; Case map */ - { 0x00050E, 0, { 0x00050F }}, /* 050E; 050F; Case map */ - { 0x000531, 0, { 0x000561 }}, /* 0531; 0561; Case map */ - { 0x000532, 0, { 0x000562 }}, /* 0532; 0562; Case map */ - { 0x000533, 0, { 0x000563 }}, /* 0533; 0563; Case map */ - { 0x000534, 0, { 0x000564 }}, /* 0534; 0564; Case map */ - { 0x000535, 0, { 0x000565 }}, /* 0535; 0565; Case map */ - { 0x000536, 0, { 0x000566 }}, /* 0536; 0566; Case map */ - { 0x000537, 0, { 0x000567 }}, /* 0537; 0567; Case map */ - { 0x000538, 0, { 0x000568 }}, /* 0538; 0568; Case map */ - { 0x000539, 0, { 0x000569 }}, /* 0539; 0569; Case map */ - { 0x00053A, 0, { 0x00056A }}, /* 053A; 056A; Case map */ - { 0x00053B, 0, { 0x00056B }}, /* 053B; 056B; Case map */ - { 0x00053C, 0, { 0x00056C }}, /* 053C; 056C; Case map */ - { 0x00053D, 0, { 0x00056D }}, /* 053D; 056D; Case map */ - { 0x00053E, 0, { 0x00056E }}, /* 053E; 056E; Case map */ - { 0x00053F, 0, { 0x00056F }}, /* 053F; 056F; Case map */ - { 0x000540, 0, { 0x000570 }}, /* 0540; 0570; Case map */ - { 0x000541, 0, { 0x000571 }}, /* 0541; 0571; Case map */ - { 0x000542, 0, { 0x000572 }}, /* 0542; 0572; Case map */ - { 0x000543, 0, { 0x000573 }}, /* 0543; 0573; Case map */ - { 0x000544, 0, { 0x000574 }}, /* 0544; 0574; Case map */ - { 0x000545, 0, { 0x000575 }}, /* 0545; 0575; Case map */ - { 0x000546, 0, { 0x000576 }}, /* 0546; 0576; Case map */ - { 0x000547, 0, { 0x000577 }}, /* 0547; 0577; Case map */ - { 0x000548, 0, { 0x000578 }}, /* 0548; 0578; Case map */ - { 0x000549, 0, { 0x000579 }}, /* 0549; 0579; Case map */ - { 0x00054A, 0, { 0x00057A }}, /* 054A; 057A; Case map */ - { 0x00054B, 0, { 0x00057B }}, /* 054B; 057B; Case map */ - { 0x00054C, 0, { 0x00057C }}, /* 054C; 057C; Case map */ - { 0x00054D, 0, { 0x00057D }}, /* 054D; 057D; Case map */ - { 0x00054E, 0, { 0x00057E }}, /* 054E; 057E; Case map */ - { 0x00054F, 0, { 0x00057F }}, /* 054F; 057F; Case map */ - { 0x000550, 0, { 0x000580 }}, /* 0550; 0580; Case map */ - { 0x000551, 0, { 0x000581 }}, /* 0551; 0581; Case map */ - { 0x000552, 0, { 0x000582 }}, /* 0552; 0582; Case map */ - { 0x000553, 0, { 0x000583 }}, /* 0553; 0583; Case map */ - { 0x000554, 0, { 0x000584 }}, /* 0554; 0584; Case map */ - { 0x000555, 0, { 0x000585 }}, /* 0555; 0585; Case map */ - { 0x000556, 0, { 0x000586 }}, /* 0556; 0586; Case map */ - { 0x000587, 0, { 0x000565, /* 0587; 0565 0582; Case map */ - 0x000582 }}, - { 0x001E00, 0, { 0x001E01 }}, /* 1E00; 1E01; Case map */ - { 0x001E02, 0, { 0x001E03 }}, /* 1E02; 1E03; Case map */ - { 0x001E04, 0, { 0x001E05 }}, /* 1E04; 1E05; Case map */ - { 0x001E06, 0, { 0x001E07 }}, /* 1E06; 1E07; Case map */ - { 0x001E08, 0, { 0x001E09 }}, /* 1E08; 1E09; Case map */ - { 0x001E0A, 0, { 0x001E0B }}, /* 1E0A; 1E0B; Case map */ - { 0x001E0C, 0, { 0x001E0D }}, /* 1E0C; 1E0D; Case map */ - { 0x001E0E, 0, { 0x001E0F }}, /* 1E0E; 1E0F; Case map */ - { 0x001E10, 0, { 0x001E11 }}, /* 1E10; 1E11; Case map */ - { 0x001E12, 0, { 0x001E13 }}, /* 1E12; 1E13; Case map */ - { 0x001E14, 0, { 0x001E15 }}, /* 1E14; 1E15; Case map */ - { 0x001E16, 0, { 0x001E17 }}, /* 1E16; 1E17; Case map */ - { 0x001E18, 0, { 0x001E19 }}, /* 1E18; 1E19; Case map */ - { 0x001E1A, 0, { 0x001E1B }}, /* 1E1A; 1E1B; Case map */ - { 0x001E1C, 0, { 0x001E1D }}, /* 1E1C; 1E1D; Case map */ - { 0x001E1E, 0, { 0x001E1F }}, /* 1E1E; 1E1F; Case map */ - { 0x001E20, 0, { 0x001E21 }}, /* 1E20; 1E21; Case map */ - { 0x001E22, 0, { 0x001E23 }}, /* 1E22; 1E23; Case map */ - { 0x001E24, 0, { 0x001E25 }}, /* 1E24; 1E25; Case map */ - { 0x001E26, 0, { 0x001E27 }}, /* 1E26; 1E27; Case map */ - { 0x001E28, 0, { 0x001E29 }}, /* 1E28; 1E29; Case map */ - { 0x001E2A, 0, { 0x001E2B }}, /* 1E2A; 1E2B; Case map */ - { 0x001E2C, 0, { 0x001E2D }}, /* 1E2C; 1E2D; Case map */ - { 0x001E2E, 0, { 0x001E2F }}, /* 1E2E; 1E2F; Case map */ - { 0x001E30, 0, { 0x001E31 }}, /* 1E30; 1E31; Case map */ - { 0x001E32, 0, { 0x001E33 }}, /* 1E32; 1E33; Case map */ - { 0x001E34, 0, { 0x001E35 }}, /* 1E34; 1E35; Case map */ - { 0x001E36, 0, { 0x001E37 }}, /* 1E36; 1E37; Case map */ - { 0x001E38, 0, { 0x001E39 }}, /* 1E38; 1E39; Case map */ - { 0x001E3A, 0, { 0x001E3B }}, /* 1E3A; 1E3B; Case map */ - { 0x001E3C, 0, { 0x001E3D }}, /* 1E3C; 1E3D; Case map */ - { 0x001E3E, 0, { 0x001E3F }}, /* 1E3E; 1E3F; Case map */ - { 0x001E40, 0, { 0x001E41 }}, /* 1E40; 1E41; Case map */ - { 0x001E42, 0, { 0x001E43 }}, /* 1E42; 1E43; Case map */ - { 0x001E44, 0, { 0x001E45 }}, /* 1E44; 1E45; Case map */ - { 0x001E46, 0, { 0x001E47 }}, /* 1E46; 1E47; Case map */ - { 0x001E48, 0, { 0x001E49 }}, /* 1E48; 1E49; Case map */ - { 0x001E4A, 0, { 0x001E4B }}, /* 1E4A; 1E4B; Case map */ - { 0x001E4C, 0, { 0x001E4D }}, /* 1E4C; 1E4D; Case map */ - { 0x001E4E, 0, { 0x001E4F }}, /* 1E4E; 1E4F; Case map */ - { 0x001E50, 0, { 0x001E51 }}, /* 1E50; 1E51; Case map */ - { 0x001E52, 0, { 0x001E53 }}, /* 1E52; 1E53; Case map */ - { 0x001E54, 0, { 0x001E55 }}, /* 1E54; 1E55; Case map */ - { 0x001E56, 0, { 0x001E57 }}, /* 1E56; 1E57; Case map */ - { 0x001E58, 0, { 0x001E59 }}, /* 1E58; 1E59; Case map */ - { 0x001E5A, 0, { 0x001E5B }}, /* 1E5A; 1E5B; Case map */ - { 0x001E5C, 0, { 0x001E5D }}, /* 1E5C; 1E5D; Case map */ - { 0x001E5E, 0, { 0x001E5F }}, /* 1E5E; 1E5F; Case map */ - { 0x001E60, 0, { 0x001E61 }}, /* 1E60; 1E61; Case map */ - { 0x001E62, 0, { 0x001E63 }}, /* 1E62; 1E63; Case map */ - { 0x001E64, 0, { 0x001E65 }}, /* 1E64; 1E65; Case map */ - { 0x001E66, 0, { 0x001E67 }}, /* 1E66; 1E67; Case map */ - { 0x001E68, 0, { 0x001E69 }}, /* 1E68; 1E69; Case map */ - { 0x001E6A, 0, { 0x001E6B }}, /* 1E6A; 1E6B; Case map */ - { 0x001E6C, 0, { 0x001E6D }}, /* 1E6C; 1E6D; Case map */ - { 0x001E6E, 0, { 0x001E6F }}, /* 1E6E; 1E6F; Case map */ - { 0x001E70, 0, { 0x001E71 }}, /* 1E70; 1E71; Case map */ - { 0x001E72, 0, { 0x001E73 }}, /* 1E72; 1E73; Case map */ - { 0x001E74, 0, { 0x001E75 }}, /* 1E74; 1E75; Case map */ - { 0x001E76, 0, { 0x001E77 }}, /* 1E76; 1E77; Case map */ - { 0x001E78, 0, { 0x001E79 }}, /* 1E78; 1E79; Case map */ - { 0x001E7A, 0, { 0x001E7B }}, /* 1E7A; 1E7B; Case map */ - { 0x001E7C, 0, { 0x001E7D }}, /* 1E7C; 1E7D; Case map */ - { 0x001E7E, 0, { 0x001E7F }}, /* 1E7E; 1E7F; Case map */ - { 0x001E80, 0, { 0x001E81 }}, /* 1E80; 1E81; Case map */ - { 0x001E82, 0, { 0x001E83 }}, /* 1E82; 1E83; Case map */ - { 0x001E84, 0, { 0x001E85 }}, /* 1E84; 1E85; Case map */ - { 0x001E86, 0, { 0x001E87 }}, /* 1E86; 1E87; Case map */ - { 0x001E88, 0, { 0x001E89 }}, /* 1E88; 1E89; Case map */ - { 0x001E8A, 0, { 0x001E8B }}, /* 1E8A; 1E8B; Case map */ - { 0x001E8C, 0, { 0x001E8D }}, /* 1E8C; 1E8D; Case map */ - { 0x001E8E, 0, { 0x001E8F }}, /* 1E8E; 1E8F; Case map */ - { 0x001E90, 0, { 0x001E91 }}, /* 1E90; 1E91; Case map */ - { 0x001E92, 0, { 0x001E93 }}, /* 1E92; 1E93; Case map */ - { 0x001E94, 0, { 0x001E95 }}, /* 1E94; 1E95; Case map */ - { 0x001E96, 0, { 0x000068, /* 1E96; 0068 0331; Case map */ - 0x000331 }}, - { 0x001E97, 0, { 0x000074, /* 1E97; 0074 0308; Case map */ - 0x000308 }}, - { 0x001E98, 0, { 0x000077, /* 1E98; 0077 030A; Case map */ - 0x00030A }}, - { 0x001E99, 0, { 0x000079, /* 1E99; 0079 030A; Case map */ - 0x00030A }}, - { 0x001E9A, 0, { 0x000061, /* 1E9A; 0061 02BE; Case map */ - 0x0002BE }}, - { 0x001E9B, 0, { 0x001E61 }}, /* 1E9B; 1E61; Case map */ - { 0x001EA0, 0, { 0x001EA1 }}, /* 1EA0; 1EA1; Case map */ - { 0x001EA2, 0, { 0x001EA3 }}, /* 1EA2; 1EA3; Case map */ - { 0x001EA4, 0, { 0x001EA5 }}, /* 1EA4; 1EA5; Case map */ - { 0x001EA6, 0, { 0x001EA7 }}, /* 1EA6; 1EA7; Case map */ - { 0x001EA8, 0, { 0x001EA9 }}, /* 1EA8; 1EA9; Case map */ - { 0x001EAA, 0, { 0x001EAB }}, /* 1EAA; 1EAB; Case map */ - { 0x001EAC, 0, { 0x001EAD }}, /* 1EAC; 1EAD; Case map */ - { 0x001EAE, 0, { 0x001EAF }}, /* 1EAE; 1EAF; Case map */ - { 0x001EB0, 0, { 0x001EB1 }}, /* 1EB0; 1EB1; Case map */ - { 0x001EB2, 0, { 0x001EB3 }}, /* 1EB2; 1EB3; Case map */ - { 0x001EB4, 0, { 0x001EB5 }}, /* 1EB4; 1EB5; Case map */ - { 0x001EB6, 0, { 0x001EB7 }}, /* 1EB6; 1EB7; Case map */ - { 0x001EB8, 0, { 0x001EB9 }}, /* 1EB8; 1EB9; Case map */ - { 0x001EBA, 0, { 0x001EBB }}, /* 1EBA; 1EBB; Case map */ - { 0x001EBC, 0, { 0x001EBD }}, /* 1EBC; 1EBD; Case map */ - { 0x001EBE, 0, { 0x001EBF }}, /* 1EBE; 1EBF; Case map */ - { 0x001EC0, 0, { 0x001EC1 }}, /* 1EC0; 1EC1; Case map */ - { 0x001EC2, 0, { 0x001EC3 }}, /* 1EC2; 1EC3; Case map */ - { 0x001EC4, 0, { 0x001EC5 }}, /* 1EC4; 1EC5; Case map */ - { 0x001EC6, 0, { 0x001EC7 }}, /* 1EC6; 1EC7; Case map */ - { 0x001EC8, 0, { 0x001EC9 }}, /* 1EC8; 1EC9; Case map */ - { 0x001ECA, 0, { 0x001ECB }}, /* 1ECA; 1ECB; Case map */ - { 0x001ECC, 0, { 0x001ECD }}, /* 1ECC; 1ECD; Case map */ - { 0x001ECE, 0, { 0x001ECF }}, /* 1ECE; 1ECF; Case map */ - { 0x001ED0, 0, { 0x001ED1 }}, /* 1ED0; 1ED1; Case map */ - { 0x001ED2, 0, { 0x001ED3 }}, /* 1ED2; 1ED3; Case map */ - { 0x001ED4, 0, { 0x001ED5 }}, /* 1ED4; 1ED5; Case map */ - { 0x001ED6, 0, { 0x001ED7 }}, /* 1ED6; 1ED7; Case map */ - { 0x001ED8, 0, { 0x001ED9 }}, /* 1ED8; 1ED9; Case map */ - { 0x001EDA, 0, { 0x001EDB }}, /* 1EDA; 1EDB; Case map */ - { 0x001EDC, 0, { 0x001EDD }}, /* 1EDC; 1EDD; Case map */ - { 0x001EDE, 0, { 0x001EDF }}, /* 1EDE; 1EDF; Case map */ - { 0x001EE0, 0, { 0x001EE1 }}, /* 1EE0; 1EE1; Case map */ - { 0x001EE2, 0, { 0x001EE3 }}, /* 1EE2; 1EE3; Case map */ - { 0x001EE4, 0, { 0x001EE5 }}, /* 1EE4; 1EE5; Case map */ - { 0x001EE6, 0, { 0x001EE7 }}, /* 1EE6; 1EE7; Case map */ - { 0x001EE8, 0, { 0x001EE9 }}, /* 1EE8; 1EE9; Case map */ - { 0x001EEA, 0, { 0x001EEB }}, /* 1EEA; 1EEB; Case map */ - { 0x001EEC, 0, { 0x001EED }}, /* 1EEC; 1EED; Case map */ - { 0x001EEE, 0, { 0x001EEF }}, /* 1EEE; 1EEF; Case map */ - { 0x001EF0, 0, { 0x001EF1 }}, /* 1EF0; 1EF1; Case map */ - { 0x001EF2, 0, { 0x001EF3 }}, /* 1EF2; 1EF3; Case map */ - { 0x001EF4, 0, { 0x001EF5 }}, /* 1EF4; 1EF5; Case map */ - { 0x001EF6, 0, { 0x001EF7 }}, /* 1EF6; 1EF7; Case map */ - { 0x001EF8, 0, { 0x001EF9 }}, /* 1EF8; 1EF9; Case map */ - { 0x001F08, 0, { 0x001F00 }}, /* 1F08; 1F00; Case map */ - { 0x001F09, 0, { 0x001F01 }}, /* 1F09; 1F01; Case map */ - { 0x001F0A, 0, { 0x001F02 }}, /* 1F0A; 1F02; Case map */ - { 0x001F0B, 0, { 0x001F03 }}, /* 1F0B; 1F03; Case map */ - { 0x001F0C, 0, { 0x001F04 }}, /* 1F0C; 1F04; Case map */ - { 0x001F0D, 0, { 0x001F05 }}, /* 1F0D; 1F05; Case map */ - { 0x001F0E, 0, { 0x001F06 }}, /* 1F0E; 1F06; Case map */ - { 0x001F0F, 0, { 0x001F07 }}, /* 1F0F; 1F07; Case map */ - { 0x001F18, 0, { 0x001F10 }}, /* 1F18; 1F10; Case map */ - { 0x001F19, 0, { 0x001F11 }}, /* 1F19; 1F11; Case map */ - { 0x001F1A, 0, { 0x001F12 }}, /* 1F1A; 1F12; Case map */ - { 0x001F1B, 0, { 0x001F13 }}, /* 1F1B; 1F13; Case map */ - { 0x001F1C, 0, { 0x001F14 }}, /* 1F1C; 1F14; Case map */ - { 0x001F1D, 0, { 0x001F15 }}, /* 1F1D; 1F15; Case map */ - { 0x001F28, 0, { 0x001F20 }}, /* 1F28; 1F20; Case map */ - { 0x001F29, 0, { 0x001F21 }}, /* 1F29; 1F21; Case map */ - { 0x001F2A, 0, { 0x001F22 }}, /* 1F2A; 1F22; Case map */ - { 0x001F2B, 0, { 0x001F23 }}, /* 1F2B; 1F23; Case map */ - { 0x001F2C, 0, { 0x001F24 }}, /* 1F2C; 1F24; Case map */ - { 0x001F2D, 0, { 0x001F25 }}, /* 1F2D; 1F25; Case map */ - { 0x001F2E, 0, { 0x001F26 }}, /* 1F2E; 1F26; Case map */ - { 0x001F2F, 0, { 0x001F27 }}, /* 1F2F; 1F27; Case map */ - { 0x001F38, 0, { 0x001F30 }}, /* 1F38; 1F30; Case map */ - { 0x001F39, 0, { 0x001F31 }}, /* 1F39; 1F31; Case map */ - { 0x001F3A, 0, { 0x001F32 }}, /* 1F3A; 1F32; Case map */ - { 0x001F3B, 0, { 0x001F33 }}, /* 1F3B; 1F33; Case map */ - { 0x001F3C, 0, { 0x001F34 }}, /* 1F3C; 1F34; Case map */ - { 0x001F3D, 0, { 0x001F35 }}, /* 1F3D; 1F35; Case map */ - { 0x001F3E, 0, { 0x001F36 }}, /* 1F3E; 1F36; Case map */ - { 0x001F3F, 0, { 0x001F37 }}, /* 1F3F; 1F37; Case map */ - { 0x001F48, 0, { 0x001F40 }}, /* 1F48; 1F40; Case map */ - { 0x001F49, 0, { 0x001F41 }}, /* 1F49; 1F41; Case map */ - { 0x001F4A, 0, { 0x001F42 }}, /* 1F4A; 1F42; Case map */ - { 0x001F4B, 0, { 0x001F43 }}, /* 1F4B; 1F43; Case map */ - { 0x001F4C, 0, { 0x001F44 }}, /* 1F4C; 1F44; Case map */ - { 0x001F4D, 0, { 0x001F45 }}, /* 1F4D; 1F45; Case map */ - { 0x001F50, 0, { 0x0003C5, /* 1F50; 03C5 0313; Case map */ - 0x000313 }}, - { 0x001F52, 0, { 0x0003C5, /* 1F52; 03C5 0313 0300; Case map */ - 0x000313, 0x000300 }}, - { 0x001F54, 0, { 0x0003C5, /* 1F54; 03C5 0313 0301; Case map */ - 0x000313, 0x000301 }}, - { 0x001F56, 0, { 0x0003C5, /* 1F56; 03C5 0313 0342; Case map */ - 0x000313, 0x000342 }}, - { 0x001F59, 0, { 0x001F51 }}, /* 1F59; 1F51; Case map */ - { 0x001F5B, 0, { 0x001F53 }}, /* 1F5B; 1F53; Case map */ - { 0x001F5D, 0, { 0x001F55 }}, /* 1F5D; 1F55; Case map */ - { 0x001F5F, 0, { 0x001F57 }}, /* 1F5F; 1F57; Case map */ - { 0x001F68, 0, { 0x001F60 }}, /* 1F68; 1F60; Case map */ - { 0x001F69, 0, { 0x001F61 }}, /* 1F69; 1F61; Case map */ - { 0x001F6A, 0, { 0x001F62 }}, /* 1F6A; 1F62; Case map */ - { 0x001F6B, 0, { 0x001F63 }}, /* 1F6B; 1F63; Case map */ - { 0x001F6C, 0, { 0x001F64 }}, /* 1F6C; 1F64; Case map */ - { 0x001F6D, 0, { 0x001F65 }}, /* 1F6D; 1F65; Case map */ - { 0x001F6E, 0, { 0x001F66 }}, /* 1F6E; 1F66; Case map */ - { 0x001F6F, 0, { 0x001F67 }}, /* 1F6F; 1F67; Case map */ - { 0x001F80, 0, { 0x001F00, /* 1F80; 1F00 03B9; Case map */ - 0x0003B9 }}, - { 0x001F81, 0, { 0x001F01, /* 1F81; 1F01 03B9; Case map */ - 0x0003B9 }}, - { 0x001F82, 0, { 0x001F02, /* 1F82; 1F02 03B9; Case map */ - 0x0003B9 }}, - { 0x001F83, 0, { 0x001F03, /* 1F83; 1F03 03B9; Case map */ - 0x0003B9 }}, - { 0x001F84, 0, { 0x001F04, /* 1F84; 1F04 03B9; Case map */ - 0x0003B9 }}, - { 0x001F85, 0, { 0x001F05, /* 1F85; 1F05 03B9; Case map */ - 0x0003B9 }}, - { 0x001F86, 0, { 0x001F06, /* 1F86; 1F06 03B9; Case map */ - 0x0003B9 }}, - { 0x001F87, 0, { 0x001F07, /* 1F87; 1F07 03B9; Case map */ - 0x0003B9 }}, - { 0x001F88, 0, { 0x001F00, /* 1F88; 1F00 03B9; Case map */ - 0x0003B9 }}, - { 0x001F89, 0, { 0x001F01, /* 1F89; 1F01 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8A, 0, { 0x001F02, /* 1F8A; 1F02 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8B, 0, { 0x001F03, /* 1F8B; 1F03 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8C, 0, { 0x001F04, /* 1F8C; 1F04 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8D, 0, { 0x001F05, /* 1F8D; 1F05 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8E, 0, { 0x001F06, /* 1F8E; 1F06 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8F, 0, { 0x001F07, /* 1F8F; 1F07 03B9; Case map */ - 0x0003B9 }}, - { 0x001F90, 0, { 0x001F20, /* 1F90; 1F20 03B9; Case map */ - 0x0003B9 }}, - { 0x001F91, 0, { 0x001F21, /* 1F91; 1F21 03B9; Case map */ - 0x0003B9 }}, - { 0x001F92, 0, { 0x001F22, /* 1F92; 1F22 03B9; Case map */ - 0x0003B9 }}, - { 0x001F93, 0, { 0x001F23, /* 1F93; 1F23 03B9; Case map */ - 0x0003B9 }}, - { 0x001F94, 0, { 0x001F24, /* 1F94; 1F24 03B9; Case map */ - 0x0003B9 }}, - { 0x001F95, 0, { 0x001F25, /* 1F95; 1F25 03B9; Case map */ - 0x0003B9 }}, - { 0x001F96, 0, { 0x001F26, /* 1F96; 1F26 03B9; Case map */ - 0x0003B9 }}, - { 0x001F97, 0, { 0x001F27, /* 1F97; 1F27 03B9; Case map */ - 0x0003B9 }}, - { 0x001F98, 0, { 0x001F20, /* 1F98; 1F20 03B9; Case map */ - 0x0003B9 }}, - { 0x001F99, 0, { 0x001F21, /* 1F99; 1F21 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9A, 0, { 0x001F22, /* 1F9A; 1F22 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9B, 0, { 0x001F23, /* 1F9B; 1F23 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9C, 0, { 0x001F24, /* 1F9C; 1F24 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9D, 0, { 0x001F25, /* 1F9D; 1F25 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9E, 0, { 0x001F26, /* 1F9E; 1F26 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9F, 0, { 0x001F27, /* 1F9F; 1F27 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA0, 0, { 0x001F60, /* 1FA0; 1F60 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA1, 0, { 0x001F61, /* 1FA1; 1F61 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA2, 0, { 0x001F62, /* 1FA2; 1F62 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA3, 0, { 0x001F63, /* 1FA3; 1F63 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA4, 0, { 0x001F64, /* 1FA4; 1F64 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA5, 0, { 0x001F65, /* 1FA5; 1F65 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA6, 0, { 0x001F66, /* 1FA6; 1F66 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA7, 0, { 0x001F67, /* 1FA7; 1F67 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA8, 0, { 0x001F60, /* 1FA8; 1F60 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA9, 0, { 0x001F61, /* 1FA9; 1F61 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAA, 0, { 0x001F62, /* 1FAA; 1F62 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAB, 0, { 0x001F63, /* 1FAB; 1F63 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAC, 0, { 0x001F64, /* 1FAC; 1F64 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAD, 0, { 0x001F65, /* 1FAD; 1F65 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAE, 0, { 0x001F66, /* 1FAE; 1F66 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAF, 0, { 0x001F67, /* 1FAF; 1F67 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB2, 0, { 0x001F70, /* 1FB2; 1F70 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB3, 0, { 0x0003B1, /* 1FB3; 03B1 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB4, 0, { 0x0003AC, /* 1FB4; 03AC 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB6, 0, { 0x0003B1, /* 1FB6; 03B1 0342; Case map */ - 0x000342 }}, - { 0x001FB7, 0, { 0x0003B1, /* 1FB7; 03B1 0342 03B9; Case map */ - 0x000342, 0x0003B9 }}, - { 0x001FB8, 0, { 0x001FB0 }}, /* 1FB8; 1FB0; Case map */ - { 0x001FB9, 0, { 0x001FB1 }}, /* 1FB9; 1FB1; Case map */ - { 0x001FBA, 0, { 0x001F70 }}, /* 1FBA; 1F70; Case map */ - { 0x001FBB, 0, { 0x001F71 }}, /* 1FBB; 1F71; Case map */ - { 0x001FBC, 0, { 0x0003B1, /* 1FBC; 03B1 03B9; Case map */ - 0x0003B9 }}, - { 0x001FBE, 0, { 0x0003B9 }}, /* 1FBE; 03B9; Case map */ - { 0x001FC2, 0, { 0x001F74, /* 1FC2; 1F74 03B9; Case map */ - 0x0003B9 }}, - { 0x001FC3, 0, { 0x0003B7, /* 1FC3; 03B7 03B9; Case map */ - 0x0003B9 }}, - { 0x001FC4, 0, { 0x0003AE, /* 1FC4; 03AE 03B9; Case map */ - 0x0003B9 }}, - { 0x001FC6, 0, { 0x0003B7, /* 1FC6; 03B7 0342; Case map */ - 0x000342 }}, - { 0x001FC7, 0, { 0x0003B7, /* 1FC7; 03B7 0342 03B9; Case map */ - 0x000342, 0x0003B9 }}, - { 0x001FC8, 0, { 0x001F72 }}, /* 1FC8; 1F72; Case map */ - { 0x001FC9, 0, { 0x001F73 }}, /* 1FC9; 1F73; Case map */ - { 0x001FCA, 0, { 0x001F74 }}, /* 1FCA; 1F74; Case map */ - { 0x001FCB, 0, { 0x001F75 }}, /* 1FCB; 1F75; Case map */ - { 0x001FCC, 0, { 0x0003B7, /* 1FCC; 03B7 03B9; Case map */ - 0x0003B9 }}, - { 0x001FD2, 0, { 0x0003B9, /* 1FD2; 03B9 0308 0300; Case map */ - 0x000308, 0x000300 }}, - { 0x001FD3, 0, { 0x0003B9, /* 1FD3; 03B9 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x001FD6, 0, { 0x0003B9, /* 1FD6; 03B9 0342; Case map */ - 0x000342 }}, - { 0x001FD7, 0, { 0x0003B9, /* 1FD7; 03B9 0308 0342; Case map */ - 0x000308, 0x000342 }}, - { 0x001FD8, 0, { 0x001FD0 }}, /* 1FD8; 1FD0; Case map */ - { 0x001FD9, 0, { 0x001FD1 }}, /* 1FD9; 1FD1; Case map */ - { 0x001FDA, 0, { 0x001F76 }}, /* 1FDA; 1F76; Case map */ - { 0x001FDB, 0, { 0x001F77 }}, /* 1FDB; 1F77; Case map */ - { 0x001FE2, 0, { 0x0003C5, /* 1FE2; 03C5 0308 0300; Case map */ - 0x000308, 0x000300 }}, - { 0x001FE3, 0, { 0x0003C5, /* 1FE3; 03C5 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x001FE4, 0, { 0x0003C1, /* 1FE4; 03C1 0313; Case map */ - 0x000313 }}, - { 0x001FE6, 0, { 0x0003C5, /* 1FE6; 03C5 0342; Case map */ - 0x000342 }}, - { 0x001FE7, 0, { 0x0003C5, /* 1FE7; 03C5 0308 0342; Case map */ - 0x000308, 0x000342 }}, - { 0x001FE8, 0, { 0x001FE0 }}, /* 1FE8; 1FE0; Case map */ - { 0x001FE9, 0, { 0x001FE1 }}, /* 1FE9; 1FE1; Case map */ - { 0x001FEA, 0, { 0x001F7A }}, /* 1FEA; 1F7A; Case map */ - { 0x001FEB, 0, { 0x001F7B }}, /* 1FEB; 1F7B; Case map */ - { 0x001FEC, 0, { 0x001FE5 }}, /* 1FEC; 1FE5; Case map */ - { 0x001FF2, 0, { 0x001F7C, /* 1FF2; 1F7C 03B9; Case map */ - 0x0003B9 }}, - { 0x001FF3, 0, { 0x0003C9, /* 1FF3; 03C9 03B9; Case map */ - 0x0003B9 }}, - { 0x001FF4, 0, { 0x0003CE, /* 1FF4; 03CE 03B9; Case map */ - 0x0003B9 }}, - { 0x001FF6, 0, { 0x0003C9, /* 1FF6; 03C9 0342; Case map */ - 0x000342 }}, - { 0x001FF7, 0, { 0x0003C9, /* 1FF7; 03C9 0342 03B9; Case map */ - 0x000342, 0x0003B9 }}, - { 0x001FF8, 0, { 0x001F78 }}, /* 1FF8; 1F78; Case map */ - { 0x001FF9, 0, { 0x001F79 }}, /* 1FF9; 1F79; Case map */ - { 0x001FFA, 0, { 0x001F7C }}, /* 1FFA; 1F7C; Case map */ - { 0x001FFB, 0, { 0x001F7D }}, /* 1FFB; 1F7D; Case map */ - { 0x001FFC, 0, { 0x0003C9, /* 1FFC; 03C9 03B9; Case map */ - 0x0003B9 }}, - { 0x0020A8, 0, { 0x000072, /* 20A8; 0072 0073; Additional folding */ - 0x000073 }}, - { 0x002102, 0, { 0x000063 }}, /* 2102; 0063; Additional folding */ - { 0x002103, 0, { 0x0000B0, /* 2103; 00B0 0063; Additional folding */ - 0x000063 }}, - { 0x002107, 0, { 0x00025B }}, /* 2107; 025B; Additional folding */ - { 0x002109, 0, { 0x0000B0, /* 2109; 00B0 0066; Additional folding */ - 0x000066 }}, - { 0x00210B, 0, { 0x000068 }}, /* 210B; 0068; Additional folding */ - { 0x00210C, 0, { 0x000068 }}, /* 210C; 0068; Additional folding */ - { 0x00210D, 0, { 0x000068 }}, /* 210D; 0068; Additional folding */ - { 0x002110, 0, { 0x000069 }}, /* 2110; 0069; Additional folding */ - { 0x002111, 0, { 0x000069 }}, /* 2111; 0069; Additional folding */ - { 0x002112, 0, { 0x00006C }}, /* 2112; 006C; Additional folding */ - { 0x002115, 0, { 0x00006E }}, /* 2115; 006E; Additional folding */ - { 0x002116, 0, { 0x00006E, /* 2116; 006E 006F; Additional folding */ - 0x00006F }}, - { 0x002119, 0, { 0x000070 }}, /* 2119; 0070; Additional folding */ - { 0x00211A, 0, { 0x000071 }}, /* 211A; 0071; Additional folding */ - { 0x00211B, 0, { 0x000072 }}, /* 211B; 0072; Additional folding */ - { 0x00211C, 0, { 0x000072 }}, /* 211C; 0072; Additional folding */ - { 0x00211D, 0, { 0x000072 }}, /* 211D; 0072; Additional folding */ - { 0x002120, 0, { 0x000073, /* 2120; 0073 006D; Additional folding */ - 0x00006D }}, - { 0x002121, 0, { 0x000074, /* 2121; 0074 0065 006C; Additional folding */ - 0x000065, 0x00006C }}, - { 0x002122, 0, { 0x000074, /* 2122; 0074 006D; Additional folding */ - 0x00006D }}, - { 0x002124, 0, { 0x00007A }}, /* 2124; 007A; Additional folding */ - { 0x002126, 0, { 0x0003C9 }}, /* 2126; 03C9; Case map */ - { 0x002128, 0, { 0x00007A }}, /* 2128; 007A; Additional folding */ - { 0x00212A, 0, { 0x00006B }}, /* 212A; 006B; Case map */ - { 0x00212B, 0, { 0x0000E5 }}, /* 212B; 00E5; Case map */ - { 0x00212C, 0, { 0x000062 }}, /* 212C; 0062; Additional folding */ - { 0x00212D, 0, { 0x000063 }}, /* 212D; 0063; Additional folding */ - { 0x002130, 0, { 0x000065 }}, /* 2130; 0065; Additional folding */ - { 0x002131, 0, { 0x000066 }}, /* 2131; 0066; Additional folding */ - { 0x002133, 0, { 0x00006D }}, /* 2133; 006D; Additional folding */ - { 0x00213E, 0, { 0x0003B3 }}, /* 213E; 03B3; Additional folding */ - { 0x00213F, 0, { 0x0003C0 }}, /* 213F; 03C0; Additional folding */ - { 0x002145, 0, { 0x000064 }}, /* 2145; 0064; Additional folding */ - { 0x002160, 0, { 0x002170 }}, /* 2160; 2170; Case map */ - { 0x002161, 0, { 0x002171 }}, /* 2161; 2171; Case map */ - { 0x002162, 0, { 0x002172 }}, /* 2162; 2172; Case map */ - { 0x002163, 0, { 0x002173 }}, /* 2163; 2173; Case map */ - { 0x002164, 0, { 0x002174 }}, /* 2164; 2174; Case map */ - { 0x002165, 0, { 0x002175 }}, /* 2165; 2175; Case map */ - { 0x002166, 0, { 0x002176 }}, /* 2166; 2176; Case map */ - { 0x002167, 0, { 0x002177 }}, /* 2167; 2177; Case map */ - { 0x002168, 0, { 0x002178 }}, /* 2168; 2178; Case map */ - { 0x002169, 0, { 0x002179 }}, /* 2169; 2179; Case map */ - { 0x00216A, 0, { 0x00217A }}, /* 216A; 217A; Case map */ - { 0x00216B, 0, { 0x00217B }}, /* 216B; 217B; Case map */ - { 0x00216C, 0, { 0x00217C }}, /* 216C; 217C; Case map */ - { 0x00216D, 0, { 0x00217D }}, /* 216D; 217D; Case map */ - { 0x00216E, 0, { 0x00217E }}, /* 216E; 217E; Case map */ - { 0x00216F, 0, { 0x00217F }}, /* 216F; 217F; Case map */ - { 0x0024B6, 0, { 0x0024D0 }}, /* 24B6; 24D0; Case map */ - { 0x0024B7, 0, { 0x0024D1 }}, /* 24B7; 24D1; Case map */ - { 0x0024B8, 0, { 0x0024D2 }}, /* 24B8; 24D2; Case map */ - { 0x0024B9, 0, { 0x0024D3 }}, /* 24B9; 24D3; Case map */ - { 0x0024BA, 0, { 0x0024D4 }}, /* 24BA; 24D4; Case map */ - { 0x0024BB, 0, { 0x0024D5 }}, /* 24BB; 24D5; Case map */ - { 0x0024BC, 0, { 0x0024D6 }}, /* 24BC; 24D6; Case map */ - { 0x0024BD, 0, { 0x0024D7 }}, /* 24BD; 24D7; Case map */ - { 0x0024BE, 0, { 0x0024D8 }}, /* 24BE; 24D8; Case map */ - { 0x0024BF, 0, { 0x0024D9 }}, /* 24BF; 24D9; Case map */ - { 0x0024C0, 0, { 0x0024DA }}, /* 24C0; 24DA; Case map */ - { 0x0024C1, 0, { 0x0024DB }}, /* 24C1; 24DB; Case map */ - { 0x0024C2, 0, { 0x0024DC }}, /* 24C2; 24DC; Case map */ - { 0x0024C3, 0, { 0x0024DD }}, /* 24C3; 24DD; Case map */ - { 0x0024C4, 0, { 0x0024DE }}, /* 24C4; 24DE; Case map */ - { 0x0024C5, 0, { 0x0024DF }}, /* 24C5; 24DF; Case map */ - { 0x0024C6, 0, { 0x0024E0 }}, /* 24C6; 24E0; Case map */ - { 0x0024C7, 0, { 0x0024E1 }}, /* 24C7; 24E1; Case map */ - { 0x0024C8, 0, { 0x0024E2 }}, /* 24C8; 24E2; Case map */ - { 0x0024C9, 0, { 0x0024E3 }}, /* 24C9; 24E3; Case map */ - { 0x0024CA, 0, { 0x0024E4 }}, /* 24CA; 24E4; Case map */ - { 0x0024CB, 0, { 0x0024E5 }}, /* 24CB; 24E5; Case map */ - { 0x0024CC, 0, { 0x0024E6 }}, /* 24CC; 24E6; Case map */ - { 0x0024CD, 0, { 0x0024E7 }}, /* 24CD; 24E7; Case map */ - { 0x0024CE, 0, { 0x0024E8 }}, /* 24CE; 24E8; Case map */ - { 0x0024CF, 0, { 0x0024E9 }}, /* 24CF; 24E9; Case map */ - { 0x003371, 0, { 0x000068, /* 3371; 0068 0070 0061; Additional folding */ - 0x000070, 0x000061 }}, - { 0x003373, 0, { 0x000061, /* 3373; 0061 0075; Additional folding */ - 0x000075 }}, - { 0x003375, 0, { 0x00006F, /* 3375; 006F 0076; Additional folding */ - 0x000076 }}, - { 0x003380, 0, { 0x000070, /* 3380; 0070 0061; Additional folding */ - 0x000061 }}, - { 0x003381, 0, { 0x00006E, /* 3381; 006E 0061; Additional folding */ - 0x000061 }}, - { 0x003382, 0, { 0x0003BC, /* 3382; 03BC 0061; Additional folding */ - 0x000061 }}, - { 0x003383, 0, { 0x00006D, /* 3383; 006D 0061; Additional folding */ - 0x000061 }}, - { 0x003384, 0, { 0x00006B, /* 3384; 006B 0061; Additional folding */ - 0x000061 }}, - { 0x003385, 0, { 0x00006B, /* 3385; 006B 0062; Additional folding */ - 0x000062 }}, - { 0x003386, 0, { 0x00006D, /* 3386; 006D 0062; Additional folding */ - 0x000062 }}, - { 0x003387, 0, { 0x000067, /* 3387; 0067 0062; Additional folding */ - 0x000062 }}, - { 0x00338A, 0, { 0x000070, /* 338A; 0070 0066; Additional folding */ - 0x000066 }}, - { 0x00338B, 0, { 0x00006E, /* 338B; 006E 0066; Additional folding */ - 0x000066 }}, - { 0x00338C, 0, { 0x0003BC, /* 338C; 03BC 0066; Additional folding */ - 0x000066 }}, - { 0x003390, 0, { 0x000068, /* 3390; 0068 007A; Additional folding */ - 0x00007A }}, - { 0x003391, 0, { 0x00006B, /* 3391; 006B 0068 007A; Additional folding */ - 0x000068, 0x00007A }}, - { 0x003392, 0, { 0x00006D, /* 3392; 006D 0068 007A; Additional folding */ - 0x000068, 0x00007A }}, - { 0x003393, 0, { 0x000067, /* 3393; 0067 0068 007A; Additional folding */ - 0x000068, 0x00007A }}, - { 0x003394, 0, { 0x000074, /* 3394; 0074 0068 007A; Additional folding */ - 0x000068, 0x00007A }}, - { 0x0033A9, 0, { 0x000070, /* 33A9; 0070 0061; Additional folding */ - 0x000061 }}, - { 0x0033AA, 0, { 0x00006B, /* 33AA; 006B 0070 0061; Additional folding */ - 0x000070, 0x000061 }}, - { 0x0033AB, 0, { 0x00006D, /* 33AB; 006D 0070 0061; Additional folding */ - 0x000070, 0x000061 }}, - { 0x0033AC, 0, { 0x000067, /* 33AC; 0067 0070 0061; Additional folding */ - 0x000070, 0x000061 }}, - { 0x0033B4, 0, { 0x000070, /* 33B4; 0070 0076; Additional folding */ - 0x000076 }}, - { 0x0033B5, 0, { 0x00006E, /* 33B5; 006E 0076; Additional folding */ - 0x000076 }}, - { 0x0033B6, 0, { 0x0003BC, /* 33B6; 03BC 0076; Additional folding */ - 0x000076 }}, - { 0x0033B7, 0, { 0x00006D, /* 33B7; 006D 0076; Additional folding */ - 0x000076 }}, - { 0x0033B8, 0, { 0x00006B, /* 33B8; 006B 0076; Additional folding */ - 0x000076 }}, - { 0x0033B9, 0, { 0x00006D, /* 33B9; 006D 0076; Additional folding */ - 0x000076 }}, - { 0x0033BA, 0, { 0x000070, /* 33BA; 0070 0077; Additional folding */ - 0x000077 }}, - { 0x0033BB, 0, { 0x00006E, /* 33BB; 006E 0077; Additional folding */ - 0x000077 }}, - { 0x0033BC, 0, { 0x0003BC, /* 33BC; 03BC 0077; Additional folding */ - 0x000077 }}, - { 0x0033BD, 0, { 0x00006D, /* 33BD; 006D 0077; Additional folding */ - 0x000077 }}, - { 0x0033BE, 0, { 0x00006B, /* 33BE; 006B 0077; Additional folding */ - 0x000077 }}, - { 0x0033BF, 0, { 0x00006D, /* 33BF; 006D 0077; Additional folding */ - 0x000077 }}, - { 0x0033C0, 0, { 0x00006B, /* 33C0; 006B 03C9; Additional folding */ - 0x0003C9 }}, - { 0x0033C1, 0, { 0x00006D, /* 33C1; 006D 03C9; Additional folding */ - 0x0003C9 }}, - { 0x0033C3, 0, { 0x000062, /* 33C3; 0062 0071; Additional folding */ - 0x000071 }}, - { 0x0033C6, 0, { 0x000063, /* 33C6; 0063 2215 006B 0067; Additional folding */ - 0x002215, 0x00006B, 0x000067 }}, - { 0x0033C7, 0, { 0x000063, /* 33C7; 0063 006F 002E; Additional folding */ - 0x00006F, 0x00002E }}, - { 0x0033C8, 0, { 0x000064, /* 33C8; 0064 0062; Additional folding */ - 0x000062 }}, - { 0x0033C9, 0, { 0x000067, /* 33C9; 0067 0079; Additional folding */ - 0x000079 }}, - { 0x0033CB, 0, { 0x000068, /* 33CB; 0068 0070; Additional folding */ - 0x000070 }}, - { 0x0033CD, 0, { 0x00006B, /* 33CD; 006B 006B; Additional folding */ - 0x00006B }}, - { 0x0033CE, 0, { 0x00006B, /* 33CE; 006B 006D; Additional folding */ - 0x00006D }}, - { 0x0033D7, 0, { 0x000070, /* 33D7; 0070 0068; Additional folding */ - 0x000068 }}, - { 0x0033D9, 0, { 0x000070, /* 33D9; 0070 0070 006D; Additional folding */ - 0x000070, 0x00006D }}, - { 0x0033DA, 0, { 0x000070, /* 33DA; 0070 0072; Additional folding */ - 0x000072 }}, - { 0x0033DC, 0, { 0x000073, /* 33DC; 0073 0076; Additional folding */ - 0x000076 }}, - { 0x0033DD, 0, { 0x000077, /* 33DD; 0077 0062; Additional folding */ - 0x000062 }}, - { 0x00FB00, 0, { 0x000066, /* FB00; 0066 0066; Case map */ - 0x000066 }}, - { 0x00FB01, 0, { 0x000066, /* FB01; 0066 0069; Case map */ - 0x000069 }}, - { 0x00FB02, 0, { 0x000066, /* FB02; 0066 006C; Case map */ - 0x00006C }}, - { 0x00FB03, 0, { 0x000066, /* FB03; 0066 0066 0069; Case map */ - 0x000066, 0x000069 }}, - { 0x00FB04, 0, { 0x000066, /* FB04; 0066 0066 006C; Case map */ - 0x000066, 0x00006C }}, - { 0x00FB05, 0, { 0x000073, /* FB05; 0073 0074; Case map */ - 0x000074 }}, - { 0x00FB06, 0, { 0x000073, /* FB06; 0073 0074; Case map */ - 0x000074 }}, - { 0x00FB13, 0, { 0x000574, /* FB13; 0574 0576; Case map */ - 0x000576 }}, - { 0x00FB14, 0, { 0x000574, /* FB14; 0574 0565; Case map */ - 0x000565 }}, - { 0x00FB15, 0, { 0x000574, /* FB15; 0574 056B; Case map */ - 0x00056B }}, - { 0x00FB16, 0, { 0x00057E, /* FB16; 057E 0576; Case map */ - 0x000576 }}, - { 0x00FB17, 0, { 0x000574, /* FB17; 0574 056D; Case map */ - 0x00056D }}, - { 0x00FF21, 0, { 0x00FF41 }}, /* FF21; FF41; Case map */ - { 0x00FF22, 0, { 0x00FF42 }}, /* FF22; FF42; Case map */ - { 0x00FF23, 0, { 0x00FF43 }}, /* FF23; FF43; Case map */ - { 0x00FF24, 0, { 0x00FF44 }}, /* FF24; FF44; Case map */ - { 0x00FF25, 0, { 0x00FF45 }}, /* FF25; FF45; Case map */ - { 0x00FF26, 0, { 0x00FF46 }}, /* FF26; FF46; Case map */ - { 0x00FF27, 0, { 0x00FF47 }}, /* FF27; FF47; Case map */ - { 0x00FF28, 0, { 0x00FF48 }}, /* FF28; FF48; Case map */ - { 0x00FF29, 0, { 0x00FF49 }}, /* FF29; FF49; Case map */ - { 0x00FF2A, 0, { 0x00FF4A }}, /* FF2A; FF4A; Case map */ - { 0x00FF2B, 0, { 0x00FF4B }}, /* FF2B; FF4B; Case map */ - { 0x00FF2C, 0, { 0x00FF4C }}, /* FF2C; FF4C; Case map */ - { 0x00FF2D, 0, { 0x00FF4D }}, /* FF2D; FF4D; Case map */ - { 0x00FF2E, 0, { 0x00FF4E }}, /* FF2E; FF4E; Case map */ - { 0x00FF2F, 0, { 0x00FF4F }}, /* FF2F; FF4F; Case map */ - { 0x00FF30, 0, { 0x00FF50 }}, /* FF30; FF50; Case map */ - { 0x00FF31, 0, { 0x00FF51 }}, /* FF31; FF51; Case map */ - { 0x00FF32, 0, { 0x00FF52 }}, /* FF32; FF52; Case map */ - { 0x00FF33, 0, { 0x00FF53 }}, /* FF33; FF53; Case map */ - { 0x00FF34, 0, { 0x00FF54 }}, /* FF34; FF54; Case map */ - { 0x00FF35, 0, { 0x00FF55 }}, /* FF35; FF55; Case map */ - { 0x00FF36, 0, { 0x00FF56 }}, /* FF36; FF56; Case map */ - { 0x00FF37, 0, { 0x00FF57 }}, /* FF37; FF57; Case map */ - { 0x00FF38, 0, { 0x00FF58 }}, /* FF38; FF58; Case map */ - { 0x00FF39, 0, { 0x00FF59 }}, /* FF39; FF59; Case map */ - { 0x00FF3A, 0, { 0x00FF5A }}, /* FF3A; FF5A; Case map */ - { 0x010400, 0, { 0x010428 }}, /* 10400; 10428; Case map */ - { 0x010401, 0, { 0x010429 }}, /* 10401; 10429; Case map */ - { 0x010402, 0, { 0x01042A }}, /* 10402; 1042A; Case map */ - { 0x010403, 0, { 0x01042B }}, /* 10403; 1042B; Case map */ - { 0x010404, 0, { 0x01042C }}, /* 10404; 1042C; Case map */ - { 0x010405, 0, { 0x01042D }}, /* 10405; 1042D; Case map */ - { 0x010406, 0, { 0x01042E }}, /* 10406; 1042E; Case map */ - { 0x010407, 0, { 0x01042F }}, /* 10407; 1042F; Case map */ - { 0x010408, 0, { 0x010430 }}, /* 10408; 10430; Case map */ - { 0x010409, 0, { 0x010431 }}, /* 10409; 10431; Case map */ - { 0x01040A, 0, { 0x010432 }}, /* 1040A; 10432; Case map */ - { 0x01040B, 0, { 0x010433 }}, /* 1040B; 10433; Case map */ - { 0x01040C, 0, { 0x010434 }}, /* 1040C; 10434; Case map */ - { 0x01040D, 0, { 0x010435 }}, /* 1040D; 10435; Case map */ - { 0x01040E, 0, { 0x010436 }}, /* 1040E; 10436; Case map */ - { 0x01040F, 0, { 0x010437 }}, /* 1040F; 10437; Case map */ - { 0x010410, 0, { 0x010438 }}, /* 10410; 10438; Case map */ - { 0x010411, 0, { 0x010439 }}, /* 10411; 10439; Case map */ - { 0x010412, 0, { 0x01043A }}, /* 10412; 1043A; Case map */ - { 0x010413, 0, { 0x01043B }}, /* 10413; 1043B; Case map */ - { 0x010414, 0, { 0x01043C }}, /* 10414; 1043C; Case map */ - { 0x010415, 0, { 0x01043D }}, /* 10415; 1043D; Case map */ - { 0x010416, 0, { 0x01043E }}, /* 10416; 1043E; Case map */ - { 0x010417, 0, { 0x01043F }}, /* 10417; 1043F; Case map */ - { 0x010418, 0, { 0x010440 }}, /* 10418; 10440; Case map */ - { 0x010419, 0, { 0x010441 }}, /* 10419; 10441; Case map */ - { 0x01041A, 0, { 0x010442 }}, /* 1041A; 10442; Case map */ - { 0x01041B, 0, { 0x010443 }}, /* 1041B; 10443; Case map */ - { 0x01041C, 0, { 0x010444 }}, /* 1041C; 10444; Case map */ - { 0x01041D, 0, { 0x010445 }}, /* 1041D; 10445; Case map */ - { 0x01041E, 0, { 0x010446 }}, /* 1041E; 10446; Case map */ - { 0x01041F, 0, { 0x010447 }}, /* 1041F; 10447; Case map */ - { 0x010420, 0, { 0x010448 }}, /* 10420; 10448; Case map */ - { 0x010421, 0, { 0x010449 }}, /* 10421; 10449; Case map */ - { 0x010422, 0, { 0x01044A }}, /* 10422; 1044A; Case map */ - { 0x010423, 0, { 0x01044B }}, /* 10423; 1044B; Case map */ - { 0x010424, 0, { 0x01044C }}, /* 10424; 1044C; Case map */ - { 0x010425, 0, { 0x01044D }}, /* 10425; 1044D; Case map */ - { 0x01D400, 0, { 0x000061 }}, /* 1D400; 0061; Additional folding */ - { 0x01D401, 0, { 0x000062 }}, /* 1D401; 0062; Additional folding */ - { 0x01D402, 0, { 0x000063 }}, /* 1D402; 0063; Additional folding */ - { 0x01D403, 0, { 0x000064 }}, /* 1D403; 0064; Additional folding */ - { 0x01D404, 0, { 0x000065 }}, /* 1D404; 0065; Additional folding */ - { 0x01D405, 0, { 0x000066 }}, /* 1D405; 0066; Additional folding */ - { 0x01D406, 0, { 0x000067 }}, /* 1D406; 0067; Additional folding */ - { 0x01D407, 0, { 0x000068 }}, /* 1D407; 0068; Additional folding */ - { 0x01D408, 0, { 0x000069 }}, /* 1D408; 0069; Additional folding */ - { 0x01D409, 0, { 0x00006A }}, /* 1D409; 006A; Additional folding */ - { 0x01D40A, 0, { 0x00006B }}, /* 1D40A; 006B; Additional folding */ - { 0x01D40B, 0, { 0x00006C }}, /* 1D40B; 006C; Additional folding */ - { 0x01D40C, 0, { 0x00006D }}, /* 1D40C; 006D; Additional folding */ - { 0x01D40D, 0, { 0x00006E }}, /* 1D40D; 006E; Additional folding */ - { 0x01D40E, 0, { 0x00006F }}, /* 1D40E; 006F; Additional folding */ - { 0x01D40F, 0, { 0x000070 }}, /* 1D40F; 0070; Additional folding */ - { 0x01D410, 0, { 0x000071 }}, /* 1D410; 0071; Additional folding */ - { 0x01D411, 0, { 0x000072 }}, /* 1D411; 0072; Additional folding */ - { 0x01D412, 0, { 0x000073 }}, /* 1D412; 0073; Additional folding */ - { 0x01D413, 0, { 0x000074 }}, /* 1D413; 0074; Additional folding */ - { 0x01D414, 0, { 0x000075 }}, /* 1D414; 0075; Additional folding */ - { 0x01D415, 0, { 0x000076 }}, /* 1D415; 0076; Additional folding */ - { 0x01D416, 0, { 0x000077 }}, /* 1D416; 0077; Additional folding */ - { 0x01D417, 0, { 0x000078 }}, /* 1D417; 0078; Additional folding */ - { 0x01D418, 0, { 0x000079 }}, /* 1D418; 0079; Additional folding */ - { 0x01D419, 0, { 0x00007A }}, /* 1D419; 007A; Additional folding */ - { 0x01D434, 0, { 0x000061 }}, /* 1D434; 0061; Additional folding */ - { 0x01D435, 0, { 0x000062 }}, /* 1D435; 0062; Additional folding */ - { 0x01D436, 0, { 0x000063 }}, /* 1D436; 0063; Additional folding */ - { 0x01D437, 0, { 0x000064 }}, /* 1D437; 0064; Additional folding */ - { 0x01D438, 0, { 0x000065 }}, /* 1D438; 0065; Additional folding */ - { 0x01D439, 0, { 0x000066 }}, /* 1D439; 0066; Additional folding */ - { 0x01D43A, 0, { 0x000067 }}, /* 1D43A; 0067; Additional folding */ - { 0x01D43B, 0, { 0x000068 }}, /* 1D43B; 0068; Additional folding */ - { 0x01D43C, 0, { 0x000069 }}, /* 1D43C; 0069; Additional folding */ - { 0x01D43D, 0, { 0x00006A }}, /* 1D43D; 006A; Additional folding */ - { 0x01D43E, 0, { 0x00006B }}, /* 1D43E; 006B; Additional folding */ - { 0x01D43F, 0, { 0x00006C }}, /* 1D43F; 006C; Additional folding */ - { 0x01D440, 0, { 0x00006D }}, /* 1D440; 006D; Additional folding */ - { 0x01D441, 0, { 0x00006E }}, /* 1D441; 006E; Additional folding */ - { 0x01D442, 0, { 0x00006F }}, /* 1D442; 006F; Additional folding */ - { 0x01D443, 0, { 0x000070 }}, /* 1D443; 0070; Additional folding */ - { 0x01D444, 0, { 0x000071 }}, /* 1D444; 0071; Additional folding */ - { 0x01D445, 0, { 0x000072 }}, /* 1D445; 0072; Additional folding */ - { 0x01D446, 0, { 0x000073 }}, /* 1D446; 0073; Additional folding */ - { 0x01D447, 0, { 0x000074 }}, /* 1D447; 0074; Additional folding */ - { 0x01D448, 0, { 0x000075 }}, /* 1D448; 0075; Additional folding */ - { 0x01D449, 0, { 0x000076 }}, /* 1D449; 0076; Additional folding */ - { 0x01D44A, 0, { 0x000077 }}, /* 1D44A; 0077; Additional folding */ - { 0x01D44B, 0, { 0x000078 }}, /* 1D44B; 0078; Additional folding */ - { 0x01D44C, 0, { 0x000079 }}, /* 1D44C; 0079; Additional folding */ - { 0x01D44D, 0, { 0x00007A }}, /* 1D44D; 007A; Additional folding */ - { 0x01D468, 0, { 0x000061 }}, /* 1D468; 0061; Additional folding */ - { 0x01D469, 0, { 0x000062 }}, /* 1D469; 0062; Additional folding */ - { 0x01D46A, 0, { 0x000063 }}, /* 1D46A; 0063; Additional folding */ - { 0x01D46B, 0, { 0x000064 }}, /* 1D46B; 0064; Additional folding */ - { 0x01D46C, 0, { 0x000065 }}, /* 1D46C; 0065; Additional folding */ - { 0x01D46D, 0, { 0x000066 }}, /* 1D46D; 0066; Additional folding */ - { 0x01D46E, 0, { 0x000067 }}, /* 1D46E; 0067; Additional folding */ - { 0x01D46F, 0, { 0x000068 }}, /* 1D46F; 0068; Additional folding */ - { 0x01D470, 0, { 0x000069 }}, /* 1D470; 0069; Additional folding */ - { 0x01D471, 0, { 0x00006A }}, /* 1D471; 006A; Additional folding */ - { 0x01D472, 0, { 0x00006B }}, /* 1D472; 006B; Additional folding */ - { 0x01D473, 0, { 0x00006C }}, /* 1D473; 006C; Additional folding */ - { 0x01D474, 0, { 0x00006D }}, /* 1D474; 006D; Additional folding */ - { 0x01D475, 0, { 0x00006E }}, /* 1D475; 006E; Additional folding */ - { 0x01D476, 0, { 0x00006F }}, /* 1D476; 006F; Additional folding */ - { 0x01D477, 0, { 0x000070 }}, /* 1D477; 0070; Additional folding */ - { 0x01D478, 0, { 0x000071 }}, /* 1D478; 0071; Additional folding */ - { 0x01D479, 0, { 0x000072 }}, /* 1D479; 0072; Additional folding */ - { 0x01D47A, 0, { 0x000073 }}, /* 1D47A; 0073; Additional folding */ - { 0x01D47B, 0, { 0x000074 }}, /* 1D47B; 0074; Additional folding */ - { 0x01D47C, 0, { 0x000075 }}, /* 1D47C; 0075; Additional folding */ - { 0x01D47D, 0, { 0x000076 }}, /* 1D47D; 0076; Additional folding */ - { 0x01D47E, 0, { 0x000077 }}, /* 1D47E; 0077; Additional folding */ - { 0x01D47F, 0, { 0x000078 }}, /* 1D47F; 0078; Additional folding */ - { 0x01D480, 0, { 0x000079 }}, /* 1D480; 0079; Additional folding */ - { 0x01D481, 0, { 0x00007A }}, /* 1D481; 007A; Additional folding */ - { 0x01D49C, 0, { 0x000061 }}, /* 1D49C; 0061; Additional folding */ - { 0x01D49E, 0, { 0x000063 }}, /* 1D49E; 0063; Additional folding */ - { 0x01D49F, 0, { 0x000064 }}, /* 1D49F; 0064; Additional folding */ - { 0x01D4A2, 0, { 0x000067 }}, /* 1D4A2; 0067; Additional folding */ - { 0x01D4A5, 0, { 0x00006A }}, /* 1D4A5; 006A; Additional folding */ - { 0x01D4A6, 0, { 0x00006B }}, /* 1D4A6; 006B; Additional folding */ - { 0x01D4A9, 0, { 0x00006E }}, /* 1D4A9; 006E; Additional folding */ - { 0x01D4AA, 0, { 0x00006F }}, /* 1D4AA; 006F; Additional folding */ - { 0x01D4AB, 0, { 0x000070 }}, /* 1D4AB; 0070; Additional folding */ - { 0x01D4AC, 0, { 0x000071 }}, /* 1D4AC; 0071; Additional folding */ - { 0x01D4AE, 0, { 0x000073 }}, /* 1D4AE; 0073; Additional folding */ - { 0x01D4AF, 0, { 0x000074 }}, /* 1D4AF; 0074; Additional folding */ - { 0x01D4B0, 0, { 0x000075 }}, /* 1D4B0; 0075; Additional folding */ - { 0x01D4B1, 0, { 0x000076 }}, /* 1D4B1; 0076; Additional folding */ - { 0x01D4B2, 0, { 0x000077 }}, /* 1D4B2; 0077; Additional folding */ - { 0x01D4B3, 0, { 0x000078 }}, /* 1D4B3; 0078; Additional folding */ - { 0x01D4B4, 0, { 0x000079 }}, /* 1D4B4; 0079; Additional folding */ - { 0x01D4B5, 0, { 0x00007A }}, /* 1D4B5; 007A; Additional folding */ - { 0x01D4D0, 0, { 0x000061 }}, /* 1D4D0; 0061; Additional folding */ - { 0x01D4D1, 0, { 0x000062 }}, /* 1D4D1; 0062; Additional folding */ - { 0x01D4D2, 0, { 0x000063 }}, /* 1D4D2; 0063; Additional folding */ - { 0x01D4D3, 0, { 0x000064 }}, /* 1D4D3; 0064; Additional folding */ - { 0x01D4D4, 0, { 0x000065 }}, /* 1D4D4; 0065; Additional folding */ - { 0x01D4D5, 0, { 0x000066 }}, /* 1D4D5; 0066; Additional folding */ - { 0x01D4D6, 0, { 0x000067 }}, /* 1D4D6; 0067; Additional folding */ - { 0x01D4D7, 0, { 0x000068 }}, /* 1D4D7; 0068; Additional folding */ - { 0x01D4D8, 0, { 0x000069 }}, /* 1D4D8; 0069; Additional folding */ - { 0x01D4D9, 0, { 0x00006A }}, /* 1D4D9; 006A; Additional folding */ - { 0x01D4DA, 0, { 0x00006B }}, /* 1D4DA; 006B; Additional folding */ - { 0x01D4DB, 0, { 0x00006C }}, /* 1D4DB; 006C; Additional folding */ - { 0x01D4DC, 0, { 0x00006D }}, /* 1D4DC; 006D; Additional folding */ - { 0x01D4DD, 0, { 0x00006E }}, /* 1D4DD; 006E; Additional folding */ - { 0x01D4DE, 0, { 0x00006F }}, /* 1D4DE; 006F; Additional folding */ - { 0x01D4DF, 0, { 0x000070 }}, /* 1D4DF; 0070; Additional folding */ - { 0x01D4E0, 0, { 0x000071 }}, /* 1D4E0; 0071; Additional folding */ - { 0x01D4E1, 0, { 0x000072 }}, /* 1D4E1; 0072; Additional folding */ - { 0x01D4E2, 0, { 0x000073 }}, /* 1D4E2; 0073; Additional folding */ - { 0x01D4E3, 0, { 0x000074 }}, /* 1D4E3; 0074; Additional folding */ - { 0x01D4E4, 0, { 0x000075 }}, /* 1D4E4; 0075; Additional folding */ - { 0x01D4E5, 0, { 0x000076 }}, /* 1D4E5; 0076; Additional folding */ - { 0x01D4E6, 0, { 0x000077 }}, /* 1D4E6; 0077; Additional folding */ - { 0x01D4E7, 0, { 0x000078 }}, /* 1D4E7; 0078; Additional folding */ - { 0x01D4E8, 0, { 0x000079 }}, /* 1D4E8; 0079; Additional folding */ - { 0x01D4E9, 0, { 0x00007A }}, /* 1D4E9; 007A; Additional folding */ - { 0x01D504, 0, { 0x000061 }}, /* 1D504; 0061; Additional folding */ - { 0x01D505, 0, { 0x000062 }}, /* 1D505; 0062; Additional folding */ - { 0x01D507, 0, { 0x000064 }}, /* 1D507; 0064; Additional folding */ - { 0x01D508, 0, { 0x000065 }}, /* 1D508; 0065; Additional folding */ - { 0x01D509, 0, { 0x000066 }}, /* 1D509; 0066; Additional folding */ - { 0x01D50A, 0, { 0x000067 }}, /* 1D50A; 0067; Additional folding */ - { 0x01D50D, 0, { 0x00006A }}, /* 1D50D; 006A; Additional folding */ - { 0x01D50E, 0, { 0x00006B }}, /* 1D50E; 006B; Additional folding */ - { 0x01D50F, 0, { 0x00006C }}, /* 1D50F; 006C; Additional folding */ - { 0x01D510, 0, { 0x00006D }}, /* 1D510; 006D; Additional folding */ - { 0x01D511, 0, { 0x00006E }}, /* 1D511; 006E; Additional folding */ - { 0x01D512, 0, { 0x00006F }}, /* 1D512; 006F; Additional folding */ - { 0x01D513, 0, { 0x000070 }}, /* 1D513; 0070; Additional folding */ - { 0x01D514, 0, { 0x000071 }}, /* 1D514; 0071; Additional folding */ - { 0x01D516, 0, { 0x000073 }}, /* 1D516; 0073; Additional folding */ - { 0x01D517, 0, { 0x000074 }}, /* 1D517; 0074; Additional folding */ - { 0x01D518, 0, { 0x000075 }}, /* 1D518; 0075; Additional folding */ - { 0x01D519, 0, { 0x000076 }}, /* 1D519; 0076; Additional folding */ - { 0x01D51A, 0, { 0x000077 }}, /* 1D51A; 0077; Additional folding */ - { 0x01D51B, 0, { 0x000078 }}, /* 1D51B; 0078; Additional folding */ - { 0x01D51C, 0, { 0x000079 }}, /* 1D51C; 0079; Additional folding */ - { 0x01D538, 0, { 0x000061 }}, /* 1D538; 0061; Additional folding */ - { 0x01D539, 0, { 0x000062 }}, /* 1D539; 0062; Additional folding */ - { 0x01D53B, 0, { 0x000064 }}, /* 1D53B; 0064; Additional folding */ - { 0x01D53C, 0, { 0x000065 }}, /* 1D53C; 0065; Additional folding */ - { 0x01D53D, 0, { 0x000066 }}, /* 1D53D; 0066; Additional folding */ - { 0x01D53E, 0, { 0x000067 }}, /* 1D53E; 0067; Additional folding */ - { 0x01D540, 0, { 0x000069 }}, /* 1D540; 0069; Additional folding */ - { 0x01D541, 0, { 0x00006A }}, /* 1D541; 006A; Additional folding */ - { 0x01D542, 0, { 0x00006B }}, /* 1D542; 006B; Additional folding */ - { 0x01D543, 0, { 0x00006C }}, /* 1D543; 006C; Additional folding */ - { 0x01D544, 0, { 0x00006D }}, /* 1D544; 006D; Additional folding */ - { 0x01D546, 0, { 0x00006F }}, /* 1D546; 006F; Additional folding */ - { 0x01D54A, 0, { 0x000073 }}, /* 1D54A; 0073; Additional folding */ - { 0x01D54B, 0, { 0x000074 }}, /* 1D54B; 0074; Additional folding */ - { 0x01D54C, 0, { 0x000075 }}, /* 1D54C; 0075; Additional folding */ - { 0x01D54D, 0, { 0x000076 }}, /* 1D54D; 0076; Additional folding */ - { 0x01D54E, 0, { 0x000077 }}, /* 1D54E; 0077; Additional folding */ - { 0x01D54F, 0, { 0x000078 }}, /* 1D54F; 0078; Additional folding */ - { 0x01D550, 0, { 0x000079 }}, /* 1D550; 0079; Additional folding */ - { 0x01D56C, 0, { 0x000061 }}, /* 1D56C; 0061; Additional folding */ - { 0x01D56D, 0, { 0x000062 }}, /* 1D56D; 0062; Additional folding */ - { 0x01D56E, 0, { 0x000063 }}, /* 1D56E; 0063; Additional folding */ - { 0x01D56F, 0, { 0x000064 }}, /* 1D56F; 0064; Additional folding */ - { 0x01D570, 0, { 0x000065 }}, /* 1D570; 0065; Additional folding */ - { 0x01D571, 0, { 0x000066 }}, /* 1D571; 0066; Additional folding */ - { 0x01D572, 0, { 0x000067 }}, /* 1D572; 0067; Additional folding */ - { 0x01D573, 0, { 0x000068 }}, /* 1D573; 0068; Additional folding */ - { 0x01D574, 0, { 0x000069 }}, /* 1D574; 0069; Additional folding */ - { 0x01D575, 0, { 0x00006A }}, /* 1D575; 006A; Additional folding */ - { 0x01D576, 0, { 0x00006B }}, /* 1D576; 006B; Additional folding */ - { 0x01D577, 0, { 0x00006C }}, /* 1D577; 006C; Additional folding */ - { 0x01D578, 0, { 0x00006D }}, /* 1D578; 006D; Additional folding */ - { 0x01D579, 0, { 0x00006E }}, /* 1D579; 006E; Additional folding */ - { 0x01D57A, 0, { 0x00006F }}, /* 1D57A; 006F; Additional folding */ - { 0x01D57B, 0, { 0x000070 }}, /* 1D57B; 0070; Additional folding */ - { 0x01D57C, 0, { 0x000071 }}, /* 1D57C; 0071; Additional folding */ - { 0x01D57D, 0, { 0x000072 }}, /* 1D57D; 0072; Additional folding */ - { 0x01D57E, 0, { 0x000073 }}, /* 1D57E; 0073; Additional folding */ - { 0x01D57F, 0, { 0x000074 }}, /* 1D57F; 0074; Additional folding */ - { 0x01D580, 0, { 0x000075 }}, /* 1D580; 0075; Additional folding */ - { 0x01D581, 0, { 0x000076 }}, /* 1D581; 0076; Additional folding */ - { 0x01D582, 0, { 0x000077 }}, /* 1D582; 0077; Additional folding */ - { 0x01D583, 0, { 0x000078 }}, /* 1D583; 0078; Additional folding */ - { 0x01D584, 0, { 0x000079 }}, /* 1D584; 0079; Additional folding */ - { 0x01D585, 0, { 0x00007A }}, /* 1D585; 007A; Additional folding */ - { 0x01D5A0, 0, { 0x000061 }}, /* 1D5A0; 0061; Additional folding */ - { 0x01D5A1, 0, { 0x000062 }}, /* 1D5A1; 0062; Additional folding */ - { 0x01D5A2, 0, { 0x000063 }}, /* 1D5A2; 0063; Additional folding */ - { 0x01D5A3, 0, { 0x000064 }}, /* 1D5A3; 0064; Additional folding */ - { 0x01D5A4, 0, { 0x000065 }}, /* 1D5A4; 0065; Additional folding */ - { 0x01D5A5, 0, { 0x000066 }}, /* 1D5A5; 0066; Additional folding */ - { 0x01D5A6, 0, { 0x000067 }}, /* 1D5A6; 0067; Additional folding */ - { 0x01D5A7, 0, { 0x000068 }}, /* 1D5A7; 0068; Additional folding */ - { 0x01D5A8, 0, { 0x000069 }}, /* 1D5A8; 0069; Additional folding */ - { 0x01D5A9, 0, { 0x00006A }}, /* 1D5A9; 006A; Additional folding */ - { 0x01D5AA, 0, { 0x00006B }}, /* 1D5AA; 006B; Additional folding */ - { 0x01D5AB, 0, { 0x00006C }}, /* 1D5AB; 006C; Additional folding */ - { 0x01D5AC, 0, { 0x00006D }}, /* 1D5AC; 006D; Additional folding */ - { 0x01D5AD, 0, { 0x00006E }}, /* 1D5AD; 006E; Additional folding */ - { 0x01D5AE, 0, { 0x00006F }}, /* 1D5AE; 006F; Additional folding */ - { 0x01D5AF, 0, { 0x000070 }}, /* 1D5AF; 0070; Additional folding */ - { 0x01D5B0, 0, { 0x000071 }}, /* 1D5B0; 0071; Additional folding */ - { 0x01D5B1, 0, { 0x000072 }}, /* 1D5B1; 0072; Additional folding */ - { 0x01D5B2, 0, { 0x000073 }}, /* 1D5B2; 0073; Additional folding */ - { 0x01D5B3, 0, { 0x000074 }}, /* 1D5B3; 0074; Additional folding */ - { 0x01D5B4, 0, { 0x000075 }}, /* 1D5B4; 0075; Additional folding */ - { 0x01D5B5, 0, { 0x000076 }}, /* 1D5B5; 0076; Additional folding */ - { 0x01D5B6, 0, { 0x000077 }}, /* 1D5B6; 0077; Additional folding */ - { 0x01D5B7, 0, { 0x000078 }}, /* 1D5B7; 0078; Additional folding */ - { 0x01D5B8, 0, { 0x000079 }}, /* 1D5B8; 0079; Additional folding */ - { 0x01D5B9, 0, { 0x00007A }}, /* 1D5B9; 007A; Additional folding */ - { 0x01D5D4, 0, { 0x000061 }}, /* 1D5D4; 0061; Additional folding */ - { 0x01D5D5, 0, { 0x000062 }}, /* 1D5D5; 0062; Additional folding */ - { 0x01D5D6, 0, { 0x000063 }}, /* 1D5D6; 0063; Additional folding */ - { 0x01D5D7, 0, { 0x000064 }}, /* 1D5D7; 0064; Additional folding */ - { 0x01D5D8, 0, { 0x000065 }}, /* 1D5D8; 0065; Additional folding */ - { 0x01D5D9, 0, { 0x000066 }}, /* 1D5D9; 0066; Additional folding */ - { 0x01D5DA, 0, { 0x000067 }}, /* 1D5DA; 0067; Additional folding */ - { 0x01D5DB, 0, { 0x000068 }}, /* 1D5DB; 0068; Additional folding */ - { 0x01D5DC, 0, { 0x000069 }}, /* 1D5DC; 0069; Additional folding */ - { 0x01D5DD, 0, { 0x00006A }}, /* 1D5DD; 006A; Additional folding */ - { 0x01D5DE, 0, { 0x00006B }}, /* 1D5DE; 006B; Additional folding */ - { 0x01D5DF, 0, { 0x00006C }}, /* 1D5DF; 006C; Additional folding */ - { 0x01D5E0, 0, { 0x00006D }}, /* 1D5E0; 006D; Additional folding */ - { 0x01D5E1, 0, { 0x00006E }}, /* 1D5E1; 006E; Additional folding */ - { 0x01D5E2, 0, { 0x00006F }}, /* 1D5E2; 006F; Additional folding */ - { 0x01D5E3, 0, { 0x000070 }}, /* 1D5E3; 0070; Additional folding */ - { 0x01D5E4, 0, { 0x000071 }}, /* 1D5E4; 0071; Additional folding */ - { 0x01D5E5, 0, { 0x000072 }}, /* 1D5E5; 0072; Additional folding */ - { 0x01D5E6, 0, { 0x000073 }}, /* 1D5E6; 0073; Additional folding */ - { 0x01D5E7, 0, { 0x000074 }}, /* 1D5E7; 0074; Additional folding */ - { 0x01D5E8, 0, { 0x000075 }}, /* 1D5E8; 0075; Additional folding */ - { 0x01D5E9, 0, { 0x000076 }}, /* 1D5E9; 0076; Additional folding */ - { 0x01D5EA, 0, { 0x000077 }}, /* 1D5EA; 0077; Additional folding */ - { 0x01D5EB, 0, { 0x000078 }}, /* 1D5EB; 0078; Additional folding */ - { 0x01D5EC, 0, { 0x000079 }}, /* 1D5EC; 0079; Additional folding */ - { 0x01D5ED, 0, { 0x00007A }}, /* 1D5ED; 007A; Additional folding */ - { 0x01D608, 0, { 0x000061 }}, /* 1D608; 0061; Additional folding */ - { 0x01D609, 0, { 0x000062 }}, /* 1D609; 0062; Additional folding */ - { 0x01D60A, 0, { 0x000063 }}, /* 1D60A; 0063; Additional folding */ - { 0x01D60B, 0, { 0x000064 }}, /* 1D60B; 0064; Additional folding */ - { 0x01D60C, 0, { 0x000065 }}, /* 1D60C; 0065; Additional folding */ - { 0x01D60D, 0, { 0x000066 }}, /* 1D60D; 0066; Additional folding */ - { 0x01D60E, 0, { 0x000067 }}, /* 1D60E; 0067; Additional folding */ - { 0x01D60F, 0, { 0x000068 }}, /* 1D60F; 0068; Additional folding */ - { 0x01D610, 0, { 0x000069 }}, /* 1D610; 0069; Additional folding */ - { 0x01D611, 0, { 0x00006A }}, /* 1D611; 006A; Additional folding */ - { 0x01D612, 0, { 0x00006B }}, /* 1D612; 006B; Additional folding */ - { 0x01D613, 0, { 0x00006C }}, /* 1D613; 006C; Additional folding */ - { 0x01D614, 0, { 0x00006D }}, /* 1D614; 006D; Additional folding */ - { 0x01D615, 0, { 0x00006E }}, /* 1D615; 006E; Additional folding */ - { 0x01D616, 0, { 0x00006F }}, /* 1D616; 006F; Additional folding */ - { 0x01D617, 0, { 0x000070 }}, /* 1D617; 0070; Additional folding */ - { 0x01D618, 0, { 0x000071 }}, /* 1D618; 0071; Additional folding */ - { 0x01D619, 0, { 0x000072 }}, /* 1D619; 0072; Additional folding */ - { 0x01D61A, 0, { 0x000073 }}, /* 1D61A; 0073; Additional folding */ - { 0x01D61B, 0, { 0x000074 }}, /* 1D61B; 0074; Additional folding */ - { 0x01D61C, 0, { 0x000075 }}, /* 1D61C; 0075; Additional folding */ - { 0x01D61D, 0, { 0x000076 }}, /* 1D61D; 0076; Additional folding */ - { 0x01D61E, 0, { 0x000077 }}, /* 1D61E; 0077; Additional folding */ - { 0x01D61F, 0, { 0x000078 }}, /* 1D61F; 0078; Additional folding */ - { 0x01D620, 0, { 0x000079 }}, /* 1D620; 0079; Additional folding */ - { 0x01D621, 0, { 0x00007A }}, /* 1D621; 007A; Additional folding */ - { 0x01D63C, 0, { 0x000061 }}, /* 1D63C; 0061; Additional folding */ - { 0x01D63D, 0, { 0x000062 }}, /* 1D63D; 0062; Additional folding */ - { 0x01D63E, 0, { 0x000063 }}, /* 1D63E; 0063; Additional folding */ - { 0x01D63F, 0, { 0x000064 }}, /* 1D63F; 0064; Additional folding */ - { 0x01D640, 0, { 0x000065 }}, /* 1D640; 0065; Additional folding */ - { 0x01D641, 0, { 0x000066 }}, /* 1D641; 0066; Additional folding */ - { 0x01D642, 0, { 0x000067 }}, /* 1D642; 0067; Additional folding */ - { 0x01D643, 0, { 0x000068 }}, /* 1D643; 0068; Additional folding */ - { 0x01D644, 0, { 0x000069 }}, /* 1D644; 0069; Additional folding */ - { 0x01D645, 0, { 0x00006A }}, /* 1D645; 006A; Additional folding */ - { 0x01D646, 0, { 0x00006B }}, /* 1D646; 006B; Additional folding */ - { 0x01D647, 0, { 0x00006C }}, /* 1D647; 006C; Additional folding */ - { 0x01D648, 0, { 0x00006D }}, /* 1D648; 006D; Additional folding */ - { 0x01D649, 0, { 0x00006E }}, /* 1D649; 006E; Additional folding */ - { 0x01D64A, 0, { 0x00006F }}, /* 1D64A; 006F; Additional folding */ - { 0x01D64B, 0, { 0x000070 }}, /* 1D64B; 0070; Additional folding */ - { 0x01D64C, 0, { 0x000071 }}, /* 1D64C; 0071; Additional folding */ - { 0x01D64D, 0, { 0x000072 }}, /* 1D64D; 0072; Additional folding */ - { 0x01D64E, 0, { 0x000073 }}, /* 1D64E; 0073; Additional folding */ - { 0x01D64F, 0, { 0x000074 }}, /* 1D64F; 0074; Additional folding */ - { 0x01D650, 0, { 0x000075 }}, /* 1D650; 0075; Additional folding */ - { 0x01D651, 0, { 0x000076 }}, /* 1D651; 0076; Additional folding */ - { 0x01D652, 0, { 0x000077 }}, /* 1D652; 0077; Additional folding */ - { 0x01D653, 0, { 0x000078 }}, /* 1D653; 0078; Additional folding */ - { 0x01D654, 0, { 0x000079 }}, /* 1D654; 0079; Additional folding */ - { 0x01D655, 0, { 0x00007A }}, /* 1D655; 007A; Additional folding */ - { 0x01D670, 0, { 0x000061 }}, /* 1D670; 0061; Additional folding */ - { 0x01D671, 0, { 0x000062 }}, /* 1D671; 0062; Additional folding */ - { 0x01D672, 0, { 0x000063 }}, /* 1D672; 0063; Additional folding */ - { 0x01D673, 0, { 0x000064 }}, /* 1D673; 0064; Additional folding */ - { 0x01D674, 0, { 0x000065 }}, /* 1D674; 0065; Additional folding */ - { 0x01D675, 0, { 0x000066 }}, /* 1D675; 0066; Additional folding */ - { 0x01D676, 0, { 0x000067 }}, /* 1D676; 0067; Additional folding */ - { 0x01D677, 0, { 0x000068 }}, /* 1D677; 0068; Additional folding */ - { 0x01D678, 0, { 0x000069 }}, /* 1D678; 0069; Additional folding */ - { 0x01D679, 0, { 0x00006A }}, /* 1D679; 006A; Additional folding */ - { 0x01D67A, 0, { 0x00006B }}, /* 1D67A; 006B; Additional folding */ - { 0x01D67B, 0, { 0x00006C }}, /* 1D67B; 006C; Additional folding */ - { 0x01D67C, 0, { 0x00006D }}, /* 1D67C; 006D; Additional folding */ - { 0x01D67D, 0, { 0x00006E }}, /* 1D67D; 006E; Additional folding */ - { 0x01D67E, 0, { 0x00006F }}, /* 1D67E; 006F; Additional folding */ - { 0x01D67F, 0, { 0x000070 }}, /* 1D67F; 0070; Additional folding */ - { 0x01D680, 0, { 0x000071 }}, /* 1D680; 0071; Additional folding */ - { 0x01D681, 0, { 0x000072 }}, /* 1D681; 0072; Additional folding */ - { 0x01D682, 0, { 0x000073 }}, /* 1D682; 0073; Additional folding */ - { 0x01D683, 0, { 0x000074 }}, /* 1D683; 0074; Additional folding */ - { 0x01D684, 0, { 0x000075 }}, /* 1D684; 0075; Additional folding */ - { 0x01D685, 0, { 0x000076 }}, /* 1D685; 0076; Additional folding */ - { 0x01D686, 0, { 0x000077 }}, /* 1D686; 0077; Additional folding */ - { 0x01D687, 0, { 0x000078 }}, /* 1D687; 0078; Additional folding */ - { 0x01D688, 0, { 0x000079 }}, /* 1D688; 0079; Additional folding */ - { 0x01D689, 0, { 0x00007A }}, /* 1D689; 007A; Additional folding */ - { 0x01D6A8, 0, { 0x0003B1 }}, /* 1D6A8; 03B1; Additional folding */ - { 0x01D6A9, 0, { 0x0003B2 }}, /* 1D6A9; 03B2; Additional folding */ - { 0x01D6AA, 0, { 0x0003B3 }}, /* 1D6AA; 03B3; Additional folding */ - { 0x01D6AB, 0, { 0x0003B4 }}, /* 1D6AB; 03B4; Additional folding */ - { 0x01D6AC, 0, { 0x0003B5 }}, /* 1D6AC; 03B5; Additional folding */ - { 0x01D6AD, 0, { 0x0003B6 }}, /* 1D6AD; 03B6; Additional folding */ - { 0x01D6AE, 0, { 0x0003B7 }}, /* 1D6AE; 03B7; Additional folding */ - { 0x01D6AF, 0, { 0x0003B8 }}, /* 1D6AF; 03B8; Additional folding */ - { 0x01D6B0, 0, { 0x0003B9 }}, /* 1D6B0; 03B9; Additional folding */ - { 0x01D6B1, 0, { 0x0003BA }}, /* 1D6B1; 03BA; Additional folding */ - { 0x01D6B2, 0, { 0x0003BB }}, /* 1D6B2; 03BB; Additional folding */ - { 0x01D6B3, 0, { 0x0003BC }}, /* 1D6B3; 03BC; Additional folding */ - { 0x01D6B4, 0, { 0x0003BD }}, /* 1D6B4; 03BD; Additional folding */ - { 0x01D6B5, 0, { 0x0003BE }}, /* 1D6B5; 03BE; Additional folding */ - { 0x01D6B6, 0, { 0x0003BF }}, /* 1D6B6; 03BF; Additional folding */ - { 0x01D6B7, 0, { 0x0003C0 }}, /* 1D6B7; 03C0; Additional folding */ - { 0x01D6B8, 0, { 0x0003C1 }}, /* 1D6B8; 03C1; Additional folding */ - { 0x01D6B9, 0, { 0x0003B8 }}, /* 1D6B9; 03B8; Additional folding */ - { 0x01D6BA, 0, { 0x0003C3 }}, /* 1D6BA; 03C3; Additional folding */ - { 0x01D6BB, 0, { 0x0003C4 }}, /* 1D6BB; 03C4; Additional folding */ - { 0x01D6BC, 0, { 0x0003C5 }}, /* 1D6BC; 03C5; Additional folding */ - { 0x01D6BD, 0, { 0x0003C6 }}, /* 1D6BD; 03C6; Additional folding */ - { 0x01D6BE, 0, { 0x0003C7 }}, /* 1D6BE; 03C7; Additional folding */ - { 0x01D6BF, 0, { 0x0003C8 }}, /* 1D6BF; 03C8; Additional folding */ - { 0x01D6C0, 0, { 0x0003C9 }}, /* 1D6C0; 03C9; Additional folding */ - { 0x01D6D3, 0, { 0x0003C3 }}, /* 1D6D3; 03C3; Additional folding */ - { 0x01D6E2, 0, { 0x0003B1 }}, /* 1D6E2; 03B1; Additional folding */ - { 0x01D6E3, 0, { 0x0003B2 }}, /* 1D6E3; 03B2; Additional folding */ - { 0x01D6E4, 0, { 0x0003B3 }}, /* 1D6E4; 03B3; Additional folding */ - { 0x01D6E5, 0, { 0x0003B4 }}, /* 1D6E5; 03B4; Additional folding */ - { 0x01D6E6, 0, { 0x0003B5 }}, /* 1D6E6; 03B5; Additional folding */ - { 0x01D6E7, 0, { 0x0003B6 }}, /* 1D6E7; 03B6; Additional folding */ - { 0x01D6E8, 0, { 0x0003B7 }}, /* 1D6E8; 03B7; Additional folding */ - { 0x01D6E9, 0, { 0x0003B8 }}, /* 1D6E9; 03B8; Additional folding */ - { 0x01D6EA, 0, { 0x0003B9 }}, /* 1D6EA; 03B9; Additional folding */ - { 0x01D6EB, 0, { 0x0003BA }}, /* 1D6EB; 03BA; Additional folding */ - { 0x01D6EC, 0, { 0x0003BB }}, /* 1D6EC; 03BB; Additional folding */ - { 0x01D6ED, 0, { 0x0003BC }}, /* 1D6ED; 03BC; Additional folding */ - { 0x01D6EE, 0, { 0x0003BD }}, /* 1D6EE; 03BD; Additional folding */ - { 0x01D6EF, 0, { 0x0003BE }}, /* 1D6EF; 03BE; Additional folding */ - { 0x01D6F0, 0, { 0x0003BF }}, /* 1D6F0; 03BF; Additional folding */ - { 0x01D6F1, 0, { 0x0003C0 }}, /* 1D6F1; 03C0; Additional folding */ - { 0x01D6F2, 0, { 0x0003C1 }}, /* 1D6F2; 03C1; Additional folding */ - { 0x01D6F3, 0, { 0x0003B8 }}, /* 1D6F3; 03B8; Additional folding */ - { 0x01D6F4, 0, { 0x0003C3 }}, /* 1D6F4; 03C3; Additional folding */ - { 0x01D6F5, 0, { 0x0003C4 }}, /* 1D6F5; 03C4; Additional folding */ - { 0x01D6F6, 0, { 0x0003C5 }}, /* 1D6F6; 03C5; Additional folding */ - { 0x01D6F7, 0, { 0x0003C6 }}, /* 1D6F7; 03C6; Additional folding */ - { 0x01D6F8, 0, { 0x0003C7 }}, /* 1D6F8; 03C7; Additional folding */ - { 0x01D6F9, 0, { 0x0003C8 }}, /* 1D6F9; 03C8; Additional folding */ - { 0x01D6FA, 0, { 0x0003C9 }}, /* 1D6FA; 03C9; Additional folding */ - { 0x01D70D, 0, { 0x0003C3 }}, /* 1D70D; 03C3; Additional folding */ - { 0x01D71C, 0, { 0x0003B1 }}, /* 1D71C; 03B1; Additional folding */ - { 0x01D71D, 0, { 0x0003B2 }}, /* 1D71D; 03B2; Additional folding */ - { 0x01D71E, 0, { 0x0003B3 }}, /* 1D71E; 03B3; Additional folding */ - { 0x01D71F, 0, { 0x0003B4 }}, /* 1D71F; 03B4; Additional folding */ - { 0x01D720, 0, { 0x0003B5 }}, /* 1D720; 03B5; Additional folding */ - { 0x01D721, 0, { 0x0003B6 }}, /* 1D721; 03B6; Additional folding */ - { 0x01D722, 0, { 0x0003B7 }}, /* 1D722; 03B7; Additional folding */ - { 0x01D723, 0, { 0x0003B8 }}, /* 1D723; 03B8; Additional folding */ - { 0x01D724, 0, { 0x0003B9 }}, /* 1D724; 03B9; Additional folding */ - { 0x01D725, 0, { 0x0003BA }}, /* 1D725; 03BA; Additional folding */ - { 0x01D726, 0, { 0x0003BB }}, /* 1D726; 03BB; Additional folding */ - { 0x01D727, 0, { 0x0003BC }}, /* 1D727; 03BC; Additional folding */ - { 0x01D728, 0, { 0x0003BD }}, /* 1D728; 03BD; Additional folding */ - { 0x01D729, 0, { 0x0003BE }}, /* 1D729; 03BE; Additional folding */ - { 0x01D72A, 0, { 0x0003BF }}, /* 1D72A; 03BF; Additional folding */ - { 0x01D72B, 0, { 0x0003C0 }}, /* 1D72B; 03C0; Additional folding */ - { 0x01D72C, 0, { 0x0003C1 }}, /* 1D72C; 03C1; Additional folding */ - { 0x01D72D, 0, { 0x0003B8 }}, /* 1D72D; 03B8; Additional folding */ - { 0x01D72E, 0, { 0x0003C3 }}, /* 1D72E; 03C3; Additional folding */ - { 0x01D72F, 0, { 0x0003C4 }}, /* 1D72F; 03C4; Additional folding */ - { 0x01D730, 0, { 0x0003C5 }}, /* 1D730; 03C5; Additional folding */ - { 0x01D731, 0, { 0x0003C6 }}, /* 1D731; 03C6; Additional folding */ - { 0x01D732, 0, { 0x0003C7 }}, /* 1D732; 03C7; Additional folding */ - { 0x01D733, 0, { 0x0003C8 }}, /* 1D733; 03C8; Additional folding */ - { 0x01D734, 0, { 0x0003C9 }}, /* 1D734; 03C9; Additional folding */ - { 0x01D747, 0, { 0x0003C3 }}, /* 1D747; 03C3; Additional folding */ - { 0x01D756, 0, { 0x0003B1 }}, /* 1D756; 03B1; Additional folding */ - { 0x01D757, 0, { 0x0003B2 }}, /* 1D757; 03B2; Additional folding */ - { 0x01D758, 0, { 0x0003B3 }}, /* 1D758; 03B3; Additional folding */ - { 0x01D759, 0, { 0x0003B4 }}, /* 1D759; 03B4; Additional folding */ - { 0x01D75A, 0, { 0x0003B5 }}, /* 1D75A; 03B5; Additional folding */ - { 0x01D75B, 0, { 0x0003B6 }}, /* 1D75B; 03B6; Additional folding */ - { 0x01D75C, 0, { 0x0003B7 }}, /* 1D75C; 03B7; Additional folding */ - { 0x01D75D, 0, { 0x0003B8 }}, /* 1D75D; 03B8; Additional folding */ - { 0x01D75E, 0, { 0x0003B9 }}, /* 1D75E; 03B9; Additional folding */ - { 0x01D75F, 0, { 0x0003BA }}, /* 1D75F; 03BA; Additional folding */ - { 0x01D760, 0, { 0x0003BB }}, /* 1D760; 03BB; Additional folding */ - { 0x01D761, 0, { 0x0003BC }}, /* 1D761; 03BC; Additional folding */ - { 0x01D762, 0, { 0x0003BD }}, /* 1D762; 03BD; Additional folding */ - { 0x01D763, 0, { 0x0003BE }}, /* 1D763; 03BE; Additional folding */ - { 0x01D764, 0, { 0x0003BF }}, /* 1D764; 03BF; Additional folding */ - { 0x01D765, 0, { 0x0003C0 }}, /* 1D765; 03C0; Additional folding */ - { 0x01D766, 0, { 0x0003C1 }}, /* 1D766; 03C1; Additional folding */ - { 0x01D767, 0, { 0x0003B8 }}, /* 1D767; 03B8; Additional folding */ - { 0x01D768, 0, { 0x0003C3 }}, /* 1D768; 03C3; Additional folding */ - { 0x01D769, 0, { 0x0003C4 }}, /* 1D769; 03C4; Additional folding */ - { 0x01D76A, 0, { 0x0003C5 }}, /* 1D76A; 03C5; Additional folding */ - { 0x01D76B, 0, { 0x0003C6 }}, /* 1D76B; 03C6; Additional folding */ - { 0x01D76C, 0, { 0x0003C7 }}, /* 1D76C; 03C7; Additional folding */ - { 0x01D76D, 0, { 0x0003C8 }}, /* 1D76D; 03C8; Additional folding */ - { 0x01D76E, 0, { 0x0003C9 }}, /* 1D76E; 03C9; Additional folding */ - { 0x01D781, 0, { 0x0003C3 }}, /* 1D781; 03C3; Additional folding */ - { 0x01D790, 0, { 0x0003B1 }}, /* 1D790; 03B1; Additional folding */ - { 0x01D791, 0, { 0x0003B2 }}, /* 1D791; 03B2; Additional folding */ - { 0x01D792, 0, { 0x0003B3 }}, /* 1D792; 03B3; Additional folding */ - { 0x01D793, 0, { 0x0003B4 }}, /* 1D793; 03B4; Additional folding */ - { 0x01D794, 0, { 0x0003B5 }}, /* 1D794; 03B5; Additional folding */ - { 0x01D795, 0, { 0x0003B6 }}, /* 1D795; 03B6; Additional folding */ - { 0x01D796, 0, { 0x0003B7 }}, /* 1D796; 03B7; Additional folding */ - { 0x01D797, 0, { 0x0003B8 }}, /* 1D797; 03B8; Additional folding */ - { 0x01D798, 0, { 0x0003B9 }}, /* 1D798; 03B9; Additional folding */ - { 0x01D799, 0, { 0x0003BA }}, /* 1D799; 03BA; Additional folding */ - { 0x01D79A, 0, { 0x0003BB }}, /* 1D79A; 03BB; Additional folding */ - { 0x01D79B, 0, { 0x0003BC }}, /* 1D79B; 03BC; Additional folding */ - { 0x01D79C, 0, { 0x0003BD }}, /* 1D79C; 03BD; Additional folding */ - { 0x01D79D, 0, { 0x0003BE }}, /* 1D79D; 03BE; Additional folding */ - { 0x01D79E, 0, { 0x0003BF }}, /* 1D79E; 03BF; Additional folding */ - { 0x01D79F, 0, { 0x0003C0 }}, /* 1D79F; 03C0; Additional folding */ - { 0x01D7A0, 0, { 0x0003C1 }}, /* 1D7A0; 03C1; Additional folding */ - { 0x01D7A1, 0, { 0x0003B8 }}, /* 1D7A1; 03B8; Additional folding */ - { 0x01D7A2, 0, { 0x0003C3 }}, /* 1D7A2; 03C3; Additional folding */ - { 0x01D7A3, 0, { 0x0003C4 }}, /* 1D7A3; 03C4; Additional folding */ - { 0x01D7A4, 0, { 0x0003C5 }}, /* 1D7A4; 03C5; Additional folding */ - { 0x01D7A5, 0, { 0x0003C6 }}, /* 1D7A5; 03C6; Additional folding */ - { 0x01D7A6, 0, { 0x0003C7 }}, /* 1D7A6; 03C7; Additional folding */ - { 0x01D7A7, 0, { 0x0003C8 }}, /* 1D7A7; 03C8; Additional folding */ - { 0x01D7A8, 0, { 0x0003C9 }}, /* 1D7A8; 03C9; Additional folding */ - { 0x01D7BB, 0, { 0x0003C3 }}, /* 1D7BB; 03C3; Additional folding */ - { 0 }, -}; - - -/* - * B.3 Mapping for case-folding used with no normalization - * - */ - -const Stringprep_table_element stringprep_rfc3454_B_3[] = { - { 0x000041, 0, { 0x000061 }}, /* 0041; 0061; Case map */ - { 0x000042, 0, { 0x000062 }}, /* 0042; 0062; Case map */ - { 0x000043, 0, { 0x000063 }}, /* 0043; 0063; Case map */ - { 0x000044, 0, { 0x000064 }}, /* 0044; 0064; Case map */ - { 0x000045, 0, { 0x000065 }}, /* 0045; 0065; Case map */ - { 0x000046, 0, { 0x000066 }}, /* 0046; 0066; Case map */ - { 0x000047, 0, { 0x000067 }}, /* 0047; 0067; Case map */ - { 0x000048, 0, { 0x000068 }}, /* 0048; 0068; Case map */ - { 0x000049, 0, { 0x000069 }}, /* 0049; 0069; Case map */ - { 0x00004A, 0, { 0x00006A }}, /* 004A; 006A; Case map */ - { 0x00004B, 0, { 0x00006B }}, /* 004B; 006B; Case map */ - { 0x00004C, 0, { 0x00006C }}, /* 004C; 006C; Case map */ - { 0x00004D, 0, { 0x00006D }}, /* 004D; 006D; Case map */ - { 0x00004E, 0, { 0x00006E }}, /* 004E; 006E; Case map */ - { 0x00004F, 0, { 0x00006F }}, /* 004F; 006F; Case map */ - { 0x000050, 0, { 0x000070 }}, /* 0050; 0070; Case map */ - { 0x000051, 0, { 0x000071 }}, /* 0051; 0071; Case map */ - { 0x000052, 0, { 0x000072 }}, /* 0052; 0072; Case map */ - { 0x000053, 0, { 0x000073 }}, /* 0053; 0073; Case map */ - { 0x000054, 0, { 0x000074 }}, /* 0054; 0074; Case map */ - { 0x000055, 0, { 0x000075 }}, /* 0055; 0075; Case map */ - { 0x000056, 0, { 0x000076 }}, /* 0056; 0076; Case map */ - { 0x000057, 0, { 0x000077 }}, /* 0057; 0077; Case map */ - { 0x000058, 0, { 0x000078 }}, /* 0058; 0078; Case map */ - { 0x000059, 0, { 0x000079 }}, /* 0059; 0079; Case map */ - { 0x00005A, 0, { 0x00007A }}, /* 005A; 007A; Case map */ - { 0x0000B5, 0, { 0x0003BC }}, /* 00B5; 03BC; Case map */ - { 0x0000C0, 0, { 0x0000E0 }}, /* 00C0; 00E0; Case map */ - { 0x0000C1, 0, { 0x0000E1 }}, /* 00C1; 00E1; Case map */ - { 0x0000C2, 0, { 0x0000E2 }}, /* 00C2; 00E2; Case map */ - { 0x0000C3, 0, { 0x0000E3 }}, /* 00C3; 00E3; Case map */ - { 0x0000C4, 0, { 0x0000E4 }}, /* 00C4; 00E4; Case map */ - { 0x0000C5, 0, { 0x0000E5 }}, /* 00C5; 00E5; Case map */ - { 0x0000C6, 0, { 0x0000E6 }}, /* 00C6; 00E6; Case map */ - { 0x0000C7, 0, { 0x0000E7 }}, /* 00C7; 00E7; Case map */ - { 0x0000C8, 0, { 0x0000E8 }}, /* 00C8; 00E8; Case map */ - { 0x0000C9, 0, { 0x0000E9 }}, /* 00C9; 00E9; Case map */ - { 0x0000CA, 0, { 0x0000EA }}, /* 00CA; 00EA; Case map */ - { 0x0000CB, 0, { 0x0000EB }}, /* 00CB; 00EB; Case map */ - { 0x0000CC, 0, { 0x0000EC }}, /* 00CC; 00EC; Case map */ - { 0x0000CD, 0, { 0x0000ED }}, /* 00CD; 00ED; Case map */ - { 0x0000CE, 0, { 0x0000EE }}, /* 00CE; 00EE; Case map */ - { 0x0000CF, 0, { 0x0000EF }}, /* 00CF; 00EF; Case map */ - { 0x0000D0, 0, { 0x0000F0 }}, /* 00D0; 00F0; Case map */ - { 0x0000D1, 0, { 0x0000F1 }}, /* 00D1; 00F1; Case map */ - { 0x0000D2, 0, { 0x0000F2 }}, /* 00D2; 00F2; Case map */ - { 0x0000D3, 0, { 0x0000F3 }}, /* 00D3; 00F3; Case map */ - { 0x0000D4, 0, { 0x0000F4 }}, /* 00D4; 00F4; Case map */ - { 0x0000D5, 0, { 0x0000F5 }}, /* 00D5; 00F5; Case map */ - { 0x0000D6, 0, { 0x0000F6 }}, /* 00D6; 00F6; Case map */ - { 0x0000D8, 0, { 0x0000F8 }}, /* 00D8; 00F8; Case map */ - { 0x0000D9, 0, { 0x0000F9 }}, /* 00D9; 00F9; Case map */ - { 0x0000DA, 0, { 0x0000FA }}, /* 00DA; 00FA; Case map */ - { 0x0000DB, 0, { 0x0000FB }}, /* 00DB; 00FB; Case map */ - { 0x0000DC, 0, { 0x0000FC }}, /* 00DC; 00FC; Case map */ - { 0x0000DD, 0, { 0x0000FD }}, /* 00DD; 00FD; Case map */ - { 0x0000DE, 0, { 0x0000FE }}, /* 00DE; 00FE; Case map */ - { 0x0000DF, 0, { 0x000073, /* 00DF; 0073 0073; Case map */ - 0x000073 }}, - { 0x000100, 0, { 0x000101 }}, /* 0100; 0101; Case map */ - { 0x000102, 0, { 0x000103 }}, /* 0102; 0103; Case map */ - { 0x000104, 0, { 0x000105 }}, /* 0104; 0105; Case map */ - { 0x000106, 0, { 0x000107 }}, /* 0106; 0107; Case map */ - { 0x000108, 0, { 0x000109 }}, /* 0108; 0109; Case map */ - { 0x00010A, 0, { 0x00010B }}, /* 010A; 010B; Case map */ - { 0x00010C, 0, { 0x00010D }}, /* 010C; 010D; Case map */ - { 0x00010E, 0, { 0x00010F }}, /* 010E; 010F; Case map */ - { 0x000110, 0, { 0x000111 }}, /* 0110; 0111; Case map */ - { 0x000112, 0, { 0x000113 }}, /* 0112; 0113; Case map */ - { 0x000114, 0, { 0x000115 }}, /* 0114; 0115; Case map */ - { 0x000116, 0, { 0x000117 }}, /* 0116; 0117; Case map */ - { 0x000118, 0, { 0x000119 }}, /* 0118; 0119; Case map */ - { 0x00011A, 0, { 0x00011B }}, /* 011A; 011B; Case map */ - { 0x00011C, 0, { 0x00011D }}, /* 011C; 011D; Case map */ - { 0x00011E, 0, { 0x00011F }}, /* 011E; 011F; Case map */ - { 0x000120, 0, { 0x000121 }}, /* 0120; 0121; Case map */ - { 0x000122, 0, { 0x000123 }}, /* 0122; 0123; Case map */ - { 0x000124, 0, { 0x000125 }}, /* 0124; 0125; Case map */ - { 0x000126, 0, { 0x000127 }}, /* 0126; 0127; Case map */ - { 0x000128, 0, { 0x000129 }}, /* 0128; 0129; Case map */ - { 0x00012A, 0, { 0x00012B }}, /* 012A; 012B; Case map */ - { 0x00012C, 0, { 0x00012D }}, /* 012C; 012D; Case map */ - { 0x00012E, 0, { 0x00012F }}, /* 012E; 012F; Case map */ - { 0x000130, 0, { 0x000069, /* 0130; 0069 0307; Case map */ - 0x000307 }}, - { 0x000132, 0, { 0x000133 }}, /* 0132; 0133; Case map */ - { 0x000134, 0, { 0x000135 }}, /* 0134; 0135; Case map */ - { 0x000136, 0, { 0x000137 }}, /* 0136; 0137; Case map */ - { 0x000139, 0, { 0x00013A }}, /* 0139; 013A; Case map */ - { 0x00013B, 0, { 0x00013C }}, /* 013B; 013C; Case map */ - { 0x00013D, 0, { 0x00013E }}, /* 013D; 013E; Case map */ - { 0x00013F, 0, { 0x000140 }}, /* 013F; 0140; Case map */ - { 0x000141, 0, { 0x000142 }}, /* 0141; 0142; Case map */ - { 0x000143, 0, { 0x000144 }}, /* 0143; 0144; Case map */ - { 0x000145, 0, { 0x000146 }}, /* 0145; 0146; Case map */ - { 0x000147, 0, { 0x000148 }}, /* 0147; 0148; Case map */ - { 0x000149, 0, { 0x0002BC, /* 0149; 02BC 006E; Case map */ - 0x00006E }}, - { 0x00014A, 0, { 0x00014B }}, /* 014A; 014B; Case map */ - { 0x00014C, 0, { 0x00014D }}, /* 014C; 014D; Case map */ - { 0x00014E, 0, { 0x00014F }}, /* 014E; 014F; Case map */ - { 0x000150, 0, { 0x000151 }}, /* 0150; 0151; Case map */ - { 0x000152, 0, { 0x000153 }}, /* 0152; 0153; Case map */ - { 0x000154, 0, { 0x000155 }}, /* 0154; 0155; Case map */ - { 0x000156, 0, { 0x000157 }}, /* 0156; 0157; Case map */ - { 0x000158, 0, { 0x000159 }}, /* 0158; 0159; Case map */ - { 0x00015A, 0, { 0x00015B }}, /* 015A; 015B; Case map */ - { 0x00015C, 0, { 0x00015D }}, /* 015C; 015D; Case map */ - { 0x00015E, 0, { 0x00015F }}, /* 015E; 015F; Case map */ - { 0x000160, 0, { 0x000161 }}, /* 0160; 0161; Case map */ - { 0x000162, 0, { 0x000163 }}, /* 0162; 0163; Case map */ - { 0x000164, 0, { 0x000165 }}, /* 0164; 0165; Case map */ - { 0x000166, 0, { 0x000167 }}, /* 0166; 0167; Case map */ - { 0x000168, 0, { 0x000169 }}, /* 0168; 0169; Case map */ - { 0x00016A, 0, { 0x00016B }}, /* 016A; 016B; Case map */ - { 0x00016C, 0, { 0x00016D }}, /* 016C; 016D; Case map */ - { 0x00016E, 0, { 0x00016F }}, /* 016E; 016F; Case map */ - { 0x000170, 0, { 0x000171 }}, /* 0170; 0171; Case map */ - { 0x000172, 0, { 0x000173 }}, /* 0172; 0173; Case map */ - { 0x000174, 0, { 0x000175 }}, /* 0174; 0175; Case map */ - { 0x000176, 0, { 0x000177 }}, /* 0176; 0177; Case map */ - { 0x000178, 0, { 0x0000FF }}, /* 0178; 00FF; Case map */ - { 0x000179, 0, { 0x00017A }}, /* 0179; 017A; Case map */ - { 0x00017B, 0, { 0x00017C }}, /* 017B; 017C; Case map */ - { 0x00017D, 0, { 0x00017E }}, /* 017D; 017E; Case map */ - { 0x00017F, 0, { 0x000073 }}, /* 017F; 0073; Case map */ - { 0x000181, 0, { 0x000253 }}, /* 0181; 0253; Case map */ - { 0x000182, 0, { 0x000183 }}, /* 0182; 0183; Case map */ - { 0x000184, 0, { 0x000185 }}, /* 0184; 0185; Case map */ - { 0x000186, 0, { 0x000254 }}, /* 0186; 0254; Case map */ - { 0x000187, 0, { 0x000188 }}, /* 0187; 0188; Case map */ - { 0x000189, 0, { 0x000256 }}, /* 0189; 0256; Case map */ - { 0x00018A, 0, { 0x000257 }}, /* 018A; 0257; Case map */ - { 0x00018B, 0, { 0x00018C }}, /* 018B; 018C; Case map */ - { 0x00018E, 0, { 0x0001DD }}, /* 018E; 01DD; Case map */ - { 0x00018F, 0, { 0x000259 }}, /* 018F; 0259; Case map */ - { 0x000190, 0, { 0x00025B }}, /* 0190; 025B; Case map */ - { 0x000191, 0, { 0x000192 }}, /* 0191; 0192; Case map */ - { 0x000193, 0, { 0x000260 }}, /* 0193; 0260; Case map */ - { 0x000194, 0, { 0x000263 }}, /* 0194; 0263; Case map */ - { 0x000196, 0, { 0x000269 }}, /* 0196; 0269; Case map */ - { 0x000197, 0, { 0x000268 }}, /* 0197; 0268; Case map */ - { 0x000198, 0, { 0x000199 }}, /* 0198; 0199; Case map */ - { 0x00019C, 0, { 0x00026F }}, /* 019C; 026F; Case map */ - { 0x00019D, 0, { 0x000272 }}, /* 019D; 0272; Case map */ - { 0x00019F, 0, { 0x000275 }}, /* 019F; 0275; Case map */ - { 0x0001A0, 0, { 0x0001A1 }}, /* 01A0; 01A1; Case map */ - { 0x0001A2, 0, { 0x0001A3 }}, /* 01A2; 01A3; Case map */ - { 0x0001A4, 0, { 0x0001A5 }}, /* 01A4; 01A5; Case map */ - { 0x0001A6, 0, { 0x000280 }}, /* 01A6; 0280; Case map */ - { 0x0001A7, 0, { 0x0001A8 }}, /* 01A7; 01A8; Case map */ - { 0x0001A9, 0, { 0x000283 }}, /* 01A9; 0283; Case map */ - { 0x0001AC, 0, { 0x0001AD }}, /* 01AC; 01AD; Case map */ - { 0x0001AE, 0, { 0x000288 }}, /* 01AE; 0288; Case map */ - { 0x0001AF, 0, { 0x0001B0 }}, /* 01AF; 01B0; Case map */ - { 0x0001B1, 0, { 0x00028A }}, /* 01B1; 028A; Case map */ - { 0x0001B2, 0, { 0x00028B }}, /* 01B2; 028B; Case map */ - { 0x0001B3, 0, { 0x0001B4 }}, /* 01B3; 01B4; Case map */ - { 0x0001B5, 0, { 0x0001B6 }}, /* 01B5; 01B6; Case map */ - { 0x0001B7, 0, { 0x000292 }}, /* 01B7; 0292; Case map */ - { 0x0001B8, 0, { 0x0001B9 }}, /* 01B8; 01B9; Case map */ - { 0x0001BC, 0, { 0x0001BD }}, /* 01BC; 01BD; Case map */ - { 0x0001C4, 0, { 0x0001C6 }}, /* 01C4; 01C6; Case map */ - { 0x0001C5, 0, { 0x0001C6 }}, /* 01C5; 01C6; Case map */ - { 0x0001C7, 0, { 0x0001C9 }}, /* 01C7; 01C9; Case map */ - { 0x0001C8, 0, { 0x0001C9 }}, /* 01C8; 01C9; Case map */ - { 0x0001CA, 0, { 0x0001CC }}, /* 01CA; 01CC; Case map */ - { 0x0001CB, 0, { 0x0001CC }}, /* 01CB; 01CC; Case map */ - { 0x0001CD, 0, { 0x0001CE }}, /* 01CD; 01CE; Case map */ - { 0x0001CF, 0, { 0x0001D0 }}, /* 01CF; 01D0; Case map */ - { 0x0001D1, 0, { 0x0001D2 }}, /* 01D1; 01D2; Case map */ - { 0x0001D3, 0, { 0x0001D4 }}, /* 01D3; 01D4; Case map */ - { 0x0001D5, 0, { 0x0001D6 }}, /* 01D5; 01D6; Case map */ - { 0x0001D7, 0, { 0x0001D8 }}, /* 01D7; 01D8; Case map */ - { 0x0001D9, 0, { 0x0001DA }}, /* 01D9; 01DA; Case map */ - { 0x0001DB, 0, { 0x0001DC }}, /* 01DB; 01DC; Case map */ - { 0x0001DE, 0, { 0x0001DF }}, /* 01DE; 01DF; Case map */ - { 0x0001E0, 0, { 0x0001E1 }}, /* 01E0; 01E1; Case map */ - { 0x0001E2, 0, { 0x0001E3 }}, /* 01E2; 01E3; Case map */ - { 0x0001E4, 0, { 0x0001E5 }}, /* 01E4; 01E5; Case map */ - { 0x0001E6, 0, { 0x0001E7 }}, /* 01E6; 01E7; Case map */ - { 0x0001E8, 0, { 0x0001E9 }}, /* 01E8; 01E9; Case map */ - { 0x0001EA, 0, { 0x0001EB }}, /* 01EA; 01EB; Case map */ - { 0x0001EC, 0, { 0x0001ED }}, /* 01EC; 01ED; Case map */ - { 0x0001EE, 0, { 0x0001EF }}, /* 01EE; 01EF; Case map */ - { 0x0001F0, 0, { 0x00006A, /* 01F0; 006A 030C; Case map */ - 0x00030C }}, - { 0x0001F1, 0, { 0x0001F3 }}, /* 01F1; 01F3; Case map */ - { 0x0001F2, 0, { 0x0001F3 }}, /* 01F2; 01F3; Case map */ - { 0x0001F4, 0, { 0x0001F5 }}, /* 01F4; 01F5; Case map */ - { 0x0001F6, 0, { 0x000195 }}, /* 01F6; 0195; Case map */ - { 0x0001F7, 0, { 0x0001BF }}, /* 01F7; 01BF; Case map */ - { 0x0001F8, 0, { 0x0001F9 }}, /* 01F8; 01F9; Case map */ - { 0x0001FA, 0, { 0x0001FB }}, /* 01FA; 01FB; Case map */ - { 0x0001FC, 0, { 0x0001FD }}, /* 01FC; 01FD; Case map */ - { 0x0001FE, 0, { 0x0001FF }}, /* 01FE; 01FF; Case map */ - { 0x000200, 0, { 0x000201 }}, /* 0200; 0201; Case map */ - { 0x000202, 0, { 0x000203 }}, /* 0202; 0203; Case map */ - { 0x000204, 0, { 0x000205 }}, /* 0204; 0205; Case map */ - { 0x000206, 0, { 0x000207 }}, /* 0206; 0207; Case map */ - { 0x000208, 0, { 0x000209 }}, /* 0208; 0209; Case map */ - { 0x00020A, 0, { 0x00020B }}, /* 020A; 020B; Case map */ - { 0x00020C, 0, { 0x00020D }}, /* 020C; 020D; Case map */ - { 0x00020E, 0, { 0x00020F }}, /* 020E; 020F; Case map */ - { 0x000210, 0, { 0x000211 }}, /* 0210; 0211; Case map */ - { 0x000212, 0, { 0x000213 }}, /* 0212; 0213; Case map */ - { 0x000214, 0, { 0x000215 }}, /* 0214; 0215; Case map */ - { 0x000216, 0, { 0x000217 }}, /* 0216; 0217; Case map */ - { 0x000218, 0, { 0x000219 }}, /* 0218; 0219; Case map */ - { 0x00021A, 0, { 0x00021B }}, /* 021A; 021B; Case map */ - { 0x00021C, 0, { 0x00021D }}, /* 021C; 021D; Case map */ - { 0x00021E, 0, { 0x00021F }}, /* 021E; 021F; Case map */ - { 0x000220, 0, { 0x00019E }}, /* 0220; 019E; Case map */ - { 0x000222, 0, { 0x000223 }}, /* 0222; 0223; Case map */ - { 0x000224, 0, { 0x000225 }}, /* 0224; 0225; Case map */ - { 0x000226, 0, { 0x000227 }}, /* 0226; 0227; Case map */ - { 0x000228, 0, { 0x000229 }}, /* 0228; 0229; Case map */ - { 0x00022A, 0, { 0x00022B }}, /* 022A; 022B; Case map */ - { 0x00022C, 0, { 0x00022D }}, /* 022C; 022D; Case map */ - { 0x00022E, 0, { 0x00022F }}, /* 022E; 022F; Case map */ - { 0x000230, 0, { 0x000231 }}, /* 0230; 0231; Case map */ - { 0x000232, 0, { 0x000233 }}, /* 0232; 0233; Case map */ - { 0x000345, 0, { 0x0003B9 }}, /* 0345; 03B9; Case map */ - { 0x000386, 0, { 0x0003AC }}, /* 0386; 03AC; Case map */ - { 0x000388, 0, { 0x0003AD }}, /* 0388; 03AD; Case map */ - { 0x000389, 0, { 0x0003AE }}, /* 0389; 03AE; Case map */ - { 0x00038A, 0, { 0x0003AF }}, /* 038A; 03AF; Case map */ - { 0x00038C, 0, { 0x0003CC }}, /* 038C; 03CC; Case map */ - { 0x00038E, 0, { 0x0003CD }}, /* 038E; 03CD; Case map */ - { 0x00038F, 0, { 0x0003CE }}, /* 038F; 03CE; Case map */ - { 0x000390, 0, { 0x0003B9, /* 0390; 03B9 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x000391, 0, { 0x0003B1 }}, /* 0391; 03B1; Case map */ - { 0x000392, 0, { 0x0003B2 }}, /* 0392; 03B2; Case map */ - { 0x000393, 0, { 0x0003B3 }}, /* 0393; 03B3; Case map */ - { 0x000394, 0, { 0x0003B4 }}, /* 0394; 03B4; Case map */ - { 0x000395, 0, { 0x0003B5 }}, /* 0395; 03B5; Case map */ - { 0x000396, 0, { 0x0003B6 }}, /* 0396; 03B6; Case map */ - { 0x000397, 0, { 0x0003B7 }}, /* 0397; 03B7; Case map */ - { 0x000398, 0, { 0x0003B8 }}, /* 0398; 03B8; Case map */ - { 0x000399, 0, { 0x0003B9 }}, /* 0399; 03B9; Case map */ - { 0x00039A, 0, { 0x0003BA }}, /* 039A; 03BA; Case map */ - { 0x00039B, 0, { 0x0003BB }}, /* 039B; 03BB; Case map */ - { 0x00039C, 0, { 0x0003BC }}, /* 039C; 03BC; Case map */ - { 0x00039D, 0, { 0x0003BD }}, /* 039D; 03BD; Case map */ - { 0x00039E, 0, { 0x0003BE }}, /* 039E; 03BE; Case map */ - { 0x00039F, 0, { 0x0003BF }}, /* 039F; 03BF; Case map */ - { 0x0003A0, 0, { 0x0003C0 }}, /* 03A0; 03C0; Case map */ - { 0x0003A1, 0, { 0x0003C1 }}, /* 03A1; 03C1; Case map */ - { 0x0003A3, 0, { 0x0003C3 }}, /* 03A3; 03C3; Case map */ - { 0x0003A4, 0, { 0x0003C4 }}, /* 03A4; 03C4; Case map */ - { 0x0003A5, 0, { 0x0003C5 }}, /* 03A5; 03C5; Case map */ - { 0x0003A6, 0, { 0x0003C6 }}, /* 03A6; 03C6; Case map */ - { 0x0003A7, 0, { 0x0003C7 }}, /* 03A7; 03C7; Case map */ - { 0x0003A8, 0, { 0x0003C8 }}, /* 03A8; 03C8; Case map */ - { 0x0003A9, 0, { 0x0003C9 }}, /* 03A9; 03C9; Case map */ - { 0x0003AA, 0, { 0x0003CA }}, /* 03AA; 03CA; Case map */ - { 0x0003AB, 0, { 0x0003CB }}, /* 03AB; 03CB; Case map */ - { 0x0003B0, 0, { 0x0003C5, /* 03B0; 03C5 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x0003C2, 0, { 0x0003C3 }}, /* 03C2; 03C3; Case map */ - { 0x0003D0, 0, { 0x0003B2 }}, /* 03D0; 03B2; Case map */ - { 0x0003D1, 0, { 0x0003B8 }}, /* 03D1; 03B8; Case map */ - { 0x0003D5, 0, { 0x0003C6 }}, /* 03D5; 03C6; Case map */ - { 0x0003D6, 0, { 0x0003C0 }}, /* 03D6; 03C0; Case map */ - { 0x0003D8, 0, { 0x0003D9 }}, /* 03D8; 03D9; Case map */ - { 0x0003DA, 0, { 0x0003DB }}, /* 03DA; 03DB; Case map */ - { 0x0003DC, 0, { 0x0003DD }}, /* 03DC; 03DD; Case map */ - { 0x0003DE, 0, { 0x0003DF }}, /* 03DE; 03DF; Case map */ - { 0x0003E0, 0, { 0x0003E1 }}, /* 03E0; 03E1; Case map */ - { 0x0003E2, 0, { 0x0003E3 }}, /* 03E2; 03E3; Case map */ - { 0x0003E4, 0, { 0x0003E5 }}, /* 03E4; 03E5; Case map */ - { 0x0003E6, 0, { 0x0003E7 }}, /* 03E6; 03E7; Case map */ - { 0x0003E8, 0, { 0x0003E9 }}, /* 03E8; 03E9; Case map */ - { 0x0003EA, 0, { 0x0003EB }}, /* 03EA; 03EB; Case map */ - { 0x0003EC, 0, { 0x0003ED }}, /* 03EC; 03ED; Case map */ - { 0x0003EE, 0, { 0x0003EF }}, /* 03EE; 03EF; Case map */ - { 0x0003F0, 0, { 0x0003BA }}, /* 03F0; 03BA; Case map */ - { 0x0003F1, 0, { 0x0003C1 }}, /* 03F1; 03C1; Case map */ - { 0x0003F2, 0, { 0x0003C3 }}, /* 03F2; 03C3; Case map */ - { 0x0003F4, 0, { 0x0003B8 }}, /* 03F4; 03B8; Case map */ - { 0x0003F5, 0, { 0x0003B5 }}, /* 03F5; 03B5; Case map */ - { 0x000400, 0, { 0x000450 }}, /* 0400; 0450; Case map */ - { 0x000401, 0, { 0x000451 }}, /* 0401; 0451; Case map */ - { 0x000402, 0, { 0x000452 }}, /* 0402; 0452; Case map */ - { 0x000403, 0, { 0x000453 }}, /* 0403; 0453; Case map */ - { 0x000404, 0, { 0x000454 }}, /* 0404; 0454; Case map */ - { 0x000405, 0, { 0x000455 }}, /* 0405; 0455; Case map */ - { 0x000406, 0, { 0x000456 }}, /* 0406; 0456; Case map */ - { 0x000407, 0, { 0x000457 }}, /* 0407; 0457; Case map */ - { 0x000408, 0, { 0x000458 }}, /* 0408; 0458; Case map */ - { 0x000409, 0, { 0x000459 }}, /* 0409; 0459; Case map */ - { 0x00040A, 0, { 0x00045A }}, /* 040A; 045A; Case map */ - { 0x00040B, 0, { 0x00045B }}, /* 040B; 045B; Case map */ - { 0x00040C, 0, { 0x00045C }}, /* 040C; 045C; Case map */ - { 0x00040D, 0, { 0x00045D }}, /* 040D; 045D; Case map */ - { 0x00040E, 0, { 0x00045E }}, /* 040E; 045E; Case map */ - { 0x00040F, 0, { 0x00045F }}, /* 040F; 045F; Case map */ - { 0x000410, 0, { 0x000430 }}, /* 0410; 0430; Case map */ - { 0x000411, 0, { 0x000431 }}, /* 0411; 0431; Case map */ - { 0x000412, 0, { 0x000432 }}, /* 0412; 0432; Case map */ - { 0x000413, 0, { 0x000433 }}, /* 0413; 0433; Case map */ - { 0x000414, 0, { 0x000434 }}, /* 0414; 0434; Case map */ - { 0x000415, 0, { 0x000435 }}, /* 0415; 0435; Case map */ - { 0x000416, 0, { 0x000436 }}, /* 0416; 0436; Case map */ - { 0x000417, 0, { 0x000437 }}, /* 0417; 0437; Case map */ - { 0x000418, 0, { 0x000438 }}, /* 0418; 0438; Case map */ - { 0x000419, 0, { 0x000439 }}, /* 0419; 0439; Case map */ - { 0x00041A, 0, { 0x00043A }}, /* 041A; 043A; Case map */ - { 0x00041B, 0, { 0x00043B }}, /* 041B; 043B; Case map */ - { 0x00041C, 0, { 0x00043C }}, /* 041C; 043C; Case map */ - { 0x00041D, 0, { 0x00043D }}, /* 041D; 043D; Case map */ - { 0x00041E, 0, { 0x00043E }}, /* 041E; 043E; Case map */ - { 0x00041F, 0, { 0x00043F }}, /* 041F; 043F; Case map */ - { 0x000420, 0, { 0x000440 }}, /* 0420; 0440; Case map */ - { 0x000421, 0, { 0x000441 }}, /* 0421; 0441; Case map */ - { 0x000422, 0, { 0x000442 }}, /* 0422; 0442; Case map */ - { 0x000423, 0, { 0x000443 }}, /* 0423; 0443; Case map */ - { 0x000424, 0, { 0x000444 }}, /* 0424; 0444; Case map */ - { 0x000425, 0, { 0x000445 }}, /* 0425; 0445; Case map */ - { 0x000426, 0, { 0x000446 }}, /* 0426; 0446; Case map */ - { 0x000427, 0, { 0x000447 }}, /* 0427; 0447; Case map */ - { 0x000428, 0, { 0x000448 }}, /* 0428; 0448; Case map */ - { 0x000429, 0, { 0x000449 }}, /* 0429; 0449; Case map */ - { 0x00042A, 0, { 0x00044A }}, /* 042A; 044A; Case map */ - { 0x00042B, 0, { 0x00044B }}, /* 042B; 044B; Case map */ - { 0x00042C, 0, { 0x00044C }}, /* 042C; 044C; Case map */ - { 0x00042D, 0, { 0x00044D }}, /* 042D; 044D; Case map */ - { 0x00042E, 0, { 0x00044E }}, /* 042E; 044E; Case map */ - { 0x00042F, 0, { 0x00044F }}, /* 042F; 044F; Case map */ - { 0x000460, 0, { 0x000461 }}, /* 0460; 0461; Case map */ - { 0x000462, 0, { 0x000463 }}, /* 0462; 0463; Case map */ - { 0x000464, 0, { 0x000465 }}, /* 0464; 0465; Case map */ - { 0x000466, 0, { 0x000467 }}, /* 0466; 0467; Case map */ - { 0x000468, 0, { 0x000469 }}, /* 0468; 0469; Case map */ - { 0x00046A, 0, { 0x00046B }}, /* 046A; 046B; Case map */ - { 0x00046C, 0, { 0x00046D }}, /* 046C; 046D; Case map */ - { 0x00046E, 0, { 0x00046F }}, /* 046E; 046F; Case map */ - { 0x000470, 0, { 0x000471 }}, /* 0470; 0471; Case map */ - { 0x000472, 0, { 0x000473 }}, /* 0472; 0473; Case map */ - { 0x000474, 0, { 0x000475 }}, /* 0474; 0475; Case map */ - { 0x000476, 0, { 0x000477 }}, /* 0476; 0477; Case map */ - { 0x000478, 0, { 0x000479 }}, /* 0478; 0479; Case map */ - { 0x00047A, 0, { 0x00047B }}, /* 047A; 047B; Case map */ - { 0x00047C, 0, { 0x00047D }}, /* 047C; 047D; Case map */ - { 0x00047E, 0, { 0x00047F }}, /* 047E; 047F; Case map */ - { 0x000480, 0, { 0x000481 }}, /* 0480; 0481; Case map */ - { 0x00048A, 0, { 0x00048B }}, /* 048A; 048B; Case map */ - { 0x00048C, 0, { 0x00048D }}, /* 048C; 048D; Case map */ - { 0x00048E, 0, { 0x00048F }}, /* 048E; 048F; Case map */ - { 0x000490, 0, { 0x000491 }}, /* 0490; 0491; Case map */ - { 0x000492, 0, { 0x000493 }}, /* 0492; 0493; Case map */ - { 0x000494, 0, { 0x000495 }}, /* 0494; 0495; Case map */ - { 0x000496, 0, { 0x000497 }}, /* 0496; 0497; Case map */ - { 0x000498, 0, { 0x000499 }}, /* 0498; 0499; Case map */ - { 0x00049A, 0, { 0x00049B }}, /* 049A; 049B; Case map */ - { 0x00049C, 0, { 0x00049D }}, /* 049C; 049D; Case map */ - { 0x00049E, 0, { 0x00049F }}, /* 049E; 049F; Case map */ - { 0x0004A0, 0, { 0x0004A1 }}, /* 04A0; 04A1; Case map */ - { 0x0004A2, 0, { 0x0004A3 }}, /* 04A2; 04A3; Case map */ - { 0x0004A4, 0, { 0x0004A5 }}, /* 04A4; 04A5; Case map */ - { 0x0004A6, 0, { 0x0004A7 }}, /* 04A6; 04A7; Case map */ - { 0x0004A8, 0, { 0x0004A9 }}, /* 04A8; 04A9; Case map */ - { 0x0004AA, 0, { 0x0004AB }}, /* 04AA; 04AB; Case map */ - { 0x0004AC, 0, { 0x0004AD }}, /* 04AC; 04AD; Case map */ - { 0x0004AE, 0, { 0x0004AF }}, /* 04AE; 04AF; Case map */ - { 0x0004B0, 0, { 0x0004B1 }}, /* 04B0; 04B1; Case map */ - { 0x0004B2, 0, { 0x0004B3 }}, /* 04B2; 04B3; Case map */ - { 0x0004B4, 0, { 0x0004B5 }}, /* 04B4; 04B5; Case map */ - { 0x0004B6, 0, { 0x0004B7 }}, /* 04B6; 04B7; Case map */ - { 0x0004B8, 0, { 0x0004B9 }}, /* 04B8; 04B9; Case map */ - { 0x0004BA, 0, { 0x0004BB }}, /* 04BA; 04BB; Case map */ - { 0x0004BC, 0, { 0x0004BD }}, /* 04BC; 04BD; Case map */ - { 0x0004BE, 0, { 0x0004BF }}, /* 04BE; 04BF; Case map */ - { 0x0004C1, 0, { 0x0004C2 }}, /* 04C1; 04C2; Case map */ - { 0x0004C3, 0, { 0x0004C4 }}, /* 04C3; 04C4; Case map */ - { 0x0004C5, 0, { 0x0004C6 }}, /* 04C5; 04C6; Case map */ - { 0x0004C7, 0, { 0x0004C8 }}, /* 04C7; 04C8; Case map */ - { 0x0004C9, 0, { 0x0004CA }}, /* 04C9; 04CA; Case map */ - { 0x0004CB, 0, { 0x0004CC }}, /* 04CB; 04CC; Case map */ - { 0x0004CD, 0, { 0x0004CE }}, /* 04CD; 04CE; Case map */ - { 0x0004D0, 0, { 0x0004D1 }}, /* 04D0; 04D1; Case map */ - { 0x0004D2, 0, { 0x0004D3 }}, /* 04D2; 04D3; Case map */ - { 0x0004D4, 0, { 0x0004D5 }}, /* 04D4; 04D5; Case map */ - { 0x0004D6, 0, { 0x0004D7 }}, /* 04D6; 04D7; Case map */ - { 0x0004D8, 0, { 0x0004D9 }}, /* 04D8; 04D9; Case map */ - { 0x0004DA, 0, { 0x0004DB }}, /* 04DA; 04DB; Case map */ - { 0x0004DC, 0, { 0x0004DD }}, /* 04DC; 04DD; Case map */ - { 0x0004DE, 0, { 0x0004DF }}, /* 04DE; 04DF; Case map */ - { 0x0004E0, 0, { 0x0004E1 }}, /* 04E0; 04E1; Case map */ - { 0x0004E2, 0, { 0x0004E3 }}, /* 04E2; 04E3; Case map */ - { 0x0004E4, 0, { 0x0004E5 }}, /* 04E4; 04E5; Case map */ - { 0x0004E6, 0, { 0x0004E7 }}, /* 04E6; 04E7; Case map */ - { 0x0004E8, 0, { 0x0004E9 }}, /* 04E8; 04E9; Case map */ - { 0x0004EA, 0, { 0x0004EB }}, /* 04EA; 04EB; Case map */ - { 0x0004EC, 0, { 0x0004ED }}, /* 04EC; 04ED; Case map */ - { 0x0004EE, 0, { 0x0004EF }}, /* 04EE; 04EF; Case map */ - { 0x0004F0, 0, { 0x0004F1 }}, /* 04F0; 04F1; Case map */ - { 0x0004F2, 0, { 0x0004F3 }}, /* 04F2; 04F3; Case map */ - { 0x0004F4, 0, { 0x0004F5 }}, /* 04F4; 04F5; Case map */ - { 0x0004F8, 0, { 0x0004F9 }}, /* 04F8; 04F9; Case map */ - { 0x000500, 0, { 0x000501 }}, /* 0500; 0501; Case map */ - { 0x000502, 0, { 0x000503 }}, /* 0502; 0503; Case map */ - { 0x000504, 0, { 0x000505 }}, /* 0504; 0505; Case map */ - { 0x000506, 0, { 0x000507 }}, /* 0506; 0507; Case map */ - { 0x000508, 0, { 0x000509 }}, /* 0508; 0509; Case map */ - { 0x00050A, 0, { 0x00050B }}, /* 050A; 050B; Case map */ - { 0x00050C, 0, { 0x00050D }}, /* 050C; 050D; Case map */ - { 0x00050E, 0, { 0x00050F }}, /* 050E; 050F; Case map */ - { 0x000531, 0, { 0x000561 }}, /* 0531; 0561; Case map */ - { 0x000532, 0, { 0x000562 }}, /* 0532; 0562; Case map */ - { 0x000533, 0, { 0x000563 }}, /* 0533; 0563; Case map */ - { 0x000534, 0, { 0x000564 }}, /* 0534; 0564; Case map */ - { 0x000535, 0, { 0x000565 }}, /* 0535; 0565; Case map */ - { 0x000536, 0, { 0x000566 }}, /* 0536; 0566; Case map */ - { 0x000537, 0, { 0x000567 }}, /* 0537; 0567; Case map */ - { 0x000538, 0, { 0x000568 }}, /* 0538; 0568; Case map */ - { 0x000539, 0, { 0x000569 }}, /* 0539; 0569; Case map */ - { 0x00053A, 0, { 0x00056A }}, /* 053A; 056A; Case map */ - { 0x00053B, 0, { 0x00056B }}, /* 053B; 056B; Case map */ - { 0x00053C, 0, { 0x00056C }}, /* 053C; 056C; Case map */ - { 0x00053D, 0, { 0x00056D }}, /* 053D; 056D; Case map */ - { 0x00053E, 0, { 0x00056E }}, /* 053E; 056E; Case map */ - { 0x00053F, 0, { 0x00056F }}, /* 053F; 056F; Case map */ - { 0x000540, 0, { 0x000570 }}, /* 0540; 0570; Case map */ - { 0x000541, 0, { 0x000571 }}, /* 0541; 0571; Case map */ - { 0x000542, 0, { 0x000572 }}, /* 0542; 0572; Case map */ - { 0x000543, 0, { 0x000573 }}, /* 0543; 0573; Case map */ - { 0x000544, 0, { 0x000574 }}, /* 0544; 0574; Case map */ - { 0x000545, 0, { 0x000575 }}, /* 0545; 0575; Case map */ - { 0x000546, 0, { 0x000576 }}, /* 0546; 0576; Case map */ - { 0x000547, 0, { 0x000577 }}, /* 0547; 0577; Case map */ - { 0x000548, 0, { 0x000578 }}, /* 0548; 0578; Case map */ - { 0x000549, 0, { 0x000579 }}, /* 0549; 0579; Case map */ - { 0x00054A, 0, { 0x00057A }}, /* 054A; 057A; Case map */ - { 0x00054B, 0, { 0x00057B }}, /* 054B; 057B; Case map */ - { 0x00054C, 0, { 0x00057C }}, /* 054C; 057C; Case map */ - { 0x00054D, 0, { 0x00057D }}, /* 054D; 057D; Case map */ - { 0x00054E, 0, { 0x00057E }}, /* 054E; 057E; Case map */ - { 0x00054F, 0, { 0x00057F }}, /* 054F; 057F; Case map */ - { 0x000550, 0, { 0x000580 }}, /* 0550; 0580; Case map */ - { 0x000551, 0, { 0x000581 }}, /* 0551; 0581; Case map */ - { 0x000552, 0, { 0x000582 }}, /* 0552; 0582; Case map */ - { 0x000553, 0, { 0x000583 }}, /* 0553; 0583; Case map */ - { 0x000554, 0, { 0x000584 }}, /* 0554; 0584; Case map */ - { 0x000555, 0, { 0x000585 }}, /* 0555; 0585; Case map */ - { 0x000556, 0, { 0x000586 }}, /* 0556; 0586; Case map */ - { 0x000587, 0, { 0x000565, /* 0587; 0565 0582; Case map */ - 0x000582 }}, - { 0x001E00, 0, { 0x001E01 }}, /* 1E00; 1E01; Case map */ - { 0x001E02, 0, { 0x001E03 }}, /* 1E02; 1E03; Case map */ - { 0x001E04, 0, { 0x001E05 }}, /* 1E04; 1E05; Case map */ - { 0x001E06, 0, { 0x001E07 }}, /* 1E06; 1E07; Case map */ - { 0x001E08, 0, { 0x001E09 }}, /* 1E08; 1E09; Case map */ - { 0x001E0A, 0, { 0x001E0B }}, /* 1E0A; 1E0B; Case map */ - { 0x001E0C, 0, { 0x001E0D }}, /* 1E0C; 1E0D; Case map */ - { 0x001E0E, 0, { 0x001E0F }}, /* 1E0E; 1E0F; Case map */ - { 0x001E10, 0, { 0x001E11 }}, /* 1E10; 1E11; Case map */ - { 0x001E12, 0, { 0x001E13 }}, /* 1E12; 1E13; Case map */ - { 0x001E14, 0, { 0x001E15 }}, /* 1E14; 1E15; Case map */ - { 0x001E16, 0, { 0x001E17 }}, /* 1E16; 1E17; Case map */ - { 0x001E18, 0, { 0x001E19 }}, /* 1E18; 1E19; Case map */ - { 0x001E1A, 0, { 0x001E1B }}, /* 1E1A; 1E1B; Case map */ - { 0x001E1C, 0, { 0x001E1D }}, /* 1E1C; 1E1D; Case map */ - { 0x001E1E, 0, { 0x001E1F }}, /* 1E1E; 1E1F; Case map */ - { 0x001E20, 0, { 0x001E21 }}, /* 1E20; 1E21; Case map */ - { 0x001E22, 0, { 0x001E23 }}, /* 1E22; 1E23; Case map */ - { 0x001E24, 0, { 0x001E25 }}, /* 1E24; 1E25; Case map */ - { 0x001E26, 0, { 0x001E27 }}, /* 1E26; 1E27; Case map */ - { 0x001E28, 0, { 0x001E29 }}, /* 1E28; 1E29; Case map */ - { 0x001E2A, 0, { 0x001E2B }}, /* 1E2A; 1E2B; Case map */ - { 0x001E2C, 0, { 0x001E2D }}, /* 1E2C; 1E2D; Case map */ - { 0x001E2E, 0, { 0x001E2F }}, /* 1E2E; 1E2F; Case map */ - { 0x001E30, 0, { 0x001E31 }}, /* 1E30; 1E31; Case map */ - { 0x001E32, 0, { 0x001E33 }}, /* 1E32; 1E33; Case map */ - { 0x001E34, 0, { 0x001E35 }}, /* 1E34; 1E35; Case map */ - { 0x001E36, 0, { 0x001E37 }}, /* 1E36; 1E37; Case map */ - { 0x001E38, 0, { 0x001E39 }}, /* 1E38; 1E39; Case map */ - { 0x001E3A, 0, { 0x001E3B }}, /* 1E3A; 1E3B; Case map */ - { 0x001E3C, 0, { 0x001E3D }}, /* 1E3C; 1E3D; Case map */ - { 0x001E3E, 0, { 0x001E3F }}, /* 1E3E; 1E3F; Case map */ - { 0x001E40, 0, { 0x001E41 }}, /* 1E40; 1E41; Case map */ - { 0x001E42, 0, { 0x001E43 }}, /* 1E42; 1E43; Case map */ - { 0x001E44, 0, { 0x001E45 }}, /* 1E44; 1E45; Case map */ - { 0x001E46, 0, { 0x001E47 }}, /* 1E46; 1E47; Case map */ - { 0x001E48, 0, { 0x001E49 }}, /* 1E48; 1E49; Case map */ - { 0x001E4A, 0, { 0x001E4B }}, /* 1E4A; 1E4B; Case map */ - { 0x001E4C, 0, { 0x001E4D }}, /* 1E4C; 1E4D; Case map */ - { 0x001E4E, 0, { 0x001E4F }}, /* 1E4E; 1E4F; Case map */ - { 0x001E50, 0, { 0x001E51 }}, /* 1E50; 1E51; Case map */ - { 0x001E52, 0, { 0x001E53 }}, /* 1E52; 1E53; Case map */ - { 0x001E54, 0, { 0x001E55 }}, /* 1E54; 1E55; Case map */ - { 0x001E56, 0, { 0x001E57 }}, /* 1E56; 1E57; Case map */ - { 0x001E58, 0, { 0x001E59 }}, /* 1E58; 1E59; Case map */ - { 0x001E5A, 0, { 0x001E5B }}, /* 1E5A; 1E5B; Case map */ - { 0x001E5C, 0, { 0x001E5D }}, /* 1E5C; 1E5D; Case map */ - { 0x001E5E, 0, { 0x001E5F }}, /* 1E5E; 1E5F; Case map */ - { 0x001E60, 0, { 0x001E61 }}, /* 1E60; 1E61; Case map */ - { 0x001E62, 0, { 0x001E63 }}, /* 1E62; 1E63; Case map */ - { 0x001E64, 0, { 0x001E65 }}, /* 1E64; 1E65; Case map */ - { 0x001E66, 0, { 0x001E67 }}, /* 1E66; 1E67; Case map */ - { 0x001E68, 0, { 0x001E69 }}, /* 1E68; 1E69; Case map */ - { 0x001E6A, 0, { 0x001E6B }}, /* 1E6A; 1E6B; Case map */ - { 0x001E6C, 0, { 0x001E6D }}, /* 1E6C; 1E6D; Case map */ - { 0x001E6E, 0, { 0x001E6F }}, /* 1E6E; 1E6F; Case map */ - { 0x001E70, 0, { 0x001E71 }}, /* 1E70; 1E71; Case map */ - { 0x001E72, 0, { 0x001E73 }}, /* 1E72; 1E73; Case map */ - { 0x001E74, 0, { 0x001E75 }}, /* 1E74; 1E75; Case map */ - { 0x001E76, 0, { 0x001E77 }}, /* 1E76; 1E77; Case map */ - { 0x001E78, 0, { 0x001E79 }}, /* 1E78; 1E79; Case map */ - { 0x001E7A, 0, { 0x001E7B }}, /* 1E7A; 1E7B; Case map */ - { 0x001E7C, 0, { 0x001E7D }}, /* 1E7C; 1E7D; Case map */ - { 0x001E7E, 0, { 0x001E7F }}, /* 1E7E; 1E7F; Case map */ - { 0x001E80, 0, { 0x001E81 }}, /* 1E80; 1E81; Case map */ - { 0x001E82, 0, { 0x001E83 }}, /* 1E82; 1E83; Case map */ - { 0x001E84, 0, { 0x001E85 }}, /* 1E84; 1E85; Case map */ - { 0x001E86, 0, { 0x001E87 }}, /* 1E86; 1E87; Case map */ - { 0x001E88, 0, { 0x001E89 }}, /* 1E88; 1E89; Case map */ - { 0x001E8A, 0, { 0x001E8B }}, /* 1E8A; 1E8B; Case map */ - { 0x001E8C, 0, { 0x001E8D }}, /* 1E8C; 1E8D; Case map */ - { 0x001E8E, 0, { 0x001E8F }}, /* 1E8E; 1E8F; Case map */ - { 0x001E90, 0, { 0x001E91 }}, /* 1E90; 1E91; Case map */ - { 0x001E92, 0, { 0x001E93 }}, /* 1E92; 1E93; Case map */ - { 0x001E94, 0, { 0x001E95 }}, /* 1E94; 1E95; Case map */ - { 0x001E96, 0, { 0x000068, /* 1E96; 0068 0331; Case map */ - 0x000331 }}, - { 0x001E97, 0, { 0x000074, /* 1E97; 0074 0308; Case map */ - 0x000308 }}, - { 0x001E98, 0, { 0x000077, /* 1E98; 0077 030A; Case map */ - 0x00030A }}, - { 0x001E99, 0, { 0x000079, /* 1E99; 0079 030A; Case map */ - 0x00030A }}, - { 0x001E9A, 0, { 0x000061, /* 1E9A; 0061 02BE; Case map */ - 0x0002BE }}, - { 0x001E9B, 0, { 0x001E61 }}, /* 1E9B; 1E61; Case map */ - { 0x001EA0, 0, { 0x001EA1 }}, /* 1EA0; 1EA1; Case map */ - { 0x001EA2, 0, { 0x001EA3 }}, /* 1EA2; 1EA3; Case map */ - { 0x001EA4, 0, { 0x001EA5 }}, /* 1EA4; 1EA5; Case map */ - { 0x001EA6, 0, { 0x001EA7 }}, /* 1EA6; 1EA7; Case map */ - { 0x001EA8, 0, { 0x001EA9 }}, /* 1EA8; 1EA9; Case map */ - { 0x001EAA, 0, { 0x001EAB }}, /* 1EAA; 1EAB; Case map */ - { 0x001EAC, 0, { 0x001EAD }}, /* 1EAC; 1EAD; Case map */ - { 0x001EAE, 0, { 0x001EAF }}, /* 1EAE; 1EAF; Case map */ - { 0x001EB0, 0, { 0x001EB1 }}, /* 1EB0; 1EB1; Case map */ - { 0x001EB2, 0, { 0x001EB3 }}, /* 1EB2; 1EB3; Case map */ - { 0x001EB4, 0, { 0x001EB5 }}, /* 1EB4; 1EB5; Case map */ - { 0x001EB6, 0, { 0x001EB7 }}, /* 1EB6; 1EB7; Case map */ - { 0x001EB8, 0, { 0x001EB9 }}, /* 1EB8; 1EB9; Case map */ - { 0x001EBA, 0, { 0x001EBB }}, /* 1EBA; 1EBB; Case map */ - { 0x001EBC, 0, { 0x001EBD }}, /* 1EBC; 1EBD; Case map */ - { 0x001EBE, 0, { 0x001EBF }}, /* 1EBE; 1EBF; Case map */ - { 0x001EC0, 0, { 0x001EC1 }}, /* 1EC0; 1EC1; Case map */ - { 0x001EC2, 0, { 0x001EC3 }}, /* 1EC2; 1EC3; Case map */ - { 0x001EC4, 0, { 0x001EC5 }}, /* 1EC4; 1EC5; Case map */ - { 0x001EC6, 0, { 0x001EC7 }}, /* 1EC6; 1EC7; Case map */ - { 0x001EC8, 0, { 0x001EC9 }}, /* 1EC8; 1EC9; Case map */ - { 0x001ECA, 0, { 0x001ECB }}, /* 1ECA; 1ECB; Case map */ - { 0x001ECC, 0, { 0x001ECD }}, /* 1ECC; 1ECD; Case map */ - { 0x001ECE, 0, { 0x001ECF }}, /* 1ECE; 1ECF; Case map */ - { 0x001ED0, 0, { 0x001ED1 }}, /* 1ED0; 1ED1; Case map */ - { 0x001ED2, 0, { 0x001ED3 }}, /* 1ED2; 1ED3; Case map */ - { 0x001ED4, 0, { 0x001ED5 }}, /* 1ED4; 1ED5; Case map */ - { 0x001ED6, 0, { 0x001ED7 }}, /* 1ED6; 1ED7; Case map */ - { 0x001ED8, 0, { 0x001ED9 }}, /* 1ED8; 1ED9; Case map */ - { 0x001EDA, 0, { 0x001EDB }}, /* 1EDA; 1EDB; Case map */ - { 0x001EDC, 0, { 0x001EDD }}, /* 1EDC; 1EDD; Case map */ - { 0x001EDE, 0, { 0x001EDF }}, /* 1EDE; 1EDF; Case map */ - { 0x001EE0, 0, { 0x001EE1 }}, /* 1EE0; 1EE1; Case map */ - { 0x001EE2, 0, { 0x001EE3 }}, /* 1EE2; 1EE3; Case map */ - { 0x001EE4, 0, { 0x001EE5 }}, /* 1EE4; 1EE5; Case map */ - { 0x001EE6, 0, { 0x001EE7 }}, /* 1EE6; 1EE7; Case map */ - { 0x001EE8, 0, { 0x001EE9 }}, /* 1EE8; 1EE9; Case map */ - { 0x001EEA, 0, { 0x001EEB }}, /* 1EEA; 1EEB; Case map */ - { 0x001EEC, 0, { 0x001EED }}, /* 1EEC; 1EED; Case map */ - { 0x001EEE, 0, { 0x001EEF }}, /* 1EEE; 1EEF; Case map */ - { 0x001EF0, 0, { 0x001EF1 }}, /* 1EF0; 1EF1; Case map */ - { 0x001EF2, 0, { 0x001EF3 }}, /* 1EF2; 1EF3; Case map */ - { 0x001EF4, 0, { 0x001EF5 }}, /* 1EF4; 1EF5; Case map */ - { 0x001EF6, 0, { 0x001EF7 }}, /* 1EF6; 1EF7; Case map */ - { 0x001EF8, 0, { 0x001EF9 }}, /* 1EF8; 1EF9; Case map */ - { 0x001F08, 0, { 0x001F00 }}, /* 1F08; 1F00; Case map */ - { 0x001F09, 0, { 0x001F01 }}, /* 1F09; 1F01; Case map */ - { 0x001F0A, 0, { 0x001F02 }}, /* 1F0A; 1F02; Case map */ - { 0x001F0B, 0, { 0x001F03 }}, /* 1F0B; 1F03; Case map */ - { 0x001F0C, 0, { 0x001F04 }}, /* 1F0C; 1F04; Case map */ - { 0x001F0D, 0, { 0x001F05 }}, /* 1F0D; 1F05; Case map */ - { 0x001F0E, 0, { 0x001F06 }}, /* 1F0E; 1F06; Case map */ - { 0x001F0F, 0, { 0x001F07 }}, /* 1F0F; 1F07; Case map */ - { 0x001F18, 0, { 0x001F10 }}, /* 1F18; 1F10; Case map */ - { 0x001F19, 0, { 0x001F11 }}, /* 1F19; 1F11; Case map */ - { 0x001F1A, 0, { 0x001F12 }}, /* 1F1A; 1F12; Case map */ - { 0x001F1B, 0, { 0x001F13 }}, /* 1F1B; 1F13; Case map */ - { 0x001F1C, 0, { 0x001F14 }}, /* 1F1C; 1F14; Case map */ - { 0x001F1D, 0, { 0x001F15 }}, /* 1F1D; 1F15; Case map */ - { 0x001F28, 0, { 0x001F20 }}, /* 1F28; 1F20; Case map */ - { 0x001F29, 0, { 0x001F21 }}, /* 1F29; 1F21; Case map */ - { 0x001F2A, 0, { 0x001F22 }}, /* 1F2A; 1F22; Case map */ - { 0x001F2B, 0, { 0x001F23 }}, /* 1F2B; 1F23; Case map */ - { 0x001F2C, 0, { 0x001F24 }}, /* 1F2C; 1F24; Case map */ - { 0x001F2D, 0, { 0x001F25 }}, /* 1F2D; 1F25; Case map */ - { 0x001F2E, 0, { 0x001F26 }}, /* 1F2E; 1F26; Case map */ - { 0x001F2F, 0, { 0x001F27 }}, /* 1F2F; 1F27; Case map */ - { 0x001F38, 0, { 0x001F30 }}, /* 1F38; 1F30; Case map */ - { 0x001F39, 0, { 0x001F31 }}, /* 1F39; 1F31; Case map */ - { 0x001F3A, 0, { 0x001F32 }}, /* 1F3A; 1F32; Case map */ - { 0x001F3B, 0, { 0x001F33 }}, /* 1F3B; 1F33; Case map */ - { 0x001F3C, 0, { 0x001F34 }}, /* 1F3C; 1F34; Case map */ - { 0x001F3D, 0, { 0x001F35 }}, /* 1F3D; 1F35; Case map */ - { 0x001F3E, 0, { 0x001F36 }}, /* 1F3E; 1F36; Case map */ - { 0x001F3F, 0, { 0x001F37 }}, /* 1F3F; 1F37; Case map */ - { 0x001F48, 0, { 0x001F40 }}, /* 1F48; 1F40; Case map */ - { 0x001F49, 0, { 0x001F41 }}, /* 1F49; 1F41; Case map */ - { 0x001F4A, 0, { 0x001F42 }}, /* 1F4A; 1F42; Case map */ - { 0x001F4B, 0, { 0x001F43 }}, /* 1F4B; 1F43; Case map */ - { 0x001F4C, 0, { 0x001F44 }}, /* 1F4C; 1F44; Case map */ - { 0x001F4D, 0, { 0x001F45 }}, /* 1F4D; 1F45; Case map */ - { 0x001F50, 0, { 0x0003C5, /* 1F50; 03C5 0313; Case map */ - 0x000313 }}, - { 0x001F52, 0, { 0x0003C5, /* 1F52; 03C5 0313 0300; Case map */ - 0x000313, 0x000300 }}, - { 0x001F54, 0, { 0x0003C5, /* 1F54; 03C5 0313 0301; Case map */ - 0x000313, 0x000301 }}, - { 0x001F56, 0, { 0x0003C5, /* 1F56; 03C5 0313 0342; Case map */ - 0x000313, 0x000342 }}, - { 0x001F59, 0, { 0x001F51 }}, /* 1F59; 1F51; Case map */ - { 0x001F5B, 0, { 0x001F53 }}, /* 1F5B; 1F53; Case map */ - { 0x001F5D, 0, { 0x001F55 }}, /* 1F5D; 1F55; Case map */ - { 0x001F5F, 0, { 0x001F57 }}, /* 1F5F; 1F57; Case map */ - { 0x001F68, 0, { 0x001F60 }}, /* 1F68; 1F60; Case map */ - { 0x001F69, 0, { 0x001F61 }}, /* 1F69; 1F61; Case map */ - { 0x001F6A, 0, { 0x001F62 }}, /* 1F6A; 1F62; Case map */ - { 0x001F6B, 0, { 0x001F63 }}, /* 1F6B; 1F63; Case map */ - { 0x001F6C, 0, { 0x001F64 }}, /* 1F6C; 1F64; Case map */ - { 0x001F6D, 0, { 0x001F65 }}, /* 1F6D; 1F65; Case map */ - { 0x001F6E, 0, { 0x001F66 }}, /* 1F6E; 1F66; Case map */ - { 0x001F6F, 0, { 0x001F67 }}, /* 1F6F; 1F67; Case map */ - { 0x001F80, 0, { 0x001F00, /* 1F80; 1F00 03B9; Case map */ - 0x0003B9 }}, - { 0x001F81, 0, { 0x001F01, /* 1F81; 1F01 03B9; Case map */ - 0x0003B9 }}, - { 0x001F82, 0, { 0x001F02, /* 1F82; 1F02 03B9; Case map */ - 0x0003B9 }}, - { 0x001F83, 0, { 0x001F03, /* 1F83; 1F03 03B9; Case map */ - 0x0003B9 }}, - { 0x001F84, 0, { 0x001F04, /* 1F84; 1F04 03B9; Case map */ - 0x0003B9 }}, - { 0x001F85, 0, { 0x001F05, /* 1F85; 1F05 03B9; Case map */ - 0x0003B9 }}, - { 0x001F86, 0, { 0x001F06, /* 1F86; 1F06 03B9; Case map */ - 0x0003B9 }}, - { 0x001F87, 0, { 0x001F07, /* 1F87; 1F07 03B9; Case map */ - 0x0003B9 }}, - { 0x001F88, 0, { 0x001F00, /* 1F88; 1F00 03B9; Case map */ - 0x0003B9 }}, - { 0x001F89, 0, { 0x001F01, /* 1F89; 1F01 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8A, 0, { 0x001F02, /* 1F8A; 1F02 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8B, 0, { 0x001F03, /* 1F8B; 1F03 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8C, 0, { 0x001F04, /* 1F8C; 1F04 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8D, 0, { 0x001F05, /* 1F8D; 1F05 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8E, 0, { 0x001F06, /* 1F8E; 1F06 03B9; Case map */ - 0x0003B9 }}, - { 0x001F8F, 0, { 0x001F07, /* 1F8F; 1F07 03B9; Case map */ - 0x0003B9 }}, - { 0x001F90, 0, { 0x001F20, /* 1F90; 1F20 03B9; Case map */ - 0x0003B9 }}, - { 0x001F91, 0, { 0x001F21, /* 1F91; 1F21 03B9; Case map */ - 0x0003B9 }}, - { 0x001F92, 0, { 0x001F22, /* 1F92; 1F22 03B9; Case map */ - 0x0003B9 }}, - { 0x001F93, 0, { 0x001F23, /* 1F93; 1F23 03B9; Case map */ - 0x0003B9 }}, - { 0x001F94, 0, { 0x001F24, /* 1F94; 1F24 03B9; Case map */ - 0x0003B9 }}, - { 0x001F95, 0, { 0x001F25, /* 1F95; 1F25 03B9; Case map */ - 0x0003B9 }}, - { 0x001F96, 0, { 0x001F26, /* 1F96; 1F26 03B9; Case map */ - 0x0003B9 }}, - { 0x001F97, 0, { 0x001F27, /* 1F97; 1F27 03B9; Case map */ - 0x0003B9 }}, - { 0x001F98, 0, { 0x001F20, /* 1F98; 1F20 03B9; Case map */ - 0x0003B9 }}, - { 0x001F99, 0, { 0x001F21, /* 1F99; 1F21 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9A, 0, { 0x001F22, /* 1F9A; 1F22 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9B, 0, { 0x001F23, /* 1F9B; 1F23 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9C, 0, { 0x001F24, /* 1F9C; 1F24 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9D, 0, { 0x001F25, /* 1F9D; 1F25 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9E, 0, { 0x001F26, /* 1F9E; 1F26 03B9; Case map */ - 0x0003B9 }}, - { 0x001F9F, 0, { 0x001F27, /* 1F9F; 1F27 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA0, 0, { 0x001F60, /* 1FA0; 1F60 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA1, 0, { 0x001F61, /* 1FA1; 1F61 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA2, 0, { 0x001F62, /* 1FA2; 1F62 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA3, 0, { 0x001F63, /* 1FA3; 1F63 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA4, 0, { 0x001F64, /* 1FA4; 1F64 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA5, 0, { 0x001F65, /* 1FA5; 1F65 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA6, 0, { 0x001F66, /* 1FA6; 1F66 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA7, 0, { 0x001F67, /* 1FA7; 1F67 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA8, 0, { 0x001F60, /* 1FA8; 1F60 03B9; Case map */ - 0x0003B9 }}, - { 0x001FA9, 0, { 0x001F61, /* 1FA9; 1F61 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAA, 0, { 0x001F62, /* 1FAA; 1F62 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAB, 0, { 0x001F63, /* 1FAB; 1F63 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAC, 0, { 0x001F64, /* 1FAC; 1F64 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAD, 0, { 0x001F65, /* 1FAD; 1F65 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAE, 0, { 0x001F66, /* 1FAE; 1F66 03B9; Case map */ - 0x0003B9 }}, - { 0x001FAF, 0, { 0x001F67, /* 1FAF; 1F67 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB2, 0, { 0x001F70, /* 1FB2; 1F70 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB3, 0, { 0x0003B1, /* 1FB3; 03B1 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB4, 0, { 0x0003AC, /* 1FB4; 03AC 03B9; Case map */ - 0x0003B9 }}, - { 0x001FB6, 0, { 0x0003B1, /* 1FB6; 03B1 0342; Case map */ - 0x000342 }}, - { 0x001FB7, 0, { 0x0003B1, /* 1FB7; 03B1 0342 03B9; Case map */ - 0x000342, 0x0003B9 }}, - { 0x001FB8, 0, { 0x001FB0 }}, /* 1FB8; 1FB0; Case map */ - { 0x001FB9, 0, { 0x001FB1 }}, /* 1FB9; 1FB1; Case map */ - { 0x001FBA, 0, { 0x001F70 }}, /* 1FBA; 1F70; Case map */ - { 0x001FBB, 0, { 0x001F71 }}, /* 1FBB; 1F71; Case map */ - { 0x001FBC, 0, { 0x0003B1, /* 1FBC; 03B1 03B9; Case map */ - 0x0003B9 }}, - { 0x001FBE, 0, { 0x0003B9 }}, /* 1FBE; 03B9; Case map */ - { 0x001FC2, 0, { 0x001F74, /* 1FC2; 1F74 03B9; Case map */ - 0x0003B9 }}, - { 0x001FC3, 0, { 0x0003B7, /* 1FC3; 03B7 03B9; Case map */ - 0x0003B9 }}, - { 0x001FC4, 0, { 0x0003AE, /* 1FC4; 03AE 03B9; Case map */ - 0x0003B9 }}, - { 0x001FC6, 0, { 0x0003B7, /* 1FC6; 03B7 0342; Case map */ - 0x000342 }}, - { 0x001FC7, 0, { 0x0003B7, /* 1FC7; 03B7 0342 03B9; Case map */ - 0x000342, 0x0003B9 }}, - { 0x001FC8, 0, { 0x001F72 }}, /* 1FC8; 1F72; Case map */ - { 0x001FC9, 0, { 0x001F73 }}, /* 1FC9; 1F73; Case map */ - { 0x001FCA, 0, { 0x001F74 }}, /* 1FCA; 1F74; Case map */ - { 0x001FCB, 0, { 0x001F75 }}, /* 1FCB; 1F75; Case map */ - { 0x001FCC, 0, { 0x0003B7, /* 1FCC; 03B7 03B9; Case map */ - 0x0003B9 }}, - { 0x001FD2, 0, { 0x0003B9, /* 1FD2; 03B9 0308 0300; Case map */ - 0x000308, 0x000300 }}, - { 0x001FD3, 0, { 0x0003B9, /* 1FD3; 03B9 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x001FD6, 0, { 0x0003B9, /* 1FD6; 03B9 0342; Case map */ - 0x000342 }}, - { 0x001FD7, 0, { 0x0003B9, /* 1FD7; 03B9 0308 0342; Case map */ - 0x000308, 0x000342 }}, - { 0x001FD8, 0, { 0x001FD0 }}, /* 1FD8; 1FD0; Case map */ - { 0x001FD9, 0, { 0x001FD1 }}, /* 1FD9; 1FD1; Case map */ - { 0x001FDA, 0, { 0x001F76 }}, /* 1FDA; 1F76; Case map */ - { 0x001FDB, 0, { 0x001F77 }}, /* 1FDB; 1F77; Case map */ - { 0x001FE2, 0, { 0x0003C5, /* 1FE2; 03C5 0308 0300; Case map */ - 0x000308, 0x000300 }}, - { 0x001FE3, 0, { 0x0003C5, /* 1FE3; 03C5 0308 0301; Case map */ - 0x000308, 0x000301 }}, - { 0x001FE4, 0, { 0x0003C1, /* 1FE4; 03C1 0313; Case map */ - 0x000313 }}, - { 0x001FE6, 0, { 0x0003C5, /* 1FE6; 03C5 0342; Case map */ - 0x000342 }}, - { 0x001FE7, 0, { 0x0003C5, /* 1FE7; 03C5 0308 0342; Case map */ - 0x000308, 0x000342 }}, - { 0x001FE8, 0, { 0x001FE0 }}, /* 1FE8; 1FE0; Case map */ - { 0x001FE9, 0, { 0x001FE1 }}, /* 1FE9; 1FE1; Case map */ - { 0x001FEA, 0, { 0x001F7A }}, /* 1FEA; 1F7A; Case map */ - { 0x001FEB, 0, { 0x001F7B }}, /* 1FEB; 1F7B; Case map */ - { 0x001FEC, 0, { 0x001FE5 }}, /* 1FEC; 1FE5; Case map */ - { 0x001FF2, 0, { 0x001F7C, /* 1FF2; 1F7C 03B9; Case map */ - 0x0003B9 }}, - { 0x001FF3, 0, { 0x0003C9, /* 1FF3; 03C9 03B9; Case map */ - 0x0003B9 }}, - { 0x001FF4, 0, { 0x0003CE, /* 1FF4; 03CE 03B9; Case map */ - 0x0003B9 }}, - { 0x001FF6, 0, { 0x0003C9, /* 1FF6; 03C9 0342; Case map */ - 0x000342 }}, - { 0x001FF7, 0, { 0x0003C9, /* 1FF7; 03C9 0342 03B9; Case map */ - 0x000342, 0x0003B9 }}, - { 0x001FF8, 0, { 0x001F78 }}, /* 1FF8; 1F78; Case map */ - { 0x001FF9, 0, { 0x001F79 }}, /* 1FF9; 1F79; Case map */ - { 0x001FFA, 0, { 0x001F7C }}, /* 1FFA; 1F7C; Case map */ - { 0x001FFB, 0, { 0x001F7D }}, /* 1FFB; 1F7D; Case map */ - { 0x001FFC, 0, { 0x0003C9, /* 1FFC; 03C9 03B9; Case map */ - 0x0003B9 }}, - { 0x002126, 0, { 0x0003C9 }}, /* 2126; 03C9; Case map */ - { 0x00212A, 0, { 0x00006B }}, /* 212A; 006B; Case map */ - { 0x00212B, 0, { 0x0000E5 }}, /* 212B; 00E5; Case map */ - { 0x002160, 0, { 0x002170 }}, /* 2160; 2170; Case map */ - { 0x002161, 0, { 0x002171 }}, /* 2161; 2171; Case map */ - { 0x002162, 0, { 0x002172 }}, /* 2162; 2172; Case map */ - { 0x002163, 0, { 0x002173 }}, /* 2163; 2173; Case map */ - { 0x002164, 0, { 0x002174 }}, /* 2164; 2174; Case map */ - { 0x002165, 0, { 0x002175 }}, /* 2165; 2175; Case map */ - { 0x002166, 0, { 0x002176 }}, /* 2166; 2176; Case map */ - { 0x002167, 0, { 0x002177 }}, /* 2167; 2177; Case map */ - { 0x002168, 0, { 0x002178 }}, /* 2168; 2178; Case map */ - { 0x002169, 0, { 0x002179 }}, /* 2169; 2179; Case map */ - { 0x00216A, 0, { 0x00217A }}, /* 216A; 217A; Case map */ - { 0x00216B, 0, { 0x00217B }}, /* 216B; 217B; Case map */ - { 0x00216C, 0, { 0x00217C }}, /* 216C; 217C; Case map */ - { 0x00216D, 0, { 0x00217D }}, /* 216D; 217D; Case map */ - { 0x00216E, 0, { 0x00217E }}, /* 216E; 217E; Case map */ - { 0x00216F, 0, { 0x00217F }}, /* 216F; 217F; Case map */ - { 0x0024B6, 0, { 0x0024D0 }}, /* 24B6; 24D0; Case map */ - { 0x0024B7, 0, { 0x0024D1 }}, /* 24B7; 24D1; Case map */ - { 0x0024B8, 0, { 0x0024D2 }}, /* 24B8; 24D2; Case map */ - { 0x0024B9, 0, { 0x0024D3 }}, /* 24B9; 24D3; Case map */ - { 0x0024BA, 0, { 0x0024D4 }}, /* 24BA; 24D4; Case map */ - { 0x0024BB, 0, { 0x0024D5 }}, /* 24BB; 24D5; Case map */ - { 0x0024BC, 0, { 0x0024D6 }}, /* 24BC; 24D6; Case map */ - { 0x0024BD, 0, { 0x0024D7 }}, /* 24BD; 24D7; Case map */ - { 0x0024BE, 0, { 0x0024D8 }}, /* 24BE; 24D8; Case map */ - { 0x0024BF, 0, { 0x0024D9 }}, /* 24BF; 24D9; Case map */ - { 0x0024C0, 0, { 0x0024DA }}, /* 24C0; 24DA; Case map */ - { 0x0024C1, 0, { 0x0024DB }}, /* 24C1; 24DB; Case map */ - { 0x0024C2, 0, { 0x0024DC }}, /* 24C2; 24DC; Case map */ - { 0x0024C3, 0, { 0x0024DD }}, /* 24C3; 24DD; Case map */ - { 0x0024C4, 0, { 0x0024DE }}, /* 24C4; 24DE; Case map */ - { 0x0024C5, 0, { 0x0024DF }}, /* 24C5; 24DF; Case map */ - { 0x0024C6, 0, { 0x0024E0 }}, /* 24C6; 24E0; Case map */ - { 0x0024C7, 0, { 0x0024E1 }}, /* 24C7; 24E1; Case map */ - { 0x0024C8, 0, { 0x0024E2 }}, /* 24C8; 24E2; Case map */ - { 0x0024C9, 0, { 0x0024E3 }}, /* 24C9; 24E3; Case map */ - { 0x0024CA, 0, { 0x0024E4 }}, /* 24CA; 24E4; Case map */ - { 0x0024CB, 0, { 0x0024E5 }}, /* 24CB; 24E5; Case map */ - { 0x0024CC, 0, { 0x0024E6 }}, /* 24CC; 24E6; Case map */ - { 0x0024CD, 0, { 0x0024E7 }}, /* 24CD; 24E7; Case map */ - { 0x0024CE, 0, { 0x0024E8 }}, /* 24CE; 24E8; Case map */ - { 0x0024CF, 0, { 0x0024E9 }}, /* 24CF; 24E9; Case map */ - { 0x00FB00, 0, { 0x000066, /* FB00; 0066 0066; Case map */ - 0x000066 }}, - { 0x00FB01, 0, { 0x000066, /* FB01; 0066 0069; Case map */ - 0x000069 }}, - { 0x00FB02, 0, { 0x000066, /* FB02; 0066 006C; Case map */ - 0x00006C }}, - { 0x00FB03, 0, { 0x000066, /* FB03; 0066 0066 0069; Case map */ - 0x000066, 0x000069 }}, - { 0x00FB04, 0, { 0x000066, /* FB04; 0066 0066 006C; Case map */ - 0x000066, 0x00006C }}, - { 0x00FB05, 0, { 0x000073, /* FB05; 0073 0074; Case map */ - 0x000074 }}, - { 0x00FB06, 0, { 0x000073, /* FB06; 0073 0074; Case map */ - 0x000074 }}, - { 0x00FB13, 0, { 0x000574, /* FB13; 0574 0576; Case map */ - 0x000576 }}, - { 0x00FB14, 0, { 0x000574, /* FB14; 0574 0565; Case map */ - 0x000565 }}, - { 0x00FB15, 0, { 0x000574, /* FB15; 0574 056B; Case map */ - 0x00056B }}, - { 0x00FB16, 0, { 0x00057E, /* FB16; 057E 0576; Case map */ - 0x000576 }}, - { 0x00FB17, 0, { 0x000574, /* FB17; 0574 056D; Case map */ - 0x00056D }}, - { 0x00FF21, 0, { 0x00FF41 }}, /* FF21; FF41; Case map */ - { 0x00FF22, 0, { 0x00FF42 }}, /* FF22; FF42; Case map */ - { 0x00FF23, 0, { 0x00FF43 }}, /* FF23; FF43; Case map */ - { 0x00FF24, 0, { 0x00FF44 }}, /* FF24; FF44; Case map */ - { 0x00FF25, 0, { 0x00FF45 }}, /* FF25; FF45; Case map */ - { 0x00FF26, 0, { 0x00FF46 }}, /* FF26; FF46; Case map */ - { 0x00FF27, 0, { 0x00FF47 }}, /* FF27; FF47; Case map */ - { 0x00FF28, 0, { 0x00FF48 }}, /* FF28; FF48; Case map */ - { 0x00FF29, 0, { 0x00FF49 }}, /* FF29; FF49; Case map */ - { 0x00FF2A, 0, { 0x00FF4A }}, /* FF2A; FF4A; Case map */ - { 0x00FF2B, 0, { 0x00FF4B }}, /* FF2B; FF4B; Case map */ - { 0x00FF2C, 0, { 0x00FF4C }}, /* FF2C; FF4C; Case map */ - { 0x00FF2D, 0, { 0x00FF4D }}, /* FF2D; FF4D; Case map */ - { 0x00FF2E, 0, { 0x00FF4E }}, /* FF2E; FF4E; Case map */ - { 0x00FF2F, 0, { 0x00FF4F }}, /* FF2F; FF4F; Case map */ - { 0x00FF30, 0, { 0x00FF50 }}, /* FF30; FF50; Case map */ - { 0x00FF31, 0, { 0x00FF51 }}, /* FF31; FF51; Case map */ - { 0x00FF32, 0, { 0x00FF52 }}, /* FF32; FF52; Case map */ - { 0x00FF33, 0, { 0x00FF53 }}, /* FF33; FF53; Case map */ - { 0x00FF34, 0, { 0x00FF54 }}, /* FF34; FF54; Case map */ - { 0x00FF35, 0, { 0x00FF55 }}, /* FF35; FF55; Case map */ - { 0x00FF36, 0, { 0x00FF56 }}, /* FF36; FF56; Case map */ - { 0x00FF37, 0, { 0x00FF57 }}, /* FF37; FF57; Case map */ - { 0x00FF38, 0, { 0x00FF58 }}, /* FF38; FF58; Case map */ - { 0x00FF39, 0, { 0x00FF59 }}, /* FF39; FF59; Case map */ - { 0x00FF3A, 0, { 0x00FF5A }}, /* FF3A; FF5A; Case map */ - { 0x010400, 0, { 0x010428 }}, /* 10400; 10428; Case map */ - { 0x010401, 0, { 0x010429 }}, /* 10401; 10429; Case map */ - { 0x010402, 0, { 0x01042A }}, /* 10402; 1042A; Case map */ - { 0x010403, 0, { 0x01042B }}, /* 10403; 1042B; Case map */ - { 0x010404, 0, { 0x01042C }}, /* 10404; 1042C; Case map */ - { 0x010405, 0, { 0x01042D }}, /* 10405; 1042D; Case map */ - { 0x010406, 0, { 0x01042E }}, /* 10406; 1042E; Case map */ - { 0x010407, 0, { 0x01042F }}, /* 10407; 1042F; Case map */ - { 0x010408, 0, { 0x010430 }}, /* 10408; 10430; Case map */ - { 0x010409, 0, { 0x010431 }}, /* 10409; 10431; Case map */ - { 0x01040A, 0, { 0x010432 }}, /* 1040A; 10432; Case map */ - { 0x01040B, 0, { 0x010433 }}, /* 1040B; 10433; Case map */ - { 0x01040C, 0, { 0x010434 }}, /* 1040C; 10434; Case map */ - { 0x01040D, 0, { 0x010435 }}, /* 1040D; 10435; Case map */ - { 0x01040E, 0, { 0x010436 }}, /* 1040E; 10436; Case map */ - { 0x01040F, 0, { 0x010437 }}, /* 1040F; 10437; Case map */ - { 0x010410, 0, { 0x010438 }}, /* 10410; 10438; Case map */ - { 0x010411, 0, { 0x010439 }}, /* 10411; 10439; Case map */ - { 0x010412, 0, { 0x01043A }}, /* 10412; 1043A; Case map */ - { 0x010413, 0, { 0x01043B }}, /* 10413; 1043B; Case map */ - { 0x010414, 0, { 0x01043C }}, /* 10414; 1043C; Case map */ - { 0x010415, 0, { 0x01043D }}, /* 10415; 1043D; Case map */ - { 0x010416, 0, { 0x01043E }}, /* 10416; 1043E; Case map */ - { 0x010417, 0, { 0x01043F }}, /* 10417; 1043F; Case map */ - { 0x010418, 0, { 0x010440 }}, /* 10418; 10440; Case map */ - { 0x010419, 0, { 0x010441 }}, /* 10419; 10441; Case map */ - { 0x01041A, 0, { 0x010442 }}, /* 1041A; 10442; Case map */ - { 0x01041B, 0, { 0x010443 }}, /* 1041B; 10443; Case map */ - { 0x01041C, 0, { 0x010444 }}, /* 1041C; 10444; Case map */ - { 0x01041D, 0, { 0x010445 }}, /* 1041D; 10445; Case map */ - { 0x01041E, 0, { 0x010446 }}, /* 1041E; 10446; Case map */ - { 0x01041F, 0, { 0x010447 }}, /* 1041F; 10447; Case map */ - { 0x010420, 0, { 0x010448 }}, /* 10420; 10448; Case map */ - { 0x010421, 0, { 0x010449 }}, /* 10421; 10449; Case map */ - { 0x010422, 0, { 0x01044A }}, /* 10422; 1044A; Case map */ - { 0x010423, 0, { 0x01044B }}, /* 10423; 1044B; Case map */ - { 0x010424, 0, { 0x01044C }}, /* 10424; 1044C; Case map */ - { 0x010425, 0, { 0x01044D }}, /* 10425; 1044D; Case map */ - { 0 }, -}; - - -/* - * C.1.1 ASCII space characters - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_1_1[] = { - { 0x000020 }, /* 0020; SPACE */ - { 0 }, -}; - - -/* - * C.1.2 Non-ASCII space characters - * */ - -const Stringprep_table_element stringprep_rfc3454_C_1_2[] = { - { 0x0000A0 }, /* 00A0; NO-BREAK SPACE */ - { 0x001680 }, /* 1680; OGHAM SPACE MARK */ - { 0x002000 }, /* 2000; EN QUAD */ - { 0x002001 }, /* 2001; EM QUAD */ - { 0x002002 }, /* 2002; EN SPACE */ - { 0x002003 }, /* 2003; EM SPACE */ - { 0x002004 }, /* 2004; THREE-PER-EM SPACE */ - { 0x002005 }, /* 2005; FOUR-PER-EM SPACE */ - { 0x002006 }, /* 2006; SIX-PER-EM SPACE */ - { 0x002007 }, /* 2007; FIGURE SPACE */ - { 0x002008 }, /* 2008; PUNCTUATION SPACE */ - { 0x002009 }, /* 2009; THIN SPACE */ - { 0x00200A }, /* 200A; HAIR SPACE */ - { 0x00200B }, /* 200B; ZERO WIDTH SPACE */ - { 0x00202F }, /* 202F; NARROW NO-BREAK SPACE */ - { 0x00205F }, /* 205F; MEDIUM MATHEMATICAL SPACE */ - { 0x003000 }, /* 3000; IDEOGRAPHIC SPACE */ - { 0 }, -}; - - -/* - * C.2.1 ASCII control characters - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_2_1[] = { - { 0x000000, 0x00001F }, /* 0000-001F; [CONTROL CHARACTERS] */ - { 0x00007F }, /* 007F; DELETE */ - { 0 }, -}; - - -/* - * C.2.2 Non-ASCII control characters - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_2_2[] = { - { 0x000080, 0x00009F }, /* 0080-009F; [CONTROL CHARACTERS] */ - { 0x0006DD }, /* 06DD; ARABIC END OF AYAH */ - { 0x00070F }, /* 070F; SYRIAC ABBREVIATION MARK */ - { 0x00180E }, /* 180E; MONGOLIAN VOWEL SEPARATOR */ - { 0x00200C }, /* 200C; ZERO WIDTH NON-JOINER */ - { 0x00200D }, /* 200D; ZERO WIDTH JOINER */ - { 0x002028 }, /* 2028; LINE SEPARATOR */ - { 0x002029 }, /* 2029; PARAGRAPH SEPARATOR */ - { 0x002060 }, /* 2060; WORD JOINER */ - { 0x002061 }, /* 2061; FUNCTION APPLICATION */ - { 0x002062 }, /* 2062; INVISIBLE TIMES */ - { 0x002063 }, /* 2063; INVISIBLE SEPARATOR */ - { 0x00206A, 0x00206F }, /* 206A-206F; [CONTROL CHARACTERS] */ - { 0x00FEFF }, /* FEFF; ZERO WIDTH NO-BREAK SPACE */ - { 0x00FFF9, 0x00FFFC }, /* FFF9-FFFC; [CONTROL CHARACTERS] */ - { 0x01D173, 0x01D17A }, /* 1D173-1D17A; [MUSICAL CONTROL CHARACTERS] */ - { 0 }, -}; - - -/* - * C.3 Private use - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_3[] = { - { 0x00E000, 0x00F8FF }, /* E000-F8FF; [PRIVATE USE, PLANE 0] */ - { 0x0F0000, 0x0FFFFD }, /* F0000-FFFFD; [PRIVATE USE, PLANE 15] */ - { 0x100000, 0x10FFFD }, /* 100000-10FFFD; [PRIVATE USE, PLANE 16] */ - { 0 }, -}; - - -/* - * C.4 Non-character code points - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_4[] = { - { 0x00FDD0, 0x00FDEF }, /* FDD0-FDEF; [NONCHARACTER CODE POINTS] */ - { 0x00FFFE, 0x00FFFF }, /* FFFE-FFFF; [NONCHARACTER CODE POINTS] */ - { 0x01FFFE, 0x01FFFF }, /* 1FFFE-1FFFF; [NONCHARACTER CODE POINTS] */ - { 0x02FFFE, 0x02FFFF }, /* 2FFFE-2FFFF; [NONCHARACTER CODE POINTS] */ - { 0x03FFFE, 0x03FFFF }, /* 3FFFE-3FFFF; [NONCHARACTER CODE POINTS] */ - { 0x04FFFE, 0x04FFFF }, /* 4FFFE-4FFFF; [NONCHARACTER CODE POINTS] */ - { 0x05FFFE, 0x05FFFF }, /* 5FFFE-5FFFF; [NONCHARACTER CODE POINTS] */ - { 0x06FFFE, 0x06FFFF }, /* 6FFFE-6FFFF; [NONCHARACTER CODE POINTS] */ - { 0x07FFFE, 0x07FFFF }, /* 7FFFE-7FFFF; [NONCHARACTER CODE POINTS] */ - { 0x08FFFE, 0x08FFFF }, /* 8FFFE-8FFFF; [NONCHARACTER CODE POINTS] */ - { 0x09FFFE, 0x09FFFF }, /* 9FFFE-9FFFF; [NONCHARACTER CODE POINTS] */ - { 0x0AFFFE, 0x0AFFFF }, /* AFFFE-AFFFF; [NONCHARACTER CODE POINTS] */ - { 0x0BFFFE, 0x0BFFFF }, /* BFFFE-BFFFF; [NONCHARACTER CODE POINTS] */ - { 0x0CFFFE, 0x0CFFFF }, /* CFFFE-CFFFF; [NONCHARACTER CODE POINTS] */ - { 0x0DFFFE, 0x0DFFFF }, /* DFFFE-DFFFF; [NONCHARACTER CODE POINTS] */ - { 0x0EFFFE, 0x0EFFFF }, /* EFFFE-EFFFF; [NONCHARACTER CODE POINTS] */ - { 0x0FFFFE, 0x0FFFFF }, /* FFFFE-FFFFF; [NONCHARACTER CODE POINTS] */ - { 0x10FFFE, 0x10FFFF }, /* 10FFFE-10FFFF; [NONCHARACTER CODE POINTS] */ - { 0 }, -}; - - -/* - * C.5 Surrogate codes - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_5[] = { - { 0x00D800, 0x00DFFF }, /* D800-DFFF; [SURROGATE CODES] */ - { 0 }, -}; - - -/* - * C.6 Inappropriate for plain text - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_6[] = { - { 0x00FFF9 }, /* FFF9; INTERLINEAR ANNOTATION ANCHOR */ - { 0x00FFFA }, /* FFFA; INTERLINEAR ANNOTATION SEPARATOR */ - { 0x00FFFB }, /* FFFB; INTERLINEAR ANNOTATION TERMINATOR */ - { 0x00FFFC }, /* FFFC; OBJECT REPLACEMENT CHARACTER */ - { 0x00FFFD }, /* FFFD; REPLACEMENT CHARACTER */ - { 0 }, -}; - - -/* - * C.7 Inappropriate for canonical representation - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_7[] = { - { 0x002FF0, 0x002FFB }, /* 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS] */ - { 0 }, -}; - - -/* - * C.8 Change display properties or are deprecated - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_8[] = { - { 0x000340 }, /* 0340; COMBINING GRAVE TONE MARK */ - { 0x000341 }, /* 0341; COMBINING ACUTE TONE MARK */ - { 0x00200E }, /* 200E; LEFT-TO-RIGHT MARK */ - { 0x00200F }, /* 200F; RIGHT-TO-LEFT MARK */ - { 0x00202A }, /* 202A; LEFT-TO-RIGHT EMBEDDING */ - { 0x00202B }, /* 202B; RIGHT-TO-LEFT EMBEDDING */ - { 0x00202C }, /* 202C; POP DIRECTIONAL FORMATTING */ - { 0x00202D }, /* 202D; LEFT-TO-RIGHT OVERRIDE */ - { 0x00202E }, /* 202E; RIGHT-TO-LEFT OVERRIDE */ - { 0x00206A }, /* 206A; INHIBIT SYMMETRIC SWAPPING */ - { 0x00206B }, /* 206B; ACTIVATE SYMMETRIC SWAPPING */ - { 0x00206C }, /* 206C; INHIBIT ARABIC FORM SHAPING */ - { 0x00206D }, /* 206D; ACTIVATE ARABIC FORM SHAPING */ - { 0x00206E }, /* 206E; NATIONAL DIGIT SHAPES */ - { 0x00206F }, /* 206F; NOMINAL DIGIT SHAPES */ - { 0 }, -}; - - -/* - * C.9 Tagging characters - * - */ - -const Stringprep_table_element stringprep_rfc3454_C_9[] = { - { 0x0E0001 }, /* E0001; LANGUAGE TAG */ - { 0x0E0020, 0x0E007F }, /* E0020-E007F; [TAGGING CHARACTERS] */ - { 0 }, -}; - - -/* - * D.1 Characters with bidirectional property "R" or "AL" - * - */ - -const Stringprep_table_element stringprep_rfc3454_D_1[] = { - { 0x0005BE }, /* 05BE */ - { 0x0005C0 }, /* 05C0 */ - { 0x0005C3 }, /* 05C3 */ - { 0x0005D0, 0x0005EA }, /* 05D0-05EA */ - { 0x0005F0, 0x0005F4 }, /* 05F0-05F4 */ - { 0x00061B }, /* 061B */ - { 0x00061F }, /* 061F */ - { 0x000621, 0x00063A }, /* 0621-063A */ - { 0x000640, 0x00064A }, /* 0640-064A */ - { 0x00066D, 0x00066F }, /* 066D-066F */ - { 0x000671, 0x0006D5 }, /* 0671-06D5 */ - { 0x0006DD }, /* 06DD */ - { 0x0006E5, 0x0006E6 }, /* 06E5-06E6 */ - { 0x0006FA, 0x0006FE }, /* 06FA-06FE */ - { 0x000700, 0x00070D }, /* 0700-070D */ - { 0x000710 }, /* 0710 */ - { 0x000712, 0x00072C }, /* 0712-072C */ - { 0x000780, 0x0007A5 }, /* 0780-07A5 */ - { 0x0007B1 }, /* 07B1 */ - { 0x00200F }, /* 200F */ - { 0x00FB1D }, /* FB1D */ - { 0x00FB1F, 0x00FB28 }, /* FB1F-FB28 */ - { 0x00FB2A, 0x00FB36 }, /* FB2A-FB36 */ - { 0x00FB38, 0x00FB3C }, /* FB38-FB3C */ - { 0x00FB3E }, /* FB3E */ - { 0x00FB40, 0x00FB41 }, /* FB40-FB41 */ - { 0x00FB43, 0x00FB44 }, /* FB43-FB44 */ - { 0x00FB46, 0x00FBB1 }, /* FB46-FBB1 */ - { 0x00FBD3, 0x00FD3D }, /* FBD3-FD3D */ - { 0x00FD50, 0x00FD8F }, /* FD50-FD8F */ - { 0x00FD92, 0x00FDC7 }, /* FD92-FDC7 */ - { 0x00FDF0, 0x00FDFC }, /* FDF0-FDFC */ - { 0x00FE70, 0x00FE74 }, /* FE70-FE74 */ - { 0x00FE76, 0x00FEFC }, /* FE76-FEFC */ - { 0 }, -}; - - -/* - * D.2 Characters with bidirectional property "L" - * - */ - -const Stringprep_table_element stringprep_rfc3454_D_2[] = { - { 0x000041, 0x00005A }, /* 0041-005A */ - { 0x000061, 0x00007A }, /* 0061-007A */ - { 0x0000AA }, /* 00AA */ - { 0x0000B5 }, /* 00B5 */ - { 0x0000BA }, /* 00BA */ - { 0x0000C0, 0x0000D6 }, /* 00C0-00D6 */ - { 0x0000D8, 0x0000F6 }, /* 00D8-00F6 */ - { 0x0000F8, 0x000220 }, /* 00F8-0220 */ - { 0x000222, 0x000233 }, /* 0222-0233 */ - { 0x000250, 0x0002AD }, /* 0250-02AD */ - { 0x0002B0, 0x0002B8 }, /* 02B0-02B8 */ - { 0x0002BB, 0x0002C1 }, /* 02BB-02C1 */ - { 0x0002D0, 0x0002D1 }, /* 02D0-02D1 */ - { 0x0002E0, 0x0002E4 }, /* 02E0-02E4 */ - { 0x0002EE }, /* 02EE */ - { 0x00037A }, /* 037A */ - { 0x000386 }, /* 0386 */ - { 0x000388, 0x00038A }, /* 0388-038A */ - { 0x00038C }, /* 038C */ - { 0x00038E, 0x0003A1 }, /* 038E-03A1 */ - { 0x0003A3, 0x0003CE }, /* 03A3-03CE */ - { 0x0003D0, 0x0003F5 }, /* 03D0-03F5 */ - { 0x000400, 0x000482 }, /* 0400-0482 */ - { 0x00048A, 0x0004CE }, /* 048A-04CE */ - { 0x0004D0, 0x0004F5 }, /* 04D0-04F5 */ - { 0x0004F8, 0x0004F9 }, /* 04F8-04F9 */ - { 0x000500, 0x00050F }, /* 0500-050F */ - { 0x000531, 0x000556 }, /* 0531-0556 */ - { 0x000559, 0x00055F }, /* 0559-055F */ - { 0x000561, 0x000587 }, /* 0561-0587 */ - { 0x000589 }, /* 0589 */ - { 0x000903 }, /* 0903 */ - { 0x000905, 0x000939 }, /* 0905-0939 */ - { 0x00093D, 0x000940 }, /* 093D-0940 */ - { 0x000949, 0x00094C }, /* 0949-094C */ - { 0x000950 }, /* 0950 */ - { 0x000958, 0x000961 }, /* 0958-0961 */ - { 0x000964, 0x000970 }, /* 0964-0970 */ - { 0x000982, 0x000983 }, /* 0982-0983 */ - { 0x000985, 0x00098C }, /* 0985-098C */ - { 0x00098F, 0x000990 }, /* 098F-0990 */ - { 0x000993, 0x0009A8 }, /* 0993-09A8 */ - { 0x0009AA, 0x0009B0 }, /* 09AA-09B0 */ - { 0x0009B2 }, /* 09B2 */ - { 0x0009B6, 0x0009B9 }, /* 09B6-09B9 */ - { 0x0009BE, 0x0009C0 }, /* 09BE-09C0 */ - { 0x0009C7, 0x0009C8 }, /* 09C7-09C8 */ - { 0x0009CB, 0x0009CC }, /* 09CB-09CC */ - { 0x0009D7 }, /* 09D7 */ - { 0x0009DC, 0x0009DD }, /* 09DC-09DD */ - { 0x0009DF, 0x0009E1 }, /* 09DF-09E1 */ - { 0x0009E6, 0x0009F1 }, /* 09E6-09F1 */ - { 0x0009F4, 0x0009FA }, /* 09F4-09FA */ - { 0x000A05, 0x000A0A }, /* 0A05-0A0A */ - { 0x000A0F, 0x000A10 }, /* 0A0F-0A10 */ - { 0x000A13, 0x000A28 }, /* 0A13-0A28 */ - { 0x000A2A, 0x000A30 }, /* 0A2A-0A30 */ - { 0x000A32, 0x000A33 }, /* 0A32-0A33 */ - { 0x000A35, 0x000A36 }, /* 0A35-0A36 */ - { 0x000A38, 0x000A39 }, /* 0A38-0A39 */ - { 0x000A3E, 0x000A40 }, /* 0A3E-0A40 */ - { 0x000A59, 0x000A5C }, /* 0A59-0A5C */ - { 0x000A5E }, /* 0A5E */ - { 0x000A66, 0x000A6F }, /* 0A66-0A6F */ - { 0x000A72, 0x000A74 }, /* 0A72-0A74 */ - { 0x000A83 }, /* 0A83 */ - { 0x000A85, 0x000A8B }, /* 0A85-0A8B */ - { 0x000A8D }, /* 0A8D */ - { 0x000A8F, 0x000A91 }, /* 0A8F-0A91 */ - { 0x000A93, 0x000AA8 }, /* 0A93-0AA8 */ - { 0x000AAA, 0x000AB0 }, /* 0AAA-0AB0 */ - { 0x000AB2, 0x000AB3 }, /* 0AB2-0AB3 */ - { 0x000AB5, 0x000AB9 }, /* 0AB5-0AB9 */ - { 0x000ABD, 0x000AC0 }, /* 0ABD-0AC0 */ - { 0x000AC9 }, /* 0AC9 */ - { 0x000ACB, 0x000ACC }, /* 0ACB-0ACC */ - { 0x000AD0 }, /* 0AD0 */ - { 0x000AE0 }, /* 0AE0 */ - { 0x000AE6, 0x000AEF }, /* 0AE6-0AEF */ - { 0x000B02, 0x000B03 }, /* 0B02-0B03 */ - { 0x000B05, 0x000B0C }, /* 0B05-0B0C */ - { 0x000B0F, 0x000B10 }, /* 0B0F-0B10 */ - { 0x000B13, 0x000B28 }, /* 0B13-0B28 */ - { 0x000B2A, 0x000B30 }, /* 0B2A-0B30 */ - { 0x000B32, 0x000B33 }, /* 0B32-0B33 */ - { 0x000B36, 0x000B39 }, /* 0B36-0B39 */ - { 0x000B3D, 0x000B3E }, /* 0B3D-0B3E */ - { 0x000B40 }, /* 0B40 */ - { 0x000B47, 0x000B48 }, /* 0B47-0B48 */ - { 0x000B4B, 0x000B4C }, /* 0B4B-0B4C */ - { 0x000B57 }, /* 0B57 */ - { 0x000B5C, 0x000B5D }, /* 0B5C-0B5D */ - { 0x000B5F, 0x000B61 }, /* 0B5F-0B61 */ - { 0x000B66, 0x000B70 }, /* 0B66-0B70 */ - { 0x000B83 }, /* 0B83 */ - { 0x000B85, 0x000B8A }, /* 0B85-0B8A */ - { 0x000B8E, 0x000B90 }, /* 0B8E-0B90 */ - { 0x000B92, 0x000B95 }, /* 0B92-0B95 */ - { 0x000B99, 0x000B9A }, /* 0B99-0B9A */ - { 0x000B9C }, /* 0B9C */ - { 0x000B9E, 0x000B9F }, /* 0B9E-0B9F */ - { 0x000BA3, 0x000BA4 }, /* 0BA3-0BA4 */ - { 0x000BA8, 0x000BAA }, /* 0BA8-0BAA */ - { 0x000BAE, 0x000BB5 }, /* 0BAE-0BB5 */ - { 0x000BB7, 0x000BB9 }, /* 0BB7-0BB9 */ - { 0x000BBE, 0x000BBF }, /* 0BBE-0BBF */ - { 0x000BC1, 0x000BC2 }, /* 0BC1-0BC2 */ - { 0x000BC6, 0x000BC8 }, /* 0BC6-0BC8 */ - { 0x000BCA, 0x000BCC }, /* 0BCA-0BCC */ - { 0x000BD7 }, /* 0BD7 */ - { 0x000BE7, 0x000BF2 }, /* 0BE7-0BF2 */ - { 0x000C01, 0x000C03 }, /* 0C01-0C03 */ - { 0x000C05, 0x000C0C }, /* 0C05-0C0C */ - { 0x000C0E, 0x000C10 }, /* 0C0E-0C10 */ - { 0x000C12, 0x000C28 }, /* 0C12-0C28 */ - { 0x000C2A, 0x000C33 }, /* 0C2A-0C33 */ - { 0x000C35, 0x000C39 }, /* 0C35-0C39 */ - { 0x000C41, 0x000C44 }, /* 0C41-0C44 */ - { 0x000C60, 0x000C61 }, /* 0C60-0C61 */ - { 0x000C66, 0x000C6F }, /* 0C66-0C6F */ - { 0x000C82, 0x000C83 }, /* 0C82-0C83 */ - { 0x000C85, 0x000C8C }, /* 0C85-0C8C */ - { 0x000C8E, 0x000C90 }, /* 0C8E-0C90 */ - { 0x000C92, 0x000CA8 }, /* 0C92-0CA8 */ - { 0x000CAA, 0x000CB3 }, /* 0CAA-0CB3 */ - { 0x000CB5, 0x000CB9 }, /* 0CB5-0CB9 */ - { 0x000CBE }, /* 0CBE */ - { 0x000CC0, 0x000CC4 }, /* 0CC0-0CC4 */ - { 0x000CC7, 0x000CC8 }, /* 0CC7-0CC8 */ - { 0x000CCA, 0x000CCB }, /* 0CCA-0CCB */ - { 0x000CD5, 0x000CD6 }, /* 0CD5-0CD6 */ - { 0x000CDE }, /* 0CDE */ - { 0x000CE0, 0x000CE1 }, /* 0CE0-0CE1 */ - { 0x000CE6, 0x000CEF }, /* 0CE6-0CEF */ - { 0x000D02, 0x000D03 }, /* 0D02-0D03 */ - { 0x000D05, 0x000D0C }, /* 0D05-0D0C */ - { 0x000D0E, 0x000D10 }, /* 0D0E-0D10 */ - { 0x000D12, 0x000D28 }, /* 0D12-0D28 */ - { 0x000D2A, 0x000D39 }, /* 0D2A-0D39 */ - { 0x000D3E, 0x000D40 }, /* 0D3E-0D40 */ - { 0x000D46, 0x000D48 }, /* 0D46-0D48 */ - { 0x000D4A, 0x000D4C }, /* 0D4A-0D4C */ - { 0x000D57 }, /* 0D57 */ - { 0x000D60, 0x000D61 }, /* 0D60-0D61 */ - { 0x000D66, 0x000D6F }, /* 0D66-0D6F */ - { 0x000D82, 0x000D83 }, /* 0D82-0D83 */ - { 0x000D85, 0x000D96 }, /* 0D85-0D96 */ - { 0x000D9A, 0x000DB1 }, /* 0D9A-0DB1 */ - { 0x000DB3, 0x000DBB }, /* 0DB3-0DBB */ - { 0x000DBD }, /* 0DBD */ - { 0x000DC0, 0x000DC6 }, /* 0DC0-0DC6 */ - { 0x000DCF, 0x000DD1 }, /* 0DCF-0DD1 */ - { 0x000DD8, 0x000DDF }, /* 0DD8-0DDF */ - { 0x000DF2, 0x000DF4 }, /* 0DF2-0DF4 */ - { 0x000E01, 0x000E30 }, /* 0E01-0E30 */ - { 0x000E32, 0x000E33 }, /* 0E32-0E33 */ - { 0x000E40, 0x000E46 }, /* 0E40-0E46 */ - { 0x000E4F, 0x000E5B }, /* 0E4F-0E5B */ - { 0x000E81, 0x000E82 }, /* 0E81-0E82 */ - { 0x000E84 }, /* 0E84 */ - { 0x000E87, 0x000E88 }, /* 0E87-0E88 */ - { 0x000E8A }, /* 0E8A */ - { 0x000E8D }, /* 0E8D */ - { 0x000E94, 0x000E97 }, /* 0E94-0E97 */ - { 0x000E99, 0x000E9F }, /* 0E99-0E9F */ - { 0x000EA1, 0x000EA3 }, /* 0EA1-0EA3 */ - { 0x000EA5 }, /* 0EA5 */ - { 0x000EA7 }, /* 0EA7 */ - { 0x000EAA, 0x000EAB }, /* 0EAA-0EAB */ - { 0x000EAD, 0x000EB0 }, /* 0EAD-0EB0 */ - { 0x000EB2, 0x000EB3 }, /* 0EB2-0EB3 */ - { 0x000EBD }, /* 0EBD */ - { 0x000EC0, 0x000EC4 }, /* 0EC0-0EC4 */ - { 0x000EC6 }, /* 0EC6 */ - { 0x000ED0, 0x000ED9 }, /* 0ED0-0ED9 */ - { 0x000EDC, 0x000EDD }, /* 0EDC-0EDD */ - { 0x000F00, 0x000F17 }, /* 0F00-0F17 */ - { 0x000F1A, 0x000F34 }, /* 0F1A-0F34 */ - { 0x000F36 }, /* 0F36 */ - { 0x000F38 }, /* 0F38 */ - { 0x000F3E, 0x000F47 }, /* 0F3E-0F47 */ - { 0x000F49, 0x000F6A }, /* 0F49-0F6A */ - { 0x000F7F }, /* 0F7F */ - { 0x000F85 }, /* 0F85 */ - { 0x000F88, 0x000F8B }, /* 0F88-0F8B */ - { 0x000FBE, 0x000FC5 }, /* 0FBE-0FC5 */ - { 0x000FC7, 0x000FCC }, /* 0FC7-0FCC */ - { 0x000FCF }, /* 0FCF */ - { 0x001000, 0x001021 }, /* 1000-1021 */ - { 0x001023, 0x001027 }, /* 1023-1027 */ - { 0x001029, 0x00102A }, /* 1029-102A */ - { 0x00102C }, /* 102C */ - { 0x001031 }, /* 1031 */ - { 0x001038 }, /* 1038 */ - { 0x001040, 0x001057 }, /* 1040-1057 */ - { 0x0010A0, 0x0010C5 }, /* 10A0-10C5 */ - { 0x0010D0, 0x0010F8 }, /* 10D0-10F8 */ - { 0x0010FB }, /* 10FB */ - { 0x001100, 0x001159 }, /* 1100-1159 */ - { 0x00115F, 0x0011A2 }, /* 115F-11A2 */ - { 0x0011A8, 0x0011F9 }, /* 11A8-11F9 */ - { 0x001200, 0x001206 }, /* 1200-1206 */ - { 0x001208, 0x001246 }, /* 1208-1246 */ - { 0x001248 }, /* 1248 */ - { 0x00124A, 0x00124D }, /* 124A-124D */ - { 0x001250, 0x001256 }, /* 1250-1256 */ - { 0x001258 }, /* 1258 */ - { 0x00125A, 0x00125D }, /* 125A-125D */ - { 0x001260, 0x001286 }, /* 1260-1286 */ - { 0x001288 }, /* 1288 */ - { 0x00128A, 0x00128D }, /* 128A-128D */ - { 0x001290, 0x0012AE }, /* 1290-12AE */ - { 0x0012B0 }, /* 12B0 */ - { 0x0012B2, 0x0012B5 }, /* 12B2-12B5 */ - { 0x0012B8, 0x0012BE }, /* 12B8-12BE */ - { 0x0012C0 }, /* 12C0 */ - { 0x0012C2, 0x0012C5 }, /* 12C2-12C5 */ - { 0x0012C8, 0x0012CE }, /* 12C8-12CE */ - { 0x0012D0, 0x0012D6 }, /* 12D0-12D6 */ - { 0x0012D8, 0x0012EE }, /* 12D8-12EE */ - { 0x0012F0, 0x00130E }, /* 12F0-130E */ - { 0x001310 }, /* 1310 */ - { 0x001312, 0x001315 }, /* 1312-1315 */ - { 0x001318, 0x00131E }, /* 1318-131E */ - { 0x001320, 0x001346 }, /* 1320-1346 */ - { 0x001348, 0x00135A }, /* 1348-135A */ - { 0x001361, 0x00137C }, /* 1361-137C */ - { 0x0013A0, 0x0013F4 }, /* 13A0-13F4 */ - { 0x001401, 0x001676 }, /* 1401-1676 */ - { 0x001681, 0x00169A }, /* 1681-169A */ - { 0x0016A0, 0x0016F0 }, /* 16A0-16F0 */ - { 0x001700, 0x00170C }, /* 1700-170C */ - { 0x00170E, 0x001711 }, /* 170E-1711 */ - { 0x001720, 0x001731 }, /* 1720-1731 */ - { 0x001735, 0x001736 }, /* 1735-1736 */ - { 0x001740, 0x001751 }, /* 1740-1751 */ - { 0x001760, 0x00176C }, /* 1760-176C */ - { 0x00176E, 0x001770 }, /* 176E-1770 */ - { 0x001780, 0x0017B6 }, /* 1780-17B6 */ - { 0x0017BE, 0x0017C5 }, /* 17BE-17C5 */ - { 0x0017C7, 0x0017C8 }, /* 17C7-17C8 */ - { 0x0017D4, 0x0017DA }, /* 17D4-17DA */ - { 0x0017DC }, /* 17DC */ - { 0x0017E0, 0x0017E9 }, /* 17E0-17E9 */ - { 0x001810, 0x001819 }, /* 1810-1819 */ - { 0x001820, 0x001877 }, /* 1820-1877 */ - { 0x001880, 0x0018A8 }, /* 1880-18A8 */ - { 0x001E00, 0x001E9B }, /* 1E00-1E9B */ - { 0x001EA0, 0x001EF9 }, /* 1EA0-1EF9 */ - { 0x001F00, 0x001F15 }, /* 1F00-1F15 */ - { 0x001F18, 0x001F1D }, /* 1F18-1F1D */ - { 0x001F20, 0x001F45 }, /* 1F20-1F45 */ - { 0x001F48, 0x001F4D }, /* 1F48-1F4D */ - { 0x001F50, 0x001F57 }, /* 1F50-1F57 */ - { 0x001F59 }, /* 1F59 */ - { 0x001F5B }, /* 1F5B */ - { 0x001F5D }, /* 1F5D */ - { 0x001F5F, 0x001F7D }, /* 1F5F-1F7D */ - { 0x001F80, 0x001FB4 }, /* 1F80-1FB4 */ - { 0x001FB6, 0x001FBC }, /* 1FB6-1FBC */ - { 0x001FBE }, /* 1FBE */ - { 0x001FC2, 0x001FC4 }, /* 1FC2-1FC4 */ - { 0x001FC6, 0x001FCC }, /* 1FC6-1FCC */ - { 0x001FD0, 0x001FD3 }, /* 1FD0-1FD3 */ - { 0x001FD6, 0x001FDB }, /* 1FD6-1FDB */ - { 0x001FE0, 0x001FEC }, /* 1FE0-1FEC */ - { 0x001FF2, 0x001FF4 }, /* 1FF2-1FF4 */ - { 0x001FF6, 0x001FFC }, /* 1FF6-1FFC */ - { 0x00200E }, /* 200E */ - { 0x002071 }, /* 2071 */ - { 0x00207F }, /* 207F */ - { 0x002102 }, /* 2102 */ - { 0x002107 }, /* 2107 */ - { 0x00210A, 0x002113 }, /* 210A-2113 */ - { 0x002115 }, /* 2115 */ - { 0x002119, 0x00211D }, /* 2119-211D */ - { 0x002124 }, /* 2124 */ - { 0x002126 }, /* 2126 */ - { 0x002128 }, /* 2128 */ - { 0x00212A, 0x00212D }, /* 212A-212D */ - { 0x00212F, 0x002131 }, /* 212F-2131 */ - { 0x002133, 0x002139 }, /* 2133-2139 */ - { 0x00213D, 0x00213F }, /* 213D-213F */ - { 0x002145, 0x002149 }, /* 2145-2149 */ - { 0x002160, 0x002183 }, /* 2160-2183 */ - { 0x002336, 0x00237A }, /* 2336-237A */ - { 0x002395 }, /* 2395 */ - { 0x00249C, 0x0024E9 }, /* 249C-24E9 */ - { 0x003005, 0x003007 }, /* 3005-3007 */ - { 0x003021, 0x003029 }, /* 3021-3029 */ - { 0x003031, 0x003035 }, /* 3031-3035 */ - { 0x003038, 0x00303C }, /* 3038-303C */ - { 0x003041, 0x003096 }, /* 3041-3096 */ - { 0x00309D, 0x00309F }, /* 309D-309F */ - { 0x0030A1, 0x0030FA }, /* 30A1-30FA */ - { 0x0030FC, 0x0030FF }, /* 30FC-30FF */ - { 0x003105, 0x00312C }, /* 3105-312C */ - { 0x003131, 0x00318E }, /* 3131-318E */ - { 0x003190, 0x0031B7 }, /* 3190-31B7 */ - { 0x0031F0, 0x00321C }, /* 31F0-321C */ - { 0x003220, 0x003243 }, /* 3220-3243 */ - { 0x003260, 0x00327B }, /* 3260-327B */ - { 0x00327F, 0x0032B0 }, /* 327F-32B0 */ - { 0x0032C0, 0x0032CB }, /* 32C0-32CB */ - { 0x0032D0, 0x0032FE }, /* 32D0-32FE */ - { 0x003300, 0x003376 }, /* 3300-3376 */ - { 0x00337B, 0x0033DD }, /* 337B-33DD */ - { 0x0033E0, 0x0033FE }, /* 33E0-33FE */ - { 0x003400, 0x004DB5 }, /* 3400-4DB5 */ - { 0x004E00, 0x009FA5 }, /* 4E00-9FA5 */ - { 0x00A000, 0x00A48C }, /* A000-A48C */ - { 0x00AC00, 0x00D7A3 }, /* AC00-D7A3 */ - { 0x00D800, 0x00FA2D }, /* D800-FA2D */ - { 0x00FA30, 0x00FA6A }, /* FA30-FA6A */ - { 0x00FB00, 0x00FB06 }, /* FB00-FB06 */ - { 0x00FB13, 0x00FB17 }, /* FB13-FB17 */ - { 0x00FF21, 0x00FF3A }, /* FF21-FF3A */ - { 0x00FF41, 0x00FF5A }, /* FF41-FF5A */ - { 0x00FF66, 0x00FFBE }, /* FF66-FFBE */ - { 0x00FFC2, 0x00FFC7 }, /* FFC2-FFC7 */ - { 0x00FFCA, 0x00FFCF }, /* FFCA-FFCF */ - { 0x00FFD2, 0x00FFD7 }, /* FFD2-FFD7 */ - { 0x00FFDA, 0x00FFDC }, /* FFDA-FFDC */ - { 0x010300, 0x01031E }, /* 10300-1031E */ - { 0x010320, 0x010323 }, /* 10320-10323 */ - { 0x010330, 0x01034A }, /* 10330-1034A */ - { 0x010400, 0x010425 }, /* 10400-10425 */ - { 0x010428, 0x01044D }, /* 10428-1044D */ - { 0x01D000, 0x01D0F5 }, /* 1D000-1D0F5 */ - { 0x01D100, 0x01D126 }, /* 1D100-1D126 */ - { 0x01D12A, 0x01D166 }, /* 1D12A-1D166 */ - { 0x01D16A, 0x01D172 }, /* 1D16A-1D172 */ - { 0x01D183, 0x01D184 }, /* 1D183-1D184 */ - { 0x01D18C, 0x01D1A9 }, /* 1D18C-1D1A9 */ - { 0x01D1AE, 0x01D1DD }, /* 1D1AE-1D1DD */ - { 0x01D400, 0x01D454 }, /* 1D400-1D454 */ - { 0x01D456, 0x01D49C }, /* 1D456-1D49C */ - { 0x01D49E, 0x01D49F }, /* 1D49E-1D49F */ - { 0x01D4A2 }, /* 1D4A2 */ - { 0x01D4A5, 0x01D4A6 }, /* 1D4A5-1D4A6 */ - { 0x01D4A9, 0x01D4AC }, /* 1D4A9-1D4AC */ - { 0x01D4AE, 0x01D4B9 }, /* 1D4AE-1D4B9 */ - { 0x01D4BB }, /* 1D4BB */ - { 0x01D4BD, 0x01D4C0 }, /* 1D4BD-1D4C0 */ - { 0x01D4C2, 0x01D4C3 }, /* 1D4C2-1D4C3 */ - { 0x01D4C5, 0x01D505 }, /* 1D4C5-1D505 */ - { 0x01D507, 0x01D50A }, /* 1D507-1D50A */ - { 0x01D50D, 0x01D514 }, /* 1D50D-1D514 */ - { 0x01D516, 0x01D51C }, /* 1D516-1D51C */ - { 0x01D51E, 0x01D539 }, /* 1D51E-1D539 */ - { 0x01D53B, 0x01D53E }, /* 1D53B-1D53E */ - { 0x01D540, 0x01D544 }, /* 1D540-1D544 */ - { 0x01D546 }, /* 1D546 */ - { 0x01D54A, 0x01D550 }, /* 1D54A-1D550 */ - { 0x01D552, 0x01D6A3 }, /* 1D552-1D6A3 */ - { 0x01D6A8, 0x01D7C9 }, /* 1D6A8-1D7C9 */ - { 0x020000, 0x02A6D6 }, /* 20000-2A6D6 */ - { 0x02F800, 0x02FA1D }, /* 2F800-2FA1D */ - { 0x0F0000, 0x0FFFFD }, /* F0000-FFFFD */ - { 0x100000, 0x10FFFD }, /* 100000-10FFFD */ - { 0 }, -}; - diff --git a/libidn/shlib-versions b/libidn/shlib-versions deleted file mode 100644 index 0aa1a59..0000000 --- a/libidn/shlib-versions +++ /dev/null @@ -1 +0,0 @@ -libcidn=1 diff --git a/libidn/stringprep.c b/libidn/stringprep.c deleted file mode 100644 index 72a502e..0000000 --- a/libidn/stringprep.c +++ /dev/null @@ -1,668 +0,0 @@ -/* stringprep.c --- Core stringprep implementation. - * Copyright (C) 2002, 2003, 2004 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -#include <stdlib.h> -#include <string.h> -#include <stdint.h> - -#include "stringprep.h" - -static ssize_t -stringprep_find_character_in_table (uint32_t ucs4, - const Stringprep_table_element * table) -{ - ssize_t i; - - /* This is where typical uses of Libidn spends very close to all CPU - time and causes most cache misses. One could easily do a binary - search instead. Before rewriting this, I want hard evidence this - slowness is at all relevant in typical applications. (I don't - dispute optimization may improve matters significantly, I'm - mostly interested in having someone give real-world benchmark on - the impact of libidn.) */ - - for (i = 0; table[i].start || table[i].end; i++) - if (ucs4 >= table[i].start && - ucs4 <= (table[i].end ? table[i].end : table[i].start)) - return i; - - return -1; -} - -static ssize_t -stringprep_find_string_in_table (uint32_t * ucs4, - size_t ucs4len, - size_t * tablepos, - const Stringprep_table_element * table) -{ - size_t j; - ssize_t pos; - - for (j = 0; j < ucs4len; j++) - if ((pos = stringprep_find_character_in_table (ucs4[j], table)) != -1) - { - if (tablepos) - *tablepos = pos; - return j; - } - - return -1; -} - -static int -stringprep_apply_table_to_string (uint32_t * ucs4, - size_t * ucs4len, - size_t maxucs4len, - const Stringprep_table_element * table) -{ - ssize_t pos; - size_t i, maplen; - - while ((pos = stringprep_find_string_in_table (ucs4, *ucs4len, - &i, table)) != -1) - { - for (maplen = STRINGPREP_MAX_MAP_CHARS; - maplen > 0 && table[i].map[maplen - 1] == 0; maplen--) - ; - - if (*ucs4len - 1 + maplen >= maxucs4len) - return STRINGPREP_TOO_SMALL_BUFFER; - - memmove (&ucs4[pos + maplen], &ucs4[pos + 1], - sizeof (uint32_t) * (*ucs4len - pos - 1)); - memcpy (&ucs4[pos], table[i].map, sizeof (uint32_t) * maplen); - *ucs4len = *ucs4len - 1 + maplen; - } - - return STRINGPREP_OK; -} - -#define INVERTED(x) ((x) & ((~0UL) >> 1)) -#define UNAPPLICAPLEFLAGS(flags, profileflags) \ - ((!INVERTED(profileflags) && !(profileflags & flags) && profileflags) || \ - ( INVERTED(profileflags) && (profileflags & flags))) - -/** - * stringprep_4i: - * @ucs4: input/output array with string to prepare. - * @len: on input, length of input array with Unicode code points, - * on exit, length of output array with Unicode code points. - * @maxucs4len: maximum length of input/output array. - * @flags: stringprep profile flags, or 0. - * @profile: pointer to stringprep profile to use. - * - * Prepare the input UCS-4 string according to the stringprep profile, - * and write back the result to the input string. - * - * The input is not required to be zero terminated (@ucs4[@len] = 0). - * The output will not be zero terminated unless @ucs4[@len] = 0. - * Instead, see stringprep_4zi() if your input is zero terminated or - * if you want the output to be. - * - * Since the stringprep operation can expand the string, @maxucs4len - * indicate how large the buffer holding the string is. This function - * will not read or write to code points outside that size. - * - * The @flags are one of Stringprep_profile_flags, or 0. - * - * The @profile contain the instructions to perform. Your application - * can define new profiles, possibly re-using the generic stringprep - * tables that always will be part of the library, or use one of the - * currently supported profiles. - * - * Return value: Returns %STRINGPREP_OK iff successful, or an error code. - **/ -int -stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len, - Stringprep_profile_flags flags, - const Stringprep_profile * profile) -{ - size_t i, j; - ssize_t k; - size_t ucs4len = *len; - int rc; - - for (i = 0; profile[i].operation; i++) - { - switch (profile[i].operation) - { - case STRINGPREP_NFKC: - { - uint32_t *q = 0; - - if (UNAPPLICAPLEFLAGS (flags, profile[i].flags)) - break; - - if (flags & STRINGPREP_NO_NFKC && !profile[i].flags) - /* Profile requires NFKC, but callee asked for no NFKC. */ - return STRINGPREP_FLAG_ERROR; - - q = stringprep_ucs4_nfkc_normalize (ucs4, ucs4len); - if (!q) - return STRINGPREP_NFKC_FAILED; - - for (ucs4len = 0; q[ucs4len]; ucs4len++) - ; - - if (ucs4len >= maxucs4len) - { - free (q); - return STRINGPREP_TOO_SMALL_BUFFER; - } - - memcpy (ucs4, q, ucs4len * sizeof (ucs4[0])); - - free (q); - } - break; - - case STRINGPREP_PROHIBIT_TABLE: - k = stringprep_find_string_in_table (ucs4, ucs4len, - NULL, profile[i].table); - if (k != -1) - return STRINGPREP_CONTAINS_PROHIBITED; - break; - - case STRINGPREP_UNASSIGNED_TABLE: - if (UNAPPLICAPLEFLAGS (flags, profile[i].flags)) - break; - if (flags & STRINGPREP_NO_UNASSIGNED) - { - k = stringprep_find_string_in_table - (ucs4, ucs4len, NULL, profile[i].table); - if (k != -1) - return STRINGPREP_CONTAINS_UNASSIGNED; - } - break; - - case STRINGPREP_MAP_TABLE: - if (UNAPPLICAPLEFLAGS (flags, profile[i].flags)) - break; - rc = stringprep_apply_table_to_string - (ucs4, &ucs4len, maxucs4len, profile[i].table); - if (rc != STRINGPREP_OK) - return rc; - break; - - case STRINGPREP_BIDI_PROHIBIT_TABLE: - case STRINGPREP_BIDI_RAL_TABLE: - case STRINGPREP_BIDI_L_TABLE: - break; - - case STRINGPREP_BIDI: - { - int done_prohibited = 0; - int done_ral = 0; - int done_l = 0; - int contains_ral = -1; - int contains_l = -1; - - for (j = 0; profile[j].operation; j++) - if (profile[j].operation == STRINGPREP_BIDI_PROHIBIT_TABLE) - { - done_prohibited = 1; - k = stringprep_find_string_in_table (ucs4, ucs4len, - NULL, - profile[j].table); - if (k != -1) - return STRINGPREP_BIDI_CONTAINS_PROHIBITED; - } - else if (profile[j].operation == STRINGPREP_BIDI_RAL_TABLE) - { - done_ral = 1; - if (stringprep_find_string_in_table - (ucs4, ucs4len, NULL, profile[j].table) != -1) - contains_ral = j; - } - else if (profile[j].operation == STRINGPREP_BIDI_L_TABLE) - { - done_l = 1; - if (stringprep_find_string_in_table - (ucs4, ucs4len, NULL, profile[j].table) != -1) - contains_l = j; - } - - if (!done_prohibited || !done_ral || !done_l) - return STRINGPREP_PROFILE_ERROR; - - if (contains_ral != -1 && contains_l != -1) - return STRINGPREP_BIDI_BOTH_L_AND_RAL; - - if (contains_ral != -1) - { - if (!(stringprep_find_character_in_table - (ucs4[0], profile[contains_ral].table) != -1 && - stringprep_find_character_in_table - (ucs4[ucs4len - 1], profile[contains_ral].table) != -1)) - return STRINGPREP_BIDI_LEADTRAIL_NOT_RAL; - } - } - break; - - default: - return STRINGPREP_PROFILE_ERROR; - break; - } - } - - *len = ucs4len; - - return STRINGPREP_OK; -} - -static int -stringprep_4zi_1 (uint32_t * ucs4, size_t ucs4len, size_t maxucs4len, - Stringprep_profile_flags flags, - const Stringprep_profile * profile) -{ - int rc; - - rc = stringprep_4i (ucs4, &ucs4len, maxucs4len, flags, profile); - if (rc != STRINGPREP_OK) - return rc; - - if (ucs4len >= maxucs4len) - return STRINGPREP_TOO_SMALL_BUFFER; - - ucs4[ucs4len] = 0; - - return STRINGPREP_OK; -} - -/** - * stringprep_4zi: - * @ucs4: input/output array with zero terminated string to prepare. - * @maxucs4len: maximum length of input/output array. - * @flags: stringprep profile flags, or 0. - * @profile: pointer to stringprep profile to use. - * - * Prepare the input zero terminated UCS-4 string according to the - * stringprep profile, and write back the result to the input string. - * - * Since the stringprep operation can expand the string, @maxucs4len - * indicate how large the buffer holding the string is. This function - * will not read or write to code points outside that size. - * - * The @flags are one of Stringprep_profile_flags, or 0. - * - * The @profile contain the instructions to perform. Your application - * can define new profiles, possibly re-using the generic stringprep - * tables that always will be part of the library, or use one of the - * currently supported profiles. - * - * Return value: Returns %STRINGPREP_OK iff successful, or an error code. - **/ -int -stringprep_4zi (uint32_t * ucs4, size_t maxucs4len, - Stringprep_profile_flags flags, - const Stringprep_profile * profile) -{ - size_t ucs4len; - - for (ucs4len = 0; ucs4len < maxucs4len && ucs4[ucs4len] != 0; ucs4len++) - ; - - return stringprep_4zi_1 (ucs4, ucs4len, maxucs4len, flags, profile); -} - -/** - * stringprep: - * @in: input/ouput array with string to prepare. - * @maxlen: maximum length of input/output array. - * @flags: stringprep profile flags, or 0. - * @profile: pointer to stringprep profile to use. - * - * Prepare the input zero terminated UTF-8 string according to the - * stringprep profile, and write back the result to the input string. - * - * Note that you must convert strings entered in the systems locale - * into UTF-8 before using this function, see - * stringprep_locale_to_utf8(). - * - * Since the stringprep operation can expand the string, @maxlen - * indicate how large the buffer holding the string is. This function - * will not read or write to characters outside that size. - * - * The @flags are one of Stringprep_profile_flags, or 0. - * - * The @profile contain the instructions to perform. Your application - * can define new profiles, possibly re-using the generic stringprep - * tables that always will be part of the library, or use one of the - * currently supported profiles. - * - * Return value: Returns %STRINGPREP_OK iff successful, or an error code. - **/ -int -stringprep (char *in, - size_t maxlen, - Stringprep_profile_flags flags, - const Stringprep_profile * profile) -{ - int rc; - char *utf8 = NULL; - uint32_t *ucs4 = NULL; - size_t ucs4len, maxucs4len, adducs4len = 50; - - do - { - free (ucs4); - ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len); - maxucs4len = ucs4len + adducs4len; - uint32_t *newp = realloc (ucs4, maxucs4len * sizeof (uint32_t)); - if (!newp) - { - free (ucs4); - return STRINGPREP_MALLOC_ERROR; - } - ucs4 = newp; - - rc = stringprep_4i (ucs4, &ucs4len, maxucs4len, flags, profile); - adducs4len += 50; - } - while (rc == STRINGPREP_TOO_SMALL_BUFFER); - if (rc != STRINGPREP_OK) - { - free (ucs4); - return rc; - } - - utf8 = stringprep_ucs4_to_utf8 (ucs4, ucs4len, 0, 0); - free (ucs4); - if (!utf8) - return STRINGPREP_MALLOC_ERROR; - - if (strlen (utf8) >= maxlen) - { - free (utf8); - return STRINGPREP_TOO_SMALL_BUFFER; - } - - strcpy (in, utf8); /* flawfinder: ignore */ - - free (utf8); - - return STRINGPREP_OK; -} - -/** - * stringprep_profile: - * @in: input array with UTF-8 string to prepare. - * @out: output variable with pointer to newly allocate string. - * @profile: name of stringprep profile to use. - * @flags: stringprep profile flags, or 0. - * - * Prepare the input zero terminated UTF-8 string according to the - * stringprep profile, and return the result in a newly allocated - * variable. - * - * Note that you must convert strings entered in the systems locale - * into UTF-8 before using this function, see - * stringprep_locale_to_utf8(). - * - * The output @out variable must be deallocated by the caller. - * - * The @flags are one of Stringprep_profile_flags, or 0. - * - * The @profile specifies the name of the stringprep profile to use. - * It must be one of the internally supported stringprep profiles. - * - * Return value: Returns %STRINGPREP_OK iff successful, or an error code. - **/ -int -stringprep_profile (const char *in, - char **out, - const char *profile, Stringprep_profile_flags flags) -{ - const Stringprep_profiles *p; - char *str = NULL; - size_t len = strlen (in) + 1; - int rc; - - for (p = &stringprep_profiles[0]; p->name; p++) - if (strcmp (p->name, profile) == 0) - break; - - if (!p || !p->name || !p->tables) - return STRINGPREP_UNKNOWN_PROFILE; - - do - { - free (str); - str = (char *) malloc (len); - if (str == NULL) - return STRINGPREP_MALLOC_ERROR; - - strcpy (str, in); - - rc = stringprep (str, len, flags, p->tables); - len += 50; - } - while (rc == STRINGPREP_TOO_SMALL_BUFFER); - - if (rc == STRINGPREP_OK) - *out = str; - else - free (str); - - return rc; -} - -/*! \mainpage GNU Internationalized Domain Name Library - * - * \section intro Introduction - * - * GNU Libidn is an implementation of the Stringprep, Punycode and IDNA - * specifications defined by the IETF Internationalized Domain Names - * (IDN) working group, used for internationalized domain names. The - * package is available under the GNU Lesser General Public License. - * - * The library contains a generic Stringprep implementation that does - * Unicode 3.2 NFKC normalization, mapping and prohibitation of - * characters, and bidirectional character handling. Profiles for - * Nameprep, iSCSI, SASL and XMPP are included. Punycode and ASCII - * Compatible Encoding (ACE) via IDNA are supported. A mechanism to - * define Top-Level Domain (TLD) specific validation tables, and to - * compare strings against those tables, is included. Default tables - * for some TLDs are also included. - * - * The Stringprep API consists of two main functions, one for - * converting data from the system's native representation into UTF-8, - * and one function to perform the Stringprep processing. Adding a - * new Stringprep profile for your application within the API is - * straightforward. The Punycode API consists of one encoding - * function and one decoding function. The IDNA API consists of the - * ToASCII and ToUnicode functions, as well as an high-level interface - * for converting entire domain names to and from the ACE encoded - * form. The TLD API consists of one set of functions to extract the - * TLD name from a domain string, one set of functions to locate the - * proper TLD table to use based on the TLD name, and core functions - * to validate a string against a TLD table, and some utility wrappers - * to perform all the steps in one call. - * - * The library is used by, e.g., GNU SASL and Shishi to process user - * names and passwords. Libidn can be built into GNU Libc to enable a - * new system-wide getaddrinfo() flag for IDN processing. - * - * Libidn is developed for the GNU/Linux system, but runs on over 20 Unix - * platforms (including Solaris, IRIX, AIX, and Tru64) and Windows. - * Libidn is written in C and (parts of) the API is accessible from C, - * C++, Emacs Lisp, Python and Java. - * - * The project web page:\n - * http://www.gnu.org/software/libidn/ - * - * The software archive:\n - * ftp://alpha.gnu.org/pub/gnu/libidn/ - * - * For more information see:\n - * http://www.ietf.org/html.charters/idn-charter.html\n - * http://www.ietf.org/rfc/rfc3454.txt (stringprep specification)\n - * http://www.ietf.org/rfc/rfc3490.txt (idna specification)\n - * http://www.ietf.org/rfc/rfc3491.txt (nameprep specification)\n - * http://www.ietf.org/rfc/rfc3492.txt (punycode specification)\n - * http://www.ietf.org/internet-drafts/draft-ietf-ips-iscsi-string-prep-04.txt\n - * http://www.ietf.org/internet-drafts/draft-ietf-krb-wg-utf8-profile-01.txt\n - * http://www.ietf.org/internet-drafts/draft-ietf-sasl-anon-00.txt\n - * http://www.ietf.org/internet-drafts/draft-ietf-sasl-saslprep-00.txt\n - * http://www.ietf.org/internet-drafts/draft-ietf-xmpp-nodeprep-01.txt\n - * http://www.ietf.org/internet-drafts/draft-ietf-xmpp-resourceprep-01.txt\n - * - * Further information and paid contract development:\n - * Simon Josefsson <simon@josefsson.org> - * - * \section examples Examples - * - * \include example.c - * \include example3.c - * \include example4.c - * \include example5.c - */ - -/** - * STRINGPREP_VERSION - * - * String defined via CPP denoting the header file version number. - * Used together with stringprep_check_version() to verify header file - * and run-time library consistency. - */ - -/** - * STRINGPREP_MAX_MAP_CHARS - * - * Maximum number of code points that can replace a single code point, - * during stringprep mapping. - */ - -/** - * Stringprep_rc: - * @STRINGPREP_OK: Successful operation. This value is guaranteed to - * always be zero, the remaining ones are only guaranteed to hold - * non-zero values, for logical comparison purposes. - * @STRINGPREP_CONTAINS_UNASSIGNED: String contain unassigned Unicode - * code points, which is forbidden by the profile. - * @STRINGPREP_CONTAINS_PROHIBITED: String contain code points - * prohibited by the profile. - * @STRINGPREP_BIDI_BOTH_L_AND_RAL: String contain code points with - * conflicting bidirectional category. - * @STRINGPREP_BIDI_LEADTRAIL_NOT_RAL: Leading and trailing character - * in string not of proper bidirectional category. - * @STRINGPREP_BIDI_CONTAINS_PROHIBITED: Contains prohibited code - * points detected by bidirectional code. - * @STRINGPREP_TOO_SMALL_BUFFER: Buffer handed to function was too - * small. This usually indicate a problem in the calling - * application. - * @STRINGPREP_PROFILE_ERROR: The stringprep profile was inconsistent. - * This usually indicate an internal error in the library. - * @STRINGPREP_FLAG_ERROR: The supplied flag conflicted with profile. - * This usually indicate a problem in the calling application. - * @STRINGPREP_UNKNOWN_PROFILE: The supplied profile name was not - * known to the library. - * @STRINGPREP_NFKC_FAILED: The Unicode NFKC operation failed. This - * usually indicate an internal error in the library. - * @STRINGPREP_MALLOC_ERROR: The malloc() was out of memory. This is - * usually a fatal error. - * - * Enumerated return codes of stringprep(), stringprep_profile() - * functions (and macros using those functions). The value 0 is - * guaranteed to always correspond to success. - */ - -/** - * Stringprep_profile_flags: - * @STRINGPREP_NO_NFKC: Disable the NFKC normalization, as well as - * selecting the non-NFKC case folding tables. Usually the profile - * specifies BIDI and NFKC settings, and applications should not - * override it unless in special situations. - * @STRINGPREP_NO_BIDI: Disable the BIDI step. Usually the profile - * specifies BIDI and NFKC settings, and applications should not - * override it unless in special situations. - * @STRINGPREP_NO_UNASSIGNED: Make the library return with an error if - * string contains unassigned characters according to profile. - * - * Stringprep profile flags. - */ - -/** - * Stringprep_profile_steps: - * - * Various steps in the stringprep algorithm. You really want to - * study the source code to understand this one. Only useful if you - * want to add another profile. - */ - -/** - * stringprep_nameprep: - * @in: input/ouput array with string to prepare. - * @maxlen: maximum length of input/output array. - * - * Prepare the input UTF-8 string according to the nameprep profile. - * The AllowUnassigned flag is true, use - * stringprep_nameprep_no_unassigned() if you want a false - * AllowUnassigned. Returns 0 iff successful, or an error code. - **/ - -/** - * stringprep_nameprep_no_unassigned: - * @in: input/ouput array with string to prepare. - * @maxlen: maximum length of input/output array. - * - * Prepare the input UTF-8 string according to the nameprep profile. - * The AllowUnassigned flag is false, use stringprep_nameprep() for - * true AllowUnassigned. Returns 0 iff successful, or an error code. - **/ - -/** - * stringprep_iscsi: - * @in: input/ouput array with string to prepare. - * @maxlen: maximum length of input/output array. - * - * Prepare the input UTF-8 string according to the draft iSCSI - * stringprep profile. Returns 0 iff successful, or an error code. - **/ - -/** - * stringprep_plain: - * @in: input/ouput array with string to prepare. - * @maxlen: maximum length of input/output array. - * - * Prepare the input UTF-8 string according to the draft SASL - * ANONYMOUS profile. Returns 0 iff successful, or an error code. - **/ - -/** - * stringprep_xmpp_nodeprep: - * @in: input/ouput array with string to prepare. - * @maxlen: maximum length of input/output array. - * - * Prepare the input UTF-8 string according to the draft XMPP node - * identifier profile. Returns 0 iff successful, or an error code. - **/ - -/** - * stringprep_xmpp_resourceprep: - * @in: input/ouput array with string to prepare. - * @maxlen: maximum length of input/output array. - * - * Prepare the input UTF-8 string according to the draft XMPP resource - * identifier profile. Returns 0 iff successful, or an error code. - **/ diff --git a/libidn/stringprep.h b/libidn/stringprep.h deleted file mode 100644 index 4b61c77..0000000 --- a/libidn/stringprep.h +++ /dev/null @@ -1,209 +0,0 @@ -/* stringprep.h Header file for stringprep functions. -*- c -*- - * Copyright (C) 2002, 2003, 2004 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef _STRINGPREP_H -#define _STRINGPREP_H - -#ifdef __cplusplus -extern "C" -{ -#endif - -#include <stddef.h> /* size_t */ -#include <unistd.h> /* ssize_t */ -#include <stdint.h> /* uint32_t */ - -#define STRINGPREP_VERSION "0.4.3" - -/* Error codes. */ - typedef enum - { - STRINGPREP_OK = 0, - /* Stringprep errors. */ - STRINGPREP_CONTAINS_UNASSIGNED = 1, - STRINGPREP_CONTAINS_PROHIBITED = 2, - STRINGPREP_BIDI_BOTH_L_AND_RAL = 3, - STRINGPREP_BIDI_LEADTRAIL_NOT_RAL = 4, - STRINGPREP_BIDI_CONTAINS_PROHIBITED = 5, - /* Error in calling application. */ - STRINGPREP_TOO_SMALL_BUFFER = 100, - STRINGPREP_PROFILE_ERROR = 101, - STRINGPREP_FLAG_ERROR = 102, - STRINGPREP_UNKNOWN_PROFILE = 103, - /* Internal errors. */ - STRINGPREP_NFKC_FAILED = 200, - STRINGPREP_MALLOC_ERROR = 201 - } Stringprep_rc; - -/* Flags used when calling stringprep(). */ - typedef enum - { - STRINGPREP_NO_NFKC = 1, - STRINGPREP_NO_BIDI = 2, - STRINGPREP_NO_UNASSIGNED = 4 - } Stringprep_profile_flags; - -/* Steps in a stringprep profile. */ - typedef enum - { - STRINGPREP_NFKC = 1, - STRINGPREP_BIDI = 2, - STRINGPREP_MAP_TABLE = 3, - STRINGPREP_UNASSIGNED_TABLE = 4, - STRINGPREP_PROHIBIT_TABLE = 5, - STRINGPREP_BIDI_PROHIBIT_TABLE = 6, - STRINGPREP_BIDI_RAL_TABLE = 7, - STRINGPREP_BIDI_L_TABLE = 8 - } Stringprep_profile_steps; - -#define STRINGPREP_MAX_MAP_CHARS 4 - - struct Stringprep_table_element - { - uint32_t start; - uint32_t end; /* 0 if only one character */ - uint32_t map[STRINGPREP_MAX_MAP_CHARS]; /* NULL if end is not 0 */ - }; - typedef struct Stringprep_table_element Stringprep_table_element; - - struct Stringprep_table - { - Stringprep_profile_steps operation; - Stringprep_profile_flags flags; - const Stringprep_table_element *table; - }; - typedef struct Stringprep_table Stringprep_profile; - - struct Stringprep_profiles - { - const char *name; - const Stringprep_profile *tables; - }; - typedef struct Stringprep_profiles Stringprep_profiles; - - extern const Stringprep_profiles stringprep_profiles[]; - -/* Profiles */ - extern const Stringprep_table_element stringprep_rfc3454_A_1[]; - extern const Stringprep_table_element stringprep_rfc3454_B_1[]; - extern const Stringprep_table_element stringprep_rfc3454_B_2[]; - extern const Stringprep_table_element stringprep_rfc3454_B_3[]; - extern const Stringprep_table_element stringprep_rfc3454_C_1_1[]; - extern const Stringprep_table_element stringprep_rfc3454_C_1_2[]; - extern const Stringprep_table_element stringprep_rfc3454_C_2_1[]; - extern const Stringprep_table_element stringprep_rfc3454_C_2_2[]; - extern const Stringprep_table_element stringprep_rfc3454_C_3[]; - extern const Stringprep_table_element stringprep_rfc3454_C_4[]; - extern const Stringprep_table_element stringprep_rfc3454_C_5[]; - extern const Stringprep_table_element stringprep_rfc3454_C_6[]; - extern const Stringprep_table_element stringprep_rfc3454_C_7[]; - extern const Stringprep_table_element stringprep_rfc3454_C_8[]; - extern const Stringprep_table_element stringprep_rfc3454_C_9[]; - extern const Stringprep_table_element stringprep_rfc3454_D_1[]; - extern const Stringprep_table_element stringprep_rfc3454_D_2[]; - - /* Nameprep */ - - extern const Stringprep_profile stringprep_nameprep[]; - -#define stringprep_nameprep(in, maxlen) \ - stringprep(in, maxlen, 0, stringprep_nameprep) - -#define stringprep_nameprep_no_unassigned(in, maxlen) \ - stringprep(in, maxlen, STRINGPREP_NO_UNASSIGNED, stringprep_nameprep) - - /* SASL */ - - extern const Stringprep_profile stringprep_saslprep[]; - extern const Stringprep_profile stringprep_plain[]; - extern const Stringprep_profile stringprep_trace[]; - -#define stringprep_plain(in, maxlen) \ - stringprep(in, maxlen, 0, stringprep_plain) - - /* Kerberos */ - - extern const Stringprep_profile stringprep_kerberos5[]; - -#define stringprep_kerberos5(in, maxlen) \ - stringprep(in, maxlen, 0, stringprep_kerberos5) - - /* XMPP */ - - extern const Stringprep_profile stringprep_xmpp_nodeprep[]; - extern const Stringprep_profile stringprep_xmpp_resourceprep[]; - extern const Stringprep_table_element stringprep_xmpp_nodeprep_prohibit[]; - -#define stringprep_xmpp_nodeprep(in, maxlen) \ - stringprep(in, maxlen, 0, stringprep_xmpp_nodeprep) -#define stringprep_xmpp_resourceprep(in, maxlen) \ - stringprep(in, maxlen, 0, stringprep_xmpp_resourceprep) - - /* iSCSI */ - - extern const Stringprep_profile stringprep_iscsi[]; - -#define stringprep_iscsi(in, maxlen) \ - stringprep(in, maxlen, 0, stringprep_iscsi) - - /* API */ - - extern int stringprep_4i (uint32_t * ucs4, size_t * len, size_t maxucs4len, - Stringprep_profile_flags flags, - const Stringprep_profile * profile); - extern int stringprep_4zi (uint32_t * ucs4, size_t maxucs4len, - Stringprep_profile_flags flags, - const Stringprep_profile * profile); - extern int stringprep (char *in, size_t maxlen, - Stringprep_profile_flags flags, - const Stringprep_profile * profile); - - extern int stringprep_profile (const char *in, - char **out, - const char *profile, - Stringprep_profile_flags flags); - - extern const char *stringprep_check_version (const char *req_version); - -/* Utility */ - - extern int stringprep_unichar_to_utf8 (uint32_t c, char *outbuf); - extern uint32_t stringprep_utf8_to_unichar (const char *p); - - extern uint32_t *stringprep_utf8_to_ucs4 (const char *str, ssize_t len, - size_t * items_written); - extern char *stringprep_ucs4_to_utf8 (const uint32_t * str, ssize_t len, - size_t * items_read, - size_t * items_written); - - extern char *stringprep_utf8_nfkc_normalize (const char *str, ssize_t len); - extern uint32_t *stringprep_ucs4_nfkc_normalize (uint32_t * str, - ssize_t len); - - extern const char *stringprep_locale_charset (void); - extern char *stringprep_convert (const char *str, - const char *to_codeset, - const char *from_codeset); - extern char *stringprep_locale_to_utf8 (const char *str); - extern char *stringprep_utf8_to_locale (const char *str); - -#ifdef __cplusplus -} -#endif -#endif /* _STRINGPREP_H */ diff --git a/libidn/toutf8.c b/libidn/toutf8.c deleted file mode 100644 index c7e67ca..0000000 --- a/libidn/toutf8.c +++ /dev/null @@ -1,150 +0,0 @@ -/* toutf8.c --- Convert strings from system locale into UTF-8. - * Copyright (C) 2002, 2003, 2004, 2005 Simon Josefsson - * - * This file is part of GNU Libidn. - * - * GNU Libidn is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * GNU Libidn is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with GNU Libidn; if not, see <http://www.gnu.org/licenses/>. - */ - -#if HAVE_CONFIG_H -# include "config.h" -#endif - -/* Get prototypes. */ -#include "stringprep.h" - -/* Get fprintf. */ -#include <stdio.h> - -/* Get getenv. */ -#include <stdlib.h> - -/* Get strlen. */ -#include <string.h> - -/* Get iconv_string. */ -#include "iconvme.h" - -#ifdef _LIBC -# define HAVE_ICONV 1 -# define LOCALE_WORKS 1 -#endif - -#if LOCALE_WORKS -# include <langinfo.h> -# include <locale.h> -#endif - -#ifdef _LIBC -# define stringprep_locale_charset() nl_langinfo (CODESET) -#else -/** - * stringprep_locale_charset - return charset used in current locale - * - * Find out current locale charset. The function respect the CHARSET - * environment variable, but typically uses nl_langinfo(CODESET) when - * it is supported. It fall back on "ASCII" if CHARSET isn't set and - * nl_langinfo isn't supported or return anything. - * - * Note that this function return the application's locale's preferred - * charset (or thread's locale's preffered charset, if your system - * support thread-specific locales). It does not return what the - * system may be using. Thus, if you receive data from external - * sources you cannot in general use this function to guess what - * charset it is encoded in. Use stringprep_convert from the external - * representation into the charset returned by this function, to have - * data in the locale encoding. - * - * Return value: Return the character set used by the current locale. - * It will never return NULL, but use "ASCII" as a fallback. - **/ -const char * -stringprep_locale_charset (void) -{ - const char *charset = getenv ("CHARSET"); /* flawfinder: ignore */ - - if (charset && *charset) - return charset; - -# ifdef LOCALE_WORKS - charset = nl_langinfo (CODESET); - - if (charset && *charset) - return charset; -# endif - - return "ASCII"; -} -#endif - -/** - * stringprep_convert - encode string using new character set - * @str: input zero-terminated string. - * @to_codeset: name of destination character set. - * @from_codeset: name of origin character set, as used by @str. - * - * Convert the string from one character set to another using the - * system's iconv() function. - * - * Return value: Returns newly allocated zero-terminated string which - * is @str transcoded into to_codeset. - **/ -char * -stringprep_convert (const char *str, - const char *to_codeset, const char *from_codeset) -{ -#if HAVE_ICONV - return iconv_string (str, from_codeset, to_codeset); -#else - char *p; - fprintf (stderr, "libidn: warning: libiconv not installed, cannot " - "convert data to UTF-8\n"); - p = malloc (strlen (str) + 1); - if (!p) - return NULL; - return strcpy (p, str); -#endif -} - -/** - * stringprep_locale_to_utf8 - convert locale encoded string to UTF-8 - * @str: input zero terminated string. - * - * Convert string encoded in the locale's character set into UTF-8 by - * using stringprep_convert(). - * - * Return value: Returns newly allocated zero-terminated string which - * is @str transcoded into UTF-8. - **/ -char * -stringprep_locale_to_utf8 (const char *str) -{ - return stringprep_convert (str, "UTF-8", stringprep_locale_charset ()); -} - -/** - * stringprep_utf8_to_locale - encode UTF-8 string to locale encoding - * @str: input zero terminated string. - * - * Convert string encoded in UTF-8 into the locale's character set by - * using stringprep_convert(). - * - * Return value: Returns newly allocated zero-terminated string which - * is @str transcoded into the locale's character set. - **/ -char * -stringprep_utf8_to_locale (const char *str) -{ - return stringprep_convert (str, stringprep_locale_charset (), "UTF-8"); -} @@ -42,9 +42,6 @@ /* Support code. */ #include <check_pf.c> #include <check_native.c> -#ifdef HAVE_LIBIDN -# include <libidn/idn-stub.c> -#endif /* Some variables normally defined in libc. */ service_user *__nss_hosts_database attribute_hidden; diff --git a/resolv/Makefile b/resolv/Makefile index 6e70ae9..ea395ac 100644 --- a/resolv/Makefile +++ b/resolv/Makefile @@ -60,6 +60,9 @@ tests += \ # These tests need libdl. ifeq (yes,$(build-shared)) tests += \ + tst-resolv-ai_idn \ + tst-resolv-ai_idn-latin1 \ + tst-resolv-ai_idn-nolibidn2 \ tst-resolv-canonname \ # uses DEPRECATED_RES_USE_INET6 from <resolv-internal.h>. @@ -72,7 +75,13 @@ tests-internal += \ tst-resolv-res_ninit \ tst-resolv-threads \ -endif +# Used by tst-resolv-ai_idn-nolibidn2 to disable libidn2 (by not +# providing any functions in libidn2.so.0). +modules-names += tst-no-libidn2 +extra-test-objs += tst-no-libidn2.os +LDFLAGS-tst-no-libidn2.so = -Wl,-soname,libidn2.so.0 + +endif # $(build-shared) # This test accesses __inet_ntop_length, an internal libc function. tests-internal += tst-inet_pton @@ -128,6 +137,9 @@ generated += mtrace-tst-leaks.out tst-leaks.mtrace \ include ../Rules +LOCALES := en_US.UTF-8 en_US.ISO-8859-1 +include ../gen-locales.mk + CFLAGS-res_hconf.c += -fexceptions # The DNS NSS modules needs the resolver. @@ -159,6 +171,16 @@ $(objpfx)mtrace-tst-resolv-res_ninit.out: $(objpfx)tst-resolv-res_ninit.out $(objpfx)tst-bug18665-tcp: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-bug18665: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-res_use_inet6: $(objpfx)libresolv.so $(shared-thread-library) +$(objpfx)tst-resolv-ai_idn: \ + $(libdl) $(objpfx)libresolv.so $(shared-thread-library) +$(objpfx)tst-resolv-ai_idn-latin1: \ + $(libdl) $(objpfx)libresolv.so $(shared-thread-library) +$(objpfx)tst-resolv-ai_idn-nolibidn2: \ + $(libdl) $(objpfx)libresolv.so $(shared-thread-library) +$(objpfx)tst-resolv-ai_idn.out: $(gen-locales) +$(objpfx)tst-resolv-ai_idn-latin1.out: $(gen-locales) +$(objpfx)tst-resolv-ai_idn-nolibidn2.out: \ + $(gen-locales) $(objpfx)tst-no-libidn2.so $(objpfx)tst-resolv-basic: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-binary: $(objpfx)libresolv.so $(shared-thread-library) $(objpfx)tst-resolv-edns: $(objpfx)libresolv.so $(shared-thread-library) diff --git a/resolv/netdb.h b/resolv/netdb.h index 66a1baa..003800e 100644 --- a/resolv/netdb.h +++ b/resolv/netdb.h @@ -605,10 +605,10 @@ struct gaicb in the current locale's character set) before looking it up. */ # define AI_CANONIDN 0x0080 /* Translate canonical name from IDN format. */ -# define AI_IDN_ALLOW_UNASSIGNED 0x0100 /* Don't reject unassigned Unicode - code points. */ -# define AI_IDN_USE_STD3_ASCII_RULES 0x0200 /* Validate strings according to - STD3 rules. */ +# define AI_IDN_ALLOW_UNASSIGNED \ + __glibc_macro_warning ("AI_IDN_ALLOW_UNASSIGNED is deprecated") 0x0100 +# define AI_IDN_USE_STD3_ASCII_RULES \ + __glibc_macro_warning ("AI_IDN_USE_STD3_ASCII_RULES is deprecated") 0x0200 # endif # define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ @@ -646,10 +646,10 @@ struct gaicb # define NI_DGRAM 16 /* Look up UDP service rather than TCP. */ # ifdef __USE_GNU # define NI_IDN 32 /* Convert name from IDN format. */ -# define NI_IDN_ALLOW_UNASSIGNED 64 /* Don't reject unassigned Unicode - code points. */ -# define NI_IDN_USE_STD3_ASCII_RULES 128 /* Validate strings according to - STD3 rules. */ +# define NI_IDN_ALLOW_UNASSIGNED \ + __glibc_macro_warning ("NI_IDN_ALLOW_UNASSIGNED is deprecated") 64 +# define NI_IDN_USE_STD3_ASCII_RULES \ + __glibc_macro_warning ("NI_IDN_USE_STD3_ASCII_RULES is deprecated") 128 # endif /* Translate name of a service location and/or a service name to set of diff --git a/resolv/tst-no-libidn2.c b/resolv/tst-no-libidn2.c new file mode 100644 index 0000000..590696e --- /dev/null +++ b/resolv/tst-no-libidn2.c @@ -0,0 +1,2 @@ +/* Compiled into an empty shared object. Used by + tst-resolv-ai_idn-nolibidn2 to disable libidn2. */ diff --git a/resolv/tst-resolv-ai_idn-common.c b/resolv/tst-resolv-ai_idn-common.c new file mode 100644 index 0000000..e7c4030 --- /dev/null +++ b/resolv/tst-resolv-ai_idn-common.c @@ -0,0 +1,569 @@ +/* Common code for AI_IDN/NI_IDN tests. + Copyright (C) 2018 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +/* Before including this file, TEST_USE_UTF8 must be defined to 1 or + 0, depending on whether a UTF-8 locale is used or a Latin-1 + locale. */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <support/check.h> +#include <support/check_nss.h> +#include <support/resolv_test.h> +#include <support/support.h> + +/* Name of the shared object for libidn2. */ +#define LIBIDN2_SONAME "libidn2.so.0" + +#if TEST_USE_UTF8 +/* UTF-8 encoding of "nämchen" (German for “namelet”). */ +# define NAEMCHEN "n\xC3\xA4mchen" + +/* UTF-8 encoding of "שם" (Hebrew for “name”). */ +# define SHEM "\xD7\xA9\xD7\x9D" + +/* UTF-8 encoding of "buße" (German for “penance”). This used to be + encoded as "busse" (“busses”) in IDNA2003. */ +# define BUSSE "bu\xC3\x9F""e" + +#else +/* Latin-1 encodings, as far as they are available. */ + +# define NAEMCHEN "n\xE4mchen" +# define BUSSE "bu\xDF""e" + +#endif + +/* IDNA encoding of NAEMCHEN. */ +#define NAEMCHEN_IDNA "xn--nmchen-bua" + +/* IDNA encoding of NAEMCHEN "_zwo". */ +#define NAEMCHEN_ZWO_IDNA "xn--nmchen_zwo-q5a" + +/* IDNA encoding of SHEM. */ +#define SHEM_IDNA "xn--iebx" + +/* IDNA encoding of BUSSE. */ +#define BUSSE_IDNA "xn--bue-6ka" + +/* IDNA encoding of "שם1". */ +#define SHEM1_IDNA "xn--1-qic9a" + +/* Another IDNA name. */ +#define ANDERES_NAEMCHEN "anderes-" NAEMCHEN +#define ANDERES_NAEMCHEN_IDNA "xn--anderes-nmchen-eib" + +/* Controls the kind of test data in a PTR lookup response. */ +enum gni_test + { + gni_non_idn_name, + gni_non_idn_cname_to_non_idn_name, + gni_non_idn_cname_to_idn_name, + gni_idn_name, + gni_idn_shem, + gni_idn_shem1, + gni_idn_cname_to_non_idn_name, + gni_idn_cname_to_idn_name, + gni_invalid_idn_1, + gni_invalid_idn_2, + }; + +/* Called from response below. The LSB (first byte) controls what + goes into the response, see enum gni_test. */ +static void +response_ptr (const struct resolv_response_context *ctx, + struct resolv_response_builder *b, const char *qname) +{ + int comp[4] = { 0 }; + TEST_COMPARE (sscanf (qname, "%d.%d.%d.%d.in-addr.arpa", + &comp[0], &comp[1], &comp[2], &comp[3]), 4); + const char *next_name; + switch ((enum gni_test) comp[0]) + { + /* First name in response is non-IDN name. */ + case gni_non_idn_name: + resolv_response_open_record (b, qname, C_IN, T_PTR, 0); + resolv_response_add_name (b, "non-idn.example"); + resolv_response_close_record (b); + return; + case gni_non_idn_cname_to_non_idn_name: + resolv_response_open_record (b, qname, C_IN, T_CNAME, 0); + next_name = "non-idn-cname.example"; + resolv_response_add_name (b, next_name); + resolv_response_close_record (b); + resolv_response_open_record (b, next_name, C_IN, T_PTR, 0); + resolv_response_add_name (b, "non-idn-name.example"); + resolv_response_close_record (b); + return; + case gni_non_idn_cname_to_idn_name: + resolv_response_open_record (b, qname, C_IN, T_CNAME, 0); + next_name = "non-idn-cname.example"; + resolv_response_add_name (b, next_name); + resolv_response_close_record (b); + resolv_response_open_record (b, next_name, C_IN, T_PTR, 0); + resolv_response_add_name (b, NAEMCHEN_IDNA ".example"); + resolv_response_close_record (b); + return; + + /* First name in response is IDN name. */ + case gni_idn_name: + resolv_response_open_record (b, qname, C_IN, T_PTR, 0); + resolv_response_add_name (b, "xn--nmchen-bua.example"); + resolv_response_close_record (b); + return; + case gni_idn_shem: + resolv_response_open_record (b, qname, C_IN, T_PTR, 0); + resolv_response_add_name (b, SHEM_IDNA ".example"); + resolv_response_close_record (b); + return; + case gni_idn_shem1: + resolv_response_open_record (b, qname, C_IN, T_PTR, 0); + resolv_response_add_name (b, SHEM1_IDNA ".example"); + resolv_response_close_record (b); + return; + case gni_idn_cname_to_non_idn_name: + resolv_response_open_record (b, qname, C_IN, T_CNAME, 0); + next_name = NAEMCHEN_IDNA ".example"; + resolv_response_add_name (b, next_name); + resolv_response_close_record (b); + resolv_response_open_record (b, next_name, C_IN, T_PTR, 0); + resolv_response_add_name (b, "non-idn-name.example"); + resolv_response_close_record (b); + return; + case gni_idn_cname_to_idn_name: + resolv_response_open_record (b, qname, C_IN, T_CNAME, 0); + next_name = NAEMCHEN_IDNA ".example"; + resolv_response_add_name (b, next_name); + resolv_response_close_record (b); + resolv_response_open_record (b, next_name, C_IN, T_PTR, 0); + resolv_response_add_name (b, ANDERES_NAEMCHEN_IDNA ".example"); + resolv_response_close_record (b); + return; + + /* Invalid IDN encodings. */ + case gni_invalid_idn_1: + resolv_response_open_record (b, qname, C_IN, T_PTR, 0); + resolv_response_add_name (b, "xn---.example"); + resolv_response_close_record (b); + return; + case gni_invalid_idn_2: + resolv_response_open_record (b, qname, C_IN, T_PTR, 0); + resolv_response_add_name (b, "xn--x.example"); + resolv_response_close_record (b); + return; + } + FAIL_EXIT1 ("invalid PTR query: %s", qname); +} + +/* For PTR responses, see above. A/AAAA queries can request + additional CNAMEs in the response by include ".cname." and + ".idn-cname." in the query. The LSB in the address contains the + first byte of the QNAME. */ +static void +response (const struct resolv_response_context *ctx, + struct resolv_response_builder *b, + const char *qname, uint16_t qclass, uint16_t qtype) +{ + TEST_VERIFY_EXIT (qclass == C_IN); + + for (const char *p = qname; *p != '\0'; ++p) + if (!(('0' <= *p && *p <= '9') + || ('a' <= *p && *p <= 'z') + || ('A' <= *p && *p <= 'Z') + || *p == '.' || *p == '-' || *p == '_')) + { + /* Non-ASCII query. Reply with NXDOMAIN. */ + struct resolv_response_flags flags = { .rcode = 3 }; + resolv_response_init (b, flags); + resolv_response_add_question (b, qname, qclass, qtype); + return; + } + + struct resolv_response_flags flags = { 0 }; + resolv_response_init (b, flags); + resolv_response_add_question (b, qname, qclass, qtype); + resolv_response_section (b, ns_s_an); + + if (qtype == T_PTR) + { + response_ptr (ctx, b, qname); + return; + } + + bool with_cname = strstr (qname, ".cname.") != NULL; + bool with_idn_cname = strstr (qname, ".idn-cname.") != NULL; + + const char *next_name = qname; + if (with_cname) + { + next_name = "non-idn-cname.example"; + resolv_response_open_record (b, qname, C_IN, T_CNAME, 0); + resolv_response_add_name (b, next_name); + resolv_response_close_record (b); + } + if (with_idn_cname) + { + next_name = ANDERES_NAEMCHEN_IDNA ".example"; + resolv_response_open_record (b, qname, C_IN, T_CNAME, 0); + resolv_response_add_name (b, next_name); + resolv_response_close_record (b); + } + + resolv_response_open_record (b, next_name, C_IN, qtype, 0); + switch (qtype) + { + case T_A: + { + char addr[4] = { 192, 0, 2, qname[0] }; + resolv_response_add_data (b, &addr, sizeof (addr)); + } + break; + case T_AAAA: + { + char addr[16] + = { 0x20, 0x01, 0xd, 0xb8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + qname[0] }; + resolv_response_add_data (b, &addr, sizeof (addr)); + } + default: + FAIL_EXIT1 ("invalid qtype: %d", qtype); + } + resolv_response_close_record (b); +} + +/* Check the result of a getaddrinfo call. */ +static void +check_ai (const char *name, int ai_flags, const char *expected) +{ + struct addrinfo hints = + { + .ai_flags = ai_flags, + .ai_family = AF_INET, + .ai_socktype = SOCK_STREAM, + }; + struct addrinfo *ai; + char *query = xasprintf ("%s:80 AF_INET/0x%x", name, ai_flags); + int ret = getaddrinfo (name, "80", &hints, &ai); + check_addrinfo (query, ai, ret, expected); + if (ret == 0) + freeaddrinfo (ai); + free (query); +} + +/* Run one getnameinfo test. FLAGS is automatically augmented with + NI_NUMERICSERV. */ +static void +gni_test (enum gni_test code, unsigned int flags, const char *expected) +{ + struct sockaddr_in sin = + { + .sin_family = AF_INET, + .sin_port = htons (80), + .sin_addr = { htonl (0xc0000200 | code) }, /* 192.0.2.0/24 network. */ + }; + char host[1024]; + char service[1024]; + int ret = getnameinfo ((const struct sockaddr *) &sin, sizeof (sin), + host, sizeof (host), service, sizeof (service), + flags| NI_NUMERICSERV); + if (ret != 0) + { + if (expected == NULL) + TEST_COMPARE (ret, EAI_IDN_ENCODE); + else + { + support_record_failure (); + printf ("error: getnameinfo failed (code %d, flags 0x%x): %s (%d)\n", + (int) code, flags, gai_strerror (ret), ret); + } + } + else if (ret == 0 && expected == NULL) + { + support_record_failure (); + printf ("error: getnameinfo unexpected success (code %d, flags 0x%x)\n", + (int) code, flags); + } + else if (strcmp (host, expected) != 0 || strcmp (service, "80") != 0) + { + support_record_failure (); + printf ("error: getnameinfo test failure (code %d, flags 0x%x)\n" + " expected host: \"%s\"\n" + " expected service: \"80\"\n" + " actual host: \"%s\"\n" + " actual service: \"%s\"\n", + (int) code, flags, expected, host, service); + } +} + +/* Tests for getaddrinfo which assume a working libidn2 library. */ +__attribute__ ((unused)) +static void +gai_tests_with_libidn2 (void) +{ + /* No CNAME. */ + check_ai ("non-idn.example", 0, + "address: STREAM/TCP 192.0.2.110 80\n"); + check_ai ("non-idn.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.110 80\n"); + check_ai ("non-idn.example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: non-idn.example\n" + "address: STREAM/TCP 192.0.2.110 80\n"); + + check_ai (NAEMCHEN ".example", 0, + "error: Name or service not known\n"); + check_ai (NAEMCHEN ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (NAEMCHEN ".example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " NAEMCHEN ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + +#if TEST_USE_UTF8 + check_ai (SHEM ".example", 0, + "error: Name or service not known\n"); + check_ai (SHEM ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM ".example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " SHEM ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM ".example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " SHEM_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM "1.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM "1.example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " SHEM "1.example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM "1.example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " SHEM1_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); +#endif + + /* Check that non-transitional mode is active. German sharp S + should not turn into SS. */ + check_ai (BUSSE ".example", 0, + "error: Name or service not known\n"); + check_ai (BUSSE ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (BUSSE ".example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " BUSSE_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (BUSSE ".example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " BUSSE ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + + /* Check that Unicode TR 46 mode is active. Underscores should be + permitted in IDNA components. */ + check_ai (NAEMCHEN "_zwo.example", 0, + "error: Name or service not known\n"); + check_ai (NAEMCHEN "_zwo.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (NAEMCHEN "_zwo.example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " NAEMCHEN_ZWO_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (NAEMCHEN "_zwo.example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " NAEMCHEN "_zwo.example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + + /* No CNAME, but already IDN-encoded. */ + check_ai (NAEMCHEN_IDNA ".example", 0, + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (NAEMCHEN_IDNA ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (NAEMCHEN_IDNA ".example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (NAEMCHEN_IDNA ".example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " NAEMCHEN ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM_IDNA ".example", 0, + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM_IDNA ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + check_ai (SHEM_IDNA ".example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " SHEM_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); +#if TEST_USE_UTF8 + check_ai (SHEM_IDNA ".example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " SHEM ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); +#else + check_ai (SHEM_IDNA ".example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " SHEM_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); +#endif + + /* Invalid IDNA canonical name is returned as-is. */ + check_ai ("xn---.example", AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_CANONIDN\n" + "canonname: xn---.example\n" + "address: STREAM/TCP 192.0.2.120 80\n"); + + /* Non-IDN CNAME. */ + check_ai ("with.cname.example", 0, + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("with.cname.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("with.cname.example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: non-idn-cname.example\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + + check_ai ("with.cname." NAEMCHEN ".example", 0, + "error: Name or service not known\n"); + check_ai ("with.cname." NAEMCHEN ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("with.cname." NAEMCHEN ".example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: non-idn-cname.example\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("with.cname." NAEMCHEN ".example", + AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: non-idn-cname.example\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + + /* IDN CNAME. */ + check_ai ("With.idn-cname.example", 0, + "address: STREAM/TCP 192.0.2.87 80\n"); + check_ai ("With.idn-cname.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.87 80\n"); + check_ai ("With.idn-cname.example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.87 80\n"); + check_ai ("With.idn-cname.example", + AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " ANDERES_NAEMCHEN ".example\n" + "address: STREAM/TCP 192.0.2.87 80\n"); + + check_ai ("With.idn-cname." NAEMCHEN ".example", 0, + "error: Name or service not known\n"); + check_ai ("With.idn-cname." NAEMCHEN ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("With.idn-cname." NAEMCHEN ".example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("With.idn-cname." NAEMCHEN ".example", + AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " ANDERES_NAEMCHEN ".example\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + + /* Non-IDN to IDN CNAME chain. */ + check_ai ("both.cname.idn-cname.example", 0, + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname.example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname.example", + AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " ANDERES_NAEMCHEN ".example\n" + "address: STREAM/TCP 192.0.2.98 80\n"); + + check_ai ("both.cname.idn-cname." NAEMCHEN ".example", 0, + "error: Name or service not known\n"); + check_ai ("both.cname.idn-cname." NAEMCHEN ".example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname." NAEMCHEN ".example", + AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname." NAEMCHEN ".example", + AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " ANDERES_NAEMCHEN ".example\n" + "address: STREAM/TCP 192.0.2.98 80\n"); +} + +/* Tests for getnameinfo which assume a working libidn2 library. */ +__attribute__ ((unused)) +static void +gni_tests_with_libidn2 (void) +{ + gni_test (gni_non_idn_name, 0, "non-idn.example"); + gni_test (gni_non_idn_name, NI_IDN, "non-idn.example"); + gni_test (gni_non_idn_name, NI_NUMERICHOST, "192.0.2.0"); + gni_test (gni_non_idn_name, NI_NUMERICHOST | NI_IDN, "192.0.2.0"); + + gni_test (gni_non_idn_cname_to_non_idn_name, 0, "non-idn-name.example"); + gni_test (gni_non_idn_cname_to_non_idn_name, NI_IDN, "non-idn-name.example"); + + gni_test (gni_non_idn_cname_to_idn_name, 0, NAEMCHEN_IDNA ".example"); + gni_test (gni_non_idn_cname_to_idn_name, NI_IDN, NAEMCHEN ".example"); + + gni_test (gni_idn_name, 0, NAEMCHEN_IDNA ".example"); + gni_test (gni_idn_name, NI_IDN, NAEMCHEN ".example"); + gni_test (gni_idn_shem, 0, SHEM_IDNA ".example"); + gni_test (gni_idn_shem1, 0, SHEM1_IDNA ".example"); +#if TEST_USE_UTF8 + gni_test (gni_idn_shem, NI_IDN, SHEM ".example"); + gni_test (gni_idn_shem1, NI_IDN, SHEM "1.example"); +#else + gni_test (gni_idn_shem, NI_IDN, SHEM_IDNA ".example"); + gni_test (gni_idn_shem1, NI_IDN, SHEM1_IDNA ".example"); +#endif + + gni_test (gni_idn_cname_to_non_idn_name, 0, "non-idn-name.example"); + gni_test (gni_idn_cname_to_non_idn_name, NI_IDN, "non-idn-name.example"); + + gni_test (gni_idn_cname_to_idn_name, 0, ANDERES_NAEMCHEN_IDNA ".example"); + gni_test (gni_idn_cname_to_idn_name, NI_IDN, ANDERES_NAEMCHEN ".example"); + + /* Test encoding errors. */ + gni_test (gni_invalid_idn_1, 0, "xn---.example"); + gni_test (gni_invalid_idn_1, NI_IDN, "xn---.example"); + gni_test (gni_invalid_idn_2, 0, "xn--x.example"); + gni_test (gni_invalid_idn_2, NI_IDN, "xn--x.example"); +} diff --git a/resolv/tst-resolv-ai_idn-latin1.c b/resolv/tst-resolv-ai_idn-latin1.c new file mode 100644 index 0000000..fb60f32 --- /dev/null +++ b/resolv/tst-resolv-ai_idn-latin1.c @@ -0,0 +1,50 @@ +/* Test getaddrinfo and getnameinfo with AI_IDN, NI_IDN (Latin-1). + Copyright (C) 2018 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + + +#define TEST_USE_UTF8 0 +#include "tst-resolv-ai_idn-common.c" + +#include <locale.h> +#include <support/xdlfcn.h> + +static int +do_test (void) +{ + void *handle = dlopen (LIBIDN2_SONAME, RTLD_LAZY); + if (handle == NULL) + FAIL_UNSUPPORTED ("libidn2 not installed"); + + if (setlocale (LC_CTYPE, "en_US.ISO-8859-1") == NULL) + FAIL_EXIT1 ("setlocale: %m"); + + struct resolv_test *aux = resolv_test_start + ((struct resolv_redirect_config) + { + .response_callback = response, + }); + + gai_tests_with_libidn2 (); + gni_tests_with_libidn2 (); + + resolv_test_end (aux); + xdlclose (handle); + return 0; +} + +#include <support/test-driver.c> diff --git a/resolv/tst-resolv-ai_idn-nolibidn2.c b/resolv/tst-resolv-ai_idn-nolibidn2.c new file mode 100644 index 0000000..7203c23 --- /dev/null +++ b/resolv/tst-resolv-ai_idn-nolibidn2.c @@ -0,0 +1,151 @@ +/* Test getaddrinfo and getnameinfo without usable libidn2. + Copyright (C) 2018 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define TEST_USE_UTF8 1 +#include "tst-resolv-ai_idn-common.c" + +#include <locale.h> +#include <support/xdlfcn.h> + +/* Tests for getaddrinfo. */ +static void +gai_tests (void) +{ + /* No CNAME. */ + check_ai ("non-idn.example", 0, + "address: STREAM/TCP 192.0.2.110 80\n"); + check_ai ("non-idn.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.110 80\n"); + check_ai ("non-idn.example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: non-idn.example\n" + "address: STREAM/TCP 192.0.2.110 80\n"); + + /* This gets passed over the network to the server, so it will + result in an NXDOMAIN error. */ + check_ai (NAEMCHEN ".example", 0, + "error: Name or service not known\n"); + /* Due to missing libidn2, this fails inside getaddrinfo. */ + check_ai (NAEMCHEN ".example", AI_IDN, + "error: Parameter string not correctly encoded\n"); + check_ai (NAEMCHEN ".example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "error: Parameter string not correctly encoded\n"); + + /* Non-IDN CNAME. */ + check_ai ("with.cname.example", 0, + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("with.cname.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + check_ai ("with.cname.example", AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: non-idn-cname.example\n" + "address: STREAM/TCP 192.0.2.119 80\n"); + + /* IDN CNAME. */ + check_ai ("With.idn-cname.example", 0, + "address: STREAM/TCP 192.0.2.87 80\n"); + check_ai ("With.idn-cname.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.87 80\n"); + check_ai ("With.idn-cname.example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.87 80\n"); + check_ai ("With.idn-cname.example", + AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.87 80\n"); + + /* Non-IDN to IDN CNAME chain. */ + check_ai ("both.cname.idn-cname.example", 0, + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname.example", AI_IDN, + "flags: AI_IDN\n" + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname.example", AI_IDN | AI_CANONNAME, + "flags: AI_CANONNAME AI_IDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.98 80\n"); + check_ai ("both.cname.idn-cname.example", + AI_IDN | AI_CANONNAME | AI_CANONIDN, + "flags: AI_CANONNAME AI_IDN AI_CANONIDN\n" + "canonname: " ANDERES_NAEMCHEN_IDNA ".example\n" + "address: STREAM/TCP 192.0.2.98 80\n"); +} + +/* Tests for getnameinfo. */ +static void +gni_tests (void) +{ + /* All non-IDN an IDN results are the same due to lack of libidn2 + support. */ + for (int do_ni_idn = 0; do_ni_idn < 2; ++do_ni_idn) + { + int flags = 0; + if (do_ni_idn) + flags |= NI_IDN; + + gni_test (gni_non_idn_name, flags, "non-idn.example"); + gni_test (gni_non_idn_name, flags | NI_NUMERICHOST, "192.0.2.0"); + gni_test (gni_non_idn_cname_to_non_idn_name, flags, + "non-idn-name.example"); + gni_test (gni_non_idn_cname_to_idn_name, flags, + NAEMCHEN_IDNA ".example"); + gni_test (gni_idn_name, flags, NAEMCHEN_IDNA ".example"); + gni_test (gni_idn_cname_to_non_idn_name, flags, "non-idn-name.example"); + gni_test (gni_idn_cname_to_idn_name, flags, + ANDERES_NAEMCHEN_IDNA ".example"); + + /* Test encoding errors. */ + gni_test (gni_invalid_idn_1, flags, "xn---.example"); + gni_test (gni_invalid_idn_2, flags, "xn--x.example"); +} +} + +static int +do_test (void) +{ + void *handle = xdlopen ("tst-no-libidn2.so", RTLD_LAZY); + { + /* Verify that this replaced libidn2. */ + void *handle2 = xdlopen (LIBIDN2_SONAME, RTLD_LAZY | RTLD_NOLOAD); + TEST_VERIFY (handle2 == handle); + xdlclose (handle2); + } + + if (setlocale (LC_CTYPE, "en_US.UTF-8") == NULL) + FAIL_EXIT1 ("setlocale: %m"); + + struct resolv_test *aux = resolv_test_start + ((struct resolv_redirect_config) + { + .response_callback = response, + }); + + gai_tests (); + gni_tests (); + + resolv_test_end (aux); + xdlclose (handle); + return 0; +} + +#include <support/test-driver.c> diff --git a/resolv/tst-resolv-ai_idn.c b/resolv/tst-resolv-ai_idn.c new file mode 100644 index 0000000..df8203b1 --- /dev/null +++ b/resolv/tst-resolv-ai_idn.c @@ -0,0 +1,49 @@ +/* Test getaddrinfo and getnameinfo with AI_IDN, NI_IDN (UTF-8). + Copyright (C) 2018 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 Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#define TEST_USE_UTF8 1 +#include "tst-resolv-ai_idn-common.c" + +#include <locale.h> +#include <support/xdlfcn.h> + +static int +do_test (void) +{ + void *handle = dlopen (LIBIDN2_SONAME, RTLD_LAZY); + if (handle == NULL) + FAIL_UNSUPPORTED ("libidn2 not installed"); + + if (setlocale (LC_CTYPE, "en_US.UTF-8") == NULL) + FAIL_EXIT1 ("setlocale: %m"); + + struct resolv_test *aux = resolv_test_start + ((struct resolv_redirect_config) + { + .response_callback = response, + }); + + gai_tests_with_libidn2 (); + gni_tests_with_libidn2 (); + + resolv_test_end (aux); + xdlclose (handle); + return 0; +} + +#include <support/test-driver.c> diff --git a/support/support_format_addrinfo.c b/support/support_format_addrinfo.c index f9dc97c..60d2cc4 100644 --- a/support/support_format_addrinfo.c +++ b/support/support_format_addrinfo.c @@ -67,8 +67,6 @@ format_ai_flags (FILE *out, struct addrinfo *ai) FLAG (AI_ADDRCONFIG); FLAG (AI_IDN); FLAG (AI_CANONIDN); - FLAG (AI_IDN_ALLOW_UNASSIGNED); - FLAG (AI_IDN_USE_STD3_ASCII_RULES); FLAG (AI_NUMERICSERV); #undef FLAG int remaining = ai->ai_flags & ~flags_printed; diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c index 740bdd1..553833d 100644 --- a/sysdeps/posix/getaddrinfo.c +++ b/sysdeps/posix/getaddrinfo.c @@ -85,9 +85,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include <scratch_buffer.h> #include <inet/net-internal.h> -#ifdef HAVE_LIBIDN -# include <idna.h> -#endif +/* Former AI_IDN_ALLOW_UNASSIGNED and AI_IDN_USE_STD3_ASCII_RULES + flags, now ignored. */ +#define DEPRECATED_AI_IDN 0x300 #if IS_IN (libc) # define feof_unlocked(fp) __feof_unlocked (fp) @@ -478,35 +478,15 @@ gaih_inet (const char *name, const struct gaih_service *service, at->scopeid = 0; at->next = NULL; -#ifdef HAVE_LIBIDN if (req->ai_flags & AI_IDN) { - int idn_flags = 0; - if (req->ai_flags & AI_IDN_ALLOW_UNASSIGNED) - idn_flags |= IDNA_ALLOW_UNASSIGNED; - if (req->ai_flags & AI_IDN_USE_STD3_ASCII_RULES) - idn_flags |= IDNA_USE_STD3_ASCII_RULES; - - char *p = NULL; - int rc = __idna_to_ascii_lz (name, &p, idn_flags); - if (rc != IDNA_SUCCESS) - { - /* No need to jump to free_and_return here. */ - if (rc == IDNA_MALLOC_ERROR) - return -EAI_MEMORY; - if (rc == IDNA_DLOPEN_ERROR) - return -EAI_SYSTEM; - return -EAI_IDN_ENCODE; - } - /* In case the output string is the same as the input string - no new string has been allocated. */ - if (p != name) - { - name = p; - malloc_name = true; - } + char *out; + result = __idna_to_dns_encoding (name, &out); + if (result != 0) + return -result; + name = out; + malloc_name = true; } -#endif if (__inet_aton (name, (struct in_addr *) at->addr) != 0) { @@ -1032,40 +1012,24 @@ gaih_inet (const char *name, const struct gaih_service *service, the passed in string. */ canon = orig_name; -#ifdef HAVE_LIBIDN - if (req->ai_flags & AI_CANONIDN) + bool do_idn = req->ai_flags & AI_CANONIDN; + if (do_idn) { - int idn_flags = 0; - if (req->ai_flags & AI_IDN_ALLOW_UNASSIGNED) - idn_flags |= IDNA_ALLOW_UNASSIGNED; - if (req->ai_flags & AI_IDN_USE_STD3_ASCII_RULES) - idn_flags |= IDNA_USE_STD3_ASCII_RULES; - char *out; - int rc = __idna_to_unicode_lzlz (canon, &out, idn_flags); - if (rc != IDNA_SUCCESS) + int rc = __idna_from_dns_encoding (canon, &out); + if (rc == 0) + canon = out; + else if (rc == EAI_IDN_ENCODE) + /* Use the punycode name as a fallback. */ + do_idn = false; + else { - if (rc == IDNA_MALLOC_ERROR) - result = -EAI_MEMORY; - else if (rc == IDNA_DLOPEN_ERROR) - result = -EAI_SYSTEM; - else - result = -EAI_IDN_ENCODE; + result = -rc; goto free_and_return; } - /* In case the output string is the same as the input - string no new string has been allocated and we - make a copy. */ - if (out == canon) - goto make_copy; - canon = out; } - else -#endif + if (!do_idn) { -#ifdef HAVE_LIBIDN - make_copy: -#endif if (canonbuf != NULL) /* We already allocated the string using malloc, but the buffer is now owned by canon. */ @@ -2226,10 +2190,7 @@ getaddrinfo (const char *name, const char *service, if (hints->ai_flags & ~(AI_PASSIVE|AI_CANONNAME|AI_NUMERICHOST|AI_ADDRCONFIG|AI_V4MAPPED -#ifdef HAVE_LIBIDN - |AI_IDN|AI_CANONIDN|AI_IDN_ALLOW_UNASSIGNED - |AI_IDN_USE_STD3_ASCII_RULES -#endif + |AI_IDN|AI_CANONIDN|DEPRECATED_AI_IDN |AI_NUMERICSERV|AI_ALL)) return EAI_BADFLAGS; diff --git a/sysdeps/unix/inet/Subdirs b/sysdeps/unix/inet/Subdirs index 1223e43..0a02dd4 100644 --- a/sysdeps/unix/inet/Subdirs +++ b/sysdeps/unix/inet/Subdirs @@ -6,4 +6,3 @@ nis nscd nss streams -libidn diff --git a/sysdeps/unix/inet/configure b/sysdeps/unix/inet/configure deleted file mode 100644 index fd0afad..0000000 --- a/sysdeps/unix/inet/configure +++ /dev/null @@ -1,9 +0,0 @@ -# This file is generated from configure.ac by Autoconf. DO NOT EDIT! - -if test "$shared" = yes; then : - - # Get this defined in config.h for main source code to test. - $as_echo "#define HAVE_LIBIDN 1" >>confdefs.h - - -fi diff --git a/sysdeps/unix/inet/configure.ac b/sysdeps/unix/inet/configure.ac deleted file mode 100644 index e9b3443..0000000 --- a/sysdeps/unix/inet/configure.ac +++ /dev/null @@ -1,7 +0,0 @@ -dnl glibc configure fragment for sysdeps/unix/inet. -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. - -AS_IF([test "$shared" = yes], [ - # Get this defined in config.h for main source code to test. - AC_DEFINE([HAVE_LIBIDN]) -]) |