quickjs-hs 0.1.2 → 0.1.2.1
raw patch · 11 files changed
+6231/−13 lines, 11 filesdep ~base
Dependency ranges changed: base
Files
- ChangeLog.md +4/−1
- quickjs-hs.cabal +15/−12
- quickjs/cutils.h +297/−0
- quickjs/libbf.h +535/−0
- quickjs/libregexp-opcode.h +58/−0
- quickjs/libregexp.h +91/−0
- quickjs/libunicode-table.h +4368/−0
- quickjs/libunicode.h +124/−0
- quickjs/list.h +100/−0
- quickjs/quickjs-atom.h +272/−0
- quickjs/quickjs-opcode.h +367/−0
ChangeLog.md view
@@ -1,9 +1,12 @@ # Changelog for quickjs-hs +### 0.1.2.1++* This one should compile+ ### 0.1.2 * removed `DerivingVia` for better backwards compatibility- ### 0.1.1
quickjs-hs.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: quickjs-hs-version: 0.1.2+version: 0.1.2.1 homepage: https://github.com/goodlyrottenapple/quickjs-hs#readme bug-reports: https://github.com/goodlyrottenapple/quickjs-hs/issues author: Sam Balco@@ -19,6 +19,19 @@ . To get started, see the ReadMe below. ++extra-source-files:+ quickjs/cutils.h+ , quickjs/libbf.h+ , quickjs/libunicode-table.h+ , quickjs/libunicode.h+ , quickjs/libregexp-opcode.h+ , quickjs/libregexp.h+ , quickjs/list.h+ , quickjs/quickjs-atom.h+ , quickjs/quickjs-opcode.h++ source-repository head type: git location: https://github.com/goodlyrottenapple/quickjs-hs@@ -57,21 +70,11 @@ , quickjs/quickjs.c , quickjs/quickjs-libc.h , quickjs/quickjs-libc.c- includes: - quickjs/cutils.h- , quickjs/libbf.h- , quickjs/libunicode-table.h- , quickjs/libunicode.h- , quickjs/libregexp-opcode.h- , quickjs/libregexp.h- , quickjs/list.h- , quickjs/quickjs-atom.h- , quickjs/quickjs-opcode.h+ cc-options: -static -D_GNU_SOURCE -DCONFIG_VERSION="2020-07-05" -DCONFIG_BIGNUM- test-suite quickjs-hs-test type: exitcode-stdio-1.0
+ quickjs/cutils.h view
@@ -0,0 +1,297 @@+/*+ * C utilities+ * + * Copyright (c) 2017 Fabrice Bellard+ * Copyright (c) 2018 Charlie Gordon+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */+#ifndef CUTILS_H+#define CUTILS_H++#include <stdlib.h>+#include <inttypes.h>++/* set if CPU is big endian */+#undef WORDS_BIGENDIAN++#define likely(x) __builtin_expect(!!(x), 1)+#define unlikely(x) __builtin_expect(!!(x), 0)+#define force_inline inline __attribute__((always_inline))+#define no_inline __attribute__((noinline))+#define __maybe_unused __attribute__((unused))++#define xglue(x, y) x ## y+#define glue(x, y) xglue(x, y)+#define stringify(s) tostring(s)+#define tostring(s) #s++#ifndef offsetof+#define offsetof(type, field) ((size_t) &((type *)0)->field)+#endif+#ifndef countof+#define countof(x) (sizeof(x) / sizeof((x)[0]))+#endif++typedef int BOOL;++#ifndef FALSE+enum {+ FALSE = 0,+ TRUE = 1,+};+#endif++void pstrcpy(char *buf, int buf_size, const char *str);+char *pstrcat(char *buf, int buf_size, const char *s);+int strstart(const char *str, const char *val, const char **ptr);+int has_suffix(const char *str, const char *suffix);++static inline int max_int(int a, int b)+{+ if (a > b)+ return a;+ else+ return b;+}++static inline int min_int(int a, int b)+{+ if (a < b)+ return a;+ else+ return b;+}++static inline uint32_t max_uint32(uint32_t a, uint32_t b)+{+ if (a > b)+ return a;+ else+ return b;+}++static inline uint32_t min_uint32(uint32_t a, uint32_t b)+{+ if (a < b)+ return a;+ else+ return b;+}++static inline int64_t max_int64(int64_t a, int64_t b)+{+ if (a > b)+ return a;+ else+ return b;+}++static inline int64_t min_int64(int64_t a, int64_t b)+{+ if (a < b)+ return a;+ else+ return b;+}++/* WARNING: undefined if a = 0 */+static inline int clz32(unsigned int a)+{+ return __builtin_clz(a);+}++/* WARNING: undefined if a = 0 */+static inline int clz64(uint64_t a)+{+ return __builtin_clzll(a);+}++/* WARNING: undefined if a = 0 */+static inline int ctz32(unsigned int a)+{+ return __builtin_ctz(a);+}++/* WARNING: undefined if a = 0 */+static inline int ctz64(uint64_t a)+{+ return __builtin_ctzll(a);+}++struct __attribute__((packed)) packed_u64 {+ uint64_t v;+};++struct __attribute__((packed)) packed_u32 {+ uint32_t v;+};++struct __attribute__((packed)) packed_u16 {+ uint16_t v;+};++static inline uint64_t get_u64(const uint8_t *tab)+{+ return ((const struct packed_u64 *)tab)->v;+}++static inline int64_t get_i64(const uint8_t *tab)+{+ return (int64_t)((const struct packed_u64 *)tab)->v;+}++static inline void put_u64(uint8_t *tab, uint64_t val)+{+ ((struct packed_u64 *)tab)->v = val;+}++static inline uint32_t get_u32(const uint8_t *tab)+{+ return ((const struct packed_u32 *)tab)->v;+}++static inline int32_t get_i32(const uint8_t *tab)+{+ return (int32_t)((const struct packed_u32 *)tab)->v;+}++static inline void put_u32(uint8_t *tab, uint32_t val)+{+ ((struct packed_u32 *)tab)->v = val;+}++static inline uint32_t get_u16(const uint8_t *tab)+{+ return ((const struct packed_u16 *)tab)->v;+}++static inline int32_t get_i16(const uint8_t *tab)+{+ return (int16_t)((const struct packed_u16 *)tab)->v;+}++static inline void put_u16(uint8_t *tab, uint16_t val)+{+ ((struct packed_u16 *)tab)->v = val;+}++static inline uint32_t get_u8(const uint8_t *tab)+{+ return *tab;+}++static inline int32_t get_i8(const uint8_t *tab)+{+ return (int8_t)*tab;+}++static inline void put_u8(uint8_t *tab, uint8_t val)+{+ *tab = val;+}++static inline uint16_t bswap16(uint16_t x)+{+ return (x >> 8) | (x << 8);+}++static inline uint32_t bswap32(uint32_t v)+{+ return ((v & 0xff000000) >> 24) | ((v & 0x00ff0000) >> 8) |+ ((v & 0x0000ff00) << 8) | ((v & 0x000000ff) << 24);+}++static inline uint64_t bswap64(uint64_t v)+{+ return ((v & ((uint64_t)0xff << (7 * 8))) >> (7 * 8)) | + ((v & ((uint64_t)0xff << (6 * 8))) >> (5 * 8)) | + ((v & ((uint64_t)0xff << (5 * 8))) >> (3 * 8)) | + ((v & ((uint64_t)0xff << (4 * 8))) >> (1 * 8)) | + ((v & ((uint64_t)0xff << (3 * 8))) << (1 * 8)) | + ((v & ((uint64_t)0xff << (2 * 8))) << (3 * 8)) | + ((v & ((uint64_t)0xff << (1 * 8))) << (5 * 8)) | + ((v & ((uint64_t)0xff << (0 * 8))) << (7 * 8));+}++/* XXX: should take an extra argument to pass slack information to the caller */+typedef void *DynBufReallocFunc(void *opaque, void *ptr, size_t size);++typedef struct DynBuf {+ uint8_t *buf;+ size_t size;+ size_t allocated_size;+ BOOL error; /* true if a memory allocation error occurred */+ DynBufReallocFunc *realloc_func;+ void *opaque; /* for realloc_func */+} DynBuf;++void dbuf_init(DynBuf *s);+void dbuf_init2(DynBuf *s, void *opaque, DynBufReallocFunc *realloc_func);+int dbuf_realloc(DynBuf *s, size_t new_size);+int dbuf_write(DynBuf *s, size_t offset, const uint8_t *data, size_t len);+int dbuf_put(DynBuf *s, const uint8_t *data, size_t len);+int dbuf_put_self(DynBuf *s, size_t offset, size_t len);+int dbuf_putc(DynBuf *s, uint8_t c);+int dbuf_putstr(DynBuf *s, const char *str);+static inline int dbuf_put_u16(DynBuf *s, uint16_t val)+{+ return dbuf_put(s, (uint8_t *)&val, 2);+}+static inline int dbuf_put_u32(DynBuf *s, uint32_t val)+{+ return dbuf_put(s, (uint8_t *)&val, 4);+}+static inline int dbuf_put_u64(DynBuf *s, uint64_t val)+{+ return dbuf_put(s, (uint8_t *)&val, 8);+}+int __attribute__((format(printf, 2, 3))) dbuf_printf(DynBuf *s,+ const char *fmt, ...);+void dbuf_free(DynBuf *s);+static inline BOOL dbuf_error(DynBuf *s) {+ return s->error;+}+static inline void dbuf_set_error(DynBuf *s)+{+ s->error = TRUE;+}++#define UTF8_CHAR_LEN_MAX 6++int unicode_to_utf8(uint8_t *buf, unsigned int c);+int unicode_from_utf8(const uint8_t *p, int max_len, const uint8_t **pp);++static inline int from_hex(int c)+{+ if (c >= '0' && c <= '9')+ return c - '0';+ else if (c >= 'A' && c <= 'F')+ return c - 'A' + 10;+ else if (c >= 'a' && c <= 'f')+ return c - 'a' + 10;+ else+ return -1;+}++void rqsort(void *base, size_t nmemb, size_t size,+ int (*cmp)(const void *, const void *, void *),+ void *arg);++#endif /* CUTILS_H */
+ quickjs/libbf.h view
@@ -0,0 +1,535 @@+/*+ * Tiny arbitrary precision floating point library+ * + * Copyright (c) 2017-2020 Fabrice Bellard+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */+#ifndef LIBBF_H+#define LIBBF_H++#include <stddef.h>+#include <stdint.h>++#if defined(__x86_64__)+#define LIMB_LOG2_BITS 6+#else+#define LIMB_LOG2_BITS 5+#endif++#define LIMB_BITS (1 << LIMB_LOG2_BITS)++#if LIMB_BITS == 64+typedef __int128 int128_t;+typedef unsigned __int128 uint128_t;+typedef int64_t slimb_t;+typedef uint64_t limb_t;+typedef uint128_t dlimb_t;+#define BF_RAW_EXP_MIN INT64_MIN+#define BF_RAW_EXP_MAX INT64_MAX++#define LIMB_DIGITS 19+#define BF_DEC_BASE UINT64_C(10000000000000000000)++#else++typedef int32_t slimb_t;+typedef uint32_t limb_t;+typedef uint64_t dlimb_t;+#define BF_RAW_EXP_MIN INT32_MIN+#define BF_RAW_EXP_MAX INT32_MAX++#define LIMB_DIGITS 9+#define BF_DEC_BASE 1000000000U++#endif++/* in bits */+/* minimum number of bits for the exponent */+#define BF_EXP_BITS_MIN 3+/* maximum number of bits for the exponent */+#define BF_EXP_BITS_MAX (LIMB_BITS - 3)+/* extended range for exponent, used internally */+#define BF_EXT_EXP_BITS_MAX (BF_EXP_BITS_MAX + 1)+/* minimum possible precision */+#define BF_PREC_MIN 2+/* minimum possible precision */+#define BF_PREC_MAX (((limb_t)1 << (LIMB_BITS - 2)) - 2)+/* some operations support infinite precision */+#define BF_PREC_INF (BF_PREC_MAX + 1) /* infinite precision */++#if LIMB_BITS == 64+#define BF_CHKSUM_MOD (UINT64_C(975620677) * UINT64_C(9795002197))+#else+#define BF_CHKSUM_MOD 975620677U+#endif++#define BF_EXP_ZERO BF_RAW_EXP_MIN+#define BF_EXP_INF (BF_RAW_EXP_MAX - 1)+#define BF_EXP_NAN BF_RAW_EXP_MAX++/* +/-zero is represented with expn = BF_EXP_ZERO and len = 0,+ +/-infinity is represented with expn = BF_EXP_INF and len = 0,+ NaN is represented with expn = BF_EXP_NAN and len = 0 (sign is ignored)+ */+typedef struct {+ struct bf_context_t *ctx;+ int sign;+ slimb_t expn;+ limb_t len;+ limb_t *tab;+} bf_t;++typedef struct {+ /* must be kept identical to bf_t */+ struct bf_context_t *ctx;+ int sign;+ slimb_t expn;+ limb_t len;+ limb_t *tab;+} bfdec_t;++typedef enum {+ BF_RNDN, /* round to nearest, ties to even */+ BF_RNDZ, /* round to zero */+ BF_RNDD, /* round to -inf (the code relies on (BF_RNDD xor BF_RNDU) = 1) */+ BF_RNDU, /* round to +inf */+ BF_RNDNA, /* round to nearest, ties away from zero */+ BF_RNDA, /* round away from zero */+ BF_RNDF, /* faithful rounding (nondeterministic, either RNDD or RNDU,+ inexact flag is always set) */+} bf_rnd_t;++/* allow subnormal numbers. Only available if the number of exponent+ bits is <= BF_EXP_BITS_USER_MAX and prec != BF_PREC_INF. */+#define BF_FLAG_SUBNORMAL (1 << 3)+/* 'prec' is the precision after the radix point instead of the whole+ mantissa. Can only be used with bf_round() and+ bfdec_[add|sub|mul|div|sqrt|round](). */+#define BF_FLAG_RADPNT_PREC (1 << 4)++#define BF_RND_MASK 0x7+#define BF_EXP_BITS_SHIFT 5+#define BF_EXP_BITS_MASK 0x3f++/* shortcut for bf_set_exp_bits(BF_EXT_EXP_BITS_MAX) */+#define BF_FLAG_EXT_EXP (BF_EXP_BITS_MASK << BF_EXP_BITS_SHIFT)++/* contains the rounding mode and number of exponents bits */+typedef uint32_t bf_flags_t;++typedef void *bf_realloc_func_t(void *opaque, void *ptr, size_t size);++typedef struct {+ bf_t val;+ limb_t prec;+} BFConstCache;++typedef struct bf_context_t {+ void *realloc_opaque;+ bf_realloc_func_t *realloc_func;+ BFConstCache log2_cache;+ BFConstCache pi_cache;+ struct BFNTTState *ntt_state;+} bf_context_t;++static inline int bf_get_exp_bits(bf_flags_t flags)+{+ int e;+ e = (flags >> BF_EXP_BITS_SHIFT) & BF_EXP_BITS_MASK;+ if (e == BF_EXP_BITS_MASK)+ return BF_EXP_BITS_MAX + 1;+ else+ return BF_EXP_BITS_MAX - e;+}++static inline bf_flags_t bf_set_exp_bits(int n)+{+ return ((BF_EXP_BITS_MAX - n) & BF_EXP_BITS_MASK) << BF_EXP_BITS_SHIFT;+}++/* returned status */+#define BF_ST_INVALID_OP (1 << 0)+#define BF_ST_DIVIDE_ZERO (1 << 1)+#define BF_ST_OVERFLOW (1 << 2)+#define BF_ST_UNDERFLOW (1 << 3)+#define BF_ST_INEXACT (1 << 4)+/* indicate that a memory allocation error occured. NaN is returned */+#define BF_ST_MEM_ERROR (1 << 5) ++#define BF_RADIX_MAX 36 /* maximum radix for bf_atof() and bf_ftoa() */++static inline slimb_t bf_max(slimb_t a, slimb_t b)+{+ if (a > b)+ return a;+ else+ return b;+}++static inline slimb_t bf_min(slimb_t a, slimb_t b)+{+ if (a < b)+ return a;+ else+ return b;+}++void bf_context_init(bf_context_t *s, bf_realloc_func_t *realloc_func,+ void *realloc_opaque);+void bf_context_end(bf_context_t *s);+/* free memory allocated for the bf cache data */+void bf_clear_cache(bf_context_t *s);++static inline void *bf_realloc(bf_context_t *s, void *ptr, size_t size)+{+ return s->realloc_func(s->realloc_opaque, ptr, size);+}++/* 'size' must be != 0 */+static inline void *bf_malloc(bf_context_t *s, size_t size)+{+ return bf_realloc(s, NULL, size);+}++static inline void bf_free(bf_context_t *s, void *ptr)+{+ /* must test ptr otherwise equivalent to malloc(0) */+ if (ptr)+ bf_realloc(s, ptr, 0);+}++void bf_init(bf_context_t *s, bf_t *r);++static inline void bf_delete(bf_t *r)+{+ bf_context_t *s = r->ctx;+ /* we accept to delete a zeroed bf_t structure */+ if (s && r->tab) {+ bf_realloc(s, r->tab, 0);+ }+}++static inline void bf_neg(bf_t *r)+{+ r->sign ^= 1;+}++static inline int bf_is_finite(const bf_t *a)+{+ return (a->expn < BF_EXP_INF);+}++static inline int bf_is_nan(const bf_t *a)+{+ return (a->expn == BF_EXP_NAN);+}++static inline int bf_is_zero(const bf_t *a)+{+ return (a->expn == BF_EXP_ZERO);+}++static inline void bf_memcpy(bf_t *r, const bf_t *a)+{+ *r = *a;+}++int bf_set_ui(bf_t *r, uint64_t a);+int bf_set_si(bf_t *r, int64_t a);+void bf_set_nan(bf_t *r);+void bf_set_zero(bf_t *r, int is_neg);+void bf_set_inf(bf_t *r, int is_neg);+int bf_set(bf_t *r, const bf_t *a);+void bf_move(bf_t *r, bf_t *a);+int bf_get_float64(const bf_t *a, double *pres, bf_rnd_t rnd_mode);+int bf_set_float64(bf_t *a, double d);++int bf_cmpu(const bf_t *a, const bf_t *b);+int bf_cmp_full(const bf_t *a, const bf_t *b);+int bf_cmp(const bf_t *a, const bf_t *b);+static inline int bf_cmp_eq(const bf_t *a, const bf_t *b)+{+ return bf_cmp(a, b) == 0;+}++static inline int bf_cmp_le(const bf_t *a, const bf_t *b)+{+ return bf_cmp(a, b) <= 0;+}++static inline int bf_cmp_lt(const bf_t *a, const bf_t *b)+{+ return bf_cmp(a, b) < 0;+}++int bf_add(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags);+int bf_sub(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags);+int bf_add_si(bf_t *r, const bf_t *a, int64_t b1, limb_t prec, bf_flags_t flags);+int bf_mul(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags);+int bf_mul_ui(bf_t *r, const bf_t *a, uint64_t b1, limb_t prec, bf_flags_t flags);+int bf_mul_si(bf_t *r, const bf_t *a, int64_t b1, limb_t prec, + bf_flags_t flags);+int bf_mul_2exp(bf_t *r, slimb_t e, limb_t prec, bf_flags_t flags);+int bf_div(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec, bf_flags_t flags);+#define BF_DIVREM_EUCLIDIAN BF_RNDF+int bf_divrem(bf_t *q, bf_t *r, const bf_t *a, const bf_t *b,+ limb_t prec, bf_flags_t flags, int rnd_mode);+int bf_rem(bf_t *r, const bf_t *a, const bf_t *b, limb_t prec,+ bf_flags_t flags, int rnd_mode);+int bf_remquo(slimb_t *pq, bf_t *r, const bf_t *a, const bf_t *b, limb_t prec,+ bf_flags_t flags, int rnd_mode);+/* round to integer with infinite precision */+int bf_rint(bf_t *r, int rnd_mode);+int bf_round(bf_t *r, limb_t prec, bf_flags_t flags);+int bf_sqrtrem(bf_t *r, bf_t *rem1, const bf_t *a);+int bf_sqrt(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+slimb_t bf_get_exp_min(const bf_t *a);+int bf_logic_or(bf_t *r, const bf_t *a, const bf_t *b);+int bf_logic_xor(bf_t *r, const bf_t *a, const bf_t *b);+int bf_logic_and(bf_t *r, const bf_t *a, const bf_t *b);++/* additional flags for bf_atof */+/* do not accept hex radix prefix (0x or 0X) if radix = 0 or radix = 16 */+#define BF_ATOF_NO_HEX (1 << 16)+/* accept binary (0b or 0B) or octal (0o or 0O) radix prefix if radix = 0 */+#define BF_ATOF_BIN_OCT (1 << 17)+/* Do not parse NaN or Inf */+#define BF_ATOF_NO_NAN_INF (1 << 18)+/* return the exponent separately */+#define BF_ATOF_EXPONENT (1 << 19)++int bf_atof(bf_t *a, const char *str, const char **pnext, int radix,+ limb_t prec, bf_flags_t flags);+/* this version accepts prec = BF_PREC_INF and returns the radix+ exponent */+int bf_atof2(bf_t *r, slimb_t *pexponent,+ const char *str, const char **pnext, int radix,+ limb_t prec, bf_flags_t flags);+int bf_mul_pow_radix(bf_t *r, const bf_t *T, limb_t radix,+ slimb_t expn, limb_t prec, bf_flags_t flags);+++/* Conversion of floating point number to string. Return a null+ terminated string or NULL if memory error. *plen contains its+ length if plen != NULL. The exponent letter is "e" for base 10,+ "p" for bases 2, 8, 16 with a binary exponent and "@" for the other+ bases. */++#define BF_FTOA_FORMAT_MASK (3 << 16)++/* fixed format: prec significant digits rounded with (flags &+ BF_RND_MASK). Exponential notation is used if too many zeros are+ needed.*/+#define BF_FTOA_FORMAT_FIXED (0 << 16)+/* fractional format: prec digits after the decimal point rounded with+ (flags & BF_RND_MASK) */+#define BF_FTOA_FORMAT_FRAC (1 << 16)+/* free format: + + For binary radices with bf_ftoa() and for bfdec_ftoa(): use the minimum+ number of digits to represent 'a'. The precision and the rounding+ mode are ignored.+ + For the non binary radices with bf_ftoa(): use as many digits as+ necessary so that bf_atof() return the same number when using+ precision 'prec', rounding to nearest and the subnormal+ configuration of 'flags'. The result is meaningful only if 'a' is+ already rounded to 'prec' bits. If the subnormal flag is set, the+ exponent in 'flags' must also be set to the desired exponent range.+*/+#define BF_FTOA_FORMAT_FREE (2 << 16)+/* same as BF_FTOA_FORMAT_FREE but uses the minimum number of digits+ (takes more computation time). Identical to BF_FTOA_FORMAT_FREE for+ binary radices with bf_ftoa() and for bfdec_ftoa(). */+#define BF_FTOA_FORMAT_FREE_MIN (3 << 16)++/* force exponential notation for fixed or free format */+#define BF_FTOA_FORCE_EXP (1 << 20)+/* add 0x prefix for base 16, 0o prefix for base 8 or 0b prefix for+ base 2 if non zero value */+#define BF_FTOA_ADD_PREFIX (1 << 21)+/* return "Infinity" instead of "Inf" and add a "+" for positive+ exponents */+#define BF_FTOA_JS_QUIRKS (1 << 22)++char *bf_ftoa(size_t *plen, const bf_t *a, int radix, limb_t prec,+ bf_flags_t flags);++/* modulo 2^n instead of saturation. NaN and infinity return 0 */+#define BF_GET_INT_MOD (1 << 0) +int bf_get_int32(int *pres, const bf_t *a, int flags);+int bf_get_int64(int64_t *pres, const bf_t *a, int flags);+int bf_get_uint64(uint64_t *pres, const bf_t *a);++/* the following functions are exported for testing only. */+void mp_print_str(const char *str, const limb_t *tab, limb_t n);+void bf_print_str(const char *str, const bf_t *a);+int bf_resize(bf_t *r, limb_t len);+int bf_get_fft_size(int *pdpl, int *pnb_mods, limb_t len);+int bf_normalize_and_round(bf_t *r, limb_t prec1, bf_flags_t flags);+int bf_can_round(const bf_t *a, slimb_t prec, bf_rnd_t rnd_mode, slimb_t k);+slimb_t bf_mul_log2_radix(slimb_t a1, unsigned int radix, int is_inv,+ int is_ceil1);+int mp_mul(bf_context_t *s, limb_t *result, + const limb_t *op1, limb_t op1_size, + const limb_t *op2, limb_t op2_size);+limb_t mp_add(limb_t *res, const limb_t *op1, const limb_t *op2, + limb_t n, limb_t carry);+limb_t mp_add_ui(limb_t *tab, limb_t b, size_t n);+int mp_sqrtrem(bf_context_t *s, limb_t *tabs, limb_t *taba, limb_t n);+int mp_recip(bf_context_t *s, limb_t *tabr, const limb_t *taba, limb_t n);+limb_t bf_isqrt(limb_t a);++/* transcendental functions */+int bf_const_log2(bf_t *T, limb_t prec, bf_flags_t flags);+int bf_const_pi(bf_t *T, limb_t prec, bf_flags_t flags);+int bf_exp(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+int bf_log(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+#define BF_POW_JS_QUIRKS (1 << 16) /* (+/-1)^(+/-Inf) = NaN, 1^NaN = NaN */+int bf_pow(bf_t *r, const bf_t *x, const bf_t *y, limb_t prec, bf_flags_t flags);+int bf_cos(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+int bf_sin(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+int bf_tan(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+int bf_atan(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+int bf_atan2(bf_t *r, const bf_t *y, const bf_t *x,+ limb_t prec, bf_flags_t flags);+int bf_asin(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);+int bf_acos(bf_t *r, const bf_t *a, limb_t prec, bf_flags_t flags);++/* decimal floating point */++static inline void bfdec_init(bf_context_t *s, bfdec_t *r)+{+ bf_init(s, (bf_t *)r);+}+static inline void bfdec_delete(bfdec_t *r)+{+ bf_delete((bf_t *)r);+}++static inline void bfdec_neg(bfdec_t *r)+{+ r->sign ^= 1;+}++static inline int bfdec_is_finite(const bfdec_t *a)+{+ return (a->expn < BF_EXP_INF);+}++static inline int bfdec_is_nan(const bfdec_t *a)+{+ return (a->expn == BF_EXP_NAN);+}++static inline int bfdec_is_zero(const bfdec_t *a)+{+ return (a->expn == BF_EXP_ZERO);+}++static inline void bfdec_memcpy(bfdec_t *r, const bfdec_t *a)+{+ bf_memcpy((bf_t *)r, (const bf_t *)a);+}++int bfdec_set_ui(bfdec_t *r, uint64_t a);+int bfdec_set_si(bfdec_t *r, int64_t a);++static inline void bfdec_set_nan(bfdec_t *r)+{+ bf_set_nan((bf_t *)r);+}+static inline void bfdec_set_zero(bfdec_t *r, int is_neg)+{+ bf_set_zero((bf_t *)r, is_neg);+}+static inline void bfdec_set_inf(bfdec_t *r, int is_neg)+{+ bf_set_inf((bf_t *)r, is_neg);+}+static inline int bfdec_set(bfdec_t *r, const bfdec_t *a)+{+ return bf_set((bf_t *)r, (bf_t *)a);+}+static inline void bfdec_move(bfdec_t *r, bfdec_t *a)+{+ bf_move((bf_t *)r, (bf_t *)a);+}+static inline int bfdec_cmpu(const bfdec_t *a, const bfdec_t *b)+{+ return bf_cmpu((const bf_t *)a, (const bf_t *)b);+}+static inline int bfdec_cmp_full(const bfdec_t *a, const bfdec_t *b)+{+ return bf_cmp_full((const bf_t *)a, (const bf_t *)b);+}+static inline int bfdec_cmp(const bfdec_t *a, const bfdec_t *b)+{+ return bf_cmp((const bf_t *)a, (const bf_t *)b);+}+static inline int bfdec_cmp_eq(const bfdec_t *a, const bfdec_t *b)+{+ return bfdec_cmp(a, b) == 0;+}+static inline int bfdec_cmp_le(const bfdec_t *a, const bfdec_t *b)+{+ return bfdec_cmp(a, b) <= 0;+}+static inline int bfdec_cmp_lt(const bfdec_t *a, const bfdec_t *b)+{+ return bfdec_cmp(a, b) < 0;+}++int bfdec_add(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec,+ bf_flags_t flags);+int bfdec_sub(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec,+ bf_flags_t flags);+int bfdec_add_si(bfdec_t *r, const bfdec_t *a, int64_t b1, limb_t prec,+ bf_flags_t flags);+int bfdec_mul(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec,+ bf_flags_t flags);+int bfdec_mul_si(bfdec_t *r, const bfdec_t *a, int64_t b1, limb_t prec,+ bf_flags_t flags);+int bfdec_div(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec,+ bf_flags_t flags);+int bfdec_divrem(bfdec_t *q, bfdec_t *r, const bfdec_t *a, const bfdec_t *b,+ limb_t prec, bf_flags_t flags, int rnd_mode);+int bfdec_rem(bfdec_t *r, const bfdec_t *a, const bfdec_t *b, limb_t prec,+ bf_flags_t flags, int rnd_mode);+int bfdec_rint(bfdec_t *r, int rnd_mode);+int bfdec_sqrt(bfdec_t *r, const bfdec_t *a, limb_t prec, bf_flags_t flags);+int bfdec_round(bfdec_t *r, limb_t prec, bf_flags_t flags);+int bfdec_get_int32(int *pres, const bfdec_t *a);+int bfdec_pow_ui(bfdec_t *r, const bfdec_t *a, limb_t b);++char *bfdec_ftoa(size_t *plen, const bfdec_t *a, limb_t prec, bf_flags_t flags);+int bfdec_atof(bfdec_t *r, const char *str, const char **pnext,+ limb_t prec, bf_flags_t flags);++/* the following functions are exported for testing only. */+extern const limb_t mp_pow_dec[LIMB_DIGITS + 1];+void bfdec_print_str(const char *str, const bfdec_t *a);+static inline int bfdec_resize(bfdec_t *r, limb_t len)+{+ return bf_resize((bf_t *)r, len);+}+int bfdec_normalize_and_round(bfdec_t *r, limb_t prec1, bf_flags_t flags);++#endif /* LIBBF_H */
+ quickjs/libregexp-opcode.h view
@@ -0,0 +1,58 @@+/*+ * Regular Expression Engine+ * + * Copyright (c) 2017-2018 Fabrice Bellard+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */++#ifdef DEF++DEF(invalid, 1) /* never used */+DEF(char, 3)+DEF(char32, 5)+DEF(dot, 1)+DEF(any, 1) /* same as dot but match any character including line terminator */+DEF(line_start, 1)+DEF(line_end, 1)+DEF(goto, 5)+DEF(split_goto_first, 5)+DEF(split_next_first, 5)+DEF(match, 1)+DEF(save_start, 2) /* save start position */+DEF(save_end, 2) /* save end position, must come after saved_start */+DEF(save_reset, 3) /* reset save positions */+DEF(loop, 5) /* decrement the top the stack and goto if != 0 */+DEF(push_i32, 5) /* push integer on the stack */+DEF(drop, 1)+DEF(word_boundary, 1)+DEF(not_word_boundary, 1)+DEF(back_reference, 2)+DEF(backward_back_reference, 2) /* must come after back_reference */+DEF(range, 3) /* variable length */+DEF(range32, 3) /* variable length */+DEF(lookahead, 5)+DEF(negative_lookahead, 5)+DEF(push_char_pos, 1) /* push the character position on the stack */+DEF(bne_char_pos, 5) /* pop one stack element and jump if equal to the character+ position */+DEF(prev, 1) /* go to the previous char */+DEF(simple_greedy_quant, 17)++#endif /* DEF */
+ quickjs/libregexp.h view
@@ -0,0 +1,91 @@+/*+ * Regular Expression Engine+ * + * Copyright (c) 2017-2018 Fabrice Bellard+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */+#ifndef LIBREGEXP_H+#define LIBREGEXP_H++#include <stddef.h>++#include "libunicode.h"++#define LRE_BOOL int /* for documentation purposes */++#define LRE_FLAG_GLOBAL (1 << 0)+#define LRE_FLAG_IGNORECASE (1 << 1)+#define LRE_FLAG_MULTILINE (1 << 2)+#define LRE_FLAG_DOTALL (1 << 3)+#define LRE_FLAG_UTF16 (1 << 4)+#define LRE_FLAG_STICKY (1 << 5)++#define LRE_FLAG_NAMED_GROUPS (1 << 7) /* named groups are present in the regexp */++uint8_t *lre_compile(int *plen, char *error_msg, int error_msg_size,+ const char *buf, size_t buf_len, int re_flags,+ void *opaque);+int lre_get_capture_count(const uint8_t *bc_buf);+int lre_get_flags(const uint8_t *bc_buf);+int lre_exec(uint8_t **capture,+ const uint8_t *bc_buf, const uint8_t *cbuf, int cindex, int clen,+ int cbuf_type, void *opaque);++int lre_parse_escape(const uint8_t **pp, int allow_utf16);+LRE_BOOL lre_is_space(int c);++/* must be provided by the user */+LRE_BOOL lre_check_stack_overflow(void *opaque, size_t alloca_size); +void *lre_realloc(void *opaque, void *ptr, size_t size);++/* JS identifier test */+extern uint32_t const lre_id_start_table_ascii[4];+extern uint32_t const lre_id_continue_table_ascii[4];++static inline int lre_js_is_ident_first(int c)+{+ if ((uint32_t)c < 128) {+ return (lre_id_start_table_ascii[c >> 5] >> (c & 31)) & 1;+ } else {+#ifdef CONFIG_ALL_UNICODE+ return lre_is_id_start(c);+#else+ return !lre_is_space(c);+#endif+ }+}++static inline int lre_js_is_ident_next(int c)+{+ if ((uint32_t)c < 128) {+ return (lre_id_continue_table_ascii[c >> 5] >> (c & 31)) & 1;+ } else {+ /* ZWNJ and ZWJ are accepted in identifiers */+#ifdef CONFIG_ALL_UNICODE+ return lre_is_id_continue(c) || c == 0x200C || c == 0x200D;+#else+ return !lre_is_space(c) || c == 0x200C || c == 0x200D;+#endif+ }+}++#undef LRE_BOOL++#endif /* LIBREGEXP_H */
+ quickjs/libunicode-table.h view
@@ -0,0 +1,4368 @@+/* Compressed unicode tables */+/* Automatically generated file - do not edit */++#include <stdint.h>++static const uint32_t case_conv_table1[361] = {+ 0x00209a30, 0x00309a00, 0x005a8173, 0x00601730,+ 0x006c0730, 0x006f81b3, 0x00701700, 0x007c0700,+ 0x007f8100, 0x00803040, 0x009801c3, 0x00988190,+ 0x00990640, 0x009c9040, 0x00a481b4, 0x00a52e40,+ 0x00bc0130, 0x00bc8640, 0x00bf8170, 0x00c00100,+ 0x00c08130, 0x00c10440, 0x00c30130, 0x00c38240,+ 0x00c48230, 0x00c58240, 0x00c70130, 0x00c78130,+ 0x00c80130, 0x00c88240, 0x00c98130, 0x00ca0130,+ 0x00ca8100, 0x00cb0130, 0x00cb8130, 0x00cc0240,+ 0x00cd0100, 0x00ce0130, 0x00ce8130, 0x00cf0100,+ 0x00cf8130, 0x00d00640, 0x00d30130, 0x00d38240,+ 0x00d48130, 0x00d60240, 0x00d70130, 0x00d78240,+ 0x00d88230, 0x00d98440, 0x00db8130, 0x00dc0240,+ 0x00de0240, 0x00df8100, 0x00e20350, 0x00e38350,+ 0x00e50350, 0x00e69040, 0x00ee8100, 0x00ef1240,+ 0x00f801b4, 0x00f88350, 0x00fa0240, 0x00fb0130,+ 0x00fb8130, 0x00fc2840, 0x01100130, 0x01111240,+ 0x011d0131, 0x011d8240, 0x011e8130, 0x011f0131,+ 0x011f8201, 0x01208240, 0x01218130, 0x01220130,+ 0x01228130, 0x01230a40, 0x01280101, 0x01288101,+ 0x01290101, 0x01298100, 0x012a0100, 0x012b0200,+ 0x012c8100, 0x012d8100, 0x012e0101, 0x01300100,+ 0x01308101, 0x01318100, 0x01328101, 0x01330101,+ 0x01340100, 0x01348100, 0x01350101, 0x01358101,+ 0x01360101, 0x01378100, 0x01388101, 0x01390100,+ 0x013a8100, 0x013e8101, 0x01400100, 0x01410101,+ 0x01418100, 0x01438101, 0x01440100, 0x01448100,+ 0x01450200, 0x01460100, 0x01490100, 0x014e8101,+ 0x014f0101, 0x01a28173, 0x01b80440, 0x01bb0240,+ 0x01bd8300, 0x01bf8130, 0x01c30130, 0x01c40330,+ 0x01c60130, 0x01c70230, 0x01c801d0, 0x01c89130,+ 0x01d18930, 0x01d60100, 0x01d68300, 0x01d801d3,+ 0x01d89100, 0x01e10173, 0x01e18900, 0x01e60100,+ 0x01e68200, 0x01e78130, 0x01e80173, 0x01e88173,+ 0x01ea8173, 0x01eb0173, 0x01eb8100, 0x01ec1840,+ 0x01f80173, 0x01f88173, 0x01f90100, 0x01f98100,+ 0x01fa01a0, 0x01fa8173, 0x01fb8240, 0x01fc8130,+ 0x01fd0240, 0x01fe8330, 0x02001030, 0x02082030,+ 0x02182000, 0x02281000, 0x02302240, 0x02453640,+ 0x02600130, 0x02608e40, 0x02678100, 0x02686040,+ 0x0298a630, 0x02b0a600, 0x02c381b5, 0x08502631,+ 0x08638131, 0x08668131, 0x08682b00, 0x087e8300,+ 0x09d05011, 0x09f80610, 0x09fc0620, 0x0e400174,+ 0x0e408174, 0x0e410174, 0x0e418174, 0x0e420174,+ 0x0e428174, 0x0e430174, 0x0e438180, 0x0e440180,+ 0x0e482b30, 0x0e5e8330, 0x0ebc8101, 0x0ebe8101,+ 0x0ec70101, 0x0f007e40, 0x0f3f1840, 0x0f4b01b5,+ 0x0f4b81b6, 0x0f4c01b6, 0x0f4c81b6, 0x0f4d01b7,+ 0x0f4d8180, 0x0f4f0130, 0x0f506040, 0x0f800800,+ 0x0f840830, 0x0f880600, 0x0f8c0630, 0x0f900800,+ 0x0f940830, 0x0f980800, 0x0f9c0830, 0x0fa00600,+ 0x0fa40630, 0x0fa801b0, 0x0fa88100, 0x0fa901d3,+ 0x0fa98100, 0x0faa01d3, 0x0faa8100, 0x0fab01d3,+ 0x0fab8100, 0x0fac8130, 0x0fad8130, 0x0fae8130,+ 0x0faf8130, 0x0fb00800, 0x0fb40830, 0x0fb80200,+ 0x0fb90400, 0x0fbb0200, 0x0fbc0201, 0x0fbd0201,+ 0x0fbe0201, 0x0fc008b7, 0x0fc40867, 0x0fc808b8,+ 0x0fcc0868, 0x0fd008b8, 0x0fd40868, 0x0fd80200,+ 0x0fd901b9, 0x0fd981b1, 0x0fda01b9, 0x0fdb01b1,+ 0x0fdb81d7, 0x0fdc0230, 0x0fdd0230, 0x0fde0161,+ 0x0fdf0173, 0x0fe101b9, 0x0fe181b2, 0x0fe201ba,+ 0x0fe301b2, 0x0fe381d8, 0x0fe40430, 0x0fe60162,+ 0x0fe80200, 0x0fe901d0, 0x0fe981d0, 0x0feb01b0,+ 0x0feb81d0, 0x0fec0230, 0x0fed0230, 0x0ff00201,+ 0x0ff101d3, 0x0ff181d3, 0x0ff201ba, 0x0ff28101,+ 0x0ff301b0, 0x0ff381d3, 0x0ff40230, 0x0ff50230,+ 0x0ff60131, 0x0ff901ba, 0x0ff981b2, 0x0ffa01bb,+ 0x0ffb01b2, 0x0ffb81d9, 0x0ffc0230, 0x0ffd0230,+ 0x0ffe0162, 0x109301a0, 0x109501a0, 0x109581a0,+ 0x10990131, 0x10a70101, 0x10b01031, 0x10b81001,+ 0x10c18240, 0x125b1a31, 0x12681a01, 0x16002f31,+ 0x16182f01, 0x16300240, 0x16310130, 0x16318130,+ 0x16320130, 0x16328100, 0x16330100, 0x16338640,+ 0x16368130, 0x16370130, 0x16378130, 0x16380130,+ 0x16390240, 0x163a8240, 0x163f0230, 0x16406440,+ 0x16758440, 0x16790240, 0x16802600, 0x16938100,+ 0x16968100, 0x53202e40, 0x53401c40, 0x53910e40,+ 0x53993e40, 0x53bc8440, 0x53be8130, 0x53bf0a40,+ 0x53c58240, 0x53c68130, 0x53c80440, 0x53ca0101,+ 0x53cb1440, 0x53d50130, 0x53d58130, 0x53d60130,+ 0x53d68130, 0x53d70130, 0x53d80130, 0x53d88130,+ 0x53d90130, 0x53d98131, 0x53da0c40, 0x53e10240,+ 0x53e20131, 0x53e28130, 0x53e30130, 0x53e38440,+ 0x53fa8240, 0x55a98101, 0x55b85020, 0x7d8001b2,+ 0x7d8081b2, 0x7d8101b2, 0x7d8181da, 0x7d8201da,+ 0x7d8281b3, 0x7d8301b3, 0x7d8981bb, 0x7d8a01bb,+ 0x7d8a81bb, 0x7d8b01bc, 0x7d8b81bb, 0x7f909a31,+ 0x7fa09a01, 0x82002831, 0x82142801, 0x82582431,+ 0x826c2401, 0x86403331, 0x86603301, 0x8c502031,+ 0x8c602001, 0xb7202031, 0xb7302001, 0xf4802231,+ 0xf4912201,+};++static const uint8_t case_conv_table2[361] = {+ 0x01, 0x00, 0x9c, 0x06, 0x07, 0x4d, 0x03, 0x04,+ 0x10, 0x00, 0x8f, 0x0b, 0x00, 0x00, 0x11, 0x00,+ 0x08, 0x00, 0x53, 0x4a, 0x51, 0x00, 0x52, 0x00,+ 0x53, 0x00, 0x3a, 0x54, 0x55, 0x00, 0x57, 0x59,+ 0x3f, 0x5d, 0x5c, 0x00, 0x46, 0x61, 0x63, 0x42,+ 0x64, 0x00, 0x66, 0x00, 0x68, 0x00, 0x6a, 0x00,+ 0x6c, 0x00, 0x6e, 0x00, 0x00, 0x40, 0x00, 0x00,+ 0x00, 0x00, 0x1a, 0x00, 0x93, 0x00, 0x00, 0x20,+ 0x35, 0x00, 0x27, 0x00, 0x21, 0x00, 0x24, 0x22,+ 0x2a, 0x00, 0x13, 0x6b, 0x6d, 0x00, 0x26, 0x24,+ 0x27, 0x14, 0x16, 0x18, 0x1b, 0x1c, 0x3e, 0x1e,+ 0x3f, 0x1f, 0x39, 0x3d, 0x22, 0x21, 0x41, 0x1e,+ 0x40, 0x25, 0x25, 0x26, 0x28, 0x20, 0x2a, 0x49,+ 0x2c, 0x43, 0x2e, 0x4b, 0x30, 0x4c, 0x32, 0x44,+ 0x42, 0x99, 0x00, 0x00, 0x95, 0x8f, 0x7d, 0x7e,+ 0x83, 0x84, 0x12, 0x80, 0x82, 0x76, 0x77, 0x12,+ 0x7b, 0xa3, 0x7c, 0x78, 0x79, 0x8a, 0x92, 0x98,+ 0xa6, 0xa0, 0x85, 0x00, 0x9a, 0xa1, 0x93, 0x75,+ 0x33, 0x95, 0x00, 0x8e, 0x00, 0x74, 0x99, 0x98,+ 0x97, 0x96, 0x00, 0x00, 0x9e, 0x00, 0x9c, 0x00,+ 0xa1, 0xa0, 0x15, 0x2e, 0x2f, 0x30, 0xb4, 0xb5,+ 0x4e, 0xaa, 0xa9, 0x12, 0x14, 0x1e, 0x21, 0x22,+ 0x22, 0x2a, 0x34, 0x35, 0xa6, 0xa7, 0x36, 0x1f,+ 0x4a, 0x00, 0x00, 0x97, 0x01, 0x5a, 0xda, 0x1d,+ 0x36, 0x05, 0x00, 0xc4, 0xc3, 0xc6, 0xc5, 0xc8,+ 0xc7, 0xca, 0xc9, 0xcc, 0xcb, 0xc4, 0xd5, 0x45,+ 0xd6, 0x42, 0xd7, 0x46, 0xd8, 0xce, 0xd0, 0xd2,+ 0xd4, 0xda, 0xd9, 0xee, 0xf6, 0xfe, 0x0e, 0x07,+ 0x0f, 0x80, 0x9f, 0x00, 0x21, 0x80, 0xa3, 0xed,+ 0x00, 0xc0, 0x40, 0xc6, 0x60, 0xe7, 0xdb, 0xe6,+ 0x99, 0xc0, 0x00, 0x00, 0x06, 0x60, 0xdc, 0x29,+ 0xfd, 0x15, 0x12, 0x06, 0x16, 0xf8, 0xdd, 0x06,+ 0x15, 0x12, 0x84, 0x08, 0xc6, 0x16, 0xff, 0xdf,+ 0x03, 0xc0, 0x40, 0x00, 0x46, 0x60, 0xde, 0xe0,+ 0x6d, 0x37, 0x38, 0x39, 0x15, 0x14, 0x17, 0x16,+ 0x00, 0x1a, 0x19, 0x1c, 0x1b, 0x00, 0x5f, 0xb7,+ 0x65, 0x44, 0x47, 0x00, 0x4f, 0x62, 0x4e, 0x50,+ 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xa3, 0xa4,+ 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, 0x00,+ 0x00, 0x5a, 0x00, 0x48, 0x00, 0x5b, 0x56, 0x58,+ 0x60, 0x5e, 0x70, 0x69, 0x6f, 0x4d, 0x00, 0x00,+ 0x3b, 0x67, 0xb8, 0x00, 0x00, 0x45, 0xa8, 0x8a,+ 0x8b, 0x8c, 0xab, 0xac, 0x58, 0x58, 0xaf, 0x94,+ 0xb0, 0x6f, 0xb2, 0x5c, 0x5b, 0x5e, 0x5d, 0x60,+ 0x5f, 0x62, 0x61, 0x64, 0x63, 0x66, 0x65, 0x68,+ 0x67,+};++static const uint16_t case_conv_ext[58] = {+ 0x0399, 0x0308, 0x0301, 0x03a5, 0x0313, 0x0300, 0x0342, 0x0391,+ 0x0397, 0x03a9, 0x0046, 0x0049, 0x004c, 0x0053, 0x0069, 0x0307,+ 0x02bc, 0x004e, 0x004a, 0x030c, 0x0535, 0x0552, 0x0048, 0x0331,+ 0x0054, 0x0057, 0x030a, 0x0059, 0x0041, 0x02be, 0x1f08, 0x1f80,+ 0x1f28, 0x1f90, 0x1f68, 0x1fa0, 0x1fba, 0x0386, 0x1fb3, 0x1fca,+ 0x0389, 0x1fc3, 0x03a1, 0x1ffa, 0x038f, 0x1ff3, 0x0544, 0x0546,+ 0x053b, 0x054e, 0x053d, 0x03b8, 0x0462, 0xa64a, 0x1e60, 0x03c9,+ 0x006b, 0x00e5,+};++static const uint8_t unicode_prop_Cased1_table[172] = {+ 0x40, 0xa9, 0x80, 0x8e, 0x80, 0xfc, 0x80, 0xd3,+ 0x80, 0x8c, 0x80, 0x8d, 0x81, 0x8d, 0x02, 0x80,+ 0xe1, 0x80, 0x91, 0x85, 0x9a, 0x01, 0x00, 0x01,+ 0x11, 0x00, 0x01, 0x04, 0x08, 0x01, 0x08, 0x30,+ 0x08, 0x01, 0x15, 0x20, 0x00, 0x39, 0x99, 0x31,+ 0x9d, 0x84, 0x40, 0x94, 0x80, 0xd6, 0x82, 0xa6,+ 0x80, 0x41, 0x62, 0x80, 0xa6, 0x80, 0x57, 0x76,+ 0xf8, 0x02, 0x80, 0x8f, 0x80, 0xb0, 0x40, 0xdb,+ 0x08, 0x80, 0x41, 0xd0, 0x80, 0x8c, 0x80, 0x8f,+ 0x8c, 0xe4, 0x03, 0x01, 0x89, 0x00, 0x14, 0x28,+ 0x10, 0x11, 0x02, 0x01, 0x18, 0x0b, 0x24, 0x4b,+ 0x26, 0x01, 0x01, 0x86, 0xe5, 0x80, 0x60, 0x79,+ 0xb6, 0x81, 0x40, 0x91, 0x81, 0xbd, 0x88, 0x94,+ 0x05, 0x80, 0x98, 0x80, 0xc7, 0x82, 0x43, 0x34,+ 0xa2, 0x06, 0x80, 0x8c, 0x61, 0x28, 0x96, 0xd4,+ 0x80, 0xc6, 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b,+ 0x00, 0x06, 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80,+ 0x9b, 0x03, 0x04, 0x00, 0x16, 0x80, 0x41, 0x53,+ 0x81, 0x98, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98,+ 0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98,+ 0x80, 0x9e, 0x80, 0x98, 0x07, 0x59, 0x63, 0x99,+ 0x85, 0x99, 0x85, 0x99,+};++static const uint8_t unicode_prop_Cased1_index[18] = {+ 0xb9, 0x02, 0xe0, 0xa0, 0x1e, 0x40, 0x9e, 0xa6,+ 0x40, 0xba, 0xd4, 0x01, 0x89, 0xd7, 0x01, 0x8a,+ 0xf1, 0x01,+};++static const uint8_t unicode_prop_Case_Ignorable_table[692] = {+ 0xa6, 0x05, 0x80, 0x8a, 0x80, 0xa2, 0x00, 0x80,+ 0xc6, 0x03, 0x00, 0x03, 0x01, 0x81, 0x41, 0xf6,+ 0x40, 0xbf, 0x19, 0x18, 0x88, 0x08, 0x80, 0x40,+ 0xfa, 0x86, 0x40, 0xce, 0x04, 0x80, 0xb0, 0xac,+ 0x00, 0x01, 0x01, 0x00, 0xab, 0x80, 0x8a, 0x85,+ 0x89, 0x8a, 0x00, 0xa2, 0x80, 0x89, 0x94, 0x8f,+ 0x80, 0xe4, 0x38, 0x89, 0x03, 0xa0, 0x00, 0x80,+ 0x9d, 0x9a, 0xda, 0x8a, 0xb9, 0x8a, 0x18, 0x08,+ 0x97, 0x97, 0xaa, 0x82, 0xf6, 0xaf, 0xb6, 0x00,+ 0x03, 0x3b, 0x02, 0x86, 0x89, 0x81, 0x8c, 0x80,+ 0x8e, 0x80, 0xb9, 0x03, 0x1f, 0x80, 0x93, 0x81,+ 0x99, 0x01, 0x81, 0xb8, 0x03, 0x0b, 0x09, 0x12,+ 0x80, 0x9d, 0x0a, 0x80, 0x8a, 0x81, 0xb8, 0x03,+ 0x20, 0x0b, 0x80, 0x93, 0x81, 0x95, 0x28, 0x80,+ 0xb9, 0x01, 0x00, 0x1f, 0x06, 0x81, 0x8a, 0x81,+ 0x9d, 0x80, 0xbc, 0x80, 0x8b, 0x80, 0xb1, 0x02,+ 0x80, 0xb8, 0x14, 0x10, 0x1e, 0x81, 0x8a, 0x81,+ 0x9c, 0x80, 0xb9, 0x01, 0x05, 0x04, 0x81, 0x93,+ 0x81, 0x9b, 0x81, 0xb8, 0x0b, 0x1f, 0x80, 0x93,+ 0x81, 0x9c, 0x80, 0xc7, 0x06, 0x10, 0x80, 0xd9,+ 0x01, 0x86, 0x8a, 0x88, 0xe1, 0x01, 0x88, 0x88,+ 0x00, 0x85, 0xc9, 0x81, 0x9a, 0x00, 0x00, 0x80,+ 0xb6, 0x8d, 0x04, 0x01, 0x84, 0x8a, 0x80, 0xa3,+ 0x88, 0x80, 0xe5, 0x18, 0x28, 0x09, 0x81, 0x98,+ 0x0b, 0x82, 0x8f, 0x83, 0x8c, 0x01, 0x0d, 0x80,+ 0x8e, 0x80, 0xdd, 0x80, 0x42, 0x5f, 0x82, 0x43,+ 0xb1, 0x82, 0x9c, 0x82, 0x9c, 0x81, 0x9d, 0x81,+ 0xbf, 0x08, 0x37, 0x01, 0x8a, 0x10, 0x20, 0xac,+ 0x83, 0xb3, 0x80, 0xc0, 0x81, 0xa1, 0x80, 0xf5,+ 0x13, 0x81, 0x88, 0x05, 0x82, 0x40, 0xda, 0x09,+ 0x80, 0xb9, 0x00, 0x30, 0x00, 0x01, 0x3d, 0x89,+ 0x08, 0xa6, 0x07, 0x90, 0xbe, 0x83, 0xaf, 0x00,+ 0x20, 0x04, 0x80, 0xa7, 0x88, 0x8b, 0x81, 0x9f,+ 0x19, 0x08, 0x82, 0xb7, 0x00, 0x0a, 0x00, 0x82,+ 0xb9, 0x39, 0x81, 0xbf, 0x85, 0xd1, 0x10, 0x8c,+ 0x06, 0x18, 0x28, 0x11, 0xb1, 0xbe, 0x8c, 0x80,+ 0xa1, 0xde, 0x04, 0x41, 0xbc, 0x00, 0x82, 0x8a,+ 0x82, 0x8c, 0x82, 0x8c, 0x82, 0x8c, 0x81, 0x8b,+ 0x27, 0x81, 0x89, 0x01, 0x01, 0x84, 0xb0, 0x20,+ 0x89, 0x00, 0x8c, 0x80, 0x8f, 0x8c, 0xb2, 0xa0,+ 0x4b, 0x8a, 0x81, 0xf0, 0x82, 0xfc, 0x80, 0x8e,+ 0x80, 0xdf, 0x9f, 0xae, 0x80, 0x41, 0xd4, 0x80,+ 0xa3, 0x1a, 0x24, 0x80, 0xdc, 0x85, 0xdc, 0x82,+ 0x60, 0x6f, 0x15, 0x80, 0x44, 0xe1, 0x85, 0x41,+ 0x0d, 0x80, 0xe1, 0x18, 0x89, 0x00, 0x9b, 0x83,+ 0xcf, 0x81, 0x8d, 0xa1, 0xcd, 0x80, 0x96, 0x82,+ 0xec, 0x0f, 0x02, 0x03, 0x80, 0x98, 0x0c, 0x80,+ 0x40, 0x96, 0x81, 0x99, 0x91, 0x8c, 0x80, 0xa5,+ 0x87, 0x98, 0x8a, 0xad, 0x82, 0xaf, 0x01, 0x19,+ 0x81, 0x90, 0x80, 0x94, 0x81, 0xc1, 0x29, 0x09,+ 0x81, 0x8b, 0x07, 0x80, 0xa2, 0x80, 0x8a, 0x80,+ 0xb2, 0x00, 0x11, 0x0c, 0x08, 0x80, 0x9a, 0x80,+ 0x8d, 0x0c, 0x08, 0x80, 0xe3, 0x84, 0x88, 0x82,+ 0xf8, 0x01, 0x03, 0x80, 0x60, 0x4f, 0x2f, 0x80,+ 0x40, 0x92, 0x8f, 0x42, 0x3d, 0x8f, 0x10, 0x8b,+ 0x8f, 0xa1, 0x01, 0x80, 0x40, 0xa8, 0x06, 0x05,+ 0x80, 0x8a, 0x80, 0xa2, 0x00, 0x80, 0xae, 0x80,+ 0xac, 0x81, 0xc2, 0x80, 0x94, 0x82, 0x42, 0x00,+ 0x80, 0x40, 0xe1, 0x80, 0x40, 0x94, 0x84, 0x46,+ 0x85, 0x10, 0x0c, 0x83, 0xa7, 0x13, 0x80, 0x40,+ 0xa4, 0x81, 0x42, 0x3c, 0x83, 0x41, 0x82, 0x81,+ 0x40, 0x98, 0x8a, 0x40, 0xaf, 0x80, 0xb5, 0x8e,+ 0xb7, 0x82, 0xb0, 0x19, 0x09, 0x80, 0x8e, 0x80,+ 0xb1, 0x82, 0xa3, 0x20, 0x87, 0xbd, 0x80, 0x8b,+ 0x81, 0xb3, 0x88, 0x89, 0x19, 0x80, 0xde, 0x11,+ 0x00, 0x0d, 0x80, 0x40, 0x9f, 0x02, 0x87, 0x94,+ 0x81, 0xb8, 0x0a, 0x80, 0xa4, 0x32, 0x84, 0x40,+ 0xc2, 0x39, 0x10, 0x80, 0x96, 0x80, 0xd3, 0x28,+ 0x03, 0x08, 0x81, 0x40, 0xed, 0x1d, 0x08, 0x81,+ 0x9a, 0x81, 0xd4, 0x39, 0x00, 0x81, 0xe9, 0x00,+ 0x01, 0x28, 0x80, 0xe4, 0x11, 0x18, 0x84, 0x41,+ 0x02, 0x88, 0x01, 0x40, 0xff, 0x08, 0x03, 0x80,+ 0x40, 0x8f, 0x19, 0x0b, 0x80, 0x9f, 0x89, 0xa7,+ 0x29, 0x1f, 0x80, 0x88, 0x29, 0x82, 0xad, 0x8c,+ 0x01, 0x41, 0x95, 0x30, 0x28, 0x80, 0xd1, 0x95,+ 0x0e, 0x01, 0x01, 0xf9, 0x2a, 0x00, 0x08, 0x30,+ 0x80, 0xc7, 0x0a, 0x00, 0x80, 0x41, 0x5a, 0x81,+ 0x55, 0x3a, 0x88, 0x60, 0x36, 0xb6, 0x84, 0xba,+ 0x86, 0x88, 0x83, 0x44, 0x0a, 0x80, 0xbe, 0x90,+ 0xbf, 0x08, 0x81, 0x60, 0x4c, 0xb7, 0x08, 0x83,+ 0x54, 0xc2, 0x82, 0x88, 0x8f, 0x0e, 0x9d, 0x83,+ 0x40, 0x93, 0x82, 0x47, 0xba, 0xb6, 0x83, 0xb1,+ 0x38, 0x8d, 0x80, 0x95, 0x20, 0x8e, 0x45, 0x4f,+ 0x30, 0x90, 0x0e, 0x01, 0x04, 0x41, 0x04, 0x8d,+ 0x41, 0xad, 0x83, 0x45, 0xdf, 0x86, 0xec, 0x87,+ 0x4a, 0xae, 0x84, 0x6c, 0x0c, 0x00, 0x80, 0x9d,+ 0xdf, 0xff, 0x40, 0xef,+};++static const uint8_t unicode_prop_Case_Ignorable_index[66] = {+ 0xbe, 0x05, 0x00, 0xfe, 0x07, 0x00, 0x52, 0x0a,+ 0x20, 0x05, 0x0c, 0x20, 0x3b, 0x0e, 0x40, 0x61,+ 0x10, 0x40, 0x0f, 0x18, 0x20, 0x43, 0x1b, 0x60,+ 0x79, 0x1d, 0x00, 0xf1, 0x20, 0x00, 0x0d, 0xa6,+ 0x40, 0x2e, 0xa9, 0x20, 0xde, 0xaa, 0x00, 0x0f,+ 0xff, 0x20, 0xe7, 0x0a, 0x41, 0x82, 0x11, 0x21,+ 0xc4, 0x14, 0x61, 0x44, 0x19, 0x01, 0x48, 0x1d,+ 0x21, 0xa4, 0xbc, 0x01, 0x3e, 0xe1, 0x01, 0xf0,+ 0x01, 0x0e,+};++static const uint8_t unicode_prop_ID_Start_table[1045] = {+ 0xc0, 0x99, 0x85, 0x99, 0xae, 0x80, 0x89, 0x03,+ 0x04, 0x96, 0x80, 0x9e, 0x80, 0x41, 0xc9, 0x83,+ 0x8b, 0x8d, 0x26, 0x00, 0x80, 0x40, 0x80, 0x20,+ 0x09, 0x18, 0x05, 0x00, 0x10, 0x00, 0x93, 0x80,+ 0xd2, 0x80, 0x40, 0x8a, 0x87, 0x40, 0xa5, 0x80,+ 0xa5, 0x08, 0x85, 0xa8, 0xc6, 0x9a, 0x1b, 0xac,+ 0xaa, 0xa2, 0x08, 0xe2, 0x00, 0x8e, 0x0e, 0x81,+ 0x89, 0x11, 0x80, 0x8f, 0x00, 0x9d, 0x9c, 0xd8,+ 0x8a, 0x80, 0x97, 0xa0, 0x88, 0x0b, 0x04, 0x95,+ 0x18, 0x88, 0x02, 0x80, 0x96, 0x98, 0x86, 0x8a,+ 0xb4, 0x94, 0x80, 0x91, 0xbb, 0xb5, 0x10, 0x91,+ 0x06, 0x89, 0x8e, 0x8f, 0x1f, 0x09, 0x81, 0x95,+ 0x06, 0x00, 0x13, 0x10, 0x8f, 0x80, 0x8c, 0x08,+ 0x82, 0x8d, 0x81, 0x89, 0x07, 0x2b, 0x09, 0x95,+ 0x06, 0x01, 0x01, 0x01, 0x9e, 0x18, 0x80, 0x92,+ 0x82, 0x8f, 0x88, 0x02, 0x80, 0x95, 0x06, 0x01,+ 0x04, 0x10, 0x91, 0x80, 0x8e, 0x81, 0x96, 0x80,+ 0x8a, 0x39, 0x09, 0x95, 0x06, 0x01, 0x04, 0x10,+ 0x9d, 0x08, 0x82, 0x8e, 0x80, 0x90, 0x00, 0x2a,+ 0x10, 0x1a, 0x08, 0x00, 0x0a, 0x0a, 0x12, 0x8b,+ 0x95, 0x80, 0xb3, 0x38, 0x10, 0x96, 0x80, 0x8f,+ 0x10, 0x99, 0x14, 0x81, 0x9d, 0x03, 0x38, 0x10,+ 0x96, 0x80, 0x89, 0x04, 0x10, 0x9f, 0x00, 0x81,+ 0x8e, 0x81, 0x90, 0x88, 0x02, 0x80, 0xa8, 0x08,+ 0x8f, 0x04, 0x17, 0x82, 0x97, 0x2c, 0x91, 0x82,+ 0x97, 0x80, 0x88, 0x00, 0x0e, 0xb9, 0xaf, 0x01,+ 0x8b, 0x86, 0xb9, 0x08, 0x00, 0x20, 0x97, 0x00,+ 0x80, 0x89, 0x01, 0x88, 0x01, 0x20, 0x80, 0x94,+ 0x83, 0x9f, 0x80, 0xbe, 0x38, 0xa3, 0x9a, 0x84,+ 0xf2, 0xaa, 0x93, 0x80, 0x8f, 0x2b, 0x1a, 0x02,+ 0x0e, 0x13, 0x8c, 0x8b, 0x80, 0x90, 0xa5, 0x00,+ 0x20, 0x81, 0xaa, 0x80, 0x41, 0x4c, 0x03, 0x0e,+ 0x00, 0x03, 0x81, 0xa8, 0x03, 0x81, 0xa0, 0x03,+ 0x0e, 0x00, 0x03, 0x81, 0x8e, 0x80, 0xb8, 0x03,+ 0x81, 0xc2, 0xa4, 0x8f, 0x8f, 0xd5, 0x0d, 0x82,+ 0x42, 0x6b, 0x81, 0x90, 0x80, 0x99, 0x84, 0xca,+ 0x82, 0x8a, 0x86, 0x8c, 0x03, 0x8d, 0x91, 0x8d,+ 0x91, 0x8d, 0x8c, 0x02, 0x8e, 0xb3, 0xa2, 0x03,+ 0x80, 0xc2, 0xd8, 0x86, 0xa8, 0x00, 0x84, 0xc5,+ 0x89, 0x9e, 0xb0, 0x9d, 0x0c, 0x8a, 0xab, 0x83,+ 0x99, 0xb5, 0x96, 0x88, 0xb4, 0xd1, 0x80, 0xdc,+ 0xae, 0x90, 0x86, 0xb6, 0x9d, 0x8c, 0x81, 0x89,+ 0xab, 0x99, 0xa3, 0xa8, 0x82, 0x89, 0xa3, 0x81,+ 0x88, 0x86, 0xaa, 0x0a, 0xa8, 0x18, 0x28, 0x0a,+ 0x04, 0x40, 0xbf, 0xbf, 0x41, 0x15, 0x0d, 0x81,+ 0xa5, 0x0d, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x9e,+ 0x81, 0xb4, 0x06, 0x00, 0x12, 0x06, 0x13, 0x0d,+ 0x83, 0x8c, 0x22, 0x06, 0xf3, 0x80, 0x8c, 0x80,+ 0x8f, 0x8c, 0xe4, 0x03, 0x01, 0x89, 0x00, 0x0d,+ 0x28, 0x00, 0x00, 0x80, 0x8f, 0x0b, 0x24, 0x18,+ 0x90, 0xa8, 0x4a, 0x76, 0xae, 0x80, 0xae, 0x80,+ 0x40, 0x84, 0x2b, 0x11, 0x8b, 0xa5, 0x00, 0x20,+ 0x81, 0xb7, 0x30, 0x8f, 0x96, 0x88, 0x30, 0x30,+ 0x30, 0x30, 0x30, 0x30, 0x30, 0x86, 0x42, 0x25,+ 0x82, 0x98, 0x88, 0x34, 0x0c, 0x83, 0xd5, 0x1c,+ 0x80, 0xd9, 0x03, 0x84, 0xaa, 0x80, 0xdd, 0x90,+ 0x9f, 0xaf, 0x8f, 0x41, 0xff, 0x59, 0xbf, 0xbf,+ 0x60, 0x51, 0xfc, 0x82, 0x44, 0x8c, 0xc2, 0xad,+ 0x81, 0x41, 0x0c, 0x82, 0x8f, 0x89, 0x81, 0x93,+ 0xae, 0x8f, 0x9e, 0x81, 0xcf, 0xa6, 0x88, 0x81,+ 0xe6, 0x81, 0xb4, 0x81, 0x88, 0xa9, 0x8c, 0x02,+ 0x03, 0x80, 0x96, 0x9c, 0xb3, 0x8d, 0xb1, 0xbd,+ 0x2a, 0x00, 0x81, 0x8a, 0x9b, 0x89, 0x96, 0x98,+ 0x9c, 0x86, 0xae, 0x9b, 0x80, 0x8f, 0x20, 0x89,+ 0x89, 0x20, 0xa8, 0x96, 0x10, 0x87, 0x93, 0x96,+ 0x10, 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x08, 0x00,+ 0x97, 0x11, 0x8a, 0x32, 0x8b, 0x29, 0x29, 0x85,+ 0x88, 0x30, 0x30, 0xaa, 0x80, 0x8d, 0x85, 0xf2,+ 0x9c, 0x60, 0x2b, 0xa3, 0x8b, 0x96, 0x83, 0xb0,+ 0x60, 0x21, 0x03, 0x41, 0x6d, 0x81, 0xe9, 0xa5,+ 0x86, 0x8b, 0x24, 0x00, 0x89, 0x80, 0x8c, 0x04,+ 0x00, 0x01, 0x01, 0x80, 0xeb, 0xa0, 0x41, 0x6a,+ 0x91, 0xbf, 0x81, 0xb5, 0xa7, 0x8b, 0xf3, 0x20,+ 0x40, 0x86, 0xa3, 0x99, 0x85, 0x99, 0x8a, 0xd8,+ 0x15, 0x0d, 0x0d, 0x0a, 0xa2, 0x8b, 0x80, 0x99,+ 0x80, 0x92, 0x01, 0x80, 0x8e, 0x81, 0x8d, 0xa1,+ 0xfa, 0xc4, 0xb4, 0x41, 0x0a, 0x9c, 0x82, 0xb0,+ 0xae, 0x9f, 0x8c, 0x9d, 0x84, 0xa5, 0x89, 0x9d,+ 0x81, 0xa3, 0x1f, 0x04, 0xa9, 0x40, 0x9d, 0x91,+ 0xa3, 0x83, 0xa3, 0x83, 0xa7, 0x87, 0xb3, 0x40,+ 0x9b, 0x41, 0x36, 0x88, 0x95, 0x89, 0x87, 0x40,+ 0x97, 0x29, 0x00, 0xab, 0x01, 0x10, 0x81, 0x96,+ 0x89, 0x96, 0x88, 0x9e, 0xc0, 0x92, 0x01, 0x89,+ 0x95, 0x89, 0x99, 0xc5, 0xb7, 0x29, 0xbf, 0x80,+ 0x8e, 0x18, 0x10, 0x9c, 0xa9, 0x9c, 0x82, 0x9c,+ 0xa2, 0x38, 0x9b, 0x9a, 0xb5, 0x89, 0x95, 0x89,+ 0x92, 0x8c, 0x91, 0xed, 0xc8, 0xb6, 0xb2, 0x8c,+ 0xb2, 0x8c, 0xa3, 0x41, 0x5b, 0xa9, 0x29, 0xcd,+ 0x9c, 0x89, 0x07, 0x95, 0xe9, 0x94, 0x9a, 0x96,+ 0x8b, 0xb4, 0xca, 0xac, 0x9f, 0x98, 0x99, 0xa3,+ 0x9c, 0x01, 0x07, 0xa2, 0x10, 0x8b, 0xaf, 0x8d,+ 0x83, 0x94, 0x00, 0x80, 0xa2, 0x91, 0x80, 0x98,+ 0xd3, 0x30, 0x00, 0x18, 0x8e, 0x80, 0x89, 0x86,+ 0xae, 0xa5, 0x39, 0x09, 0x95, 0x06, 0x01, 0x04,+ 0x10, 0x91, 0x80, 0x8b, 0x84, 0x40, 0x9d, 0xb4,+ 0x91, 0x83, 0x93, 0x82, 0x9d, 0xaf, 0x93, 0x08,+ 0x80, 0x40, 0xb7, 0xae, 0xa8, 0x83, 0xa3, 0xaf,+ 0x93, 0x80, 0xba, 0xaa, 0x8c, 0x80, 0xc6, 0x9a,+ 0x40, 0xe4, 0xab, 0xf3, 0xbf, 0x9e, 0x39, 0x01,+ 0x38, 0x08, 0x97, 0x8e, 0x00, 0x80, 0xdd, 0x39,+ 0xa6, 0x8f, 0x00, 0x80, 0x9b, 0x80, 0x89, 0xa7,+ 0x30, 0x94, 0x80, 0x8a, 0xad, 0x92, 0x80, 0xa1,+ 0xb8, 0x41, 0x06, 0x88, 0x80, 0xa4, 0x90, 0x80,+ 0xb0, 0x9d, 0xef, 0x30, 0x08, 0xa5, 0x94, 0x80,+ 0x98, 0x28, 0x08, 0x9f, 0x8d, 0x80, 0x41, 0x46,+ 0x92, 0x40, 0xbc, 0x80, 0xce, 0x43, 0x99, 0xe5,+ 0xee, 0x90, 0x40, 0xc3, 0x4a, 0xbb, 0x44, 0x2e,+ 0x4f, 0xd0, 0x42, 0x46, 0x60, 0x21, 0xb8, 0x42,+ 0x38, 0x86, 0x9e, 0xf0, 0x9d, 0x91, 0xaf, 0x8f,+ 0x83, 0x9e, 0x94, 0x84, 0x92, 0x42, 0xaf, 0xbf,+ 0xff, 0xca, 0x20, 0xc1, 0x8c, 0xbf, 0x08, 0x80,+ 0x9b, 0x57, 0xf7, 0x87, 0x44, 0xd5, 0xa9, 0x88,+ 0x60, 0x22, 0xf6, 0x41, 0x1e, 0xb0, 0x82, 0x90,+ 0x1f, 0x41, 0x8b, 0x49, 0x03, 0xea, 0x84, 0x8c,+ 0x82, 0x88, 0x86, 0x89, 0x57, 0x65, 0xd4, 0x80,+ 0xc6, 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b, 0x00,+ 0x06, 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80, 0x9b,+ 0x03, 0x04, 0x00, 0x16, 0x80, 0x41, 0x53, 0x81,+ 0x98, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80,+ 0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80,+ 0x9e, 0x80, 0x98, 0x07, 0x49, 0x33, 0xac, 0x89,+ 0x86, 0x8f, 0x80, 0x41, 0x70, 0xab, 0x45, 0x13,+ 0x40, 0xc4, 0xba, 0xc3, 0x30, 0x44, 0xb3, 0x18,+ 0x9a, 0x01, 0x00, 0x08, 0x80, 0x89, 0x03, 0x00,+ 0x00, 0x28, 0x18, 0x00, 0x00, 0x02, 0x01, 0x00,+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b,+ 0x06, 0x03, 0x03, 0x00, 0x80, 0x89, 0x80, 0x90,+ 0x22, 0x04, 0x80, 0x90, 0x51, 0x43, 0x60, 0xa6,+ 0xdd, 0xa1, 0x50, 0x34, 0x8a, 0x40, 0xdd, 0x81,+ 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x4c, 0x1e, 0x42,+ 0x1d, 0x45, 0xe1, 0x53, 0x4a,+};++static const uint8_t unicode_prop_ID_Start_index[99] = {+ 0xf6, 0x03, 0x20, 0xa6, 0x07, 0x00, 0xa9, 0x09,+ 0x00, 0xb4, 0x0a, 0x00, 0xba, 0x0b, 0x00, 0x3e,+ 0x0d, 0x00, 0xe0, 0x0e, 0x20, 0x57, 0x12, 0x00,+ 0xeb, 0x16, 0x00, 0xca, 0x19, 0x20, 0xc0, 0x1d,+ 0x60, 0x80, 0x20, 0x00, 0x2e, 0x2d, 0x00, 0xc0,+ 0x31, 0x20, 0x89, 0xa7, 0x20, 0xf0, 0xa9, 0x00,+ 0xe3, 0xab, 0x00, 0x3e, 0xfd, 0x00, 0xfb, 0x00,+ 0x21, 0x37, 0x07, 0x61, 0x01, 0x0a, 0x01, 0x1d,+ 0x0f, 0x21, 0x2c, 0x12, 0x01, 0xc8, 0x14, 0x21,+ 0xd1, 0x19, 0x21, 0x47, 0x1d, 0x01, 0x39, 0x6a,+ 0x21, 0x09, 0x8d, 0x01, 0xbc, 0xd4, 0x01, 0xa9,+ 0xd7, 0x21, 0x3a, 0xee, 0x01, 0xde, 0xa6, 0x22,+ 0x4b, 0x13, 0x03,+};++static const uint8_t unicode_prop_ID_Continue1_table[626] = {+ 0xaf, 0x89, 0xa4, 0x80, 0xd6, 0x80, 0x42, 0x47,+ 0xef, 0x96, 0x80, 0x40, 0xfa, 0x84, 0x41, 0x08,+ 0xac, 0x00, 0x01, 0x01, 0x00, 0xc7, 0x8a, 0xaf,+ 0x9e, 0x28, 0xe4, 0x31, 0x29, 0x08, 0x19, 0x89,+ 0x96, 0x80, 0x9d, 0x9a, 0xda, 0x8a, 0x8e, 0x89,+ 0xa0, 0x88, 0x88, 0x80, 0x97, 0x18, 0x88, 0x02,+ 0x04, 0xaa, 0x82, 0xf6, 0x8e, 0x80, 0xa0, 0xb5,+ 0x10, 0x91, 0x06, 0x89, 0x09, 0x89, 0x90, 0x82,+ 0xb7, 0x00, 0x31, 0x09, 0x82, 0x88, 0x80, 0x89,+ 0x09, 0x89, 0x8d, 0x01, 0x82, 0xb7, 0x00, 0x23,+ 0x09, 0x12, 0x80, 0x93, 0x8b, 0x10, 0x8a, 0x82,+ 0xb7, 0x00, 0x38, 0x10, 0x82, 0x93, 0x09, 0x89,+ 0x89, 0x28, 0x82, 0xb7, 0x00, 0x31, 0x09, 0x16,+ 0x82, 0x89, 0x09, 0x89, 0x91, 0x80, 0xba, 0x22,+ 0x10, 0x83, 0x88, 0x80, 0x8d, 0x89, 0x8f, 0x84,+ 0xb8, 0x30, 0x10, 0x1e, 0x81, 0x8a, 0x09, 0x89,+ 0x90, 0x82, 0xb7, 0x00, 0x30, 0x10, 0x1e, 0x81,+ 0x8a, 0x09, 0x89, 0x8f, 0x83, 0xb6, 0x08, 0x30,+ 0x10, 0x83, 0x88, 0x80, 0x89, 0x09, 0x89, 0x90,+ 0x82, 0xc5, 0x03, 0x28, 0x00, 0x3d, 0x89, 0x09,+ 0xbc, 0x01, 0x86, 0x8b, 0x38, 0x89, 0xd6, 0x01,+ 0x88, 0x8a, 0x29, 0x89, 0xbd, 0x0d, 0x89, 0x8a,+ 0x00, 0x00, 0x03, 0x81, 0xb0, 0x93, 0x01, 0x84,+ 0x8a, 0x80, 0xa3, 0x88, 0x80, 0xe3, 0x93, 0x80,+ 0x89, 0x8b, 0x1b, 0x10, 0x11, 0x32, 0x83, 0x8c,+ 0x8b, 0x80, 0x8e, 0x42, 0xbe, 0x82, 0x88, 0x88,+ 0x43, 0x9f, 0x82, 0x9c, 0x82, 0x9c, 0x81, 0x9d,+ 0x81, 0xbf, 0x9f, 0x88, 0x01, 0x89, 0xa0, 0x11,+ 0x89, 0x40, 0x8e, 0x80, 0xf5, 0x8b, 0x83, 0x8b,+ 0x89, 0x89, 0xff, 0x8a, 0xbb, 0x84, 0xb8, 0x89,+ 0x80, 0x9c, 0x81, 0x8a, 0x85, 0x89, 0x95, 0x8d,+ 0x01, 0xbe, 0x84, 0xae, 0x90, 0x8a, 0x89, 0x90,+ 0x88, 0x8b, 0x82, 0x9d, 0x8c, 0x81, 0x89, 0xab,+ 0x8d, 0xaf, 0x93, 0x87, 0x89, 0x85, 0x89, 0xf5,+ 0x10, 0x94, 0x18, 0x28, 0x0a, 0x40, 0xc5, 0xb9,+ 0x04, 0x42, 0x3e, 0x81, 0x92, 0x80, 0xfa, 0x8c,+ 0x18, 0x82, 0x8b, 0x4b, 0xfd, 0x82, 0x40, 0x8c,+ 0x80, 0xdf, 0x9f, 0x42, 0x29, 0x85, 0xe8, 0x81,+ 0x60, 0x75, 0x84, 0x89, 0xc4, 0x03, 0x89, 0x9f,+ 0x81, 0xcf, 0x81, 0x41, 0x0f, 0x02, 0x03, 0x80,+ 0x96, 0x23, 0x80, 0xd2, 0x81, 0xb1, 0x91, 0x89,+ 0x89, 0x85, 0x91, 0x8c, 0x8a, 0x9b, 0x87, 0x98,+ 0x8c, 0xab, 0x83, 0xae, 0x8d, 0x8e, 0x89, 0x8a,+ 0x80, 0x89, 0x89, 0xae, 0x8d, 0x8b, 0x07, 0x09,+ 0x89, 0xa0, 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x08,+ 0x80, 0xa8, 0x24, 0x81, 0x40, 0xeb, 0x38, 0x09,+ 0x89, 0x60, 0x4f, 0x23, 0x80, 0x42, 0xe0, 0x8f,+ 0x8f, 0x8f, 0x11, 0x97, 0x82, 0x40, 0xbf, 0x89,+ 0xa4, 0x80, 0x42, 0xbc, 0x80, 0x40, 0xe1, 0x80,+ 0x40, 0x94, 0x84, 0x41, 0x24, 0x89, 0x45, 0x56,+ 0x10, 0x0c, 0x83, 0xa7, 0x13, 0x80, 0x40, 0xa4,+ 0x81, 0x42, 0x3c, 0x1f, 0x89, 0x41, 0x70, 0x81,+ 0x40, 0x98, 0x8a, 0x40, 0xae, 0x82, 0xb4, 0x8e,+ 0x9e, 0x89, 0x8e, 0x83, 0xac, 0x8a, 0xb4, 0x89,+ 0x2a, 0xa3, 0x8d, 0x80, 0x89, 0x21, 0xab, 0x80,+ 0x8b, 0x82, 0xaf, 0x8d, 0x3b, 0x80, 0x8b, 0xd1,+ 0x8b, 0x28, 0x40, 0x9f, 0x8b, 0x84, 0x89, 0x2b,+ 0xb6, 0x08, 0x31, 0x09, 0x82, 0x88, 0x80, 0x89,+ 0x09, 0x32, 0x84, 0x40, 0xbf, 0x91, 0x88, 0x89,+ 0x18, 0xd0, 0x93, 0x8b, 0x89, 0x40, 0xd4, 0x31,+ 0x88, 0x9a, 0x81, 0xd1, 0x90, 0x8e, 0x89, 0xd0,+ 0x8c, 0x87, 0x89, 0xd2, 0x8e, 0x83, 0x89, 0x40,+ 0xf1, 0x8e, 0x40, 0xa4, 0x89, 0xc5, 0x28, 0x09,+ 0x18, 0x00, 0x81, 0x8b, 0x89, 0xf6, 0x31, 0x32,+ 0x80, 0x9b, 0x89, 0xa7, 0x30, 0x1f, 0x80, 0x88,+ 0x8a, 0xad, 0x8f, 0x41, 0x94, 0x38, 0x87, 0x8f,+ 0x89, 0xb7, 0x95, 0x80, 0x8d, 0xf9, 0x2a, 0x00,+ 0x08, 0x30, 0x07, 0x89, 0xaf, 0x20, 0x08, 0x27,+ 0x89, 0x41, 0x48, 0x83, 0x60, 0x4b, 0x68, 0x89,+ 0x40, 0x85, 0x84, 0xba, 0x86, 0x98, 0x89, 0x43,+ 0xf4, 0x00, 0xb6, 0x33, 0xd0, 0x80, 0x8a, 0x81,+ 0x60, 0x4c, 0xaa, 0x81, 0x54, 0xc5, 0x22, 0x2f,+ 0x39, 0x86, 0x9d, 0x83, 0x40, 0x93, 0x82, 0x45,+ 0x88, 0xb1, 0x41, 0xff, 0xb6, 0x83, 0xb1, 0x38,+ 0x8d, 0x80, 0x95, 0x20, 0x8e, 0x45, 0x4f, 0x30,+ 0x90, 0x0e, 0x01, 0x04, 0x41, 0x04, 0x86, 0x88,+ 0x89, 0x41, 0xa1, 0x8d, 0x45, 0xd5, 0x86, 0xec,+ 0x34, 0x89, 0x52, 0x95, 0x89, 0x6c, 0x05, 0x05,+ 0x40, 0xef,+};++static const uint8_t unicode_prop_ID_Continue1_index[60] = {+ 0xfa, 0x06, 0x00, 0x84, 0x09, 0x00, 0xf0, 0x0a,+ 0x00, 0x70, 0x0c, 0x00, 0xf4, 0x0d, 0x00, 0x4a,+ 0x10, 0x20, 0x1a, 0x18, 0x20, 0x74, 0x1b, 0x20,+ 0xdd, 0x20, 0x00, 0x0c, 0xa8, 0x00, 0x5a, 0xaa,+ 0x20, 0x1a, 0xff, 0x00, 0xad, 0x0e, 0x01, 0x38,+ 0x12, 0x21, 0xc1, 0x15, 0x21, 0xe5, 0x19, 0x21,+ 0xaa, 0x1d, 0x21, 0x8c, 0xd1, 0x41, 0x4a, 0xe1,+ 0x21, 0xf0, 0x01, 0x0e,+};++#ifdef CONFIG_ALL_UNICODE++static const uint8_t unicode_cc_table[851] = {+ 0xb2, 0xcf, 0xd4, 0x00, 0xe8, 0x03, 0xdc, 0x00,+ 0xe8, 0x00, 0xd8, 0x04, 0xdc, 0x01, 0xca, 0x03,+ 0xdc, 0x01, 0xca, 0x0a, 0xdc, 0x04, 0x01, 0x03,+ 0xdc, 0xc7, 0x00, 0xf0, 0xc0, 0x02, 0xdc, 0xc2,+ 0x01, 0xdc, 0x80, 0xc2, 0x03, 0xdc, 0xc0, 0x00,+ 0xe8, 0x01, 0xdc, 0xc0, 0x41, 0xe9, 0x00, 0xea,+ 0x41, 0xe9, 0x00, 0xea, 0x00, 0xe9, 0xcc, 0xb0,+ 0xe2, 0xc4, 0xb0, 0xd8, 0x00, 0xdc, 0xc3, 0x00,+ 0xdc, 0xc2, 0x00, 0xde, 0x00, 0xdc, 0xc5, 0x05,+ 0xdc, 0xc1, 0x00, 0xdc, 0xc1, 0x00, 0xde, 0x00,+ 0xe4, 0xc0, 0x49, 0x0a, 0x43, 0x13, 0x80, 0x00,+ 0x17, 0x80, 0x41, 0x18, 0x80, 0xc0, 0x00, 0xdc,+ 0x80, 0x00, 0x12, 0xb0, 0x17, 0xc7, 0x42, 0x1e,+ 0xaf, 0x47, 0x1b, 0xc1, 0x01, 0xdc, 0xc4, 0x00,+ 0xdc, 0xc1, 0x00, 0xdc, 0x8f, 0x00, 0x23, 0xb0,+ 0x34, 0xc6, 0x81, 0xc3, 0x00, 0xdc, 0xc0, 0x81,+ 0xc1, 0x80, 0x00, 0xdc, 0xc1, 0x00, 0xdc, 0xa2,+ 0x00, 0x24, 0x9d, 0xc0, 0x00, 0xdc, 0xc1, 0x00,+ 0xdc, 0xc1, 0x02, 0xdc, 0xc0, 0x01, 0xdc, 0xc0,+ 0x00, 0xdc, 0xc2, 0x00, 0xdc, 0xc0, 0x00, 0xdc,+ 0xc0, 0x00, 0xdc, 0xc0, 0x00, 0xdc, 0xc1, 0xb0,+ 0x6f, 0xc6, 0x00, 0xdc, 0xc0, 0x88, 0x00, 0xdc,+ 0x97, 0xc3, 0x80, 0xc8, 0x80, 0xc2, 0x80, 0xc4,+ 0xaa, 0x02, 0xdc, 0xb0, 0x46, 0x00, 0xdc, 0xcd,+ 0x80, 0x00, 0xdc, 0xc1, 0x00, 0xdc, 0xc1, 0x00,+ 0xdc, 0xc2, 0x02, 0xdc, 0x42, 0x1b, 0xc2, 0x00,+ 0xdc, 0xc1, 0x01, 0xdc, 0xc4, 0xb0, 0x0b, 0x00,+ 0x07, 0x8f, 0x00, 0x09, 0x82, 0xc0, 0x00, 0xdc,+ 0xc1, 0xb0, 0x36, 0x00, 0x07, 0x8f, 0x00, 0x09,+ 0xaf, 0xc0, 0xb0, 0x0c, 0x00, 0x07, 0x8f, 0x00,+ 0x09, 0xb0, 0x3d, 0x00, 0x07, 0x8f, 0x00, 0x09,+ 0xb0, 0x3d, 0x00, 0x07, 0x8f, 0x00, 0x09, 0xb0,+ 0x4e, 0x00, 0x09, 0xb0, 0x4e, 0x00, 0x09, 0x86,+ 0x00, 0x54, 0x00, 0x5b, 0xb0, 0x34, 0x00, 0x07,+ 0x8f, 0x00, 0x09, 0xb0, 0x3c, 0x01, 0x09, 0x8f,+ 0x00, 0x09, 0xb0, 0x4b, 0x00, 0x09, 0xb0, 0x3c,+ 0x01, 0x67, 0x00, 0x09, 0x8c, 0x03, 0x6b, 0xb0,+ 0x3b, 0x01, 0x76, 0x00, 0x09, 0x8c, 0x03, 0x7a,+ 0xb0, 0x1b, 0x01, 0xdc, 0x9a, 0x00, 0xdc, 0x80,+ 0x00, 0xdc, 0x80, 0x00, 0xd8, 0xb0, 0x06, 0x41,+ 0x81, 0x80, 0x00, 0x84, 0x84, 0x03, 0x82, 0x81,+ 0x00, 0x82, 0x80, 0xc1, 0x00, 0x09, 0x80, 0xc1,+ 0xb0, 0x0d, 0x00, 0xdc, 0xb0, 0x3f, 0x00, 0x07,+ 0x80, 0x01, 0x09, 0xb0, 0x21, 0x00, 0xdc, 0xb2,+ 0x9e, 0xc2, 0xb3, 0x83, 0x00, 0x09, 0x9e, 0x00,+ 0x09, 0xb0, 0x6c, 0x00, 0x09, 0x89, 0xc0, 0xb0,+ 0x9a, 0x00, 0xe4, 0xb0, 0x5e, 0x00, 0xde, 0xc0,+ 0x00, 0xdc, 0xb0, 0xaa, 0xc0, 0x00, 0xdc, 0xb0,+ 0x16, 0x00, 0x09, 0x93, 0xc7, 0x81, 0x00, 0xdc,+ 0xaf, 0xc4, 0x05, 0xdc, 0xc1, 0x00, 0xdc, 0x80,+ 0x01, 0xdc, 0xb0, 0x42, 0x00, 0x07, 0x8e, 0x00,+ 0x09, 0xa5, 0xc0, 0x00, 0xdc, 0xc6, 0xb0, 0x05,+ 0x01, 0x09, 0xb0, 0x09, 0x00, 0x07, 0x8a, 0x01,+ 0x09, 0xb0, 0x12, 0x00, 0x07, 0xb0, 0x67, 0xc2,+ 0x41, 0x00, 0x04, 0xdc, 0xc1, 0x03, 0xdc, 0xc0,+ 0x41, 0x00, 0x05, 0x01, 0x83, 0x00, 0xdc, 0x85,+ 0xc0, 0x82, 0xc1, 0xb0, 0x95, 0xc1, 0x00, 0xdc,+ 0xc6, 0x00, 0xdc, 0xc1, 0x00, 0xea, 0x00, 0xd6,+ 0x00, 0xdc, 0x00, 0xca, 0xe4, 0x00, 0xe8, 0x01,+ 0xe4, 0x00, 0xdc, 0x80, 0xc0, 0x00, 0xe9, 0x00,+ 0xdc, 0xc0, 0x00, 0xdc, 0xb2, 0x9f, 0xc1, 0x01,+ 0x01, 0xc3, 0x02, 0x01, 0xc1, 0x83, 0xc0, 0x82,+ 0x01, 0x01, 0xc0, 0x00, 0xdc, 0xc0, 0x01, 0x01,+ 0x03, 0xdc, 0xc0, 0xb8, 0x03, 0xcd, 0xc2, 0xb0,+ 0x5c, 0x00, 0x09, 0xb0, 0x2f, 0xdf, 0xb1, 0xf9,+ 0x00, 0xda, 0x00, 0xe4, 0x00, 0xe8, 0x00, 0xde,+ 0x01, 0xe0, 0xb0, 0x38, 0x01, 0x08, 0xb8, 0x6d,+ 0xa3, 0xc0, 0x83, 0xc9, 0x9f, 0xc1, 0xb0, 0x1f,+ 0xc1, 0xb0, 0xe3, 0x00, 0x09, 0xa4, 0x00, 0x09,+ 0xb0, 0x66, 0x00, 0x09, 0x9a, 0xd1, 0xb0, 0x08,+ 0x02, 0xdc, 0xa4, 0x00, 0x09, 0xb0, 0x2e, 0x00,+ 0x07, 0x8b, 0x00, 0x09, 0xb0, 0xbe, 0xc0, 0x80,+ 0xc1, 0x00, 0xdc, 0x81, 0xc1, 0x84, 0xc1, 0x80,+ 0xc0, 0xb0, 0x03, 0x00, 0x09, 0xb0, 0xc5, 0x00,+ 0x09, 0xb8, 0x46, 0xff, 0x00, 0x1a, 0xb2, 0xd0,+ 0xc6, 0x06, 0xdc, 0xc1, 0xb3, 0x9c, 0x00, 0xdc,+ 0xb0, 0xb1, 0x00, 0xdc, 0xb0, 0x64, 0xc4, 0xb6,+ 0x61, 0x00, 0xdc, 0x80, 0xc0, 0xa7, 0xc0, 0x00,+ 0x01, 0x00, 0xdc, 0x83, 0x00, 0x09, 0xb0, 0x74,+ 0xc0, 0x00, 0xdc, 0xb2, 0x0c, 0xc3, 0xb1, 0x52,+ 0xc1, 0xb0, 0x68, 0x01, 0xdc, 0xc2, 0x00, 0xdc,+ 0xc0, 0x03, 0xdc, 0xb0, 0xc4, 0x00, 0x09, 0xb0,+ 0x07, 0x00, 0x09, 0xb0, 0x08, 0x00, 0x09, 0x00,+ 0x07, 0xb0, 0x14, 0xc2, 0xaf, 0x01, 0x09, 0xb0,+ 0x0d, 0x00, 0x07, 0xb0, 0x1b, 0x00, 0x09, 0x88,+ 0x00, 0x07, 0xb0, 0x39, 0x00, 0x09, 0x00, 0x07,+ 0xb0, 0x81, 0x00, 0x07, 0x00, 0x09, 0xb0, 0x1f,+ 0x01, 0x07, 0x8f, 0x00, 0x09, 0x97, 0xc6, 0x82,+ 0xc4, 0xb0, 0x9c, 0x00, 0x09, 0x82, 0x00, 0x07,+ 0x96, 0xc0, 0xb0, 0x32, 0x00, 0x09, 0x00, 0x07,+ 0xb0, 0xca, 0x00, 0x09, 0x00, 0x07, 0xb0, 0x4d,+ 0x00, 0x09, 0xb0, 0x45, 0x00, 0x09, 0x00, 0x07,+ 0xb0, 0x42, 0x00, 0x09, 0xb0, 0xdc, 0x00, 0x09,+ 0x00, 0x07, 0xb0, 0xd1, 0x01, 0x09, 0x83, 0x00,+ 0x07, 0xb0, 0x6b, 0x00, 0x09, 0xb0, 0x22, 0x00,+ 0x09, 0x91, 0x00, 0x09, 0xb0, 0x20, 0x00, 0x09,+ 0xb1, 0x74, 0x00, 0x09, 0xb0, 0xd1, 0x00, 0x07,+ 0x80, 0x01, 0x09, 0xb0, 0x20, 0x00, 0x09, 0xb8,+ 0x45, 0x27, 0x04, 0x01, 0xb0, 0x0a, 0xc6, 0xb4,+ 0x88, 0x01, 0x06, 0xb8, 0x44, 0x7b, 0x00, 0x01,+ 0xb8, 0x0c, 0x95, 0x01, 0xd8, 0x02, 0x01, 0x82,+ 0x00, 0xe2, 0x04, 0xd8, 0x87, 0x07, 0xdc, 0x81,+ 0xc4, 0x01, 0xdc, 0x9d, 0xc3, 0xb0, 0x63, 0xc2,+ 0xb8, 0x05, 0x8a, 0xc6, 0x80, 0xd0, 0x81, 0xc6,+ 0x80, 0xc1, 0x80, 0xc4, 0xb0, 0xd4, 0xc6, 0xb1,+ 0x84, 0xc3, 0xb5, 0xaf, 0x06, 0xdc, 0xb0, 0x3c,+ 0xc5, 0x00, 0x07,+};++static const uint8_t unicode_cc_index[81] = {+ 0x4d, 0x03, 0x00, 0x97, 0x05, 0x20, 0xc6, 0x05,+ 0x00, 0xe7, 0x06, 0x00, 0x45, 0x07, 0x00, 0xe2,+ 0x08, 0x00, 0x53, 0x09, 0x00, 0xcd, 0x0b, 0x20,+ 0x38, 0x0e, 0x00, 0x73, 0x0f, 0x20, 0x5d, 0x13,+ 0x20, 0x60, 0x1a, 0x20, 0xaa, 0x1b, 0x00, 0xf4,+ 0x1c, 0x00, 0xfe, 0x1d, 0x20, 0x7f, 0x2d, 0x20,+ 0xf0, 0xa6, 0x00, 0xb2, 0xaa, 0x00, 0xfe, 0x01,+ 0x01, 0xab, 0x0e, 0x01, 0x73, 0x11, 0x21, 0x70,+ 0x13, 0x01, 0xb8, 0x16, 0x01, 0x9a, 0x1a, 0x01,+ 0x9f, 0xbc, 0x01, 0x22, 0xe0, 0x01, 0x4b, 0xe9,+ 0x01,+};++static const uint32_t unicode_decomp_table1[690] = {+ 0x00280081, 0x002a0097, 0x002a8081, 0x002bc097,+ 0x002c8115, 0x002d0097, 0x002d4081, 0x002e0097,+ 0x002e4115, 0x002f0199, 0x00302016, 0x00400842,+ 0x00448a42, 0x004a0442, 0x004c0096, 0x004c8117,+ 0x004d0242, 0x004e4342, 0x004fc12f, 0x0050c342,+ 0x005240bf, 0x00530342, 0x00550942, 0x005a0842,+ 0x005e0096, 0x005e4342, 0x005fc081, 0x00680142,+ 0x006bc142, 0x00710185, 0x0071c317, 0x00734844,+ 0x00778344, 0x00798342, 0x007b02be, 0x007c4197,+ 0x007d0142, 0x007e0444, 0x00800e42, 0x00878142,+ 0x00898744, 0x00ac0483, 0x00b60317, 0x00b80283,+ 0x00d00214, 0x00d10096, 0x00dd0080, 0x00de8097,+ 0x00df8080, 0x00e10097, 0x00e1413e, 0x00e1c080,+ 0x00e204be, 0x00ea83ae, 0x00f282ae, 0x00f401ad,+ 0x00f4c12e, 0x00f54103, 0x00fc0303, 0x00fe4081,+ 0x0100023e, 0x0101c0be, 0x010301be, 0x010640be,+ 0x010e40be, 0x0114023e, 0x0115c0be, 0x011701be,+ 0x011d8144, 0x01304144, 0x01340244, 0x01358144,+ 0x01368344, 0x01388344, 0x013a8644, 0x013e0144,+ 0x0161c085, 0x018882ae, 0x019d422f, 0x01b00184,+ 0x01b4c084, 0x024a4084, 0x024c4084, 0x024d0084,+ 0x0256042e, 0x0272c12e, 0x02770120, 0x0277c084,+ 0x028cc084, 0x028d8084, 0x029641ae, 0x02978084,+ 0x02d20084, 0x02d2c12e, 0x02d70120, 0x02e50084,+ 0x02f281ae, 0x03120084, 0x03300084, 0x0331c122,+ 0x0332812e, 0x035281ae, 0x03768084, 0x037701ae,+ 0x038cc085, 0x03acc085, 0x03b7012f, 0x03c30081,+ 0x03d0c084, 0x03d34084, 0x03d48084, 0x03d5c084,+ 0x03d70084, 0x03da4084, 0x03dcc084, 0x03dd412e,+ 0x03ddc085, 0x03de0084, 0x03de4085, 0x03e04084,+ 0x03e4c084, 0x03e74084, 0x03e88084, 0x03e9c084,+ 0x03eb0084, 0x03ee4084, 0x04098084, 0x043f0081,+ 0x06c18484, 0x06c48084, 0x06cec184, 0x06d00120,+ 0x06d0c084, 0x074b0383, 0x074cc41f, 0x074f1783,+ 0x075e0081, 0x0766d283, 0x07801d44, 0x078e8942,+ 0x07931844, 0x079f0d42, 0x07a58216, 0x07a68085,+ 0x07a6c0be, 0x07a80d44, 0x07aea044, 0x07c00122,+ 0x07c08344, 0x07c20122, 0x07c28344, 0x07c40122,+ 0x07c48244, 0x07c60122, 0x07c68244, 0x07c8113e,+ 0x07d08244, 0x07d20122, 0x07d28244, 0x07d40122,+ 0x07d48344, 0x07d64c3e, 0x07dc4080, 0x07dc80be,+ 0x07dcc080, 0x07dd00be, 0x07dd4080, 0x07dd80be,+ 0x07ddc080, 0x07de00be, 0x07de4080, 0x07de80be,+ 0x07dec080, 0x07df00be, 0x07df4080, 0x07e00820,+ 0x07e40820, 0x07e80820, 0x07ec05be, 0x07eec080,+ 0x07ef00be, 0x07ef4097, 0x07ef8080, 0x07efc117,+ 0x07f0443e, 0x07f24080, 0x07f280be, 0x07f2c080,+ 0x07f303be, 0x07f4c080, 0x07f582ae, 0x07f6c080,+ 0x07f7433e, 0x07f8c080, 0x07f903ae, 0x07fac080,+ 0x07fb013e, 0x07fb8102, 0x07fc83be, 0x07fe4080,+ 0x07fe80be, 0x07fec080, 0x07ff00be, 0x07ff4080,+ 0x07ff8097, 0x0800011e, 0x08008495, 0x08044081,+ 0x0805c097, 0x08090081, 0x08094097, 0x08098099,+ 0x080bc081, 0x080cc085, 0x080d00b1, 0x080d8085,+ 0x080dc0b1, 0x080f0197, 0x0811c197, 0x0815c0b3,+ 0x0817c081, 0x081c0595, 0x081ec081, 0x081f0215,+ 0x0820051f, 0x08228583, 0x08254415, 0x082a0097,+ 0x08400119, 0x08408081, 0x0840c0bf, 0x08414119,+ 0x0841c081, 0x084240bf, 0x0842852d, 0x08454081,+ 0x08458097, 0x08464295, 0x08480097, 0x08484099,+ 0x08488097, 0x08490081, 0x08498080, 0x084a0081,+ 0x084a8102, 0x084b0495, 0x084d421f, 0x084e4081,+ 0x084ec099, 0x084f0283, 0x08514295, 0x08540119,+ 0x0854809b, 0x0854c619, 0x0857c097, 0x08580081,+ 0x08584097, 0x08588099, 0x0858c097, 0x08590081,+ 0x08594097, 0x08598099, 0x0859c09b, 0x085a0097,+ 0x085a4081, 0x085a8097, 0x085ac099, 0x085b0295,+ 0x085c4097, 0x085c8099, 0x085cc097, 0x085d0081,+ 0x085d4097, 0x085d8099, 0x085dc09b, 0x085e0097,+ 0x085e4081, 0x085e8097, 0x085ec099, 0x085f0215,+ 0x08624099, 0x0866813e, 0x086b80be, 0x087341be,+ 0x088100be, 0x088240be, 0x088300be, 0x088901be,+ 0x088b0085, 0x088b40b1, 0x088bc085, 0x088c00b1,+ 0x089040be, 0x089100be, 0x0891c1be, 0x089801be,+ 0x089b42be, 0x089d0144, 0x089e0144, 0x08a00144,+ 0x08a10144, 0x08a20144, 0x08ab023e, 0x08b80244,+ 0x08ba8220, 0x08ca411e, 0x0918049f, 0x091a4523,+ 0x091cc097, 0x091d04a5, 0x091f452b, 0x0921c09b,+ 0x092204a1, 0x09244525, 0x0926c099, 0x09270d25,+ 0x092d8d1f, 0x09340d1f, 0x093a8081, 0x0a8300b3,+ 0x0a9d0099, 0x0a9d4097, 0x0a9d8099, 0x0ab700be,+ 0x0b1f0115, 0x0b5bc081, 0x0ba7c081, 0x0bbcc081,+ 0x0bc004ad, 0x0bc244ad, 0x0bc484ad, 0x0bc6f383,+ 0x0be0852d, 0x0be31d03, 0x0bf1882d, 0x0c000081,+ 0x0c0d8283, 0x0c130b84, 0x0c194284, 0x0c1c0122,+ 0x0c1cc122, 0x0c1d8122, 0x0c1e4122, 0x0c1f0122,+ 0x0c250084, 0x0c26c123, 0x0c278084, 0x0c27c085,+ 0x0c2b0b84, 0x0c314284, 0x0c340122, 0x0c34c122,+ 0x0c358122, 0x0c364122, 0x0c370122, 0x0c3d0084,+ 0x0c3dc220, 0x0c3f8084, 0x0c3fc085, 0x0c4c4a2d,+ 0x0c51451f, 0x0c53ca9f, 0x0c5915ad, 0x0c648703,+ 0x0c800741, 0x0c838089, 0x0c83c129, 0x0c8441a9,+ 0x0c850089, 0x0c854129, 0x0c85c2a9, 0x0c870089,+ 0x0c87408f, 0x0c87808d, 0x0c881241, 0x0c910203,+ 0x0c940099, 0x0c9444a3, 0x0c968323, 0x0c98072d,+ 0x0c9b84af, 0x0c9dc2a1, 0x0c9f00b5, 0x0c9f40b3,+ 0x0c9f8085, 0x0ca01883, 0x0cac4223, 0x0cad4523,+ 0x0cafc097, 0x0cb004a1, 0x0cb241a5, 0x0cb30097,+ 0x0cb34099, 0x0cb38097, 0x0cb3c099, 0x0cb417ad,+ 0x0cbfc085, 0x0cc001b3, 0x0cc0c0b1, 0x0cc100b3,+ 0x0cc14131, 0x0cc1c0b5, 0x0cc200b3, 0x0cc241b1,+ 0x0cc30133, 0x0cc38131, 0x0cc40085, 0x0cc440b1,+ 0x0cc48133, 0x0cc50085, 0x0cc540b5, 0x0cc580b7,+ 0x0cc5c0b5, 0x0cc600b1, 0x0cc64135, 0x0cc6c0b3,+ 0x0cc701b1, 0x0cc7c0b3, 0x0cc800b5, 0x0cc840b3,+ 0x0cc881b1, 0x0cc9422f, 0x0cca4131, 0x0ccac0b5,+ 0x0ccb00b1, 0x0ccb40b3, 0x0ccb80b5, 0x0ccbc0b1,+ 0x0ccc012f, 0x0ccc80b5, 0x0cccc0b3, 0x0ccd00b5,+ 0x0ccd40b1, 0x0ccd80b5, 0x0ccdc085, 0x0cce02b1,+ 0x0ccf40b3, 0x0ccf80b1, 0x0ccfc085, 0x0cd001b1,+ 0x0cd0c0b3, 0x0cd101b1, 0x0cd1c0b5, 0x0cd200b3,+ 0x0cd24085, 0x0cd280b5, 0x0cd2c085, 0x0cd30133,+ 0x0cd381b1, 0x0cd440b3, 0x0cd48085, 0x0cd4c0b1,+ 0x0cd500b3, 0x0cd54085, 0x0cd580b5, 0x0cd5c0b1,+ 0x0cd60521, 0x0cd88525, 0x0cdb02a5, 0x0cdc4099,+ 0x0cdc8117, 0x0cdd0099, 0x0cdd4197, 0x0cde0127,+ 0x0cde8285, 0x0cdfc089, 0x0ce0043f, 0x0ce20099,+ 0x0ce2409b, 0x0ce283bf, 0x0ce44219, 0x0ce54205,+ 0x0ce6433f, 0x0ce7c131, 0x0ce84085, 0x0ce881b1,+ 0x0ce94085, 0x0ce98107, 0x0cea0089, 0x0cea4097,+ 0x0cea8219, 0x0ceb809d, 0x0cebc08d, 0x0cec083f,+ 0x0cf00105, 0x0cf0809b, 0x0cf0c197, 0x0cf1809b,+ 0x0cf1c099, 0x0cf20517, 0x0cf48099, 0x0cf4c117,+ 0x0cf54119, 0x0cf5c097, 0x0cf6009b, 0x0cf64099,+ 0x0cf68217, 0x0cf78119, 0x0cf804a1, 0x0cfa4525,+ 0x0cfcc525, 0x0cff4125, 0x0cffc099, 0x29a70103,+ 0x29dc0081, 0x29fe0103, 0x2ad70203, 0x2ada4081,+ 0x3e401482, 0x3e4a7f82, 0x3e6a3f82, 0x3e8aa102,+ 0x3e9b0110, 0x3e9c2f82, 0x3eb3c590, 0x3ec00197,+ 0x3ec0c119, 0x3ec1413f, 0x3ec4c2af, 0x3ec74184,+ 0x3ec804ad, 0x3eca4081, 0x3eca8304, 0x3ecc03a0,+ 0x3ece02a0, 0x3ecf8084, 0x3ed00120, 0x3ed0c120,+ 0x3ed184ae, 0x3ed3c085, 0x3ed4312d, 0x3ef4cbad,+ 0x3efa892f, 0x3eff022d, 0x3f002f2f, 0x3f1782a5,+ 0x3f18c0b1, 0x3f1907af, 0x3f1cffaf, 0x3f3c81a5,+ 0x3f3d64af, 0x3f542031, 0x3f649b31, 0x3f7c0131,+ 0x3f7c83b3, 0x3f7e40b1, 0x3f7e80bd, 0x3f7ec0bb,+ 0x3f7f00b3, 0x3f840503, 0x3f8c01ad, 0x3f8cc315,+ 0x3f8e462d, 0x3f91cc03, 0x3f97c695, 0x3f9c01af,+ 0x3f9d0085, 0x3f9d852f, 0x3fa03aad, 0x3fbd442f,+ 0x3fc06f1f, 0x3fd7c11f, 0x3fd85fad, 0x3fe80081,+ 0x3fe84f1f, 0x3ff0831f, 0x3ff2831f, 0x3ff4831f,+ 0x3ff6819f, 0x3ff80783, 0x44268192, 0x442ac092,+ 0x444b8112, 0x44d2c112, 0x452ec212, 0x456e8112,+ 0x464e0092, 0x74578392, 0x746ec312, 0x75000d1f,+ 0x75068d1f, 0x750d0d1f, 0x7513839f, 0x7515891f,+ 0x751a0d1f, 0x75208d1f, 0x75271015, 0x752f439f,+ 0x7531459f, 0x75340d1f, 0x753a8d1f, 0x75410395,+ 0x7543441f, 0x7545839f, 0x75478d1f, 0x754e0795,+ 0x7552839f, 0x75548d1f, 0x755b0d1f, 0x75618d1f,+ 0x75680d1f, 0x756e8d1f, 0x75750d1f, 0x757b8d1f,+ 0x75820d1f, 0x75888d1f, 0x758f0d1f, 0x75958d1f,+ 0x759c0d1f, 0x75a28d1f, 0x75a90103, 0x75aa089f,+ 0x75ae4081, 0x75ae839f, 0x75b04081, 0x75b08c9f,+ 0x75b6c081, 0x75b7032d, 0x75b8889f, 0x75bcc081,+ 0x75bd039f, 0x75bec081, 0x75bf0c9f, 0x75c54081,+ 0x75c5832d, 0x75c7089f, 0x75cb4081, 0x75cb839f,+ 0x75cd4081, 0x75cd8c9f, 0x75d3c081, 0x75d4032d,+ 0x75d5889f, 0x75d9c081, 0x75da039f, 0x75dbc081,+ 0x75dc0c9f, 0x75e24081, 0x75e2832d, 0x75e4089f,+ 0x75e84081, 0x75e8839f, 0x75ea4081, 0x75ea8c9f,+ 0x75f0c081, 0x75f1042d, 0x75f3851f, 0x75f6051f,+ 0x75f8851f, 0x75fb051f, 0x75fd851f, 0x7b80022d,+ 0x7b814dad, 0x7b884203, 0x7b89c081, 0x7b8a452d,+ 0x7b8d0403, 0x7b908081, 0x7b91dc03, 0x7ba0052d,+ 0x7ba2c8ad, 0x7ba84483, 0x7baac8ad, 0x7c400097,+ 0x7c404521, 0x7c440d25, 0x7c4a8087, 0x7c4ac115,+ 0x7c4b4117, 0x7c4c0d1f, 0x7c528217, 0x7c538099,+ 0x7c53c097, 0x7c5a8197, 0x7c640097, 0x7c80012f,+ 0x7c808081, 0x7c841603, 0x7c9004c1, 0x7c940103,+ 0x7efc051f, 0xbe0001ac, 0xbe00d110, 0xbe0947ac,+ 0xbe0d3910, 0xbe29872c, 0xbe2d022c, 0xbe2e3790,+ 0xbe49ff90, 0xbe69bc10,+};++static const uint16_t unicode_decomp_table2[690] = {+ 0x0020, 0x0000, 0x0061, 0x0002, 0x0004, 0x0006, 0x03bc, 0x0008,+ 0x000a, 0x000c, 0x0015, 0x0095, 0x00a5, 0x00b9, 0x00c1, 0x00c3,+ 0x00c7, 0x00cb, 0x00d1, 0x00d7, 0x00dd, 0x00e0, 0x00e6, 0x00f8,+ 0x0108, 0x010a, 0x0073, 0x0110, 0x0112, 0x0114, 0x0120, 0x012c,+ 0x0144, 0x014d, 0x0153, 0x0162, 0x0168, 0x016a, 0x0176, 0x0192,+ 0x0194, 0x01a9, 0x01bb, 0x01c7, 0x01d1, 0x01d5, 0x02b9, 0x01d7,+ 0x003b, 0x01d9, 0x01db, 0x00b7, 0x01e1, 0x01fc, 0x020c, 0x0218,+ 0x021d, 0x0223, 0x0227, 0x03a3, 0x0233, 0x023f, 0x0242, 0x024b,+ 0x024e, 0x0251, 0x025d, 0x0260, 0x0269, 0x026c, 0x026f, 0x0275,+ 0x0278, 0x0281, 0x028a, 0x029c, 0x029f, 0x02a3, 0x02af, 0x02b9,+ 0x02c5, 0x02c9, 0x02cd, 0x02d1, 0x02d5, 0x02e7, 0x02ed, 0x02f1,+ 0x02f5, 0x02f9, 0x02fd, 0x0305, 0x0309, 0x030d, 0x0313, 0x0317,+ 0x031b, 0x0323, 0x0327, 0x032b, 0x032f, 0x0335, 0x033d, 0x0341,+ 0x0349, 0x034d, 0x0351, 0x0f0b, 0x0357, 0x035b, 0x035f, 0x0363,+ 0x0367, 0x036b, 0x036f, 0x0373, 0x0379, 0x037d, 0x0381, 0x0385,+ 0x0389, 0x038d, 0x0391, 0x0395, 0x0399, 0x039d, 0x03a1, 0x10dc,+ 0x03a5, 0x03c9, 0x03cd, 0x03d9, 0x03dd, 0x03e1, 0x03ef, 0x03f1,+ 0x043d, 0x044f, 0x0499, 0x04f0, 0x0502, 0x054a, 0x0564, 0x056c,+ 0x0570, 0x0573, 0x059a, 0x05fa, 0x05fe, 0x0607, 0x060b, 0x0614,+ 0x0618, 0x061e, 0x0622, 0x0628, 0x068e, 0x0694, 0x0698, 0x069e,+ 0x06a2, 0x06ab, 0x03ac, 0x06f3, 0x03ad, 0x06f6, 0x03ae, 0x06f9,+ 0x03af, 0x06fc, 0x03cc, 0x06ff, 0x03cd, 0x0702, 0x03ce, 0x0705,+ 0x0709, 0x070d, 0x0711, 0x0386, 0x0732, 0x0735, 0x03b9, 0x0737,+ 0x073b, 0x0388, 0x0753, 0x0389, 0x0756, 0x0390, 0x076b, 0x038a,+ 0x0777, 0x03b0, 0x0789, 0x038e, 0x0799, 0x079f, 0x07a3, 0x038c,+ 0x07b8, 0x038f, 0x07bb, 0x00b4, 0x07be, 0x07c0, 0x07c2, 0x2010,+ 0x07cb, 0x002e, 0x07cd, 0x07cf, 0x0020, 0x07d2, 0x07d6, 0x07db,+ 0x07df, 0x07e4, 0x07ea, 0x07f0, 0x0020, 0x07f6, 0x2212, 0x0801,+ 0x0805, 0x0807, 0x081d, 0x0825, 0x0827, 0x0043, 0x082d, 0x0830,+ 0x0190, 0x0836, 0x0839, 0x004e, 0x0845, 0x0847, 0x084c, 0x084e,+ 0x0851, 0x005a, 0x03a9, 0x005a, 0x0853, 0x0857, 0x0860, 0x0069,+ 0x0862, 0x0865, 0x086f, 0x0874, 0x087a, 0x087e, 0x08a2, 0x0049,+ 0x08a4, 0x08a6, 0x08a9, 0x0056, 0x08ab, 0x08ad, 0x08b0, 0x08b4,+ 0x0058, 0x08b6, 0x08b8, 0x08bb, 0x08c0, 0x08c2, 0x08c5, 0x0076,+ 0x08c7, 0x08c9, 0x08cc, 0x08d0, 0x0078, 0x08d2, 0x08d4, 0x08d7,+ 0x08db, 0x08de, 0x08e4, 0x08e7, 0x08f0, 0x08f3, 0x08f6, 0x08f9,+ 0x0902, 0x0906, 0x090b, 0x090f, 0x0914, 0x0917, 0x091a, 0x0923,+ 0x092c, 0x093b, 0x093e, 0x0941, 0x0944, 0x0947, 0x094a, 0x0956,+ 0x095c, 0x0960, 0x0962, 0x0964, 0x0968, 0x096a, 0x0970, 0x0978,+ 0x097c, 0x0980, 0x0986, 0x0989, 0x098f, 0x0991, 0x0030, 0x0993,+ 0x0999, 0x099c, 0x099e, 0x09a1, 0x09a4, 0x2d61, 0x6bcd, 0x9f9f,+ 0x09a6, 0x09b1, 0x09bc, 0x09c7, 0x0a95, 0x0aa1, 0x0b15, 0x0020,+ 0x0b27, 0x0b31, 0x0b8d, 0x0ba1, 0x0ba5, 0x0ba9, 0x0bad, 0x0bb1,+ 0x0bb5, 0x0bb9, 0x0bbd, 0x0bc1, 0x0bc5, 0x0c21, 0x0c35, 0x0c39,+ 0x0c3d, 0x0c41, 0x0c45, 0x0c49, 0x0c4d, 0x0c51, 0x0c55, 0x0c59,+ 0x0c6f, 0x0c71, 0x0c73, 0x0ca0, 0x0cbc, 0x0cdc, 0x0ce4, 0x0cec,+ 0x0cf4, 0x0cfc, 0x0d04, 0x0d0c, 0x0d14, 0x0d22, 0x0d2e, 0x0d7a,+ 0x0d82, 0x0d85, 0x0d89, 0x0d8d, 0x0d9d, 0x0db1, 0x0db5, 0x0dbc,+ 0x0dc2, 0x0dc6, 0x0e28, 0x0e2c, 0x0e30, 0x0e32, 0x0e36, 0x0e3c,+ 0x0e3e, 0x0e41, 0x0e43, 0x0e46, 0x0e77, 0x0e7b, 0x0e89, 0x0e8e,+ 0x0e94, 0x0e9c, 0x0ea3, 0x0ea9, 0x0eb4, 0x0ebe, 0x0ec6, 0x0eca,+ 0x0ecf, 0x0ed9, 0x0edd, 0x0ee4, 0x0eec, 0x0ef3, 0x0ef8, 0x0f04,+ 0x0f0a, 0x0f15, 0x0f1b, 0x0f22, 0x0f28, 0x0f33, 0x0f3d, 0x0f45,+ 0x0f4c, 0x0f51, 0x0f57, 0x0f5e, 0x0f63, 0x0f69, 0x0f70, 0x0f76,+ 0x0f7d, 0x0f82, 0x0f89, 0x0f8d, 0x0f9e, 0x0fa4, 0x0fa9, 0x0fad,+ 0x0fb8, 0x0fbe, 0x0fc9, 0x0fd0, 0x0fd6, 0x0fda, 0x0fe1, 0x0fe5,+ 0x0fef, 0x0ffa, 0x1000, 0x1004, 0x1009, 0x100f, 0x1013, 0x101a,+ 0x101f, 0x1023, 0x1029, 0x102f, 0x1032, 0x1036, 0x1039, 0x103f,+ 0x1045, 0x1059, 0x1061, 0x1079, 0x107c, 0x1080, 0x1095, 0x10a1,+ 0x10b1, 0x10c3, 0x10cb, 0x10cf, 0x10da, 0x10de, 0x10ea, 0x10f2,+ 0x10f4, 0x1100, 0x1105, 0x1111, 0x1141, 0x1149, 0x114d, 0x1153,+ 0x1157, 0x115a, 0x116e, 0x1171, 0x1175, 0x117b, 0x117d, 0x1181,+ 0x1184, 0x118c, 0x1192, 0x1196, 0x119c, 0x11a2, 0x11a8, 0x11ab,+ 0xa76f, 0x11af, 0x11b3, 0x028d, 0x11bb, 0x120d, 0x130b, 0x1409,+ 0x148d, 0x1492, 0x1550, 0x1569, 0x156f, 0x1575, 0x157b, 0x1587,+ 0x1593, 0x002b, 0x159e, 0x15b6, 0x15ba, 0x15be, 0x15c2, 0x15c6,+ 0x15ca, 0x15de, 0x15e2, 0x1646, 0x165f, 0x1685, 0x168b, 0x1749,+ 0x174f, 0x1754, 0x1774, 0x1874, 0x187a, 0x190e, 0x19d0, 0x1a74,+ 0x1a7c, 0x1a9a, 0x1a9f, 0x1ab3, 0x1abd, 0x1ac3, 0x1ad7, 0x1adc,+ 0x1ae2, 0x1af0, 0x1b20, 0x1b2d, 0x1b35, 0x1b39, 0x1b4f, 0x1bc6,+ 0x1bd8, 0x1bda, 0x1bdc, 0x3164, 0x1c1d, 0x1c1f, 0x1c21, 0x1c23,+ 0x1c25, 0x1c27, 0x1c45, 0x1c53, 0x1c58, 0x1c61, 0x1c6a, 0x1c7c,+ 0x1c85, 0x1c8a, 0x1caa, 0x1cc5, 0x1cc7, 0x1cc9, 0x1ccb, 0x1ccd,+ 0x1ccf, 0x1cd1, 0x1cd3, 0x1cf3, 0x1cf5, 0x1cf7, 0x1cf9, 0x1cfb,+ 0x1d02, 0x1d04, 0x1d06, 0x1d08, 0x1d17, 0x1d19, 0x1d1b, 0x1d1d,+ 0x1d1f, 0x1d21, 0x1d23, 0x1d25, 0x1d27, 0x1d29, 0x1d2b, 0x1d2d,+ 0x1d2f, 0x1d31, 0x1d33, 0x1d37, 0x03f4, 0x1d39, 0x2207, 0x1d3b,+ 0x2202, 0x1d3d, 0x1d45, 0x03f4, 0x1d47, 0x2207, 0x1d49, 0x2202,+ 0x1d4b, 0x1d53, 0x03f4, 0x1d55, 0x2207, 0x1d57, 0x2202, 0x1d59,+ 0x1d61, 0x03f4, 0x1d63, 0x2207, 0x1d65, 0x2202, 0x1d67, 0x1d6f,+ 0x03f4, 0x1d71, 0x2207, 0x1d73, 0x2202, 0x1d75, 0x1d7f, 0x1d81,+ 0x1d83, 0x1d85, 0x1d87, 0x1d89, 0x1d8f, 0x1dac, 0x062d, 0x1db4,+ 0x1dc0, 0x062c, 0x1dd0, 0x1e40, 0x1e4c, 0x1e5f, 0x1e71, 0x1e84,+ 0x1e86, 0x1e8a, 0x1e90, 0x1e96, 0x1e98, 0x1e9c, 0x1e9e, 0x1ea6,+ 0x1ea9, 0x1eab, 0x1eb1, 0x1eb3, 0x30b5, 0x1eb9, 0x1f11, 0x1f27,+ 0x1f2b, 0x1f2d, 0x1f32, 0x1f7f, 0x1f90, 0x2091, 0x20a1, 0x20a7,+ 0x21a1, 0x22bf,+};++static const uint8_t unicode_decomp_data[9165] = {+ 0x20, 0x88, 0x20, 0x84, 0x32, 0x33, 0x20, 0x81,+ 0x20, 0xa7, 0x31, 0x6f, 0x31, 0xd0, 0x34, 0x31,+ 0xd0, 0x32, 0x33, 0xd0, 0x34, 0x41, 0x80, 0x41,+ 0x81, 0x41, 0x82, 0x41, 0x83, 0x41, 0x88, 0x41,+ 0x8a, 0x00, 0x00, 0x43, 0xa7, 0x45, 0x80, 0x45,+ 0x81, 0x45, 0x82, 0x45, 0x88, 0x49, 0x80, 0x49,+ 0x81, 0x49, 0x82, 0x49, 0x88, 0x00, 0x00, 0x4e,+ 0x83, 0x4f, 0x80, 0x4f, 0x81, 0x4f, 0x82, 0x4f,+ 0x83, 0x4f, 0x88, 0x00, 0x00, 0x00, 0x00, 0x55,+ 0x80, 0x55, 0x81, 0x55, 0x82, 0x55, 0x88, 0x59,+ 0x81, 0x00, 0x00, 0x00, 0x00, 0x61, 0x80, 0x61,+ 0x81, 0x61, 0x82, 0x61, 0x83, 0x61, 0x88, 0x61,+ 0x8a, 0x00, 0x00, 0x63, 0xa7, 0x65, 0x80, 0x65,+ 0x81, 0x65, 0x82, 0x65, 0x88, 0x69, 0x80, 0x69,+ 0x81, 0x69, 0x82, 0x69, 0x88, 0x00, 0x00, 0x6e,+ 0x83, 0x6f, 0x80, 0x6f, 0x81, 0x6f, 0x82, 0x6f,+ 0x83, 0x6f, 0x88, 0x00, 0x00, 0x00, 0x00, 0x75,+ 0x80, 0x75, 0x81, 0x75, 0x82, 0x75, 0x88, 0x79,+ 0x81, 0x00, 0x00, 0x79, 0x88, 0x41, 0x84, 0x41,+ 0x86, 0x41, 0xa8, 0x43, 0x81, 0x43, 0x82, 0x43,+ 0x87, 0x43, 0x8c, 0x44, 0x8c, 0x45, 0x84, 0x45,+ 0x86, 0x45, 0x87, 0x45, 0xa8, 0x45, 0x8c, 0x47,+ 0x82, 0x47, 0x86, 0x47, 0x87, 0x47, 0xa7, 0x48,+ 0x82, 0x49, 0x83, 0x49, 0x84, 0x49, 0x86, 0x49,+ 0xa8, 0x49, 0x87, 0x49, 0x4a, 0x69, 0x6a, 0x4a,+ 0x82, 0x4b, 0xa7, 0x4c, 0x81, 0x4c, 0xa7, 0x4c,+ 0x8c, 0x4c, 0x00, 0x00, 0x6b, 0x20, 0x6b, 0x4e,+ 0x81, 0x4e, 0xa7, 0x4e, 0x8c, 0xbc, 0x02, 0x6e,+ 0x4f, 0x84, 0x4f, 0x86, 0x4f, 0x8b, 0x52, 0x81,+ 0x52, 0xa7, 0x52, 0x8c, 0x53, 0x81, 0x53, 0x82,+ 0x53, 0xa7, 0x53, 0x8c, 0x54, 0xa7, 0x54, 0x8c,+ 0x55, 0x83, 0x55, 0x84, 0x55, 0x86, 0x55, 0x8a,+ 0x55, 0x8b, 0x55, 0xa8, 0x57, 0x82, 0x59, 0x82,+ 0x59, 0x88, 0x5a, 0x81, 0x5a, 0x87, 0x5a, 0x8c,+ 0x4f, 0x9b, 0x55, 0x9b, 0x44, 0x00, 0x7d, 0x01,+ 0x44, 0x00, 0x7e, 0x01, 0x64, 0x00, 0x7e, 0x01,+ 0x4c, 0x4a, 0x4c, 0x6a, 0x6c, 0x6a, 0x4e, 0x4a,+ 0x4e, 0x6a, 0x6e, 0x6a, 0x41, 0x00, 0x8c, 0x49,+ 0x00, 0x8c, 0x4f, 0x00, 0x8c, 0x55, 0x00, 0x8c,+ 0xdc, 0x00, 0x84, 0xdc, 0x00, 0x81, 0xdc, 0x00,+ 0x8c, 0xdc, 0x00, 0x80, 0xc4, 0x00, 0x84, 0x26,+ 0x02, 0x84, 0xc6, 0x00, 0x84, 0x47, 0x8c, 0x4b,+ 0x8c, 0x4f, 0xa8, 0xea, 0x01, 0x84, 0xeb, 0x01,+ 0x84, 0xb7, 0x01, 0x8c, 0x92, 0x02, 0x8c, 0x6a,+ 0x00, 0x8c, 0x44, 0x5a, 0x44, 0x7a, 0x64, 0x7a,+ 0x47, 0x81, 0x4e, 0x00, 0x80, 0xc5, 0x00, 0x81,+ 0xc6, 0x00, 0x81, 0xd8, 0x00, 0x81, 0x41, 0x8f,+ 0x41, 0x91, 0x45, 0x8f, 0x45, 0x91, 0x49, 0x8f,+ 0x49, 0x91, 0x4f, 0x8f, 0x4f, 0x91, 0x52, 0x8f,+ 0x52, 0x91, 0x55, 0x8f, 0x55, 0x91, 0x53, 0xa6,+ 0x54, 0xa6, 0x48, 0x8c, 0x41, 0x00, 0x87, 0x45,+ 0x00, 0xa7, 0xd6, 0x00, 0x84, 0xd5, 0x00, 0x84,+ 0x4f, 0x00, 0x87, 0x2e, 0x02, 0x84, 0x59, 0x00,+ 0x84, 0x68, 0x00, 0x66, 0x02, 0x6a, 0x00, 0x72,+ 0x00, 0x79, 0x02, 0x7b, 0x02, 0x81, 0x02, 0x77,+ 0x00, 0x79, 0x00, 0x20, 0x86, 0x20, 0x87, 0x20,+ 0x8a, 0x20, 0xa8, 0x20, 0x83, 0x20, 0x8b, 0x63,+ 0x02, 0x6c, 0x00, 0x73, 0x00, 0x78, 0x00, 0x95,+ 0x02, 0x80, 0x81, 0x00, 0x93, 0x88, 0x81, 0x20,+ 0xc5, 0x20, 0x81, 0xa8, 0x00, 0x81, 0x91, 0x03,+ 0x81, 0x95, 0x03, 0x81, 0x97, 0x03, 0x81, 0x99,+ 0x03, 0x81, 0x00, 0x00, 0x00, 0x9f, 0x03, 0x81,+ 0x00, 0x00, 0x00, 0xa5, 0x03, 0x81, 0xa9, 0x03,+ 0x81, 0xca, 0x03, 0x81, 0x01, 0x03, 0x98, 0x07,+ 0xa4, 0x07, 0xb0, 0x00, 0xb4, 0x00, 0xb6, 0x00,+ 0xb8, 0x00, 0xca, 0x00, 0x01, 0x03, 0xb8, 0x07,+ 0xc4, 0x07, 0xbe, 0x00, 0xc4, 0x00, 0xc8, 0x00,+ 0xa5, 0x03, 0x0d, 0x13, 0x00, 0x01, 0x03, 0xd1,+ 0x00, 0xd1, 0x07, 0xc6, 0x03, 0xc0, 0x03, 0xba,+ 0x03, 0xc1, 0x03, 0xc2, 0x03, 0x00, 0x00, 0x98,+ 0x03, 0xb5, 0x03, 0x15, 0x04, 0x80, 0x15, 0x04,+ 0x88, 0x00, 0x00, 0x00, 0x13, 0x04, 0x81, 0x06,+ 0x04, 0x88, 0x1a, 0x04, 0x81, 0x18, 0x04, 0x80,+ 0x23, 0x04, 0x86, 0x18, 0x04, 0x86, 0x38, 0x04,+ 0x86, 0x35, 0x04, 0x80, 0x35, 0x04, 0x88, 0x00,+ 0x00, 0x00, 0x33, 0x04, 0x81, 0x56, 0x04, 0x88,+ 0x3a, 0x04, 0x81, 0x38, 0x04, 0x80, 0x43, 0x04,+ 0x86, 0x74, 0x04, 0x8f, 0x16, 0x04, 0x86, 0x10,+ 0x04, 0x86, 0x10, 0x04, 0x88, 0x15, 0x04, 0x86,+ 0xd8, 0x04, 0x88, 0x16, 0x04, 0x88, 0x17, 0x04,+ 0x88, 0x18, 0x04, 0x84, 0x18, 0x04, 0x88, 0x1e,+ 0x04, 0x88, 0xe8, 0x04, 0x88, 0x2d, 0x04, 0x88,+ 0x23, 0x04, 0x84, 0x23, 0x04, 0x88, 0x23, 0x04,+ 0x8b, 0x27, 0x04, 0x88, 0x2b, 0x04, 0x88, 0x65,+ 0x05, 0x82, 0x05, 0x27, 0x06, 0x00, 0x2c, 0x00,+ 0x2d, 0x21, 0x2d, 0x00, 0x2e, 0x23, 0x2d, 0x27,+ 0x06, 0x00, 0x4d, 0x21, 0x4d, 0xa0, 0x4d, 0x23,+ 0x4d, 0xd5, 0x06, 0x54, 0x06, 0x00, 0x00, 0x00,+ 0x00, 0xc1, 0x06, 0x54, 0x06, 0xd2, 0x06, 0x54,+ 0x06, 0x28, 0x09, 0x3c, 0x09, 0x30, 0x09, 0x3c,+ 0x09, 0x33, 0x09, 0x3c, 0x09, 0x15, 0x09, 0x00,+ 0x27, 0x01, 0x27, 0x02, 0x27, 0x07, 0x27, 0x0c,+ 0x27, 0x0d, 0x27, 0x16, 0x27, 0x1a, 0x27, 0xbe,+ 0x09, 0x09, 0x00, 0x09, 0x19, 0xa1, 0x09, 0xbc,+ 0x09, 0xaf, 0x09, 0xbc, 0x09, 0x32, 0x0a, 0x3c,+ 0x0a, 0x38, 0x0a, 0x3c, 0x0a, 0x16, 0x0a, 0x00,+ 0x26, 0x01, 0x26, 0x06, 0x26, 0x2b, 0x0a, 0x3c,+ 0x0a, 0x47, 0x0b, 0x56, 0x0b, 0x3e, 0x0b, 0x09,+ 0x00, 0x09, 0x19, 0x21, 0x0b, 0x3c, 0x0b, 0x92,+ 0x0b, 0xd7, 0x0b, 0xbe, 0x0b, 0x08, 0x00, 0x09,+ 0x00, 0x08, 0x19, 0x46, 0x0c, 0x56, 0x0c, 0xbf,+ 0x0c, 0xd5, 0x0c, 0xc6, 0x0c, 0xd5, 0x0c, 0xc2,+ 0x0c, 0x04, 0x00, 0x08, 0x13, 0x3e, 0x0d, 0x08,+ 0x00, 0x09, 0x00, 0x08, 0x19, 0xd9, 0x0d, 0xca,+ 0x0d, 0xca, 0x0d, 0x0f, 0x05, 0x12, 0x00, 0x0f,+ 0x15, 0x4d, 0x0e, 0x32, 0x0e, 0xcd, 0x0e, 0xb2,+ 0x0e, 0x99, 0x0e, 0x12, 0x00, 0x12, 0x08, 0x42,+ 0x0f, 0xb7, 0x0f, 0x4c, 0x0f, 0xb7, 0x0f, 0x51,+ 0x0f, 0xb7, 0x0f, 0x56, 0x0f, 0xb7, 0x0f, 0x5b,+ 0x0f, 0xb7, 0x0f, 0x40, 0x0f, 0xb5, 0x0f, 0x71,+ 0x0f, 0x72, 0x0f, 0x71, 0x0f, 0x00, 0x03, 0x41,+ 0x0f, 0xb2, 0x0f, 0x81, 0x0f, 0xb3, 0x0f, 0x80,+ 0x0f, 0xb3, 0x0f, 0x81, 0x0f, 0x71, 0x0f, 0x80,+ 0x0f, 0x92, 0x0f, 0xb7, 0x0f, 0x9c, 0x0f, 0xb7,+ 0x0f, 0xa1, 0x0f, 0xb7, 0x0f, 0xa6, 0x0f, 0xb7,+ 0x0f, 0xab, 0x0f, 0xb7, 0x0f, 0x90, 0x0f, 0xb5,+ 0x0f, 0x25, 0x10, 0x2e, 0x10, 0x05, 0x1b, 0x35,+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1b, 0x35,+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x09, 0x1b, 0x35,+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x1b, 0x35,+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x1b, 0x35,+ 0x1b, 0x11, 0x1b, 0x35, 0x1b, 0x3a, 0x1b, 0x35,+ 0x1b, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x1b, 0x35,+ 0x1b, 0x3e, 0x1b, 0x35, 0x1b, 0x42, 0x1b, 0x35,+ 0x1b, 0x41, 0x00, 0xc6, 0x00, 0x42, 0x00, 0x00,+ 0x00, 0x44, 0x00, 0x45, 0x00, 0x8e, 0x01, 0x47,+ 0x00, 0x4f, 0x00, 0x22, 0x02, 0x50, 0x00, 0x52,+ 0x00, 0x54, 0x00, 0x55, 0x00, 0x57, 0x00, 0x61,+ 0x00, 0x50, 0x02, 0x51, 0x02, 0x02, 0x1d, 0x62,+ 0x00, 0x64, 0x00, 0x65, 0x00, 0x59, 0x02, 0x5b,+ 0x02, 0x5c, 0x02, 0x67, 0x00, 0x00, 0x00, 0x6b,+ 0x00, 0x6d, 0x00, 0x4b, 0x01, 0x6f, 0x00, 0x54,+ 0x02, 0x16, 0x1d, 0x17, 0x1d, 0x70, 0x00, 0x74,+ 0x00, 0x75, 0x00, 0x1d, 0x1d, 0x6f, 0x02, 0x76,+ 0x00, 0x25, 0x1d, 0xb2, 0x03, 0xb3, 0x03, 0xb4,+ 0x03, 0xc6, 0x03, 0xc7, 0x03, 0x69, 0x00, 0x72,+ 0x00, 0x75, 0x00, 0x76, 0x00, 0xb2, 0x03, 0xb3,+ 0x03, 0xc1, 0x03, 0xc6, 0x03, 0xc7, 0x03, 0x52,+ 0x02, 0x63, 0x00, 0x55, 0x02, 0xf0, 0x00, 0x5c,+ 0x02, 0x66, 0x00, 0x5f, 0x02, 0x61, 0x02, 0x65,+ 0x02, 0x68, 0x02, 0x69, 0x02, 0x6a, 0x02, 0x7b,+ 0x1d, 0x9d, 0x02, 0x6d, 0x02, 0x85, 0x1d, 0x9f,+ 0x02, 0x71, 0x02, 0x70, 0x02, 0x72, 0x02, 0x73,+ 0x02, 0x74, 0x02, 0x75, 0x02, 0x78, 0x02, 0x82,+ 0x02, 0x83, 0x02, 0xab, 0x01, 0x89, 0x02, 0x8a,+ 0x02, 0x1c, 0x1d, 0x8b, 0x02, 0x8c, 0x02, 0x7a,+ 0x00, 0x90, 0x02, 0x91, 0x02, 0x92, 0x02, 0xb8,+ 0x03, 0x41, 0x00, 0xa5, 0x42, 0x00, 0x87, 0x42,+ 0x00, 0xa3, 0x42, 0x00, 0xb1, 0xc7, 0x00, 0x81,+ 0x44, 0x00, 0x87, 0x44, 0x00, 0xa3, 0x44, 0x00,+ 0xb1, 0x44, 0x00, 0xa7, 0x44, 0x00, 0xad, 0x12,+ 0x01, 0x80, 0x12, 0x01, 0x81, 0x45, 0x00, 0xad,+ 0x45, 0x00, 0xb0, 0x28, 0x02, 0x86, 0x46, 0x00,+ 0x87, 0x47, 0x00, 0x84, 0x48, 0x00, 0x87, 0x48,+ 0x00, 0xa3, 0x48, 0x00, 0x88, 0x48, 0x00, 0xa7,+ 0x48, 0x00, 0xae, 0x49, 0x00, 0xb0, 0xcf, 0x00,+ 0x81, 0x4b, 0x00, 0x81, 0x4b, 0x00, 0xa3, 0x4b,+ 0x00, 0xb1, 0x4c, 0x00, 0xa3, 0x36, 0x1e, 0x84,+ 0x4c, 0xb1, 0x4c, 0xad, 0x4d, 0x81, 0x4d, 0x87,+ 0x4d, 0xa3, 0x4e, 0x87, 0x4e, 0xa3, 0x4e, 0xb1,+ 0x4e, 0xad, 0xd5, 0x00, 0x81, 0xd5, 0x00, 0x88,+ 0x4c, 0x01, 0x80, 0x4c, 0x01, 0x81, 0x50, 0x00,+ 0x81, 0x50, 0x00, 0x87, 0x52, 0x00, 0x87, 0x52,+ 0x00, 0xa3, 0x5a, 0x1e, 0x84, 0x52, 0x00, 0xb1,+ 0x53, 0x00, 0x87, 0x53, 0x00, 0xa3, 0x5a, 0x01,+ 0x87, 0x60, 0x01, 0x87, 0x62, 0x1e, 0x87, 0x54,+ 0x00, 0x87, 0x54, 0x00, 0xa3, 0x54, 0x00, 0xb1,+ 0x54, 0x00, 0xad, 0x55, 0x00, 0xa4, 0x55, 0x00,+ 0xb0, 0x55, 0x00, 0xad, 0x68, 0x01, 0x81, 0x6a,+ 0x01, 0x88, 0x56, 0x83, 0x56, 0xa3, 0x57, 0x80,+ 0x57, 0x81, 0x57, 0x88, 0x57, 0x87, 0x57, 0xa3,+ 0x58, 0x87, 0x58, 0x88, 0x59, 0x87, 0x5a, 0x82,+ 0x5a, 0xa3, 0x5a, 0xb1, 0x68, 0xb1, 0x74, 0x88,+ 0x77, 0x8a, 0x79, 0x8a, 0x61, 0x00, 0xbe, 0x02,+ 0x7f, 0x01, 0x87, 0x41, 0x00, 0xa3, 0x41, 0x00,+ 0x89, 0xc2, 0x00, 0x81, 0xc2, 0x00, 0x80, 0xc2,+ 0x00, 0x89, 0xc2, 0x00, 0x83, 0xa0, 0x1e, 0x82,+ 0x02, 0x01, 0x81, 0x02, 0x01, 0x80, 0x02, 0x01,+ 0x89, 0x02, 0x01, 0x83, 0xa0, 0x1e, 0x86, 0x45,+ 0x00, 0xa3, 0x45, 0x00, 0x89, 0x45, 0x00, 0x83,+ 0xca, 0x00, 0x81, 0xca, 0x00, 0x80, 0xca, 0x00,+ 0x89, 0xca, 0x00, 0x83, 0xb8, 0x1e, 0x82, 0x49,+ 0x00, 0x89, 0x49, 0x00, 0xa3, 0x4f, 0x00, 0xa3,+ 0x4f, 0x00, 0x89, 0xd4, 0x00, 0x81, 0xd4, 0x00,+ 0x80, 0xd4, 0x00, 0x89, 0xd4, 0x00, 0x83, 0xcc,+ 0x1e, 0x82, 0xa0, 0x01, 0x81, 0xa0, 0x01, 0x80,+ 0xa0, 0x01, 0x89, 0xa0, 0x01, 0x83, 0xa0, 0x01,+ 0xa3, 0x55, 0x00, 0xa3, 0x55, 0x00, 0x89, 0xaf,+ 0x01, 0x81, 0xaf, 0x01, 0x80, 0xaf, 0x01, 0x89,+ 0xaf, 0x01, 0x83, 0xaf, 0x01, 0xa3, 0x59, 0x00,+ 0x80, 0x59, 0x00, 0xa3, 0x59, 0x00, 0x89, 0x59,+ 0x00, 0x83, 0xb1, 0x03, 0x13, 0x03, 0x00, 0x1f,+ 0x80, 0x00, 0x1f, 0x81, 0x00, 0x1f, 0xc2, 0x91,+ 0x03, 0x13, 0x03, 0x08, 0x1f, 0x80, 0x08, 0x1f,+ 0x81, 0x08, 0x1f, 0xc2, 0xb5, 0x03, 0x13, 0x03,+ 0x10, 0x1f, 0x80, 0x10, 0x1f, 0x81, 0x95, 0x03,+ 0x13, 0x03, 0x18, 0x1f, 0x80, 0x18, 0x1f, 0x81,+ 0xb7, 0x03, 0x93, 0xb7, 0x03, 0x94, 0x20, 0x1f,+ 0x80, 0x21, 0x1f, 0x80, 0x20, 0x1f, 0x81, 0x21,+ 0x1f, 0x81, 0x20, 0x1f, 0xc2, 0x21, 0x1f, 0xc2,+ 0x97, 0x03, 0x93, 0x97, 0x03, 0x94, 0x28, 0x1f,+ 0x80, 0x29, 0x1f, 0x80, 0x28, 0x1f, 0x81, 0x29,+ 0x1f, 0x81, 0x28, 0x1f, 0xc2, 0x29, 0x1f, 0xc2,+ 0xb9, 0x03, 0x93, 0xb9, 0x03, 0x94, 0x30, 0x1f,+ 0x80, 0x31, 0x1f, 0x80, 0x30, 0x1f, 0x81, 0x31,+ 0x1f, 0x81, 0x30, 0x1f, 0xc2, 0x31, 0x1f, 0xc2,+ 0x99, 0x03, 0x93, 0x99, 0x03, 0x94, 0x38, 0x1f,+ 0x80, 0x39, 0x1f, 0x80, 0x38, 0x1f, 0x81, 0x39,+ 0x1f, 0x81, 0x38, 0x1f, 0xc2, 0x39, 0x1f, 0xc2,+ 0xbf, 0x03, 0x93, 0xbf, 0x03, 0x94, 0x40, 0x1f,+ 0x80, 0x40, 0x1f, 0x81, 0x9f, 0x03, 0x13, 0x03,+ 0x48, 0x1f, 0x80, 0x48, 0x1f, 0x81, 0xc5, 0x03,+ 0x13, 0x03, 0x50, 0x1f, 0x80, 0x50, 0x1f, 0x81,+ 0x50, 0x1f, 0xc2, 0xa5, 0x03, 0x94, 0x00, 0x00,+ 0x00, 0x59, 0x1f, 0x80, 0x00, 0x00, 0x00, 0x59,+ 0x1f, 0x81, 0x00, 0x00, 0x00, 0x59, 0x1f, 0xc2,+ 0xc9, 0x03, 0x93, 0xc9, 0x03, 0x94, 0x60, 0x1f,+ 0x80, 0x61, 0x1f, 0x80, 0x60, 0x1f, 0x81, 0x61,+ 0x1f, 0x81, 0x60, 0x1f, 0xc2, 0x61, 0x1f, 0xc2,+ 0xa9, 0x03, 0x93, 0xa9, 0x03, 0x94, 0x68, 0x1f,+ 0x80, 0x69, 0x1f, 0x80, 0x68, 0x1f, 0x81, 0x69,+ 0x1f, 0x81, 0x68, 0x1f, 0xc2, 0x69, 0x1f, 0xc2,+ 0xb1, 0x03, 0x80, 0xb5, 0x03, 0x80, 0xb7, 0x03,+ 0x80, 0xb9, 0x03, 0x80, 0xbf, 0x03, 0x80, 0xc5,+ 0x03, 0x80, 0xc9, 0x03, 0x80, 0x00, 0x1f, 0x45,+ 0x03, 0x20, 0x1f, 0x45, 0x03, 0x60, 0x1f, 0x45,+ 0x03, 0xb1, 0x03, 0x86, 0xb1, 0x03, 0x84, 0x70,+ 0x1f, 0xc5, 0xb1, 0x03, 0xc5, 0xac, 0x03, 0xc5,+ 0x00, 0x00, 0x00, 0xb1, 0x03, 0xc2, 0xb6, 0x1f,+ 0xc5, 0x91, 0x03, 0x86, 0x91, 0x03, 0x84, 0x91,+ 0x03, 0x80, 0x91, 0x03, 0xc5, 0x20, 0x93, 0x20,+ 0x93, 0x20, 0xc2, 0xa8, 0x00, 0xc2, 0x74, 0x1f,+ 0xc5, 0xb7, 0x03, 0xc5, 0xae, 0x03, 0xc5, 0x00,+ 0x00, 0x00, 0xb7, 0x03, 0xc2, 0xc6, 0x1f, 0xc5,+ 0x95, 0x03, 0x80, 0x97, 0x03, 0x80, 0x97, 0x03,+ 0xc5, 0xbf, 0x1f, 0x80, 0xbf, 0x1f, 0x81, 0xbf,+ 0x1f, 0xc2, 0xb9, 0x03, 0x86, 0xb9, 0x03, 0x84,+ 0xca, 0x03, 0x80, 0x00, 0x03, 0xb9, 0x42, 0xca,+ 0x42, 0x99, 0x06, 0x99, 0x04, 0x99, 0x00, 0xfe,+ 0x1f, 0x80, 0xfe, 0x1f, 0x81, 0xfe, 0x1f, 0xc2,+ 0xc5, 0x03, 0x86, 0xc5, 0x03, 0x84, 0xcb, 0x03,+ 0x80, 0x00, 0x03, 0xc1, 0x13, 0xc1, 0x14, 0xc5,+ 0x42, 0xcb, 0x42, 0xa5, 0x06, 0xa5, 0x04, 0xa5,+ 0x00, 0xa1, 0x03, 0x94, 0xa8, 0x00, 0x80, 0x85,+ 0x03, 0x60, 0x00, 0x7c, 0x1f, 0xc5, 0xc9, 0x03,+ 0xc5, 0xce, 0x03, 0xc5, 0x00, 0x00, 0x00, 0xc9,+ 0x03, 0xc2, 0xf6, 0x1f, 0xc5, 0x9f, 0x03, 0x80,+ 0xa9, 0x03, 0x80, 0xa9, 0x03, 0xc5, 0x20, 0x94,+ 0x02, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,+ 0x20, 0x20, 0x20, 0x20, 0xb3, 0x2e, 0x2e, 0x2e,+ 0x2e, 0x2e, 0x32, 0x20, 0x32, 0x20, 0x32, 0x20,+ 0x00, 0x00, 0x00, 0x35, 0x20, 0x35, 0x20, 0x35,+ 0x20, 0x00, 0x00, 0x00, 0x21, 0x21, 0x00, 0x00,+ 0x20, 0x85, 0x3f, 0x3f, 0x3f, 0x21, 0x21, 0x3f,+ 0x32, 0x20, 0x00, 0x00, 0x00, 0x00, 0x30, 0x69,+ 0x00, 0x00, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,+ 0x2b, 0x3d, 0x28, 0x29, 0x6e, 0x30, 0x00, 0x2b,+ 0x00, 0x12, 0x22, 0x3d, 0x00, 0x28, 0x00, 0x29,+ 0x00, 0x00, 0x00, 0x61, 0x00, 0x65, 0x00, 0x6f,+ 0x00, 0x78, 0x00, 0x59, 0x02, 0x68, 0x6b, 0x6c,+ 0x6d, 0x6e, 0x70, 0x73, 0x74, 0x52, 0x73, 0x61,+ 0x2f, 0x63, 0x61, 0x2f, 0x73, 0xb0, 0x00, 0x43,+ 0x63, 0x2f, 0x6f, 0x63, 0x2f, 0x75, 0xb0, 0x00,+ 0x46, 0x48, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20,+ 0xdf, 0x01, 0x01, 0x04, 0x24, 0x4e, 0x6f, 0x50,+ 0x51, 0x52, 0x52, 0x52, 0x53, 0x4d, 0x54, 0x45,+ 0x4c, 0x54, 0x4d, 0x4b, 0x00, 0xc5, 0x00, 0x42,+ 0x43, 0x00, 0x65, 0x45, 0x46, 0x00, 0x4d, 0x6f,+ 0xd0, 0x05, 0x46, 0x41, 0x58, 0xc0, 0x03, 0xb3,+ 0x03, 0x93, 0x03, 0xa0, 0x03, 0x11, 0x22, 0x44,+ 0x64, 0x65, 0x69, 0x6a, 0x31, 0xd0, 0x37, 0x31,+ 0xd0, 0x39, 0x31, 0xd0, 0x31, 0x30, 0x31, 0xd0,+ 0x33, 0x32, 0xd0, 0x33, 0x31, 0xd0, 0x35, 0x32,+ 0xd0, 0x35, 0x33, 0xd0, 0x35, 0x34, 0xd0, 0x35,+ 0x31, 0xd0, 0x36, 0x35, 0xd0, 0x36, 0x31, 0xd0,+ 0x38, 0x33, 0xd0, 0x38, 0x35, 0xd0, 0x38, 0x37,+ 0xd0, 0x38, 0x31, 0xd0, 0x49, 0x49, 0x49, 0x49,+ 0x49, 0x49, 0x56, 0x56, 0x49, 0x56, 0x49, 0x49,+ 0x56, 0x49, 0x49, 0x49, 0x49, 0x58, 0x58, 0x49,+ 0x58, 0x49, 0x49, 0x4c, 0x43, 0x44, 0x4d, 0x69,+ 0x69, 0x69, 0x69, 0x69, 0x69, 0x69, 0x76, 0x76,+ 0x69, 0x76, 0x69, 0x69, 0x76, 0x69, 0x69, 0x69,+ 0x69, 0x78, 0x78, 0x69, 0x78, 0x69, 0x69, 0x6c,+ 0x63, 0x64, 0x6d, 0x30, 0xd0, 0x33, 0x90, 0x21,+ 0xb8, 0x92, 0x21, 0xb8, 0x94, 0x21, 0xb8, 0xd0,+ 0x21, 0xb8, 0xd4, 0x21, 0xb8, 0xd2, 0x21, 0xb8,+ 0x03, 0x22, 0xb8, 0x08, 0x22, 0xb8, 0x0b, 0x22,+ 0xb8, 0x23, 0x22, 0xb8, 0x00, 0x00, 0x00, 0x25,+ 0x22, 0xb8, 0x2b, 0x22, 0x2b, 0x22, 0x2b, 0x22,+ 0x00, 0x00, 0x00, 0x2e, 0x22, 0x2e, 0x22, 0x2e,+ 0x22, 0x00, 0x00, 0x00, 0x3c, 0x22, 0xb8, 0x43,+ 0x22, 0xb8, 0x45, 0x22, 0xb8, 0x00, 0x00, 0x00,+ 0x48, 0x22, 0xb8, 0x3d, 0x00, 0xb8, 0x00, 0x00,+ 0x00, 0x61, 0x22, 0xb8, 0x4d, 0x22, 0xb8, 0x3c,+ 0x00, 0xb8, 0x3e, 0x00, 0xb8, 0x64, 0x22, 0xb8,+ 0x65, 0x22, 0xb8, 0x72, 0x22, 0xb8, 0x76, 0x22,+ 0xb8, 0x7a, 0x22, 0xb8, 0x82, 0x22, 0xb8, 0x86,+ 0x22, 0xb8, 0xa2, 0x22, 0xb8, 0xa8, 0x22, 0xb8,+ 0xa9, 0x22, 0xb8, 0xab, 0x22, 0xb8, 0x7c, 0x22,+ 0xb8, 0x91, 0x22, 0xb8, 0xb2, 0x22, 0x38, 0x03,+ 0x08, 0x30, 0x31, 0x00, 0x31, 0x00, 0x30, 0x00,+ 0x32, 0x30, 0x28, 0x00, 0x31, 0x00, 0x29, 0x00,+ 0x28, 0x00, 0x31, 0x00, 0x30, 0x00, 0x29, 0x00,+ 0x28, 0x32, 0x30, 0x29, 0x31, 0x00, 0x2e, 0x00,+ 0x31, 0x00, 0x30, 0x00, 0x2e, 0x00, 0x32, 0x30,+ 0x2e, 0x28, 0x00, 0x61, 0x00, 0x29, 0x00, 0x41,+ 0x00, 0x61, 0x00, 0x2b, 0x22, 0x00, 0x00, 0x00,+ 0x00, 0x3a, 0x3a, 0x3d, 0x3d, 0x3d, 0x3d, 0x3d,+ 0x3d, 0xdd, 0x2a, 0xb8, 0x6a, 0x56, 0x00, 0x4e,+ 0x00, 0x28, 0x36, 0x3f, 0x59, 0x85, 0x8c, 0xa0,+ 0xba, 0x3f, 0x51, 0x00, 0x26, 0x2c, 0x43, 0x57,+ 0x6c, 0xa1, 0xb6, 0xc1, 0x9b, 0x52, 0x00, 0x5e,+ 0x7a, 0x7f, 0x9d, 0xa6, 0xc1, 0xce, 0xe7, 0xb6,+ 0x53, 0xc8, 0x53, 0xe3, 0x53, 0xd7, 0x56, 0x1f,+ 0x57, 0xeb, 0x58, 0x02, 0x59, 0x0a, 0x59, 0x15,+ 0x59, 0x27, 0x59, 0x73, 0x59, 0x50, 0x5b, 0x80,+ 0x5b, 0xf8, 0x5b, 0x0f, 0x5c, 0x22, 0x5c, 0x38,+ 0x5c, 0x6e, 0x5c, 0x71, 0x5c, 0xdb, 0x5d, 0xe5,+ 0x5d, 0xf1, 0x5d, 0xfe, 0x5d, 0x72, 0x5e, 0x7a,+ 0x5e, 0x7f, 0x5e, 0xf4, 0x5e, 0xfe, 0x5e, 0x0b,+ 0x5f, 0x13, 0x5f, 0x50, 0x5f, 0x61, 0x5f, 0x73,+ 0x5f, 0xc3, 0x5f, 0x08, 0x62, 0x36, 0x62, 0x4b,+ 0x62, 0x2f, 0x65, 0x34, 0x65, 0x87, 0x65, 0x97,+ 0x65, 0xa4, 0x65, 0xb9, 0x65, 0xe0, 0x65, 0xe5,+ 0x65, 0xf0, 0x66, 0x08, 0x67, 0x28, 0x67, 0x20,+ 0x6b, 0x62, 0x6b, 0x79, 0x6b, 0xb3, 0x6b, 0xcb,+ 0x6b, 0xd4, 0x6b, 0xdb, 0x6b, 0x0f, 0x6c, 0x14,+ 0x6c, 0x34, 0x6c, 0x6b, 0x70, 0x2a, 0x72, 0x36,+ 0x72, 0x3b, 0x72, 0x3f, 0x72, 0x47, 0x72, 0x59,+ 0x72, 0x5b, 0x72, 0xac, 0x72, 0x84, 0x73, 0x89,+ 0x73, 0xdc, 0x74, 0xe6, 0x74, 0x18, 0x75, 0x1f,+ 0x75, 0x28, 0x75, 0x30, 0x75, 0x8b, 0x75, 0x92,+ 0x75, 0x76, 0x76, 0x7d, 0x76, 0xae, 0x76, 0xbf,+ 0x76, 0xee, 0x76, 0xdb, 0x77, 0xe2, 0x77, 0xf3,+ 0x77, 0x3a, 0x79, 0xb8, 0x79, 0xbe, 0x79, 0x74,+ 0x7a, 0xcb, 0x7a, 0xf9, 0x7a, 0x73, 0x7c, 0xf8,+ 0x7c, 0x36, 0x7f, 0x51, 0x7f, 0x8a, 0x7f, 0xbd,+ 0x7f, 0x01, 0x80, 0x0c, 0x80, 0x12, 0x80, 0x33,+ 0x80, 0x7f, 0x80, 0x89, 0x80, 0xe3, 0x81, 0x00,+ 0x07, 0x10, 0x19, 0x29, 0x38, 0x3c, 0x8b, 0x8f,+ 0x95, 0x4d, 0x86, 0x6b, 0x86, 0x40, 0x88, 0x4c,+ 0x88, 0x63, 0x88, 0x7e, 0x89, 0x8b, 0x89, 0xd2,+ 0x89, 0x00, 0x8a, 0x37, 0x8c, 0x46, 0x8c, 0x55,+ 0x8c, 0x78, 0x8c, 0x9d, 0x8c, 0x64, 0x8d, 0x70,+ 0x8d, 0xb3, 0x8d, 0xab, 0x8e, 0xca, 0x8e, 0x9b,+ 0x8f, 0xb0, 0x8f, 0xb5, 0x8f, 0x91, 0x90, 0x49,+ 0x91, 0xc6, 0x91, 0xcc, 0x91, 0xd1, 0x91, 0x77,+ 0x95, 0x80, 0x95, 0x1c, 0x96, 0xb6, 0x96, 0xb9,+ 0x96, 0xe8, 0x96, 0x51, 0x97, 0x5e, 0x97, 0x62,+ 0x97, 0x69, 0x97, 0xcb, 0x97, 0xed, 0x97, 0xf3,+ 0x97, 0x01, 0x98, 0xa8, 0x98, 0xdb, 0x98, 0xdf,+ 0x98, 0x96, 0x99, 0x99, 0x99, 0xac, 0x99, 0xa8,+ 0x9a, 0xd8, 0x9a, 0xdf, 0x9a, 0x25, 0x9b, 0x2f,+ 0x9b, 0x32, 0x9b, 0x3c, 0x9b, 0x5a, 0x9b, 0xe5,+ 0x9c, 0x75, 0x9e, 0x7f, 0x9e, 0xa5, 0x9e, 0x00,+ 0x16, 0x1e, 0x28, 0x2c, 0x54, 0x58, 0x69, 0x6e,+ 0x7b, 0x96, 0xa5, 0xad, 0xe8, 0xf7, 0xfb, 0x12,+ 0x30, 0x00, 0x00, 0x41, 0x53, 0x44, 0x53, 0x45,+ 0x53, 0x4b, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x4d, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x4f, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x51, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x53, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x55, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x57, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x59, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x5b, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x5d, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x5f, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0x61, 0x30, 0x99, 0x30, 0x64, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0x66, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0x68, 0x30, 0x99,+ 0x30, 0x6f, 0x30, 0x99, 0x30, 0x72, 0x30, 0x99,+ 0x30, 0x75, 0x30, 0x99, 0x30, 0x78, 0x30, 0x99,+ 0x30, 0x7b, 0x30, 0x99, 0x30, 0x46, 0x30, 0x99,+ 0x30, 0x20, 0x00, 0x99, 0x30, 0x9d, 0x30, 0x99,+ 0x30, 0x88, 0x30, 0x8a, 0x30, 0xab, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xad, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xb1, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xb5, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xb7, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xbb, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xbd, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xbf, 0x30, 0x99,+ 0x30, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x30, 0x99,+ 0x30, 0xc4, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0xc6, 0x30, 0x99, 0x30, 0x00, 0x00, 0x00,+ 0x00, 0xc8, 0x30, 0x99, 0x30, 0xcf, 0x30, 0x99,+ 0x30, 0xd2, 0x30, 0x99, 0x30, 0xd5, 0x30, 0x99,+ 0x30, 0xd8, 0x30, 0x99, 0x30, 0xdb, 0x30, 0x99,+ 0x30, 0xa6, 0x30, 0x99, 0x30, 0xef, 0x30, 0x99,+ 0x30, 0xfd, 0x30, 0x99, 0x30, 0xb3, 0x30, 0xc8,+ 0x30, 0x00, 0x11, 0x00, 0x01, 0xaa, 0x02, 0xac,+ 0xad, 0x03, 0x04, 0x05, 0xb0, 0xb1, 0xb2, 0xb3,+ 0xb4, 0xb5, 0x1a, 0x06, 0x07, 0x08, 0x21, 0x09,+ 0x11, 0x61, 0x11, 0x14, 0x11, 0x4c, 0x00, 0x01,+ 0xb3, 0xb4, 0xb8, 0xba, 0xbf, 0xc3, 0xc5, 0x08,+ 0xc9, 0xcb, 0x09, 0x0a, 0x0c, 0x0e, 0x0f, 0x13,+ 0x15, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1e, 0x22,+ 0x2c, 0x33, 0x38, 0xdd, 0xde, 0x43, 0x44, 0x45,+ 0x70, 0x71, 0x74, 0x7d, 0x7e, 0x80, 0x8a, 0x8d,+ 0x00, 0x4e, 0x8c, 0x4e, 0x09, 0x4e, 0xdb, 0x56,+ 0x0a, 0x4e, 0x2d, 0x4e, 0x0b, 0x4e, 0x32, 0x75,+ 0x59, 0x4e, 0x19, 0x4e, 0x01, 0x4e, 0x29, 0x59,+ 0x30, 0x57, 0xba, 0x4e, 0x28, 0x00, 0x29, 0x00,+ 0x00, 0x11, 0x02, 0x11, 0x03, 0x11, 0x05, 0x11,+ 0x06, 0x11, 0x07, 0x11, 0x09, 0x11, 0x0b, 0x11,+ 0x0c, 0x11, 0x0e, 0x11, 0x0f, 0x11, 0x10, 0x11,+ 0x11, 0x11, 0x12, 0x11, 0x28, 0x00, 0x00, 0x11,+ 0x61, 0x11, 0x29, 0x00, 0x28, 0x00, 0x02, 0x11,+ 0x61, 0x11, 0x29, 0x00, 0x28, 0x00, 0x05, 0x11,+ 0x61, 0x11, 0x29, 0x00, 0x28, 0x00, 0x09, 0x11,+ 0x61, 0x11, 0x29, 0x00, 0x28, 0x00, 0x0b, 0x11,+ 0x61, 0x11, 0x29, 0x00, 0x28, 0x00, 0x0e, 0x11,+ 0x61, 0x11, 0x29, 0x00, 0x28, 0x00, 0x0c, 0x11,+ 0x6e, 0x11, 0x29, 0x00, 0x28, 0x00, 0x0b, 0x11,+ 0x69, 0x11, 0x0c, 0x11, 0x65, 0x11, 0xab, 0x11,+ 0x29, 0x00, 0x28, 0x00, 0x0b, 0x11, 0x69, 0x11,+ 0x12, 0x11, 0x6e, 0x11, 0x29, 0x00, 0x28, 0x00,+ 0x29, 0x00, 0x00, 0x4e, 0x8c, 0x4e, 0x09, 0x4e,+ 0xdb, 0x56, 0x94, 0x4e, 0x6d, 0x51, 0x03, 0x4e,+ 0x6b, 0x51, 0x5d, 0x4e, 0x41, 0x53, 0x08, 0x67,+ 0x6b, 0x70, 0x34, 0x6c, 0x28, 0x67, 0xd1, 0x91,+ 0x1f, 0x57, 0xe5, 0x65, 0x2a, 0x68, 0x09, 0x67,+ 0x3e, 0x79, 0x0d, 0x54, 0x79, 0x72, 0xa1, 0x8c,+ 0x5d, 0x79, 0xb4, 0x52, 0xe3, 0x4e, 0x7c, 0x54,+ 0x66, 0x5b, 0xe3, 0x76, 0x01, 0x4f, 0xc7, 0x8c,+ 0x54, 0x53, 0x6d, 0x79, 0x11, 0x4f, 0xea, 0x81,+ 0xf3, 0x81, 0x4f, 0x55, 0x7c, 0x5e, 0x87, 0x65,+ 0x8f, 0x7b, 0x50, 0x54, 0x45, 0x32, 0x00, 0x31,+ 0x00, 0x33, 0x00, 0x30, 0x00, 0x00, 0x11, 0x00,+ 0x02, 0x03, 0x05, 0x06, 0x07, 0x09, 0x0b, 0x0c,+ 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x00, 0x11, 0x00,+ 0x61, 0x02, 0x61, 0x03, 0x61, 0x05, 0x61, 0x06,+ 0x61, 0x07, 0x61, 0x09, 0x61, 0x0b, 0x61, 0x0c,+ 0x61, 0x0e, 0x11, 0x61, 0x11, 0x00, 0x11, 0x0e,+ 0x61, 0xb7, 0x00, 0x69, 0x0b, 0x11, 0x01, 0x63,+ 0x00, 0x69, 0x0b, 0x11, 0x6e, 0x11, 0x00, 0x4e,+ 0x8c, 0x4e, 0x09, 0x4e, 0xdb, 0x56, 0x94, 0x4e,+ 0x6d, 0x51, 0x03, 0x4e, 0x6b, 0x51, 0x5d, 0x4e,+ 0x41, 0x53, 0x08, 0x67, 0x6b, 0x70, 0x34, 0x6c,+ 0x28, 0x67, 0xd1, 0x91, 0x1f, 0x57, 0xe5, 0x65,+ 0x2a, 0x68, 0x09, 0x67, 0x3e, 0x79, 0x0d, 0x54,+ 0x79, 0x72, 0xa1, 0x8c, 0x5d, 0x79, 0xb4, 0x52,+ 0xd8, 0x79, 0x37, 0x75, 0x73, 0x59, 0x69, 0x90,+ 0x2a, 0x51, 0x70, 0x53, 0xe8, 0x6c, 0x05, 0x98,+ 0x11, 0x4f, 0x99, 0x51, 0x63, 0x6b, 0x0a, 0x4e,+ 0x2d, 0x4e, 0x0b, 0x4e, 0xe6, 0x5d, 0xf3, 0x53,+ 0x3b, 0x53, 0x97, 0x5b, 0x66, 0x5b, 0xe3, 0x76,+ 0x01, 0x4f, 0xc7, 0x8c, 0x54, 0x53, 0x1c, 0x59,+ 0x33, 0x00, 0x36, 0x00, 0x34, 0x00, 0x30, 0x00,+ 0x35, 0x30, 0x31, 0x00, 0x08, 0x67, 0x31, 0x00,+ 0x30, 0x00, 0x08, 0x67, 0x48, 0x67, 0x65, 0x72,+ 0x67, 0x65, 0x56, 0x4c, 0x54, 0x44, 0xa2, 0x30,+ 0x00, 0x02, 0x04, 0x06, 0x08, 0x09, 0x0b, 0x0d,+ 0x0f, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1b, 0x1d,+ 0x1f, 0x22, 0x24, 0x26, 0x28, 0x29, 0x2a, 0x2b,+ 0x2c, 0x2d, 0x30, 0x33, 0x36, 0x39, 0x3c, 0x3d,+ 0x3e, 0x3f, 0x40, 0x42, 0x44, 0x46, 0x47, 0x48,+ 0x49, 0x4a, 0x4b, 0x4d, 0x4e, 0x4f, 0x50, 0xe4,+ 0x4e, 0x8c, 0x54, 0xa1, 0x30, 0x01, 0x30, 0x5b,+ 0x27, 0x01, 0x4a, 0x34, 0x00, 0x01, 0x52, 0x39,+ 0x01, 0xa2, 0x30, 0x00, 0x5a, 0x49, 0xa4, 0x30,+ 0x00, 0x27, 0x4f, 0x0c, 0xa4, 0x30, 0x00, 0x4f,+ 0x1d, 0x02, 0x05, 0x4f, 0xa8, 0x30, 0x00, 0x11,+ 0x07, 0x54, 0x21, 0xa8, 0x30, 0x00, 0x54, 0x03,+ 0x54, 0xa4, 0x30, 0x06, 0x4f, 0x15, 0x06, 0x58,+ 0x3c, 0x07, 0x00, 0x46, 0xab, 0x30, 0x00, 0x3e,+ 0x18, 0x1d, 0x00, 0x42, 0x3f, 0x51, 0xac, 0x30,+ 0x00, 0x41, 0x47, 0x00, 0x47, 0x32, 0xae, 0x30,+ 0xac, 0x30, 0xae, 0x30, 0x00, 0x1d, 0x4e, 0xad,+ 0x30, 0x00, 0x38, 0x3d, 0x4f, 0x01, 0x3e, 0x13,+ 0x4f, 0xad, 0x30, 0xed, 0x30, 0xad, 0x30, 0x00,+ 0x40, 0x03, 0x3c, 0x33, 0xad, 0x30, 0x00, 0x40,+ 0x34, 0x4f, 0x1b, 0x3e, 0xad, 0x30, 0x00, 0x40,+ 0x42, 0x16, 0x1b, 0xb0, 0x30, 0x00, 0x39, 0x30,+ 0xa4, 0x30, 0x0c, 0x45, 0x3c, 0x24, 0x4f, 0x0b,+ 0x47, 0x18, 0x00, 0x49, 0xaf, 0x30, 0x00, 0x3e,+ 0x4d, 0x1e, 0xb1, 0x30, 0x00, 0x4b, 0x08, 0x02,+ 0x3a, 0x19, 0x02, 0x4b, 0x2c, 0xa4, 0x30, 0x11,+ 0x00, 0x0b, 0x47, 0xb5, 0x30, 0x00, 0x3e, 0x0c,+ 0x47, 0x2b, 0xb0, 0x30, 0x07, 0x3a, 0x43, 0x00,+ 0xb9, 0x30, 0x02, 0x3a, 0x08, 0x02, 0x3a, 0x0f,+ 0x07, 0x43, 0x00, 0xb7, 0x30, 0x10, 0x00, 0x12,+ 0x34, 0x11, 0x3c, 0x13, 0x17, 0xa4, 0x30, 0x2a,+ 0x1f, 0x24, 0x2b, 0x00, 0x20, 0xbb, 0x30, 0x16,+ 0x41, 0x00, 0x38, 0x0d, 0xc4, 0x30, 0x0d, 0x38,+ 0x00, 0xd0, 0x30, 0x00, 0x2c, 0x1c, 0x1b, 0xa2,+ 0x30, 0x32, 0x00, 0x17, 0x26, 0x49, 0xaf, 0x30,+ 0x25, 0x00, 0x3c, 0xb3, 0x30, 0x21, 0x00, 0x20,+ 0x38, 0xa1, 0x30, 0x34, 0x00, 0x48, 0x22, 0x28,+ 0xa3, 0x30, 0x32, 0x00, 0x59, 0x25, 0xa7, 0x30,+ 0x2f, 0x1c, 0x10, 0x00, 0x44, 0xd5, 0x30, 0x00,+ 0x14, 0x1e, 0xaf, 0x30, 0x29, 0x00, 0x10, 0x4d,+ 0x3c, 0xda, 0x30, 0xbd, 0x30, 0xb8, 0x30, 0x22,+ 0x13, 0x1a, 0x20, 0x33, 0x0c, 0x22, 0x3b, 0x01,+ 0x22, 0x44, 0x00, 0x21, 0x44, 0x07, 0xa4, 0x30,+ 0x39, 0x00, 0x4f, 0x24, 0xc8, 0x30, 0x14, 0x23,+ 0x00, 0xdb, 0x30, 0xf3, 0x30, 0xc9, 0x30, 0x14,+ 0x2a, 0x00, 0x12, 0x33, 0x22, 0x12, 0x33, 0x2a,+ 0xa4, 0x30, 0x3a, 0x00, 0x0b, 0x49, 0xa4, 0x30,+ 0x3a, 0x00, 0x47, 0x3a, 0x1f, 0x2b, 0x3a, 0x47,+ 0x0b, 0xb7, 0x30, 0x27, 0x3c, 0x00, 0x30, 0x3c,+ 0xaf, 0x30, 0x30, 0x00, 0x3e, 0x44, 0xdf, 0x30,+ 0xea, 0x30, 0xd0, 0x30, 0x0f, 0x1a, 0x00, 0x2c,+ 0x1b, 0xe1, 0x30, 0xac, 0x30, 0xac, 0x30, 0x35,+ 0x00, 0x1c, 0x47, 0x35, 0x50, 0x1c, 0x3f, 0xa2,+ 0x30, 0x42, 0x5a, 0x27, 0x42, 0x5a, 0x49, 0x44,+ 0x00, 0x51, 0xc3, 0x30, 0x27, 0x00, 0x05, 0x28,+ 0xea, 0x30, 0xe9, 0x30, 0xd4, 0x30, 0x17, 0x00,+ 0x28, 0xd6, 0x30, 0x15, 0x26, 0x00, 0x15, 0xec,+ 0x30, 0xe0, 0x30, 0xb2, 0x30, 0x3a, 0x41, 0x16,+ 0x00, 0x41, 0xc3, 0x30, 0x2c, 0x00, 0x05, 0x30,+ 0x00, 0xb9, 0x70, 0x31, 0x00, 0x30, 0x00, 0xb9,+ 0x70, 0x32, 0x00, 0x30, 0x00, 0xb9, 0x70, 0x68,+ 0x50, 0x61, 0x64, 0x61, 0x41, 0x55, 0x62, 0x61,+ 0x72, 0x6f, 0x56, 0x70, 0x63, 0x64, 0x6d, 0x64,+ 0x00, 0x6d, 0x00, 0xb2, 0x00, 0x49, 0x00, 0x55,+ 0x00, 0x73, 0x5e, 0x10, 0x62, 0x2d, 0x66, 0x8c,+ 0x54, 0x27, 0x59, 0x63, 0x6b, 0x0e, 0x66, 0xbb,+ 0x6c, 0x2a, 0x68, 0x0f, 0x5f, 0x1a, 0x4f, 0x3e,+ 0x79, 0x70, 0x00, 0x41, 0x6e, 0x00, 0x41, 0xbc,+ 0x03, 0x41, 0x6d, 0x00, 0x41, 0x6b, 0x00, 0x41,+ 0x4b, 0x00, 0x42, 0x4d, 0x00, 0x42, 0x47, 0x00,+ 0x42, 0x63, 0x61, 0x6c, 0x6b, 0x63, 0x61, 0x6c,+ 0x70, 0x00, 0x46, 0x6e, 0x00, 0x46, 0xbc, 0x03,+ 0x46, 0xbc, 0x03, 0x67, 0x6d, 0x00, 0x67, 0x6b,+ 0x00, 0x67, 0x48, 0x00, 0x7a, 0x6b, 0x48, 0x7a,+ 0x4d, 0x48, 0x7a, 0x47, 0x48, 0x7a, 0x54, 0x48,+ 0x7a, 0xbc, 0x03, 0x13, 0x21, 0x6d, 0x00, 0x13,+ 0x21, 0x64, 0x00, 0x13, 0x21, 0x6b, 0x00, 0x13,+ 0x21, 0x66, 0x00, 0x6d, 0x6e, 0x00, 0x6d, 0xbc,+ 0x03, 0x6d, 0x6d, 0x00, 0x6d, 0x63, 0x00, 0x6d,+ 0x6b, 0x00, 0x6d, 0x63, 0x00, 0x0a, 0x0a, 0x4f,+ 0x00, 0x0a, 0x4f, 0x6d, 0x00, 0xb2, 0x00, 0x63,+ 0x00, 0x08, 0x0a, 0x4f, 0x0a, 0x0a, 0x50, 0x00,+ 0x0a, 0x50, 0x6d, 0x00, 0xb3, 0x00, 0x6b, 0x00,+ 0x6d, 0x00, 0xb3, 0x00, 0x6d, 0x00, 0x15, 0x22,+ 0x73, 0x00, 0x6d, 0x00, 0x15, 0x22, 0x73, 0x00,+ 0xb2, 0x00, 0x50, 0x61, 0x6b, 0x50, 0x61, 0x4d,+ 0x50, 0x61, 0x47, 0x50, 0x61, 0x72, 0x61, 0x64,+ 0x72, 0x61, 0x64, 0xd1, 0x73, 0x72, 0x00, 0x61,+ 0x00, 0x64, 0x00, 0x15, 0x22, 0x73, 0x00, 0xb2,+ 0x00, 0x70, 0x00, 0x73, 0x6e, 0x00, 0x73, 0xbc,+ 0x03, 0x73, 0x6d, 0x00, 0x73, 0x70, 0x00, 0x56,+ 0x6e, 0x00, 0x56, 0xbc, 0x03, 0x56, 0x6d, 0x00,+ 0x56, 0x6b, 0x00, 0x56, 0x4d, 0x00, 0x56, 0x70,+ 0x00, 0x57, 0x6e, 0x00, 0x57, 0xbc, 0x03, 0x57,+ 0x6d, 0x00, 0x57, 0x6b, 0x00, 0x57, 0x4d, 0x00,+ 0x57, 0x6b, 0x00, 0xa9, 0x03, 0x4d, 0x00, 0xa9,+ 0x03, 0x61, 0x2e, 0x6d, 0x2e, 0x42, 0x71, 0x63,+ 0x63, 0x63, 0x64, 0x43, 0xd1, 0x6b, 0x67, 0x43,+ 0x6f, 0x2e, 0x64, 0x42, 0x47, 0x79, 0x68, 0x61,+ 0x48, 0x50, 0x69, 0x6e, 0x4b, 0x4b, 0x4b, 0x4d,+ 0x6b, 0x74, 0x6c, 0x6d, 0x6c, 0x6e, 0x6c, 0x6f,+ 0x67, 0x6c, 0x78, 0x6d, 0x62, 0x6d, 0x69, 0x6c,+ 0x6d, 0x6f, 0x6c, 0x50, 0x48, 0x70, 0x2e, 0x6d,+ 0x2e, 0x50, 0x50, 0x4d, 0x50, 0x52, 0x73, 0x72,+ 0x53, 0x76, 0x57, 0x62, 0x56, 0xd1, 0x6d, 0x41,+ 0xd1, 0x6d, 0x31, 0x00, 0xe5, 0x65, 0x31, 0x00,+ 0x30, 0x00, 0xe5, 0x65, 0x32, 0x00, 0x30, 0x00,+ 0xe5, 0x65, 0x33, 0x00, 0x30, 0x00, 0xe5, 0x65,+ 0x67, 0x61, 0x6c, 0x4a, 0x04, 0x4c, 0x04, 0x26,+ 0x01, 0x53, 0x01, 0x27, 0xa7, 0x37, 0xab, 0x6b,+ 0x02, 0x52, 0xab, 0x48, 0x8c, 0xf4, 0x66, 0xca,+ 0x8e, 0xc8, 0x8c, 0xd1, 0x6e, 0x32, 0x4e, 0xe5,+ 0x53, 0x9c, 0x9f, 0x9c, 0x9f, 0x51, 0x59, 0xd1,+ 0x91, 0x87, 0x55, 0x48, 0x59, 0xf6, 0x61, 0x69,+ 0x76, 0x85, 0x7f, 0x3f, 0x86, 0xba, 0x87, 0xf8,+ 0x88, 0x8f, 0x90, 0x02, 0x6a, 0x1b, 0x6d, 0xd9,+ 0x70, 0xde, 0x73, 0x3d, 0x84, 0x6a, 0x91, 0xf1,+ 0x99, 0x82, 0x4e, 0x75, 0x53, 0x04, 0x6b, 0x1b,+ 0x72, 0x2d, 0x86, 0x1e, 0x9e, 0x50, 0x5d, 0xeb,+ 0x6f, 0xcd, 0x85, 0x64, 0x89, 0xc9, 0x62, 0xd8,+ 0x81, 0x1f, 0x88, 0xca, 0x5e, 0x17, 0x67, 0x6a,+ 0x6d, 0xfc, 0x72, 0xce, 0x90, 0x86, 0x4f, 0xb7,+ 0x51, 0xde, 0x52, 0xc4, 0x64, 0xd3, 0x6a, 0x10,+ 0x72, 0xe7, 0x76, 0x01, 0x80, 0x06, 0x86, 0x5c,+ 0x86, 0xef, 0x8d, 0x32, 0x97, 0x6f, 0x9b, 0xfa,+ 0x9d, 0x8c, 0x78, 0x7f, 0x79, 0xa0, 0x7d, 0xc9,+ 0x83, 0x04, 0x93, 0x7f, 0x9e, 0xd6, 0x8a, 0xdf,+ 0x58, 0x04, 0x5f, 0x60, 0x7c, 0x7e, 0x80, 0x62,+ 0x72, 0xca, 0x78, 0xc2, 0x8c, 0xf7, 0x96, 0xd8,+ 0x58, 0x62, 0x5c, 0x13, 0x6a, 0xda, 0x6d, 0x0f,+ 0x6f, 0x2f, 0x7d, 0x37, 0x7e, 0x4b, 0x96, 0xd2,+ 0x52, 0x8b, 0x80, 0xdc, 0x51, 0xcc, 0x51, 0x1c,+ 0x7a, 0xbe, 0x7d, 0xf1, 0x83, 0x75, 0x96, 0x80,+ 0x8b, 0xcf, 0x62, 0x02, 0x6a, 0xfe, 0x8a, 0x39,+ 0x4e, 0xe7, 0x5b, 0x12, 0x60, 0x87, 0x73, 0x70,+ 0x75, 0x17, 0x53, 0xfb, 0x78, 0xbf, 0x4f, 0xa9,+ 0x5f, 0x0d, 0x4e, 0xcc, 0x6c, 0x78, 0x65, 0x22,+ 0x7d, 0xc3, 0x53, 0x5e, 0x58, 0x01, 0x77, 0x49,+ 0x84, 0xaa, 0x8a, 0xba, 0x6b, 0xb0, 0x8f, 0x88,+ 0x6c, 0xfe, 0x62, 0xe5, 0x82, 0xa0, 0x63, 0x65,+ 0x75, 0xae, 0x4e, 0x69, 0x51, 0xc9, 0x51, 0x81,+ 0x68, 0xe7, 0x7c, 0x6f, 0x82, 0xd2, 0x8a, 0xcf,+ 0x91, 0xf5, 0x52, 0x42, 0x54, 0x73, 0x59, 0xec,+ 0x5e, 0xc5, 0x65, 0xfe, 0x6f, 0x2a, 0x79, 0xad,+ 0x95, 0x6a, 0x9a, 0x97, 0x9e, 0xce, 0x9e, 0x9b,+ 0x52, 0xc6, 0x66, 0x77, 0x6b, 0x62, 0x8f, 0x74,+ 0x5e, 0x90, 0x61, 0x00, 0x62, 0x9a, 0x64, 0x23,+ 0x6f, 0x49, 0x71, 0x89, 0x74, 0xca, 0x79, 0xf4,+ 0x7d, 0x6f, 0x80, 0x26, 0x8f, 0xee, 0x84, 0x23,+ 0x90, 0x4a, 0x93, 0x17, 0x52, 0xa3, 0x52, 0xbd,+ 0x54, 0xc8, 0x70, 0xc2, 0x88, 0xaa, 0x8a, 0xc9,+ 0x5e, 0xf5, 0x5f, 0x7b, 0x63, 0xae, 0x6b, 0x3e,+ 0x7c, 0x75, 0x73, 0xe4, 0x4e, 0xf9, 0x56, 0xe7,+ 0x5b, 0xba, 0x5d, 0x1c, 0x60, 0xb2, 0x73, 0x69,+ 0x74, 0x9a, 0x7f, 0x46, 0x80, 0x34, 0x92, 0xf6,+ 0x96, 0x48, 0x97, 0x18, 0x98, 0x8b, 0x4f, 0xae,+ 0x79, 0xb4, 0x91, 0xb8, 0x96, 0xe1, 0x60, 0x86,+ 0x4e, 0xda, 0x50, 0xee, 0x5b, 0x3f, 0x5c, 0x99,+ 0x65, 0x02, 0x6a, 0xce, 0x71, 0x42, 0x76, 0xfc,+ 0x84, 0x7c, 0x90, 0x8d, 0x9f, 0x88, 0x66, 0x2e,+ 0x96, 0x89, 0x52, 0x7b, 0x67, 0xf3, 0x67, 0x41,+ 0x6d, 0x9c, 0x6e, 0x09, 0x74, 0x59, 0x75, 0x6b,+ 0x78, 0x10, 0x7d, 0x5e, 0x98, 0x6d, 0x51, 0x2e,+ 0x62, 0x78, 0x96, 0x2b, 0x50, 0x19, 0x5d, 0xea,+ 0x6d, 0x2a, 0x8f, 0x8b, 0x5f, 0x44, 0x61, 0x17,+ 0x68, 0x87, 0x73, 0x86, 0x96, 0x29, 0x52, 0x0f,+ 0x54, 0x65, 0x5c, 0x13, 0x66, 0x4e, 0x67, 0xa8,+ 0x68, 0xe5, 0x6c, 0x06, 0x74, 0xe2, 0x75, 0x79,+ 0x7f, 0xcf, 0x88, 0xe1, 0x88, 0xcc, 0x91, 0xe2,+ 0x96, 0x3f, 0x53, 0xba, 0x6e, 0x1d, 0x54, 0xd0,+ 0x71, 0x98, 0x74, 0xfa, 0x85, 0xa3, 0x96, 0x57,+ 0x9c, 0x9f, 0x9e, 0x97, 0x67, 0xcb, 0x6d, 0xe8,+ 0x81, 0xcb, 0x7a, 0x20, 0x7b, 0x92, 0x7c, 0xc0,+ 0x72, 0x99, 0x70, 0x58, 0x8b, 0xc0, 0x4e, 0x36,+ 0x83, 0x3a, 0x52, 0x07, 0x52, 0xa6, 0x5e, 0xd3,+ 0x62, 0xd6, 0x7c, 0x85, 0x5b, 0x1e, 0x6d, 0xb4,+ 0x66, 0x3b, 0x8f, 0x4c, 0x88, 0x4d, 0x96, 0x8b,+ 0x89, 0xd3, 0x5e, 0x40, 0x51, 0xc0, 0x55, 0x00,+ 0x00, 0x00, 0x00, 0x5a, 0x58, 0x00, 0x00, 0x74,+ 0x66, 0x00, 0x00, 0x00, 0x00, 0xde, 0x51, 0x2a,+ 0x73, 0xca, 0x76, 0x3c, 0x79, 0x5e, 0x79, 0x65,+ 0x79, 0x8f, 0x79, 0x56, 0x97, 0xbe, 0x7c, 0xbd,+ 0x7f, 0x00, 0x00, 0x12, 0x86, 0x00, 0x00, 0xf8,+ 0x8a, 0x00, 0x00, 0x00, 0x00, 0x38, 0x90, 0xfd,+ 0x90, 0xef, 0x98, 0xfc, 0x98, 0x28, 0x99, 0xb4,+ 0x9d, 0xde, 0x90, 0xb7, 0x96, 0xae, 0x4f, 0xe7,+ 0x50, 0x4d, 0x51, 0xc9, 0x52, 0xe4, 0x52, 0x51,+ 0x53, 0x9d, 0x55, 0x06, 0x56, 0x68, 0x56, 0x40,+ 0x58, 0xa8, 0x58, 0x64, 0x5c, 0x6e, 0x5c, 0x94,+ 0x60, 0x68, 0x61, 0x8e, 0x61, 0xf2, 0x61, 0x4f,+ 0x65, 0xe2, 0x65, 0x91, 0x66, 0x85, 0x68, 0x77,+ 0x6d, 0x1a, 0x6e, 0x22, 0x6f, 0x6e, 0x71, 0x2b,+ 0x72, 0x22, 0x74, 0x91, 0x78, 0x3e, 0x79, 0x49,+ 0x79, 0x48, 0x79, 0x50, 0x79, 0x56, 0x79, 0x5d,+ 0x79, 0x8d, 0x79, 0x8e, 0x79, 0x40, 0x7a, 0x81,+ 0x7a, 0xc0, 0x7b, 0xf4, 0x7d, 0x09, 0x7e, 0x41,+ 0x7e, 0x72, 0x7f, 0x05, 0x80, 0xed, 0x81, 0x79,+ 0x82, 0x79, 0x82, 0x57, 0x84, 0x10, 0x89, 0x96,+ 0x89, 0x01, 0x8b, 0x39, 0x8b, 0xd3, 0x8c, 0x08,+ 0x8d, 0xb6, 0x8f, 0x38, 0x90, 0xe3, 0x96, 0xff,+ 0x97, 0x3b, 0x98, 0x75, 0x60, 0xee, 0x42, 0x18,+ 0x82, 0x02, 0x26, 0x4e, 0xb5, 0x51, 0x68, 0x51,+ 0x80, 0x4f, 0x45, 0x51, 0x80, 0x51, 0xc7, 0x52,+ 0xfa, 0x52, 0x9d, 0x55, 0x55, 0x55, 0x99, 0x55,+ 0xe2, 0x55, 0x5a, 0x58, 0xb3, 0x58, 0x44, 0x59,+ 0x54, 0x59, 0x62, 0x5a, 0x28, 0x5b, 0xd2, 0x5e,+ 0xd9, 0x5e, 0x69, 0x5f, 0xad, 0x5f, 0xd8, 0x60,+ 0x4e, 0x61, 0x08, 0x61, 0x8e, 0x61, 0x60, 0x61,+ 0xf2, 0x61, 0x34, 0x62, 0xc4, 0x63, 0x1c, 0x64,+ 0x52, 0x64, 0x56, 0x65, 0x74, 0x66, 0x17, 0x67,+ 0x1b, 0x67, 0x56, 0x67, 0x79, 0x6b, 0xba, 0x6b,+ 0x41, 0x6d, 0xdb, 0x6e, 0xcb, 0x6e, 0x22, 0x6f,+ 0x1e, 0x70, 0x6e, 0x71, 0xa7, 0x77, 0x35, 0x72,+ 0xaf, 0x72, 0x2a, 0x73, 0x71, 0x74, 0x06, 0x75,+ 0x3b, 0x75, 0x1d, 0x76, 0x1f, 0x76, 0xca, 0x76,+ 0xdb, 0x76, 0xf4, 0x76, 0x4a, 0x77, 0x40, 0x77,+ 0xcc, 0x78, 0xb1, 0x7a, 0xc0, 0x7b, 0x7b, 0x7c,+ 0x5b, 0x7d, 0xf4, 0x7d, 0x3e, 0x7f, 0x05, 0x80,+ 0x52, 0x83, 0xef, 0x83, 0x79, 0x87, 0x41, 0x89,+ 0x86, 0x89, 0x96, 0x89, 0xbf, 0x8a, 0xf8, 0x8a,+ 0xcb, 0x8a, 0x01, 0x8b, 0xfe, 0x8a, 0xed, 0x8a,+ 0x39, 0x8b, 0x8a, 0x8b, 0x08, 0x8d, 0x38, 0x8f,+ 0x72, 0x90, 0x99, 0x91, 0x76, 0x92, 0x7c, 0x96,+ 0xe3, 0x96, 0x56, 0x97, 0xdb, 0x97, 0xff, 0x97,+ 0x0b, 0x98, 0x3b, 0x98, 0x12, 0x9b, 0x9c, 0x9f,+ 0x4a, 0x28, 0x44, 0x28, 0xd5, 0x33, 0x9d, 0x3b,+ 0x18, 0x40, 0x39, 0x40, 0x49, 0x52, 0xd0, 0x5c,+ 0xd3, 0x7e, 0x43, 0x9f, 0x8e, 0x9f, 0x2a, 0xa0,+ 0x02, 0x66, 0x66, 0x66, 0x69, 0x66, 0x6c, 0x66,+ 0x66, 0x69, 0x66, 0x66, 0x6c, 0x7f, 0x01, 0x74,+ 0x73, 0x00, 0x74, 0x65, 0x05, 0x0f, 0x11, 0x0f,+ 0x00, 0x0f, 0x06, 0x19, 0x11, 0x0f, 0x08, 0xd9,+ 0x05, 0xb4, 0x05, 0x00, 0x00, 0x00, 0x00, 0xf2,+ 0x05, 0xb7, 0x05, 0xd0, 0x05, 0x12, 0x00, 0x03,+ 0x04, 0x0b, 0x0c, 0x0d, 0x18, 0x1a, 0xe9, 0x05,+ 0xc1, 0x05, 0xe9, 0x05, 0xc2, 0x05, 0x49, 0xfb,+ 0xc1, 0x05, 0x49, 0xfb, 0xc2, 0x05, 0xd0, 0x05,+ 0xb7, 0x05, 0xd0, 0x05, 0xb8, 0x05, 0xd0, 0x05,+ 0xbc, 0x05, 0xd8, 0x05, 0xbc, 0x05, 0xde, 0x05,+ 0xbc, 0x05, 0xe0, 0x05, 0xbc, 0x05, 0xe3, 0x05,+ 0xbc, 0x05, 0xb9, 0x05, 0x2d, 0x03, 0x2e, 0x03,+ 0x2f, 0x03, 0x30, 0x03, 0x31, 0x03, 0x1c, 0x00,+ 0x18, 0x06, 0x22, 0x06, 0x2b, 0x06, 0xd0, 0x05,+ 0xdc, 0x05, 0x71, 0x06, 0x00, 0x00, 0x0a, 0x0a,+ 0x0a, 0x0a, 0x0d, 0x0d, 0x0d, 0x0d, 0x0f, 0x0f,+ 0x0f, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x0e, 0x0e,+ 0x0e, 0x0e, 0x08, 0x08, 0x08, 0x08, 0x33, 0x33,+ 0x33, 0x33, 0x35, 0x35, 0x35, 0x35, 0x13, 0x13,+ 0x13, 0x13, 0x12, 0x12, 0x12, 0x12, 0x15, 0x15,+ 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x1c, 0x1c,+ 0x1b, 0x1b, 0x1d, 0x1d, 0x17, 0x17, 0x27, 0x27,+ 0x20, 0x20, 0x38, 0x38, 0x38, 0x38, 0x3e, 0x3e,+ 0x3e, 0x3e, 0x42, 0x42, 0x42, 0x42, 0x40, 0x40,+ 0x40, 0x40, 0x49, 0x49, 0x4a, 0x4a, 0x4a, 0x4a,+ 0x4f, 0x4f, 0x50, 0x50, 0x50, 0x50, 0x4d, 0x4d,+ 0x4d, 0x4d, 0x61, 0x61, 0x62, 0x62, 0x49, 0x06,+ 0x64, 0x64, 0x64, 0x64, 0x7e, 0x7e, 0x7d, 0x7d,+ 0x7f, 0x7f, 0x2e, 0x82, 0x82, 0x7c, 0x7c, 0x80,+ 0x80, 0x87, 0x87, 0x87, 0x87, 0x00, 0x00, 0x26,+ 0x06, 0x00, 0x01, 0x00, 0x01, 0x00, 0xaf, 0x00,+ 0xaf, 0x00, 0x22, 0x00, 0x22, 0x00, 0xa1, 0x00,+ 0xa1, 0x00, 0xa0, 0x00, 0xa0, 0x00, 0xa2, 0x00,+ 0xa2, 0x00, 0xaa, 0x00, 0xaa, 0x00, 0xaa, 0x00,+ 0x23, 0x00, 0x23, 0x00, 0x23, 0xcc, 0x06, 0x00,+ 0x00, 0x00, 0x00, 0x26, 0x06, 0x00, 0x06, 0x00,+ 0x07, 0x00, 0x1f, 0x00, 0x23, 0x00, 0x24, 0x02,+ 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x1f, 0x02,+ 0x23, 0x02, 0x24, 0x04, 0x06, 0x04, 0x07, 0x04,+ 0x08, 0x04, 0x1f, 0x04, 0x23, 0x04, 0x24, 0x05,+ 0x06, 0x05, 0x1f, 0x05, 0x23, 0x05, 0x24, 0x06,+ 0x07, 0x06, 0x1f, 0x07, 0x06, 0x07, 0x1f, 0x08,+ 0x06, 0x08, 0x07, 0x08, 0x1f, 0x0d, 0x06, 0x0d,+ 0x07, 0x0d, 0x08, 0x0d, 0x1f, 0x0f, 0x07, 0x0f,+ 0x1f, 0x10, 0x06, 0x10, 0x07, 0x10, 0x08, 0x10,+ 0x1f, 0x11, 0x07, 0x11, 0x1f, 0x12, 0x1f, 0x13,+ 0x06, 0x13, 0x1f, 0x14, 0x06, 0x14, 0x1f, 0x1b,+ 0x06, 0x1b, 0x07, 0x1b, 0x08, 0x1b, 0x1f, 0x1b,+ 0x23, 0x1b, 0x24, 0x1c, 0x07, 0x1c, 0x1f, 0x1c,+ 0x23, 0x1c, 0x24, 0x1d, 0x01, 0x1d, 0x06, 0x1d,+ 0x07, 0x1d, 0x08, 0x1d, 0x1e, 0x1d, 0x1f, 0x1d,+ 0x23, 0x1d, 0x24, 0x1e, 0x06, 0x1e, 0x07, 0x1e,+ 0x08, 0x1e, 0x1f, 0x1e, 0x23, 0x1e, 0x24, 0x1f,+ 0x06, 0x1f, 0x07, 0x1f, 0x08, 0x1f, 0x1f, 0x1f,+ 0x23, 0x1f, 0x24, 0x20, 0x06, 0x20, 0x07, 0x20,+ 0x08, 0x20, 0x1f, 0x20, 0x23, 0x20, 0x24, 0x21,+ 0x06, 0x21, 0x1f, 0x21, 0x23, 0x21, 0x24, 0x24,+ 0x06, 0x24, 0x07, 0x24, 0x08, 0x24, 0x1f, 0x24,+ 0x23, 0x24, 0x24, 0x0a, 0x4a, 0x0b, 0x4a, 0x23,+ 0x4a, 0x20, 0x00, 0x4c, 0x06, 0x51, 0x06, 0x51,+ 0x06, 0xff, 0x00, 0x1f, 0x26, 0x06, 0x00, 0x0b,+ 0x00, 0x0c, 0x00, 0x1f, 0x00, 0x20, 0x00, 0x23,+ 0x00, 0x24, 0x02, 0x0b, 0x02, 0x0c, 0x02, 0x1f,+ 0x02, 0x20, 0x02, 0x23, 0x02, 0x24, 0x04, 0x0b,+ 0x04, 0x0c, 0x04, 0x1f, 0x26, 0x06, 0x04, 0x20,+ 0x04, 0x23, 0x04, 0x24, 0x05, 0x0b, 0x05, 0x0c,+ 0x05, 0x1f, 0x05, 0x20, 0x05, 0x23, 0x05, 0x24,+ 0x1b, 0x23, 0x1b, 0x24, 0x1c, 0x23, 0x1c, 0x24,+ 0x1d, 0x01, 0x1d, 0x1e, 0x1d, 0x1f, 0x1d, 0x23,+ 0x1d, 0x24, 0x1e, 0x1f, 0x1e, 0x23, 0x1e, 0x24,+ 0x1f, 0x01, 0x1f, 0x1f, 0x20, 0x0b, 0x20, 0x0c,+ 0x20, 0x1f, 0x20, 0x20, 0x20, 0x23, 0x20, 0x24,+ 0x23, 0x4a, 0x24, 0x0b, 0x24, 0x0c, 0x24, 0x1f,+ 0x24, 0x20, 0x24, 0x23, 0x24, 0x24, 0x00, 0x06,+ 0x00, 0x07, 0x00, 0x08, 0x00, 0x1f, 0x00, 0x21,+ 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x1f,+ 0x02, 0x21, 0x04, 0x06, 0x04, 0x07, 0x04, 0x08,+ 0x04, 0x1f, 0x04, 0x21, 0x05, 0x1f, 0x06, 0x07,+ 0x06, 0x1f, 0x07, 0x06, 0x07, 0x1f, 0x08, 0x06,+ 0x08, 0x1f, 0x0d, 0x06, 0x0d, 0x07, 0x0d, 0x08,+ 0x0d, 0x1f, 0x0f, 0x07, 0x0f, 0x08, 0x0f, 0x1f,+ 0x10, 0x06, 0x10, 0x07, 0x10, 0x08, 0x10, 0x1f,+ 0x11, 0x07, 0x12, 0x1f, 0x13, 0x06, 0x13, 0x1f,+ 0x14, 0x06, 0x14, 0x1f, 0x1b, 0x06, 0x1b, 0x07,+ 0x1b, 0x08, 0x1b, 0x1f, 0x1c, 0x07, 0x1c, 0x1f,+ 0x1d, 0x06, 0x1d, 0x07, 0x1d, 0x08, 0x1d, 0x1e,+ 0x1d, 0x1f, 0x1e, 0x06, 0x1e, 0x07, 0x1e, 0x08,+ 0x1e, 0x1f, 0x1e, 0x21, 0x1f, 0x06, 0x1f, 0x07,+ 0x1f, 0x08, 0x1f, 0x1f, 0x20, 0x06, 0x20, 0x07,+ 0x20, 0x08, 0x20, 0x1f, 0x20, 0x21, 0x21, 0x06,+ 0x21, 0x1f, 0x21, 0x4a, 0x24, 0x06, 0x24, 0x07,+ 0x24, 0x08, 0x24, 0x1f, 0x24, 0x21, 0x00, 0x1f,+ 0x00, 0x21, 0x02, 0x1f, 0x02, 0x21, 0x04, 0x1f,+ 0x04, 0x21, 0x05, 0x1f, 0x05, 0x21, 0x0d, 0x1f,+ 0x0d, 0x21, 0x0e, 0x1f, 0x0e, 0x21, 0x1d, 0x1e,+ 0x1d, 0x1f, 0x1e, 0x1f, 0x20, 0x1f, 0x20, 0x21,+ 0x24, 0x1f, 0x24, 0x21, 0x40, 0x06, 0x4e, 0x06,+ 0x51, 0x06, 0x27, 0x06, 0x10, 0x22, 0x10, 0x23,+ 0x12, 0x22, 0x12, 0x23, 0x13, 0x22, 0x13, 0x23,+ 0x0c, 0x22, 0x0c, 0x23, 0x0d, 0x22, 0x0d, 0x23,+ 0x06, 0x22, 0x06, 0x23, 0x05, 0x22, 0x05, 0x23,+ 0x07, 0x22, 0x07, 0x23, 0x0e, 0x22, 0x0e, 0x23,+ 0x0f, 0x22, 0x0f, 0x23, 0x0d, 0x05, 0x0d, 0x06,+ 0x0d, 0x07, 0x0d, 0x1e, 0x0d, 0x0a, 0x0c, 0x0a,+ 0x0e, 0x0a, 0x0f, 0x0a, 0x10, 0x22, 0x10, 0x23,+ 0x12, 0x22, 0x12, 0x23, 0x13, 0x22, 0x13, 0x23,+ 0x0c, 0x22, 0x0c, 0x23, 0x0d, 0x22, 0x0d, 0x23,+ 0x06, 0x22, 0x06, 0x23, 0x05, 0x22, 0x05, 0x23,+ 0x07, 0x22, 0x07, 0x23, 0x0e, 0x22, 0x0e, 0x23,+ 0x0f, 0x22, 0x0f, 0x23, 0x0d, 0x05, 0x0d, 0x06,+ 0x0d, 0x07, 0x0d, 0x1e, 0x0d, 0x0a, 0x0c, 0x0a,+ 0x0e, 0x0a, 0x0f, 0x0a, 0x0d, 0x05, 0x0d, 0x06,+ 0x0d, 0x07, 0x0d, 0x1e, 0x0c, 0x20, 0x0d, 0x20,+ 0x10, 0x1e, 0x0c, 0x05, 0x0c, 0x06, 0x0c, 0x07,+ 0x0d, 0x05, 0x0d, 0x06, 0x0d, 0x07, 0x10, 0x1e,+ 0x11, 0x1e, 0x00, 0x24, 0x00, 0x24, 0x2a, 0x06,+ 0x00, 0x02, 0x1b, 0x00, 0x03, 0x02, 0x00, 0x03,+ 0x02, 0x00, 0x03, 0x1b, 0x00, 0x04, 0x1b, 0x00,+ 0x1b, 0x02, 0x00, 0x1b, 0x03, 0x00, 0x1b, 0x04,+ 0x02, 0x1b, 0x03, 0x02, 0x1b, 0x03, 0x03, 0x1b,+ 0x20, 0x03, 0x1b, 0x1f, 0x09, 0x03, 0x02, 0x09,+ 0x02, 0x03, 0x09, 0x02, 0x1f, 0x09, 0x1b, 0x03,+ 0x09, 0x1b, 0x03, 0x09, 0x1b, 0x02, 0x09, 0x1b,+ 0x1b, 0x09, 0x1b, 0x1b, 0x0b, 0x03, 0x03, 0x0b,+ 0x03, 0x03, 0x0b, 0x1b, 0x1b, 0x0a, 0x03, 0x1b,+ 0x0a, 0x03, 0x1b, 0x0a, 0x02, 0x20, 0x0a, 0x1b,+ 0x04, 0x0a, 0x1b, 0x04, 0x0a, 0x1b, 0x1b, 0x0a,+ 0x1b, 0x1b, 0x0c, 0x03, 0x1f, 0x0c, 0x04, 0x1b,+ 0x0c, 0x04, 0x1b, 0x0d, 0x1b, 0x03, 0x0d, 0x1b,+ 0x03, 0x0d, 0x1b, 0x1b, 0x0d, 0x1b, 0x20, 0x0f,+ 0x02, 0x1b, 0x0f, 0x1b, 0x1b, 0x0f, 0x1b, 0x1b,+ 0x0f, 0x1b, 0x1f, 0x10, 0x1b, 0x1b, 0x10, 0x1b,+ 0x20, 0x10, 0x1b, 0x1f, 0x17, 0x04, 0x1b, 0x17,+ 0x04, 0x1b, 0x18, 0x1b, 0x03, 0x18, 0x1b, 0x1b,+ 0x1a, 0x03, 0x1b, 0x1a, 0x03, 0x20, 0x1a, 0x03,+ 0x1f, 0x1a, 0x02, 0x02, 0x1a, 0x02, 0x02, 0x1a,+ 0x04, 0x1b, 0x1a, 0x04, 0x1b, 0x1a, 0x1b, 0x03,+ 0x1a, 0x1b, 0x03, 0x1b, 0x03, 0x02, 0x1b, 0x03,+ 0x1b, 0x1b, 0x03, 0x20, 0x1b, 0x02, 0x03, 0x1b,+ 0x02, 0x1b, 0x1b, 0x04, 0x02, 0x1b, 0x04, 0x1b,+ 0x28, 0x06, 0x1d, 0x04, 0x06, 0x1f, 0x1d, 0x04,+ 0x1f, 0x1d, 0x1d, 0x1e, 0x05, 0x1d, 0x1e, 0x05,+ 0x21, 0x1e, 0x04, 0x1d, 0x1e, 0x04, 0x1d, 0x1e,+ 0x04, 0x21, 0x1e, 0x1d, 0x22, 0x1e, 0x1d, 0x21,+ 0x22, 0x1d, 0x1d, 0x22, 0x1d, 0x1d, 0x00, 0x06,+ 0x22, 0x02, 0x04, 0x22, 0x02, 0x04, 0x21, 0x02,+ 0x06, 0x22, 0x02, 0x06, 0x21, 0x02, 0x1d, 0x22,+ 0x02, 0x1d, 0x21, 0x04, 0x1d, 0x22, 0x04, 0x05,+ 0x21, 0x04, 0x1d, 0x21, 0x0b, 0x06, 0x21, 0x0d,+ 0x05, 0x22, 0x0c, 0x05, 0x22, 0x0e, 0x05, 0x22,+ 0x1c, 0x04, 0x22, 0x1c, 0x1d, 0x22, 0x22, 0x05,+ 0x22, 0x22, 0x04, 0x22, 0x22, 0x1d, 0x22, 0x1d,+ 0x1d, 0x22, 0x1a, 0x1d, 0x22, 0x1e, 0x05, 0x22,+ 0x1a, 0x1d, 0x05, 0x1c, 0x05, 0x1d, 0x11, 0x1d,+ 0x22, 0x1b, 0x1d, 0x22, 0x1e, 0x04, 0x05, 0x1d,+ 0x06, 0x22, 0x1c, 0x04, 0x1d, 0x1b, 0x1d, 0x1d,+ 0x1c, 0x04, 0x1d, 0x1e, 0x04, 0x05, 0x04, 0x05,+ 0x22, 0x05, 0x04, 0x22, 0x1d, 0x04, 0x22, 0x19,+ 0x1d, 0x22, 0x00, 0x05, 0x22, 0x1b, 0x1d, 0x1d,+ 0x11, 0x04, 0x1d, 0x0d, 0x1d, 0x1d, 0x0b, 0x06,+ 0x22, 0x1e, 0x04, 0x22, 0x35, 0x06, 0x00, 0x0f,+ 0x9d, 0x0d, 0x0f, 0x9d, 0x27, 0x06, 0x00, 0x1d,+ 0x1d, 0x20, 0x00, 0x1c, 0x01, 0x0a, 0x1e, 0x06,+ 0x1e, 0x08, 0x0e, 0x1d, 0x12, 0x1e, 0x0a, 0x0c,+ 0x21, 0x1d, 0x12, 0x1d, 0x23, 0x20, 0x21, 0x0c,+ 0x1d, 0x1e, 0x35, 0x06, 0x00, 0x0f, 0x14, 0x27,+ 0x06, 0x0e, 0x1d, 0x22, 0xff, 0x00, 0x1d, 0x1d,+ 0x20, 0xff, 0x12, 0x1d, 0x23, 0x20, 0xff, 0x21,+ 0x0c, 0x1d, 0x1e, 0x27, 0x06, 0x05, 0x1d, 0xff,+ 0x05, 0x1d, 0x00, 0x1d, 0x20, 0x27, 0x06, 0x0a,+ 0xa5, 0x00, 0x1d, 0x2c, 0x00, 0x01, 0x30, 0x02,+ 0x30, 0x3a, 0x00, 0x3b, 0x00, 0x21, 0x00, 0x3f,+ 0x00, 0x16, 0x30, 0x17, 0x30, 0x26, 0x20, 0x13,+ 0x20, 0x12, 0x01, 0x00, 0x5f, 0x5f, 0x28, 0x29,+ 0x7b, 0x7d, 0x08, 0x30, 0x0c, 0x0d, 0x08, 0x09,+ 0x02, 0x03, 0x00, 0x01, 0x04, 0x05, 0x06, 0x07,+ 0x5b, 0x00, 0x5d, 0x00, 0x3e, 0x20, 0x3e, 0x20,+ 0x3e, 0x20, 0x3e, 0x20, 0x5f, 0x00, 0x5f, 0x00,+ 0x5f, 0x00, 0x2c, 0x00, 0x01, 0x30, 0x2e, 0x00,+ 0x00, 0x00, 0x3b, 0x00, 0x3a, 0x00, 0x3f, 0x00,+ 0x21, 0x00, 0x14, 0x20, 0x28, 0x00, 0x29, 0x00,+ 0x7b, 0x00, 0x7d, 0x00, 0x14, 0x30, 0x15, 0x30,+ 0x23, 0x26, 0x2a, 0x2b, 0x2d, 0x3c, 0x3e, 0x3d,+ 0x00, 0x5c, 0x24, 0x25, 0x40, 0x40, 0x06, 0xff,+ 0x0b, 0x00, 0x0b, 0xff, 0x0c, 0x20, 0x00, 0x4d,+ 0x06, 0x40, 0x06, 0xff, 0x0e, 0x00, 0x0e, 0xff,+ 0x0f, 0x00, 0x0f, 0xff, 0x10, 0x00, 0x10, 0xff,+ 0x11, 0x00, 0x11, 0xff, 0x12, 0x00, 0x12, 0x21,+ 0x06, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03,+ 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06,+ 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09,+ 0x09, 0x09, 0x0a, 0x0a, 0x0a, 0x0a, 0x0b, 0x0b,+ 0x0b, 0x0b, 0x0c, 0x0c, 0x0c, 0x0c, 0x0d, 0x0d,+ 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x0f, 0x10, 0x10,+ 0x11, 0x11, 0x12, 0x12, 0x12, 0x12, 0x13, 0x13,+ 0x13, 0x13, 0x14, 0x14, 0x14, 0x14, 0x15, 0x15,+ 0x15, 0x15, 0x16, 0x16, 0x16, 0x16, 0x17, 0x17,+ 0x17, 0x17, 0x18, 0x18, 0x18, 0x18, 0x19, 0x19,+ 0x19, 0x19, 0x20, 0x20, 0x20, 0x20, 0x21, 0x21,+ 0x21, 0x21, 0x22, 0x22, 0x22, 0x22, 0x23, 0x23,+ 0x23, 0x23, 0x24, 0x24, 0x24, 0x24, 0x25, 0x25,+ 0x25, 0x25, 0x26, 0x26, 0x26, 0x26, 0x27, 0x27,+ 0x28, 0x28, 0x29, 0x29, 0x29, 0x29, 0x22, 0x06,+ 0x22, 0x00, 0x22, 0x00, 0x22, 0x01, 0x22, 0x01,+ 0x22, 0x03, 0x22, 0x03, 0x22, 0x05, 0x22, 0x05,+ 0x21, 0x00, 0x85, 0x29, 0x01, 0x30, 0x01, 0x0b,+ 0x0c, 0x00, 0xfa, 0xf1, 0xa0, 0xa2, 0xa4, 0xa6,+ 0xa8, 0xe2, 0xe4, 0xe6, 0xc2, 0xfb, 0xa1, 0xa3,+ 0xa5, 0xa7, 0xa9, 0xaa, 0xac, 0xae, 0xb0, 0xb2,+ 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, 0xc0, 0xc3,+ 0xc5, 0xc7, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce,+ 0xd1, 0xd4, 0xd7, 0xda, 0xdd, 0xde, 0xdf, 0xe0,+ 0xe1, 0xe3, 0xe5, 0xe7, 0xe8, 0xe9, 0xea, 0xeb,+ 0xec, 0xee, 0xf2, 0x98, 0x99, 0x31, 0x31, 0x4f,+ 0x31, 0x55, 0x31, 0x5b, 0x31, 0x61, 0x31, 0xa2,+ 0x00, 0xa3, 0x00, 0xac, 0x00, 0xaf, 0x00, 0xa6,+ 0x00, 0xa5, 0x00, 0xa9, 0x20, 0x00, 0x00, 0x02,+ 0x25, 0x90, 0x21, 0x91, 0x21, 0x92, 0x21, 0x93,+ 0x21, 0xa0, 0x25, 0xcb, 0x25, 0x99, 0x10, 0xba,+ 0x10, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x10, 0xba,+ 0x10, 0x05, 0x05, 0xa5, 0x10, 0xba, 0x10, 0x05,+ 0x31, 0x11, 0x27, 0x11, 0x32, 0x11, 0x27, 0x11,+ 0x55, 0x47, 0x13, 0x3e, 0x13, 0x47, 0x13, 0x57,+ 0x13, 0x55, 0xb9, 0x14, 0xba, 0x14, 0xb9, 0x14,+ 0xb0, 0x14, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x14,+ 0xbd, 0x14, 0x55, 0x50, 0xb8, 0x15, 0xaf, 0x15,+ 0xb9, 0x15, 0xaf, 0x15, 0x55, 0x35, 0x19, 0x30,+ 0x19, 0x05, 0x57, 0xd1, 0x65, 0xd1, 0x58, 0xd1,+ 0x65, 0xd1, 0x5f, 0xd1, 0x6e, 0xd1, 0x5f, 0xd1,+ 0x6f, 0xd1, 0x5f, 0xd1, 0x70, 0xd1, 0x5f, 0xd1,+ 0x71, 0xd1, 0x5f, 0xd1, 0x72, 0xd1, 0x55, 0x55,+ 0x55, 0x05, 0xb9, 0xd1, 0x65, 0xd1, 0xba, 0xd1,+ 0x65, 0xd1, 0xbb, 0xd1, 0x6e, 0xd1, 0xbc, 0xd1,+ 0x6e, 0xd1, 0xbb, 0xd1, 0x6f, 0xd1, 0xbc, 0xd1,+ 0x6f, 0xd1, 0x55, 0x55, 0x55, 0x41, 0x00, 0x61,+ 0x00, 0x41, 0x00, 0x61, 0x00, 0x69, 0x00, 0x41,+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x43, 0x44, 0x00,+ 0x00, 0x47, 0x00, 0x00, 0x4a, 0x4b, 0x00, 0x00,+ 0x4e, 0x4f, 0x50, 0x51, 0x00, 0x53, 0x54, 0x55,+ 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63,+ 0x64, 0x00, 0x66, 0x68, 0x00, 0x70, 0x00, 0x41,+ 0x00, 0x61, 0x00, 0x41, 0x42, 0x00, 0x44, 0x45,+ 0x46, 0x47, 0x4a, 0x00, 0x53, 0x00, 0x61, 0x00,+ 0x41, 0x42, 0x00, 0x44, 0x45, 0x46, 0x47, 0x00,+ 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x00, 0x4f, 0x53,+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41,+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41,+ 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41,+ 0x00, 0x61, 0x00, 0x31, 0x01, 0x37, 0x02, 0x91,+ 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24,+ 0x00, 0x1f, 0x04, 0x20, 0x05, 0x91, 0x03, 0xa3,+ 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24, 0x00, 0x1f,+ 0x04, 0x20, 0x05, 0x91, 0x03, 0xa3, 0x03, 0xb1,+ 0x03, 0xd1, 0x03, 0x24, 0x00, 0x1f, 0x04, 0x20,+ 0x05, 0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1,+ 0x03, 0x24, 0x00, 0x1f, 0x04, 0x20, 0x05, 0x91,+ 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24,+ 0x00, 0x1f, 0x04, 0x20, 0x05, 0x0b, 0x0c, 0x30,+ 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,+ 0x00, 0x27, 0x06, 0x00, 0x01, 0x05, 0x08, 0x2a,+ 0x06, 0x1e, 0x08, 0x03, 0x0d, 0x20, 0x19, 0x1a,+ 0x1b, 0x1c, 0x09, 0x0f, 0x17, 0x0b, 0x18, 0x07,+ 0x0a, 0x00, 0x01, 0x04, 0x06, 0x0c, 0x0e, 0x10,+ 0x44, 0x90, 0x77, 0x45, 0x28, 0x06, 0x2c, 0x06,+ 0x00, 0x00, 0x47, 0x06, 0x33, 0x06, 0x17, 0x10,+ 0x11, 0x12, 0x13, 0x00, 0x06, 0x0e, 0x02, 0x0f,+ 0x34, 0x06, 0x2a, 0x06, 0x2b, 0x06, 0x2e, 0x06,+ 0x00, 0x00, 0x36, 0x06, 0x00, 0x00, 0x3a, 0x06,+ 0x2d, 0x06, 0x00, 0x00, 0x4a, 0x06, 0x00, 0x00,+ 0x44, 0x06, 0x00, 0x00, 0x46, 0x06, 0x33, 0x06,+ 0x39, 0x06, 0x00, 0x00, 0x35, 0x06, 0x42, 0x06,+ 0x00, 0x00, 0x34, 0x06, 0x00, 0x00, 0x00, 0x00,+ 0x2e, 0x06, 0x00, 0x00, 0x36, 0x06, 0x00, 0x00,+ 0x3a, 0x06, 0x00, 0x00, 0xba, 0x06, 0x00, 0x00,+ 0x6f, 0x06, 0x00, 0x00, 0x28, 0x06, 0x2c, 0x06,+ 0x00, 0x00, 0x47, 0x06, 0x00, 0x00, 0x00, 0x00,+ 0x2d, 0x06, 0x37, 0x06, 0x4a, 0x06, 0x43, 0x06,+ 0x00, 0x00, 0x45, 0x06, 0x46, 0x06, 0x33, 0x06,+ 0x39, 0x06, 0x41, 0x06, 0x35, 0x06, 0x42, 0x06,+ 0x00, 0x00, 0x34, 0x06, 0x2a, 0x06, 0x2b, 0x06,+ 0x2e, 0x06, 0x00, 0x00, 0x36, 0x06, 0x38, 0x06,+ 0x3a, 0x06, 0x6e, 0x06, 0x00, 0x00, 0xa1, 0x06,+ 0x27, 0x06, 0x00, 0x01, 0x05, 0x08, 0x20, 0x21,+ 0x0b, 0x06, 0x10, 0x23, 0x2a, 0x06, 0x1a, 0x1b,+ 0x1c, 0x09, 0x0f, 0x17, 0x0b, 0x18, 0x07, 0x0a,+ 0x00, 0x01, 0x04, 0x06, 0x0c, 0x0e, 0x10, 0x28,+ 0x06, 0x2c, 0x06, 0x2f, 0x06, 0x00, 0x00, 0x48,+ 0x06, 0x32, 0x06, 0x2d, 0x06, 0x37, 0x06, 0x4a,+ 0x06, 0x2a, 0x06, 0x1a, 0x1b, 0x1c, 0x09, 0x0f,+ 0x17, 0x0b, 0x18, 0x07, 0x0a, 0x00, 0x01, 0x04,+ 0x06, 0x0c, 0x0e, 0x10, 0x30, 0x2e, 0x30, 0x00,+ 0x2c, 0x00, 0x28, 0x00, 0x41, 0x00, 0x29, 0x00,+ 0x14, 0x30, 0x53, 0x00, 0x15, 0x30, 0x43, 0x52,+ 0x43, 0x44, 0x57, 0x5a, 0x41, 0x00, 0x48, 0x56,+ 0x4d, 0x56, 0x53, 0x44, 0x53, 0x53, 0x50, 0x50,+ 0x56, 0x57, 0x43, 0x4d, 0x43, 0x4d, 0x44, 0x4d,+ 0x52, 0x44, 0x4a, 0x4b, 0x30, 0x30, 0x00, 0x68,+ 0x68, 0x4b, 0x62, 0x57, 0x5b, 0xcc, 0x53, 0xc7,+ 0x30, 0x8c, 0x4e, 0x1a, 0x59, 0xe3, 0x89, 0x29,+ 0x59, 0xa4, 0x4e, 0x20, 0x66, 0x21, 0x71, 0x99,+ 0x65, 0x4d, 0x52, 0x8c, 0x5f, 0x8d, 0x51, 0xb0,+ 0x65, 0x1d, 0x52, 0x42, 0x7d, 0x1f, 0x75, 0xa9,+ 0x8c, 0xf0, 0x58, 0x39, 0x54, 0x14, 0x6f, 0x95,+ 0x62, 0x55, 0x63, 0x00, 0x4e, 0x09, 0x4e, 0x4a,+ 0x90, 0xe6, 0x5d, 0x2d, 0x4e, 0xf3, 0x53, 0x07,+ 0x63, 0x70, 0x8d, 0x53, 0x62, 0x81, 0x79, 0x7a,+ 0x7a, 0x08, 0x54, 0x80, 0x6e, 0x09, 0x67, 0x08,+ 0x67, 0x33, 0x75, 0x72, 0x52, 0xb6, 0x55, 0x4d,+ 0x91, 0x14, 0x30, 0x15, 0x30, 0x2c, 0x67, 0x09,+ 0x4e, 0x8c, 0x4e, 0x89, 0x5b, 0xb9, 0x70, 0x53,+ 0x62, 0xd7, 0x76, 0xdd, 0x52, 0x57, 0x65, 0x97,+ 0x5f, 0xef, 0x53, 0x30, 0x00, 0x38, 0x4e, 0x05,+ 0x00, 0x09, 0x22, 0x01, 0x60, 0x4f, 0xae, 0x4f,+ 0xbb, 0x4f, 0x02, 0x50, 0x7a, 0x50, 0x99, 0x50,+ 0xe7, 0x50, 0xcf, 0x50, 0x9e, 0x34, 0x3a, 0x06,+ 0x4d, 0x51, 0x54, 0x51, 0x64, 0x51, 0x77, 0x51,+ 0x1c, 0x05, 0xb9, 0x34, 0x67, 0x51, 0x8d, 0x51,+ 0x4b, 0x05, 0x97, 0x51, 0xa4, 0x51, 0xcc, 0x4e,+ 0xac, 0x51, 0xb5, 0x51, 0xdf, 0x91, 0xf5, 0x51,+ 0x03, 0x52, 0xdf, 0x34, 0x3b, 0x52, 0x46, 0x52,+ 0x72, 0x52, 0x77, 0x52, 0x15, 0x35, 0x02, 0x00,+ 0x20, 0x80, 0x80, 0x00, 0x08, 0x00, 0x00, 0xc7,+ 0x52, 0x00, 0x02, 0x1d, 0x33, 0x3e, 0x3f, 0x50,+ 0x82, 0x8a, 0x93, 0xac, 0xb6, 0xb8, 0xb8, 0xb8,+ 0x2c, 0x0a, 0x70, 0x70, 0xca, 0x53, 0xdf, 0x53,+ 0x63, 0x0b, 0xeb, 0x53, 0xf1, 0x53, 0x06, 0x54,+ 0x9e, 0x54, 0x38, 0x54, 0x48, 0x54, 0x68, 0x54,+ 0xa2, 0x54, 0xf6, 0x54, 0x10, 0x55, 0x53, 0x55,+ 0x63, 0x55, 0x84, 0x55, 0x84, 0x55, 0x99, 0x55,+ 0xab, 0x55, 0xb3, 0x55, 0xc2, 0x55, 0x16, 0x57,+ 0x06, 0x56, 0x17, 0x57, 0x51, 0x56, 0x74, 0x56,+ 0x07, 0x52, 0xee, 0x58, 0xce, 0x57, 0xf4, 0x57,+ 0x0d, 0x58, 0x8b, 0x57, 0x32, 0x58, 0x31, 0x58,+ 0xac, 0x58, 0xe4, 0x14, 0xf2, 0x58, 0xf7, 0x58,+ 0x06, 0x59, 0x1a, 0x59, 0x22, 0x59, 0x62, 0x59,+ 0xa8, 0x16, 0xea, 0x16, 0xec, 0x59, 0x1b, 0x5a,+ 0x27, 0x5a, 0xd8, 0x59, 0x66, 0x5a, 0xee, 0x36,+ 0xfc, 0x36, 0x08, 0x5b, 0x3e, 0x5b, 0x3e, 0x5b,+ 0xc8, 0x19, 0xc3, 0x5b, 0xd8, 0x5b, 0xe7, 0x5b,+ 0xf3, 0x5b, 0x18, 0x1b, 0xff, 0x5b, 0x06, 0x5c,+ 0x53, 0x5f, 0x22, 0x5c, 0x81, 0x37, 0x60, 0x5c,+ 0x6e, 0x5c, 0xc0, 0x5c, 0x8d, 0x5c, 0xe4, 0x1d,+ 0x43, 0x5d, 0xe6, 0x1d, 0x6e, 0x5d, 0x6b, 0x5d,+ 0x7c, 0x5d, 0xe1, 0x5d, 0xe2, 0x5d, 0x2f, 0x38,+ 0xfd, 0x5d, 0x28, 0x5e, 0x3d, 0x5e, 0x69, 0x5e,+ 0x62, 0x38, 0x83, 0x21, 0x7c, 0x38, 0xb0, 0x5e,+ 0xb3, 0x5e, 0xb6, 0x5e, 0xca, 0x5e, 0x92, 0xa3,+ 0xfe, 0x5e, 0x31, 0x23, 0x31, 0x23, 0x01, 0x82,+ 0x22, 0x5f, 0x22, 0x5f, 0xc7, 0x38, 0xb8, 0x32,+ 0xda, 0x61, 0x62, 0x5f, 0x6b, 0x5f, 0xe3, 0x38,+ 0x9a, 0x5f, 0xcd, 0x5f, 0xd7, 0x5f, 0xf9, 0x5f,+ 0x81, 0x60, 0x3a, 0x39, 0x1c, 0x39, 0x94, 0x60,+ 0xd4, 0x26, 0xc7, 0x60, 0x02, 0x02, 0x00, 0x00,+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0a,+ 0x00, 0x00, 0x02, 0x08, 0x00, 0x80, 0x08, 0x00,+ 0x00, 0x08, 0x80, 0x28, 0x80, 0x02, 0x00, 0x00,+ 0x02, 0x48, 0x61, 0x00, 0x04, 0x06, 0x04, 0x32,+ 0x46, 0x6a, 0x5c, 0x67, 0x96, 0xaa, 0xae, 0xc8,+ 0xd3, 0x5d, 0x62, 0x00, 0x54, 0x77, 0xf3, 0x0c,+ 0x2b, 0x3d, 0x63, 0xfc, 0x62, 0x68, 0x63, 0x83,+ 0x63, 0xe4, 0x63, 0xf1, 0x2b, 0x22, 0x64, 0xc5,+ 0x63, 0xa9, 0x63, 0x2e, 0x3a, 0x69, 0x64, 0x7e,+ 0x64, 0x9d, 0x64, 0x77, 0x64, 0x6c, 0x3a, 0x4f,+ 0x65, 0x6c, 0x65, 0x0a, 0x30, 0xe3, 0x65, 0xf8,+ 0x66, 0x49, 0x66, 0x19, 0x3b, 0x91, 0x66, 0x08,+ 0x3b, 0xe4, 0x3a, 0x92, 0x51, 0x95, 0x51, 0x00,+ 0x67, 0x9c, 0x66, 0xad, 0x80, 0xd9, 0x43, 0x17,+ 0x67, 0x1b, 0x67, 0x21, 0x67, 0x5e, 0x67, 0x53,+ 0x67, 0xc3, 0x33, 0x49, 0x3b, 0xfa, 0x67, 0x85,+ 0x67, 0x52, 0x68, 0x85, 0x68, 0x6d, 0x34, 0x8e,+ 0x68, 0x1f, 0x68, 0x14, 0x69, 0x9d, 0x3b, 0x42,+ 0x69, 0xa3, 0x69, 0xea, 0x69, 0xa8, 0x6a, 0xa3,+ 0x36, 0xdb, 0x6a, 0x18, 0x3c, 0x21, 0x6b, 0xa7,+ 0x38, 0x54, 0x6b, 0x4e, 0x3c, 0x72, 0x6b, 0x9f,+ 0x6b, 0xba, 0x6b, 0xbb, 0x6b, 0x8d, 0x3a, 0x0b,+ 0x1d, 0xfa, 0x3a, 0x4e, 0x6c, 0xbc, 0x3c, 0xbf,+ 0x6c, 0xcd, 0x6c, 0x67, 0x6c, 0x16, 0x6d, 0x3e,+ 0x6d, 0x77, 0x6d, 0x41, 0x6d, 0x69, 0x6d, 0x78,+ 0x6d, 0x85, 0x6d, 0x1e, 0x3d, 0x34, 0x6d, 0x2f,+ 0x6e, 0x6e, 0x6e, 0x33, 0x3d, 0xcb, 0x6e, 0xc7,+ 0x6e, 0xd1, 0x3e, 0xf9, 0x6d, 0x6e, 0x6f, 0x5e,+ 0x3f, 0x8e, 0x3f, 0xc6, 0x6f, 0x39, 0x70, 0x1e,+ 0x70, 0x1b, 0x70, 0x96, 0x3d, 0x4a, 0x70, 0x7d,+ 0x70, 0x77, 0x70, 0xad, 0x70, 0x25, 0x05, 0x45,+ 0x71, 0x63, 0x42, 0x9c, 0x71, 0xab, 0x43, 0x28,+ 0x72, 0x35, 0x72, 0x50, 0x72, 0x08, 0x46, 0x80,+ 0x72, 0x95, 0x72, 0x35, 0x47, 0x02, 0x20, 0x00,+ 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80,+ 0x00, 0x00, 0x02, 0x02, 0x80, 0x8a, 0x00, 0x00,+ 0x20, 0x00, 0x08, 0x0a, 0x00, 0x80, 0x88, 0x80,+ 0x20, 0x14, 0x48, 0x7a, 0x73, 0x8b, 0x73, 0xac,+ 0x3e, 0xa5, 0x73, 0xb8, 0x3e, 0xb8, 0x3e, 0x47,+ 0x74, 0x5c, 0x74, 0x71, 0x74, 0x85, 0x74, 0xca,+ 0x74, 0x1b, 0x3f, 0x24, 0x75, 0x36, 0x4c, 0x3e,+ 0x75, 0x92, 0x4c, 0x70, 0x75, 0x9f, 0x21, 0x10,+ 0x76, 0xa1, 0x4f, 0xb8, 0x4f, 0x44, 0x50, 0xfc,+ 0x3f, 0x08, 0x40, 0xf4, 0x76, 0xf3, 0x50, 0xf2,+ 0x50, 0x19, 0x51, 0x33, 0x51, 0x1e, 0x77, 0x1f,+ 0x77, 0x1f, 0x77, 0x4a, 0x77, 0x39, 0x40, 0x8b,+ 0x77, 0x46, 0x40, 0x96, 0x40, 0x1d, 0x54, 0x4e,+ 0x78, 0x8c, 0x78, 0xcc, 0x78, 0xe3, 0x40, 0x26,+ 0x56, 0x56, 0x79, 0x9a, 0x56, 0xc5, 0x56, 0x8f,+ 0x79, 0xeb, 0x79, 0x2f, 0x41, 0x40, 0x7a, 0x4a,+ 0x7a, 0x4f, 0x7a, 0x7c, 0x59, 0xa7, 0x5a, 0xa7,+ 0x5a, 0xee, 0x7a, 0x02, 0x42, 0xab, 0x5b, 0xc6,+ 0x7b, 0xc9, 0x7b, 0x27, 0x42, 0x80, 0x5c, 0xd2,+ 0x7c, 0xa0, 0x42, 0xe8, 0x7c, 0xe3, 0x7c, 0x00,+ 0x7d, 0x86, 0x5f, 0x63, 0x7d, 0x01, 0x43, 0xc7,+ 0x7d, 0x02, 0x7e, 0x45, 0x7e, 0x34, 0x43, 0x28,+ 0x62, 0x47, 0x62, 0x59, 0x43, 0xd9, 0x62, 0x7a,+ 0x7f, 0x3e, 0x63, 0x95, 0x7f, 0xfa, 0x7f, 0x05,+ 0x80, 0xda, 0x64, 0x23, 0x65, 0x60, 0x80, 0xa8,+ 0x65, 0x70, 0x80, 0x5f, 0x33, 0xd5, 0x43, 0xb2,+ 0x80, 0x03, 0x81, 0x0b, 0x44, 0x3e, 0x81, 0xb5,+ 0x5a, 0xa7, 0x67, 0xb5, 0x67, 0x93, 0x33, 0x9c,+ 0x33, 0x01, 0x82, 0x04, 0x82, 0x9e, 0x8f, 0x6b,+ 0x44, 0x91, 0x82, 0x8b, 0x82, 0x9d, 0x82, 0xb3,+ 0x52, 0xb1, 0x82, 0xb3, 0x82, 0xbd, 0x82, 0xe6,+ 0x82, 0x3c, 0x6b, 0xe5, 0x82, 0x1d, 0x83, 0x63,+ 0x83, 0xad, 0x83, 0x23, 0x83, 0xbd, 0x83, 0xe7,+ 0x83, 0x57, 0x84, 0x53, 0x83, 0xca, 0x83, 0xcc,+ 0x83, 0xdc, 0x83, 0x36, 0x6c, 0x6b, 0x6d, 0x02,+ 0x00, 0x00, 0x20, 0x22, 0x2a, 0xa0, 0x0a, 0x00,+ 0x20, 0x80, 0x28, 0x00, 0xa8, 0x20, 0x20, 0x00,+ 0x02, 0x80, 0x22, 0x02, 0x8a, 0x08, 0x00, 0xaa,+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x28, 0xd5,+ 0x6c, 0x2b, 0x45, 0xf1, 0x84, 0xf3, 0x84, 0x16,+ 0x85, 0xca, 0x73, 0x64, 0x85, 0x2c, 0x6f, 0x5d,+ 0x45, 0x61, 0x45, 0xb1, 0x6f, 0xd2, 0x70, 0x6b,+ 0x45, 0x50, 0x86, 0x5c, 0x86, 0x67, 0x86, 0x69,+ 0x86, 0xa9, 0x86, 0x88, 0x86, 0x0e, 0x87, 0xe2,+ 0x86, 0x79, 0x87, 0x28, 0x87, 0x6b, 0x87, 0x86,+ 0x87, 0xd7, 0x45, 0xe1, 0x87, 0x01, 0x88, 0xf9,+ 0x45, 0x60, 0x88, 0x63, 0x88, 0x67, 0x76, 0xd7,+ 0x88, 0xde, 0x88, 0x35, 0x46, 0xfa, 0x88, 0xbb,+ 0x34, 0xae, 0x78, 0x66, 0x79, 0xbe, 0x46, 0xc7,+ 0x46, 0xa0, 0x8a, 0xed, 0x8a, 0x8a, 0x8b, 0x55,+ 0x8c, 0xa8, 0x7c, 0xab, 0x8c, 0xc1, 0x8c, 0x1b,+ 0x8d, 0x77, 0x8d, 0x2f, 0x7f, 0x04, 0x08, 0xcb,+ 0x8d, 0xbc, 0x8d, 0xf0, 0x8d, 0xde, 0x08, 0xd4,+ 0x8e, 0x38, 0x8f, 0xd2, 0x85, 0xed, 0x85, 0x94,+ 0x90, 0xf1, 0x90, 0x11, 0x91, 0x2e, 0x87, 0x1b,+ 0x91, 0x38, 0x92, 0xd7, 0x92, 0xd8, 0x92, 0x7c,+ 0x92, 0xf9, 0x93, 0x15, 0x94, 0xfa, 0x8b, 0x8b,+ 0x95, 0x95, 0x49, 0xb7, 0x95, 0x77, 0x8d, 0xe6,+ 0x49, 0xc3, 0x96, 0xb2, 0x5d, 0x23, 0x97, 0x45,+ 0x91, 0x1a, 0x92, 0x6e, 0x4a, 0x76, 0x4a, 0xe0,+ 0x97, 0x0a, 0x94, 0xb2, 0x4a, 0x96, 0x94, 0x0b,+ 0x98, 0x0b, 0x98, 0x29, 0x98, 0xb6, 0x95, 0xe2,+ 0x98, 0x33, 0x4b, 0x29, 0x99, 0xa7, 0x99, 0xc2,+ 0x99, 0xfe, 0x99, 0xce, 0x4b, 0x30, 0x9b, 0x12,+ 0x9b, 0x40, 0x9c, 0xfd, 0x9c, 0xce, 0x4c, 0xed,+ 0x4c, 0x67, 0x9d, 0xce, 0xa0, 0xf8, 0x4c, 0x05,+ 0xa1, 0x0e, 0xa2, 0x91, 0xa2, 0xbb, 0x9e, 0x56,+ 0x4d, 0xf9, 0x9e, 0xfe, 0x9e, 0x05, 0x9f, 0x0f,+ 0x9f, 0x16, 0x9f, 0x3b, 0x9f, 0x00, 0xa6, 0x02,+ 0x88, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00,+ 0x28, 0x00, 0x08, 0xa0, 0x80, 0xa0, 0x80, 0x00,+ 0x80, 0x80, 0x00, 0x0a, 0x88, 0x80, 0x00, 0x80,+ 0x00, 0x20, 0x2a, 0x00, 0x80,+};++static const uint16_t unicode_comp_table[945] = {+ 0x4a01, 0x49c0, 0x4a02, 0x0280, 0x0281, 0x0282, 0x0283, 0x02c0,+ 0x02c2, 0x0a00, 0x0284, 0x2442, 0x0285, 0x07c0, 0x0980, 0x0982,+ 0x2440, 0x2280, 0x02c4, 0x2282, 0x2284, 0x2286, 0x02c6, 0x02c8,+ 0x02ca, 0x02cc, 0x0287, 0x228a, 0x02ce, 0x228c, 0x2290, 0x2292,+ 0x228e, 0x0288, 0x0289, 0x028a, 0x2482, 0x0300, 0x0302, 0x0304,+ 0x028b, 0x2480, 0x0308, 0x0984, 0x0986, 0x2458, 0x0a02, 0x0306,+ 0x2298, 0x229a, 0x229e, 0x0900, 0x030a, 0x22a0, 0x030c, 0x030e,+ 0x0840, 0x0310, 0x0312, 0x22a2, 0x22a6, 0x09c0, 0x22a4, 0x22a8,+ 0x22aa, 0x028c, 0x028d, 0x028e, 0x0340, 0x0342, 0x0344, 0x0380,+ 0x028f, 0x248e, 0x07c2, 0x0988, 0x098a, 0x2490, 0x0346, 0x22ac,+ 0x0400, 0x22b0, 0x0842, 0x22b2, 0x0402, 0x22b4, 0x0440, 0x0444,+ 0x22b6, 0x0442, 0x22c2, 0x22c0, 0x22c4, 0x22c6, 0x22c8, 0x0940,+ 0x04c0, 0x0291, 0x22ca, 0x04c4, 0x22cc, 0x04c2, 0x22d0, 0x22ce,+ 0x0292, 0x0293, 0x0294, 0x0295, 0x0540, 0x0542, 0x0a08, 0x0296,+ 0x2494, 0x0544, 0x07c4, 0x098c, 0x098e, 0x06c0, 0x2492, 0x0844,+ 0x2308, 0x230a, 0x0580, 0x230c, 0x0584, 0x0990, 0x0992, 0x230e,+ 0x0582, 0x2312, 0x0586, 0x0588, 0x2314, 0x058c, 0x2316, 0x0998,+ 0x058a, 0x231e, 0x0590, 0x2320, 0x099a, 0x058e, 0x2324, 0x2322,+ 0x0299, 0x029a, 0x029b, 0x05c0, 0x05c2, 0x05c4, 0x029c, 0x24ac,+ 0x05c6, 0x05c8, 0x07c6, 0x0994, 0x0996, 0x0700, 0x24aa, 0x2326,+ 0x05ca, 0x232a, 0x2328, 0x2340, 0x2342, 0x2344, 0x2346, 0x05cc,+ 0x234a, 0x2348, 0x234c, 0x234e, 0x2350, 0x24b8, 0x029d, 0x05ce,+ 0x24be, 0x0a0c, 0x2352, 0x0600, 0x24bc, 0x24ba, 0x0640, 0x2354,+ 0x0642, 0x0644, 0x2356, 0x2358, 0x02a0, 0x02a1, 0x02a2, 0x02a3,+ 0x02c1, 0x02c3, 0x0a01, 0x02a4, 0x2443, 0x02a5, 0x07c1, 0x0981,+ 0x0983, 0x2441, 0x2281, 0x02c5, 0x2283, 0x2285, 0x2287, 0x02c7,+ 0x02c9, 0x02cb, 0x02cd, 0x02a7, 0x228b, 0x02cf, 0x228d, 0x2291,+ 0x2293, 0x228f, 0x02a8, 0x02a9, 0x02aa, 0x2483, 0x0301, 0x0303,+ 0x0305, 0x02ab, 0x2481, 0x0309, 0x0985, 0x0987, 0x2459, 0x0a03,+ 0x0307, 0x2299, 0x229b, 0x229f, 0x0901, 0x030b, 0x22a1, 0x030d,+ 0x030f, 0x0841, 0x0311, 0x0313, 0x22a3, 0x22a7, 0x09c1, 0x22a5,+ 0x22a9, 0x22ab, 0x2380, 0x02ac, 0x02ad, 0x02ae, 0x0341, 0x0343,+ 0x0345, 0x02af, 0x248f, 0x07c3, 0x0989, 0x098b, 0x2491, 0x0347,+ 0x22ad, 0x0401, 0x0884, 0x22b1, 0x0843, 0x22b3, 0x0403, 0x22b5,+ 0x0441, 0x0445, 0x22b7, 0x0443, 0x22c3, 0x22c1, 0x22c5, 0x22c7,+ 0x22c9, 0x0941, 0x04c1, 0x02b1, 0x22cb, 0x04c5, 0x22cd, 0x04c3,+ 0x22d1, 0x22cf, 0x02b2, 0x02b3, 0x02b4, 0x02b5, 0x0541, 0x0543,+ 0x0a09, 0x02b6, 0x2495, 0x0545, 0x07c5, 0x098d, 0x098f, 0x06c1,+ 0x2493, 0x0845, 0x2309, 0x230b, 0x0581, 0x230d, 0x0585, 0x0991,+ 0x0993, 0x230f, 0x0583, 0x2313, 0x0587, 0x0589, 0x2315, 0x058d,+ 0x2317, 0x0999, 0x058b, 0x231f, 0x2381, 0x0591, 0x2321, 0x099b,+ 0x058f, 0x2325, 0x2323, 0x02b9, 0x02ba, 0x02bb, 0x05c1, 0x05c3,+ 0x05c5, 0x02bc, 0x24ad, 0x05c7, 0x05c9, 0x07c7, 0x0995, 0x0997,+ 0x0701, 0x24ab, 0x2327, 0x05cb, 0x232b, 0x2329, 0x2341, 0x2343,+ 0x2345, 0x2347, 0x05cd, 0x234b, 0x2349, 0x2382, 0x234d, 0x234f,+ 0x2351, 0x24b9, 0x02bd, 0x05cf, 0x24bf, 0x0a0d, 0x2353, 0x02bf,+ 0x24bd, 0x2383, 0x24bb, 0x0641, 0x2355, 0x0643, 0x0645, 0x2357,+ 0x2359, 0x3101, 0x0c80, 0x2e00, 0x2446, 0x2444, 0x244a, 0x2448,+ 0x0800, 0x0942, 0x0944, 0x0804, 0x2288, 0x2486, 0x2484, 0x248a,+ 0x2488, 0x22ae, 0x2498, 0x2496, 0x249c, 0x249a, 0x2300, 0x0a06,+ 0x2302, 0x0a04, 0x0946, 0x07ce, 0x07ca, 0x07c8, 0x07cc, 0x2447,+ 0x2445, 0x244b, 0x2449, 0x0801, 0x0943, 0x0945, 0x0805, 0x2289,+ 0x2487, 0x2485, 0x248b, 0x2489, 0x22af, 0x2499, 0x2497, 0x249d,+ 0x249b, 0x2301, 0x0a07, 0x2303, 0x0a05, 0x0947, 0x07cf, 0x07cb,+ 0x07c9, 0x07cd, 0x2450, 0x244e, 0x2454, 0x2452, 0x2451, 0x244f,+ 0x2455, 0x2453, 0x2294, 0x2296, 0x2295, 0x2297, 0x2304, 0x2306,+ 0x2305, 0x2307, 0x2318, 0x2319, 0x231a, 0x231b, 0x232c, 0x232d,+ 0x232e, 0x232f, 0x2400, 0x24a2, 0x24a0, 0x24a6, 0x24a4, 0x24a8,+ 0x24a3, 0x24a1, 0x24a7, 0x24a5, 0x24a9, 0x24b0, 0x24ae, 0x24b4,+ 0x24b2, 0x24b6, 0x24b1, 0x24af, 0x24b5, 0x24b3, 0x24b7, 0x0882,+ 0x0880, 0x0881, 0x0802, 0x0803, 0x229c, 0x229d, 0x0a0a, 0x0a0b,+ 0x0883, 0x0b40, 0x2c8a, 0x0c81, 0x2c89, 0x2c88, 0x2540, 0x2541,+ 0x2d00, 0x2e07, 0x0d00, 0x2640, 0x2641, 0x2e80, 0x0d01, 0x26c8,+ 0x26c9, 0x2f00, 0x2f84, 0x0d02, 0x2f83, 0x2f82, 0x0d40, 0x26d8,+ 0x26d9, 0x3186, 0x0d04, 0x2740, 0x2741, 0x3100, 0x3086, 0x0d06,+ 0x3085, 0x3084, 0x0d41, 0x2840, 0x3200, 0x0d07, 0x284f, 0x2850,+ 0x3280, 0x2c84, 0x2e03, 0x2857, 0x0d42, 0x2c81, 0x2c80, 0x24c0,+ 0x24c1, 0x2c86, 0x2c83, 0x28c0, 0x0d43, 0x25c0, 0x25c1, 0x2940,+ 0x0d44, 0x26c0, 0x26c1, 0x2e05, 0x2e02, 0x29c0, 0x0d45, 0x2f05,+ 0x2f04, 0x0d80, 0x26d0, 0x26d1, 0x2f80, 0x2a40, 0x0d82, 0x26e0,+ 0x26e1, 0x3080, 0x3081, 0x2ac0, 0x0d83, 0x3004, 0x3003, 0x0d81,+ 0x27c0, 0x27c1, 0x3082, 0x2b40, 0x0d84, 0x2847, 0x2848, 0x3184,+ 0x3181, 0x2f06, 0x0d08, 0x2f81, 0x3005, 0x0d46, 0x3083, 0x3182,+ 0x0e00, 0x0e01, 0x0f40, 0x1180, 0x1182, 0x0f03, 0x0f00, 0x11c0,+ 0x0f01, 0x1140, 0x1202, 0x1204, 0x0f81, 0x1240, 0x0fc0, 0x1242,+ 0x0f80, 0x1244, 0x1284, 0x0f82, 0x1286, 0x1288, 0x128a, 0x12c0,+ 0x1282, 0x1181, 0x1183, 0x1043, 0x1040, 0x11c1, 0x1041, 0x1141,+ 0x1203, 0x1205, 0x10c1, 0x1241, 0x1000, 0x1243, 0x10c0, 0x1245,+ 0x1285, 0x10c2, 0x1287, 0x1289, 0x128b, 0x12c1, 0x1283, 0x1080,+ 0x1100, 0x1101, 0x1200, 0x1201, 0x1280, 0x1281, 0x1340, 0x1341,+ 0x1343, 0x1342, 0x1344, 0x13c2, 0x1400, 0x13c0, 0x1440, 0x1480,+ 0x14c0, 0x1540, 0x1541, 0x1740, 0x1700, 0x1741, 0x17c0, 0x1800,+ 0x1802, 0x1801, 0x1840, 0x1880, 0x1900, 0x18c0, 0x18c1, 0x1901,+ 0x1940, 0x1942, 0x1941, 0x1980, 0x19c0, 0x19c2, 0x19c1, 0x1c80,+ 0x1cc0, 0x1dc0, 0x1f80, 0x2000, 0x2002, 0x2004, 0x2006, 0x2008,+ 0x2040, 0x2080, 0x2082, 0x20c0, 0x20c1, 0x2100, 0x22b8, 0x22b9,+ 0x2310, 0x2311, 0x231c, 0x231d, 0x244c, 0x2456, 0x244d, 0x2457,+ 0x248c, 0x248d, 0x249e, 0x249f, 0x2500, 0x2502, 0x2504, 0x2bc0,+ 0x2501, 0x2503, 0x2505, 0x2bc1, 0x2bc2, 0x2bc3, 0x2bc4, 0x2bc5,+ 0x2bc6, 0x2bc7, 0x2580, 0x2582, 0x2584, 0x2bc8, 0x2581, 0x2583,+ 0x2585, 0x2bc9, 0x2bca, 0x2bcb, 0x2bcc, 0x2bcd, 0x2bce, 0x2bcf,+ 0x2600, 0x2602, 0x2601, 0x2603, 0x2680, 0x2682, 0x2681, 0x2683,+ 0x26c2, 0x26c4, 0x26c6, 0x2c00, 0x26c3, 0x26c5, 0x26c7, 0x2c01,+ 0x2c02, 0x2c03, 0x2c04, 0x2c05, 0x2c06, 0x2c07, 0x26ca, 0x26cc,+ 0x26ce, 0x2c08, 0x26cb, 0x26cd, 0x26cf, 0x2c09, 0x2c0a, 0x2c0b,+ 0x2c0c, 0x2c0d, 0x2c0e, 0x2c0f, 0x26d2, 0x26d4, 0x26d6, 0x26d3,+ 0x26d5, 0x26d7, 0x26da, 0x26dc, 0x26de, 0x26db, 0x26dd, 0x26df,+ 0x2700, 0x2702, 0x2701, 0x2703, 0x2780, 0x2782, 0x2781, 0x2783,+ 0x2800, 0x2802, 0x2804, 0x2801, 0x2803, 0x2805, 0x2842, 0x2844,+ 0x2846, 0x2849, 0x284b, 0x284d, 0x2c40, 0x284a, 0x284c, 0x284e,+ 0x2c41, 0x2c42, 0x2c43, 0x2c44, 0x2c45, 0x2c46, 0x2c47, 0x2851,+ 0x2853, 0x2855, 0x2c48, 0x2852, 0x2854, 0x2856, 0x2c49, 0x2c4a,+ 0x2c4b, 0x2c4c, 0x2c4d, 0x2c4e, 0x2c4f, 0x2c82, 0x2e01, 0x3180,+ 0x2c87, 0x2f01, 0x2f02, 0x2f03, 0x2e06, 0x3185, 0x3000, 0x3001,+ 0x3002, 0x4640, 0x4641, 0x4680, 0x46c0, 0x46c2, 0x46c1, 0x4700,+ 0x4740, 0x4780, 0x47c0, 0x47c2, 0x4900, 0x4940, 0x4980, 0x4982,+ 0x4a00, 0x49c2, 0x4a03, 0x4a04, 0x4a40, 0x4a41, 0x4a80, 0x4a81,+ 0x4ac0, 0x4ac1, 0x4bc0, 0x4bc1, 0x4b00, 0x4b01, 0x4b40, 0x4b41,+ 0x4bc2, 0x4bc3, 0x4b80, 0x4b81, 0x4b82, 0x4b83, 0x4c00, 0x4c01,+ 0x4c02, 0x4c03, 0x5600, 0x5440, 0x5442, 0x5444, 0x5446, 0x5448,+ 0x544a, 0x544c, 0x544e, 0x5450, 0x5452, 0x5454, 0x5456, 0x5480,+ 0x5482, 0x5484, 0x54c0, 0x54c1, 0x5500, 0x5501, 0x5540, 0x5541,+ 0x5580, 0x5581, 0x55c0, 0x55c1, 0x5680, 0x58c0, 0x5700, 0x5702,+ 0x5704, 0x5706, 0x5708, 0x570a, 0x570c, 0x570e, 0x5710, 0x5712,+ 0x5714, 0x5716, 0x5740, 0x5742, 0x5744, 0x5780, 0x5781, 0x57c0,+ 0x57c1, 0x5800, 0x5801, 0x5840, 0x5841, 0x5880, 0x5881, 0x5900,+ 0x5901, 0x5902, 0x5903, 0x5940, 0x8e80, 0x8e82, 0x8ec0, 0x8f00,+ 0x8f01, 0x8f40, 0x8f41, 0x8f81, 0x8f80, 0x8f83, 0x8fc0, 0x8fc1,+ 0x9000,+};++typedef enum {+ UNICODE_GC_Cn,+ UNICODE_GC_Lu,+ UNICODE_GC_Ll,+ UNICODE_GC_Lt,+ UNICODE_GC_Lm,+ UNICODE_GC_Lo,+ UNICODE_GC_Mn,+ UNICODE_GC_Mc,+ UNICODE_GC_Me,+ UNICODE_GC_Nd,+ UNICODE_GC_Nl,+ UNICODE_GC_No,+ UNICODE_GC_Sm,+ UNICODE_GC_Sc,+ UNICODE_GC_Sk,+ UNICODE_GC_So,+ UNICODE_GC_Pc,+ UNICODE_GC_Pd,+ UNICODE_GC_Ps,+ UNICODE_GC_Pe,+ UNICODE_GC_Pi,+ UNICODE_GC_Pf,+ UNICODE_GC_Po,+ UNICODE_GC_Zs,+ UNICODE_GC_Zl,+ UNICODE_GC_Zp,+ UNICODE_GC_Cc,+ UNICODE_GC_Cf,+ UNICODE_GC_Cs,+ UNICODE_GC_Co,+ UNICODE_GC_LC,+ UNICODE_GC_L,+ UNICODE_GC_M,+ UNICODE_GC_N,+ UNICODE_GC_S,+ UNICODE_GC_P,+ UNICODE_GC_Z,+ UNICODE_GC_C,+ UNICODE_GC_COUNT,+} UnicodeGCEnum;++static const char unicode_gc_name_table[] =+ "Cn,Unassigned" "\0"+ "Lu,Uppercase_Letter" "\0"+ "Ll,Lowercase_Letter" "\0"+ "Lt,Titlecase_Letter" "\0"+ "Lm,Modifier_Letter" "\0"+ "Lo,Other_Letter" "\0"+ "Mn,Nonspacing_Mark" "\0"+ "Mc,Spacing_Mark" "\0"+ "Me,Enclosing_Mark" "\0"+ "Nd,Decimal_Number,digit" "\0"+ "Nl,Letter_Number" "\0"+ "No,Other_Number" "\0"+ "Sm,Math_Symbol" "\0"+ "Sc,Currency_Symbol" "\0"+ "Sk,Modifier_Symbol" "\0"+ "So,Other_Symbol" "\0"+ "Pc,Connector_Punctuation" "\0"+ "Pd,Dash_Punctuation" "\0"+ "Ps,Open_Punctuation" "\0"+ "Pe,Close_Punctuation" "\0"+ "Pi,Initial_Punctuation" "\0"+ "Pf,Final_Punctuation" "\0"+ "Po,Other_Punctuation" "\0"+ "Zs,Space_Separator" "\0"+ "Zl,Line_Separator" "\0"+ "Zp,Paragraph_Separator" "\0"+ "Cc,Control,cntrl" "\0"+ "Cf,Format" "\0"+ "Cs,Surrogate" "\0"+ "Co,Private_Use" "\0"+ "LC,Cased_Letter" "\0"+ "L,Letter" "\0"+ "M,Mark,Combining_Mark" "\0"+ "N,Number" "\0"+ "S,Symbol" "\0"+ "P,Punctuation,punct" "\0"+ "Z,Separator" "\0"+ "C,Other" "\0"+;++static const uint8_t unicode_gc_table[3790] = {+ 0xfa, 0x18, 0x17, 0x56, 0x0d, 0x56, 0x12, 0x13,+ 0x16, 0x0c, 0x16, 0x11, 0x36, 0xe9, 0x02, 0x36,+ 0x4c, 0x36, 0xe1, 0x12, 0x12, 0x16, 0x13, 0x0e,+ 0x10, 0x0e, 0xe2, 0x12, 0x12, 0x0c, 0x13, 0x0c,+ 0xfa, 0x19, 0x17, 0x16, 0x6d, 0x0f, 0x16, 0x0e,+ 0x0f, 0x05, 0x14, 0x0c, 0x1b, 0x0f, 0x0e, 0x0f,+ 0x0c, 0x2b, 0x0e, 0x02, 0x36, 0x0e, 0x0b, 0x05,+ 0x15, 0x4b, 0x16, 0xe1, 0x0f, 0x0c, 0xc1, 0xe2,+ 0x10, 0x0c, 0xe2, 0x00, 0xff, 0x30, 0x02, 0xff,+ 0x08, 0x02, 0xff, 0x27, 0xbf, 0x22, 0x21, 0x02,+ 0x5f, 0x5f, 0x21, 0x22, 0x61, 0x02, 0x21, 0x02,+ 0x41, 0x42, 0x21, 0x02, 0x21, 0x02, 0x9f, 0x7f,+ 0x02, 0x5f, 0x5f, 0x21, 0x02, 0x5f, 0x3f, 0x02,+ 0x05, 0x3f, 0x22, 0x65, 0x01, 0x03, 0x02, 0x01,+ 0x03, 0x02, 0x01, 0x03, 0x02, 0xff, 0x08, 0x02,+ 0xff, 0x0a, 0x02, 0x01, 0x03, 0x02, 0x5f, 0x21,+ 0x02, 0xff, 0x32, 0xa2, 0x21, 0x02, 0x21, 0x22,+ 0x5f, 0x41, 0x02, 0xff, 0x00, 0xe2, 0x3c, 0x05,+ 0xe2, 0x13, 0xe4, 0x0a, 0x6e, 0xe4, 0x04, 0xee,+ 0x06, 0x84, 0xce, 0x04, 0x0e, 0x04, 0xee, 0x09,+ 0xe6, 0x68, 0x7f, 0x04, 0x0e, 0x3f, 0x20, 0x04,+ 0x42, 0x16, 0x01, 0x60, 0x2e, 0x01, 0x16, 0x41,+ 0x00, 0x01, 0x00, 0x21, 0x02, 0xe1, 0x09, 0x00,+ 0xe1, 0x01, 0xe2, 0x1b, 0x3f, 0x02, 0x41, 0x42,+ 0xff, 0x10, 0x62, 0x3f, 0x0c, 0x5f, 0x3f, 0x02,+ 0xe1, 0x2b, 0xe2, 0x28, 0xff, 0x1a, 0x0f, 0x86,+ 0x28, 0xff, 0x2f, 0xff, 0x06, 0x02, 0xff, 0x58,+ 0x00, 0xe1, 0x1e, 0x20, 0x04, 0xb6, 0xe2, 0x21,+ 0x16, 0x11, 0x20, 0x2f, 0x0d, 0x00, 0xe6, 0x25,+ 0x11, 0x06, 0x16, 0x26, 0x16, 0x26, 0x16, 0x06,+ 0xe0, 0x00, 0xe5, 0x13, 0x60, 0x65, 0x36, 0xe0,+ 0x03, 0xbb, 0x4c, 0x36, 0x0d, 0x36, 0x2f, 0xe6,+ 0x03, 0x16, 0x1b, 0x00, 0x36, 0xe5, 0x18, 0x04,+ 0xe5, 0x02, 0xe6, 0x0d, 0xe9, 0x02, 0x76, 0x25,+ 0x06, 0xe5, 0x5b, 0x16, 0x05, 0xc6, 0x1b, 0x0f,+ 0xa6, 0x24, 0x26, 0x0f, 0x66, 0x25, 0xe9, 0x02,+ 0x45, 0x2f, 0x05, 0xf6, 0x06, 0x00, 0x1b, 0x05,+ 0x06, 0xe5, 0x16, 0xe6, 0x13, 0x20, 0xe5, 0x51,+ 0xe6, 0x03, 0x05, 0xe0, 0x06, 0xe9, 0x02, 0xe5,+ 0x19, 0xe6, 0x01, 0x24, 0x0f, 0x56, 0x04, 0x20,+ 0x06, 0x2d, 0xe5, 0x0e, 0x66, 0x04, 0xe6, 0x01,+ 0x04, 0x46, 0x04, 0x86, 0x20, 0xf6, 0x07, 0x00,+ 0xe5, 0x11, 0x46, 0x20, 0x16, 0x00, 0xe5, 0x03,+ 0xe0, 0x2d, 0xe5, 0x0d, 0x00, 0xe5, 0x0a, 0xe0,+ 0x03, 0xe6, 0x07, 0x1b, 0xe6, 0x18, 0x07, 0xe5,+ 0x2e, 0x06, 0x07, 0x06, 0x05, 0x47, 0xe6, 0x00,+ 0x67, 0x06, 0x27, 0x05, 0xc6, 0xe5, 0x02, 0x26,+ 0x36, 0xe9, 0x02, 0x16, 0x04, 0xe5, 0x07, 0x06,+ 0x27, 0x00, 0xe5, 0x00, 0x20, 0x25, 0x20, 0xe5,+ 0x0e, 0x00, 0xc5, 0x00, 0x05, 0x40, 0x65, 0x20,+ 0x06, 0x05, 0x47, 0x66, 0x20, 0x27, 0x20, 0x27,+ 0x06, 0x05, 0xe0, 0x00, 0x07, 0x60, 0x25, 0x00,+ 0x45, 0x26, 0x20, 0xe9, 0x02, 0x25, 0x2d, 0xab,+ 0x0f, 0x0d, 0x05, 0x16, 0x06, 0x20, 0x26, 0x07,+ 0x00, 0xa5, 0x60, 0x25, 0x20, 0xe5, 0x0e, 0x00,+ 0xc5, 0x00, 0x25, 0x00, 0x25, 0x00, 0x25, 0x20,+ 0x06, 0x00, 0x47, 0x26, 0x60, 0x26, 0x20, 0x46,+ 0x40, 0x06, 0xc0, 0x65, 0x00, 0x05, 0xc0, 0xe9,+ 0x02, 0x26, 0x45, 0x06, 0x16, 0xe0, 0x02, 0x26,+ 0x07, 0x00, 0xe5, 0x01, 0x00, 0x45, 0x00, 0xe5,+ 0x0e, 0x00, 0xc5, 0x00, 0x25, 0x00, 0x85, 0x20,+ 0x06, 0x05, 0x47, 0x86, 0x00, 0x26, 0x07, 0x00,+ 0x27, 0x06, 0x20, 0x05, 0xe0, 0x07, 0x25, 0x26,+ 0x20, 0xe9, 0x02, 0x16, 0x0d, 0xc0, 0x05, 0xa6,+ 0x00, 0x06, 0x27, 0x00, 0xe5, 0x00, 0x20, 0x25,+ 0x20, 0xe5, 0x0e, 0x00, 0xc5, 0x00, 0x25, 0x00,+ 0x85, 0x20, 0x06, 0x05, 0x07, 0x06, 0x07, 0x66,+ 0x20, 0x27, 0x20, 0x27, 0x06, 0xc0, 0x26, 0x07,+ 0x60, 0x25, 0x00, 0x45, 0x26, 0x20, 0xe9, 0x02,+ 0x0f, 0x05, 0xab, 0xe0, 0x02, 0x06, 0x05, 0x00,+ 0xa5, 0x40, 0x45, 0x00, 0x65, 0x40, 0x25, 0x00,+ 0x05, 0x00, 0x25, 0x40, 0x25, 0x40, 0x45, 0x40,+ 0xe5, 0x04, 0x60, 0x27, 0x06, 0x27, 0x40, 0x47,+ 0x00, 0x47, 0x06, 0x20, 0x05, 0xa0, 0x07, 0xe0,+ 0x06, 0xe9, 0x02, 0x4b, 0xaf, 0x0d, 0x0f, 0x80,+ 0x06, 0x47, 0x06, 0xe5, 0x00, 0x00, 0x45, 0x00,+ 0xe5, 0x0f, 0x00, 0xe5, 0x08, 0x40, 0x05, 0x46,+ 0x67, 0x00, 0x46, 0x00, 0x66, 0xc0, 0x26, 0x00,+ 0x45, 0x80, 0x25, 0x26, 0x20, 0xe9, 0x02, 0xc0,+ 0x16, 0xcb, 0x0f, 0x05, 0x06, 0x27, 0x16, 0xe5,+ 0x00, 0x00, 0x45, 0x00, 0xe5, 0x0f, 0x00, 0xe5,+ 0x02, 0x00, 0x85, 0x20, 0x06, 0x05, 0x07, 0x06,+ 0x87, 0x00, 0x06, 0x27, 0x00, 0x27, 0x26, 0xc0,+ 0x27, 0xc0, 0x05, 0x00, 0x25, 0x26, 0x20, 0xe9,+ 0x02, 0x00, 0x25, 0xe0, 0x05, 0x26, 0x27, 0xe5,+ 0x01, 0x00, 0x45, 0x00, 0xe5, 0x21, 0x26, 0x05,+ 0x47, 0x66, 0x00, 0x47, 0x00, 0x47, 0x06, 0x05,+ 0x0f, 0x60, 0x45, 0x07, 0xcb, 0x45, 0x26, 0x20,+ 0xe9, 0x02, 0xeb, 0x01, 0x0f, 0xa5, 0x00, 0x06,+ 0x27, 0x00, 0xe5, 0x0a, 0x40, 0xe5, 0x10, 0x00,+ 0xe5, 0x01, 0x00, 0x05, 0x20, 0xc5, 0x40, 0x06,+ 0x60, 0x47, 0x46, 0x00, 0x06, 0x00, 0xe7, 0x00,+ 0xa0, 0xe9, 0x02, 0x20, 0x27, 0x16, 0xe0, 0x04,+ 0xe5, 0x28, 0x06, 0x25, 0xc6, 0x60, 0x0d, 0xa5,+ 0x04, 0xe6, 0x00, 0x16, 0xe9, 0x02, 0x36, 0xe0,+ 0x1d, 0x25, 0x00, 0x05, 0x00, 0x85, 0x00, 0xe5,+ 0x10, 0x00, 0x05, 0x00, 0xe5, 0x02, 0x06, 0x25,+ 0xe6, 0x01, 0x05, 0x20, 0x85, 0x00, 0x04, 0x00,+ 0xa6, 0x20, 0xe9, 0x02, 0x20, 0x65, 0xe0, 0x18,+ 0x05, 0x4f, 0xf6, 0x07, 0x0f, 0x16, 0x4f, 0x26,+ 0xaf, 0xe9, 0x02, 0xeb, 0x02, 0x0f, 0x06, 0x0f,+ 0x06, 0x0f, 0x06, 0x12, 0x13, 0x12, 0x13, 0x27,+ 0xe5, 0x00, 0x00, 0xe5, 0x1c, 0x60, 0xe6, 0x06,+ 0x07, 0x86, 0x16, 0x26, 0x85, 0xe6, 0x03, 0x00,+ 0xe6, 0x1c, 0x00, 0xef, 0x00, 0x06, 0xaf, 0x00,+ 0x2f, 0x96, 0x6f, 0x36, 0xe0, 0x1d, 0xe5, 0x23,+ 0x27, 0x66, 0x07, 0xa6, 0x07, 0x26, 0x27, 0x26,+ 0x05, 0xe9, 0x02, 0xb6, 0xa5, 0x27, 0x26, 0x65,+ 0x46, 0x05, 0x47, 0x25, 0xc7, 0x45, 0x66, 0xe5,+ 0x05, 0x06, 0x27, 0x26, 0xa7, 0x06, 0x05, 0x07,+ 0xe9, 0x02, 0x47, 0x06, 0x2f, 0xe1, 0x1e, 0x00,+ 0x01, 0x80, 0x01, 0x20, 0xe2, 0x23, 0x16, 0x04,+ 0x42, 0xe5, 0x80, 0xc1, 0x00, 0x65, 0x20, 0xc5,+ 0x00, 0x05, 0x00, 0x65, 0x20, 0xe5, 0x21, 0x00,+ 0x65, 0x20, 0xe5, 0x19, 0x00, 0x65, 0x20, 0xc5,+ 0x00, 0x05, 0x00, 0x65, 0x20, 0xe5, 0x07, 0x00,+ 0xe5, 0x31, 0x00, 0x65, 0x20, 0xe5, 0x3b, 0x20,+ 0x46, 0xf6, 0x01, 0xeb, 0x0c, 0x40, 0xe5, 0x08,+ 0xef, 0x02, 0xa0, 0xe1, 0x4e, 0x20, 0xa2, 0x20,+ 0x11, 0xe5, 0x81, 0xe4, 0x0f, 0x16, 0xe5, 0x09,+ 0x17, 0xe5, 0x12, 0x12, 0x13, 0x40, 0xe5, 0x43,+ 0x56, 0x4a, 0xe5, 0x00, 0xc0, 0xe5, 0x05, 0x00,+ 0x65, 0x46, 0xe0, 0x03, 0xe5, 0x0a, 0x46, 0x36,+ 0xe0, 0x01, 0xe5, 0x0a, 0x26, 0xe0, 0x04, 0xe5,+ 0x05, 0x00, 0x45, 0x00, 0x26, 0xe0, 0x04, 0xe5,+ 0x2c, 0x26, 0x07, 0xc6, 0xe7, 0x00, 0x06, 0x27,+ 0xe6, 0x03, 0x56, 0x04, 0x56, 0x0d, 0x05, 0x06,+ 0x20, 0xe9, 0x02, 0xa0, 0xeb, 0x02, 0xa0, 0xb6,+ 0x11, 0x76, 0x46, 0x1b, 0x00, 0xe9, 0x02, 0xa0,+ 0xe5, 0x1b, 0x04, 0xe5, 0x2d, 0xc0, 0x85, 0x26,+ 0xe5, 0x1a, 0x06, 0x05, 0x80, 0xe5, 0x3e, 0xe0,+ 0x02, 0xe5, 0x17, 0x00, 0x46, 0x67, 0x26, 0x47,+ 0x60, 0x27, 0x06, 0xa7, 0x46, 0x60, 0x0f, 0x40,+ 0x36, 0xe9, 0x02, 0xe5, 0x16, 0x20, 0x85, 0xe0,+ 0x03, 0xe5, 0x24, 0x60, 0xe5, 0x12, 0xa0, 0xe9,+ 0x02, 0x0b, 0x40, 0xef, 0x1a, 0xe5, 0x0f, 0x26,+ 0x27, 0x06, 0x20, 0x36, 0xe5, 0x2d, 0x07, 0x06,+ 0x07, 0xc6, 0x00, 0x06, 0x07, 0x06, 0x27, 0xe6,+ 0x00, 0xa7, 0xe6, 0x02, 0x20, 0x06, 0xe9, 0x02,+ 0xa0, 0xe9, 0x02, 0xa0, 0xd6, 0x04, 0xb6, 0x20,+ 0xe6, 0x06, 0x08, 0x26, 0xe0, 0x37, 0x66, 0x07,+ 0xe5, 0x27, 0x06, 0x07, 0x86, 0x07, 0x06, 0x87,+ 0x06, 0x27, 0xc5, 0x60, 0xe9, 0x02, 0xd6, 0xef,+ 0x02, 0xe6, 0x01, 0xef, 0x01, 0x40, 0x26, 0x07,+ 0xe5, 0x16, 0x07, 0x66, 0x27, 0x26, 0x07, 0x46,+ 0x25, 0xe9, 0x02, 0xe5, 0x24, 0x06, 0x07, 0x26,+ 0x47, 0x06, 0x07, 0x46, 0x27, 0xe0, 0x00, 0x76,+ 0xe5, 0x1c, 0xe7, 0x00, 0xe6, 0x00, 0x27, 0x26,+ 0x40, 0x96, 0xe9, 0x02, 0x40, 0x45, 0xe9, 0x02,+ 0xe5, 0x16, 0xa4, 0x36, 0xe2, 0x01, 0xc0, 0xe1,+ 0x23, 0x20, 0x41, 0xf6, 0x00, 0xe0, 0x00, 0x46,+ 0x16, 0xe6, 0x05, 0x07, 0xc6, 0x65, 0x06, 0xa5,+ 0x06, 0x25, 0x07, 0x26, 0x05, 0x80, 0xe2, 0x24,+ 0xe4, 0x37, 0xe2, 0x05, 0x04, 0xe2, 0x1a, 0xe4,+ 0x1d, 0xe6, 0x32, 0x00, 0x86, 0xff, 0x80, 0x0e,+ 0xe2, 0x00, 0xff, 0x5a, 0xe2, 0x00, 0xe1, 0x00,+ 0xa2, 0x20, 0xa1, 0x20, 0xe2, 0x00, 0xe1, 0x00,+ 0xe2, 0x00, 0xe1, 0x00, 0xa2, 0x20, 0xa1, 0x20,+ 0xe2, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,+ 0x00, 0x3f, 0xc2, 0xe1, 0x00, 0xe2, 0x06, 0x20,+ 0xe2, 0x00, 0xe3, 0x00, 0xe2, 0x00, 0xe3, 0x00,+ 0xe2, 0x00, 0xe3, 0x00, 0x82, 0x00, 0x22, 0x61,+ 0x03, 0x0e, 0x02, 0x4e, 0x42, 0x00, 0x22, 0x61,+ 0x03, 0x4e, 0x62, 0x20, 0x22, 0x61, 0x00, 0x4e,+ 0xe2, 0x00, 0x81, 0x4e, 0x20, 0x42, 0x00, 0x22,+ 0x61, 0x03, 0x2e, 0x00, 0xf7, 0x03, 0x9b, 0xb1,+ 0x36, 0x14, 0x15, 0x12, 0x34, 0x15, 0x12, 0x14,+ 0xf6, 0x00, 0x18, 0x19, 0x9b, 0x17, 0xf6, 0x01,+ 0x14, 0x15, 0x76, 0x30, 0x56, 0x0c, 0x12, 0x13,+ 0xf6, 0x03, 0x0c, 0x16, 0x10, 0xf6, 0x02, 0x17,+ 0x9b, 0x00, 0xfb, 0x02, 0x0b, 0x04, 0x20, 0xab,+ 0x4c, 0x12, 0x13, 0x04, 0xeb, 0x02, 0x4c, 0x12,+ 0x13, 0x00, 0xe4, 0x05, 0x40, 0xed, 0x18, 0xe0,+ 0x08, 0xe6, 0x05, 0x68, 0x06, 0x48, 0xe6, 0x04,+ 0xe0, 0x07, 0x2f, 0x01, 0x6f, 0x01, 0x2f, 0x02,+ 0x41, 0x22, 0x41, 0x02, 0x0f, 0x01, 0x2f, 0x0c,+ 0x81, 0xaf, 0x01, 0x0f, 0x01, 0x0f, 0x01, 0x0f,+ 0x61, 0x0f, 0x02, 0x61, 0x02, 0x65, 0x02, 0x2f,+ 0x22, 0x21, 0x8c, 0x3f, 0x42, 0x0f, 0x0c, 0x2f,+ 0x02, 0x0f, 0xeb, 0x08, 0xea, 0x1b, 0x3f, 0x6a,+ 0x0b, 0x2f, 0x60, 0x8c, 0x8f, 0x2c, 0x6f, 0x0c,+ 0x2f, 0x0c, 0x2f, 0x0c, 0xcf, 0x0c, 0xef, 0x17,+ 0x2c, 0x2f, 0x0c, 0x0f, 0x0c, 0xef, 0x17, 0xec,+ 0x80, 0x84, 0xef, 0x00, 0x12, 0x13, 0x12, 0x13,+ 0xef, 0x0c, 0x2c, 0xcf, 0x12, 0x13, 0xef, 0x49,+ 0x0c, 0xef, 0x16, 0xec, 0x11, 0xef, 0x20, 0xac,+ 0xef, 0x3d, 0xe0, 0x11, 0xef, 0x03, 0xe0, 0x0d,+ 0xeb, 0x34, 0xef, 0x46, 0xeb, 0x0e, 0xef, 0x80,+ 0x2f, 0x0c, 0xef, 0x01, 0x0c, 0xef, 0x2e, 0xec,+ 0x00, 0xef, 0x67, 0x0c, 0xef, 0x80, 0x70, 0x12,+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,+ 0x13, 0x12, 0x13, 0x12, 0x13, 0xeb, 0x16, 0xef,+ 0x24, 0x8c, 0x12, 0x13, 0xec, 0x17, 0x12, 0x13,+ 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,+ 0xec, 0x08, 0xef, 0x80, 0x78, 0xec, 0x7b, 0x12,+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,+ 0x13, 0x12, 0x13, 0x12, 0x13, 0xec, 0x37, 0x12,+ 0x13, 0x12, 0x13, 0xec, 0x18, 0x12, 0x13, 0xec,+ 0x80, 0x7a, 0xef, 0x28, 0xec, 0x0d, 0x2f, 0xac,+ 0xef, 0x1f, 0x20, 0xef, 0x18, 0x00, 0xef, 0x61,+ 0xe1, 0x27, 0x00, 0xe2, 0x27, 0x00, 0x5f, 0x21,+ 0x22, 0xdf, 0x41, 0x02, 0x3f, 0x02, 0x3f, 0x82,+ 0x24, 0x41, 0x02, 0xff, 0x5a, 0x02, 0xaf, 0x7f,+ 0x46, 0x3f, 0x80, 0x76, 0x0b, 0x36, 0xe2, 0x1e,+ 0x00, 0x02, 0x80, 0x02, 0x20, 0xe5, 0x30, 0xc0,+ 0x04, 0x16, 0xe0, 0x06, 0x06, 0xe5, 0x0f, 0xe0,+ 0x01, 0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5,+ 0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5,+ 0x00, 0xe6, 0x18, 0x36, 0x14, 0x15, 0x14, 0x15,+ 0x56, 0x14, 0x15, 0x16, 0x14, 0x15, 0xf6, 0x01,+ 0x11, 0x36, 0x11, 0x16, 0x14, 0x15, 0x36, 0x14,+ 0x15, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,+ 0x13, 0x96, 0x04, 0xf6, 0x02, 0x31, 0x76, 0x11,+ 0x16, 0x12, 0xf6, 0x05, 0x2f, 0x16, 0xe0, 0x25,+ 0xef, 0x12, 0x00, 0xef, 0x51, 0xe0, 0x04, 0xef,+ 0x80, 0x4e, 0xe0, 0x12, 0xef, 0x04, 0x60, 0x17,+ 0x56, 0x0f, 0x04, 0x05, 0x0a, 0x12, 0x13, 0x12,+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x2f,+ 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,+ 0x11, 0x12, 0x33, 0x0f, 0xea, 0x01, 0x66, 0x27,+ 0x11, 0x84, 0x2f, 0x4a, 0x04, 0x05, 0x16, 0x2f,+ 0x00, 0xe5, 0x4e, 0x20, 0x26, 0x2e, 0x24, 0x05,+ 0x11, 0xe5, 0x52, 0x16, 0x44, 0x05, 0x80, 0xe5,+ 0x23, 0x00, 0xe5, 0x56, 0x00, 0x2f, 0x6b, 0xef,+ 0x02, 0xe5, 0x18, 0xef, 0x1c, 0xe0, 0x04, 0xe5,+ 0x08, 0xef, 0x17, 0x00, 0xeb, 0x02, 0xef, 0x16,+ 0xeb, 0x00, 0x0f, 0xeb, 0x07, 0xef, 0x18, 0xeb,+ 0x02, 0xef, 0x1f, 0xeb, 0x07, 0xef, 0x80, 0xb8,+ 0xe5, 0x99, 0x38, 0xef, 0x38, 0xe5, 0xc0, 0x11,+ 0x75, 0x40, 0xe5, 0x0d, 0x04, 0xe5, 0x83, 0xef,+ 0x40, 0xef, 0x2f, 0xe0, 0x01, 0xe5, 0x20, 0xa4,+ 0x36, 0xe5, 0x80, 0x84, 0x04, 0x56, 0xe5, 0x08,+ 0xe9, 0x02, 0x25, 0xe0, 0x0c, 0xff, 0x26, 0x05,+ 0x06, 0x48, 0x16, 0xe6, 0x02, 0x16, 0x04, 0xff,+ 0x14, 0x24, 0x26, 0xe5, 0x3e, 0xea, 0x02, 0x26,+ 0xb6, 0xe0, 0x00, 0xee, 0x0f, 0xe4, 0x01, 0x2e,+ 0xff, 0x06, 0x22, 0xff, 0x36, 0x04, 0xe2, 0x00,+ 0x9f, 0xff, 0x02, 0x04, 0x2e, 0x7f, 0x05, 0x7f,+ 0x22, 0xff, 0x0d, 0x61, 0x02, 0x81, 0x02, 0xff,+ 0x02, 0x20, 0x5f, 0x41, 0x02, 0x3f, 0xe0, 0x22,+ 0x3f, 0x05, 0x24, 0x02, 0xc5, 0x06, 0x45, 0x06,+ 0x65, 0x06, 0xe5, 0x0f, 0x27, 0x26, 0x07, 0x6f,+ 0x06, 0x40, 0xab, 0x2f, 0x0d, 0x0f, 0xa0, 0xe5,+ 0x2c, 0x76, 0xe0, 0x00, 0x27, 0xe5, 0x2a, 0xe7,+ 0x08, 0x26, 0xe0, 0x00, 0x36, 0xe9, 0x02, 0xa0,+ 0xe6, 0x0a, 0xa5, 0x56, 0x05, 0x16, 0x25, 0x06,+ 0xe9, 0x02, 0xe5, 0x14, 0xe6, 0x00, 0x36, 0xe5,+ 0x0f, 0xe6, 0x03, 0x27, 0xe0, 0x03, 0x16, 0xe5,+ 0x15, 0x40, 0x46, 0x07, 0xe5, 0x27, 0x06, 0x27,+ 0x66, 0x27, 0x26, 0x47, 0xf6, 0x05, 0x00, 0x04,+ 0xe9, 0x02, 0x60, 0x36, 0x85, 0x06, 0x04, 0xe5,+ 0x01, 0xe9, 0x02, 0x85, 0x00, 0xe5, 0x21, 0xa6,+ 0x27, 0x26, 0x27, 0x26, 0xe0, 0x01, 0x45, 0x06,+ 0xe5, 0x00, 0x06, 0x07, 0x20, 0xe9, 0x02, 0x20,+ 0x76, 0xe5, 0x08, 0x04, 0xa5, 0x4f, 0x05, 0x07,+ 0x06, 0x07, 0xe5, 0x2a, 0x06, 0x05, 0x46, 0x25,+ 0x26, 0x85, 0x26, 0x05, 0x06, 0x05, 0xe0, 0x10,+ 0x25, 0x04, 0x36, 0xe5, 0x03, 0x07, 0x26, 0x27,+ 0x36, 0x05, 0x24, 0x07, 0x06, 0xe0, 0x02, 0xa5,+ 0x20, 0xa5, 0x20, 0xa5, 0xe0, 0x01, 0xc5, 0x00,+ 0xc5, 0x00, 0xe2, 0x23, 0x0e, 0x64, 0xe2, 0x01,+ 0x04, 0x2e, 0x60, 0xe2, 0x48, 0xe5, 0x1b, 0x27,+ 0x06, 0x27, 0x06, 0x27, 0x16, 0x07, 0x06, 0x20,+ 0xe9, 0x02, 0xa0, 0xe5, 0xab, 0x1c, 0xe0, 0x04,+ 0xe5, 0x0f, 0x60, 0xe5, 0x29, 0x60, 0xfc, 0x87,+ 0x78, 0xfd, 0x98, 0x78, 0xe5, 0x80, 0xe6, 0x20,+ 0xe5, 0x62, 0xe0, 0x1e, 0xc2, 0xe0, 0x04, 0x82,+ 0x80, 0x05, 0x06, 0xe5, 0x02, 0x0c, 0xe5, 0x05,+ 0x00, 0x85, 0x00, 0x05, 0x00, 0x25, 0x00, 0x25,+ 0x00, 0xe5, 0x64, 0xee, 0x08, 0xe0, 0x09, 0xe5,+ 0x80, 0xe3, 0x13, 0x12, 0xe0, 0x08, 0xe5, 0x38,+ 0x20, 0xe5, 0x2e, 0xe0, 0x20, 0xe5, 0x04, 0x0d,+ 0x0f, 0x20, 0xe6, 0x08, 0xd6, 0x12, 0x13, 0x16,+ 0xa0, 0xe6, 0x08, 0x16, 0x31, 0x30, 0x12, 0x13,+ 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,+ 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x36, 0x12,+ 0x13, 0x76, 0x50, 0x56, 0x00, 0x76, 0x11, 0x12,+ 0x13, 0x12, 0x13, 0x12, 0x13, 0x56, 0x0c, 0x11,+ 0x4c, 0x00, 0x16, 0x0d, 0x36, 0x60, 0x85, 0x00,+ 0xe5, 0x7f, 0x20, 0x1b, 0x00, 0x56, 0x0d, 0x56,+ 0x12, 0x13, 0x16, 0x0c, 0x16, 0x11, 0x36, 0xe9,+ 0x02, 0x36, 0x4c, 0x36, 0xe1, 0x12, 0x12, 0x16,+ 0x13, 0x0e, 0x10, 0x0e, 0xe2, 0x12, 0x12, 0x0c,+ 0x13, 0x0c, 0x12, 0x13, 0x16, 0x12, 0x13, 0x36,+ 0xe5, 0x02, 0x04, 0xe5, 0x25, 0x24, 0xe5, 0x17,+ 0x40, 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0x20, 0x45,+ 0x40, 0x2d, 0x0c, 0x0e, 0x0f, 0x2d, 0x00, 0x0f,+ 0x6c, 0x2f, 0xe0, 0x02, 0x5b, 0x2f, 0x20, 0xe5,+ 0x04, 0x00, 0xe5, 0x12, 0x00, 0xe5, 0x0b, 0x00,+ 0x25, 0x00, 0xe5, 0x07, 0x20, 0xe5, 0x06, 0xe0,+ 0x1a, 0xe5, 0x73, 0x80, 0x56, 0x60, 0xeb, 0x25,+ 0x40, 0xef, 0x01, 0xea, 0x2d, 0x6b, 0xef, 0x09,+ 0x2b, 0x4f, 0x00, 0xef, 0x05, 0x40, 0x0f, 0xe0,+ 0x27, 0xef, 0x25, 0x06, 0xe0, 0x7a, 0xe5, 0x15,+ 0x40, 0xe5, 0x29, 0xe0, 0x07, 0x06, 0xeb, 0x13,+ 0x60, 0xe5, 0x18, 0x6b, 0xe0, 0x01, 0xe5, 0x0c,+ 0x0a, 0xe5, 0x00, 0x0a, 0x80, 0xe5, 0x1e, 0x86,+ 0x80, 0xe5, 0x16, 0x00, 0x16, 0xe5, 0x1c, 0x60,+ 0xe5, 0x00, 0x16, 0x8a, 0xe0, 0x22, 0xe1, 0x20,+ 0xe2, 0x20, 0xe5, 0x46, 0x20, 0xe9, 0x02, 0xa0,+ 0xe1, 0x1c, 0x60, 0xe2, 0x1c, 0x60, 0xe5, 0x20,+ 0xe0, 0x00, 0xe5, 0x2c, 0xe0, 0x03, 0x16, 0xe0,+ 0x80, 0x08, 0xe5, 0x80, 0xaf, 0xe0, 0x01, 0xe5,+ 0x0e, 0xe0, 0x02, 0xe5, 0x00, 0xe0, 0x80, 0x10,+ 0xa5, 0x20, 0x05, 0x00, 0xe5, 0x24, 0x00, 0x25,+ 0x40, 0x05, 0x20, 0xe5, 0x0f, 0x00, 0x16, 0xeb,+ 0x00, 0xe5, 0x0f, 0x2f, 0xcb, 0xe5, 0x17, 0xe0,+ 0x00, 0xeb, 0x01, 0xe0, 0x28, 0xe5, 0x0b, 0x00,+ 0x25, 0x80, 0x8b, 0xe5, 0x0e, 0xab, 0x40, 0x16,+ 0xe5, 0x12, 0x80, 0x16, 0xe0, 0x38, 0xe5, 0x30,+ 0x60, 0x2b, 0x25, 0xeb, 0x08, 0x20, 0xeb, 0x26,+ 0x05, 0x46, 0x00, 0x26, 0x80, 0x66, 0x65, 0x00,+ 0x45, 0x00, 0xe5, 0x15, 0x20, 0x46, 0x60, 0x06,+ 0xeb, 0x01, 0xc0, 0xf6, 0x01, 0xc0, 0xe5, 0x15,+ 0x2b, 0x16, 0xe5, 0x15, 0x4b, 0xe0, 0x18, 0xe5,+ 0x00, 0x0f, 0xe5, 0x14, 0x26, 0x60, 0x8b, 0xd6,+ 0xe0, 0x01, 0xe5, 0x2e, 0x40, 0xd6, 0xe5, 0x0e,+ 0x20, 0xeb, 0x00, 0xe5, 0x0b, 0x80, 0xeb, 0x00,+ 0xe5, 0x0a, 0xc0, 0x76, 0xe0, 0x04, 0xcb, 0xe0,+ 0x48, 0xe5, 0x41, 0xe0, 0x2f, 0xe1, 0x2b, 0xe0,+ 0x05, 0xe2, 0x2b, 0xc0, 0xab, 0xe5, 0x1c, 0x66,+ 0xe0, 0x00, 0xe9, 0x02, 0xe0, 0x80, 0x9e, 0xeb,+ 0x17, 0x00, 0xe5, 0x22, 0x00, 0x26, 0x11, 0x20,+ 0x25, 0xe0, 0x46, 0xe5, 0x15, 0xeb, 0x02, 0x05,+ 0xe0, 0x00, 0xe5, 0x0e, 0xe6, 0x03, 0x6b, 0x96,+ 0xe0, 0x4e, 0xe5, 0x0d, 0xcb, 0xe0, 0x0c, 0xe5,+ 0x0f, 0xe0, 0x01, 0x07, 0x06, 0x07, 0xe5, 0x2d,+ 0xe6, 0x07, 0xd6, 0x60, 0xeb, 0x0c, 0xe9, 0x02,+ 0xe0, 0x07, 0x46, 0x07, 0xe5, 0x25, 0x47, 0x66,+ 0x27, 0x26, 0x36, 0x1b, 0x76, 0xe0, 0x03, 0x1b,+ 0x20, 0xe5, 0x11, 0xc0, 0xe9, 0x02, 0xa0, 0x46,+ 0xe5, 0x1c, 0x86, 0x07, 0xe6, 0x00, 0x00, 0xe9,+ 0x02, 0x76, 0x05, 0x27, 0x05, 0xe0, 0x00, 0xe5,+ 0x1b, 0x06, 0x36, 0x05, 0xe0, 0x01, 0x26, 0x07,+ 0xe5, 0x28, 0x47, 0xe6, 0x01, 0x27, 0x65, 0x76,+ 0x66, 0x16, 0x07, 0x06, 0xe9, 0x02, 0x05, 0x16,+ 0x05, 0x56, 0x00, 0xeb, 0x0c, 0xe0, 0x03, 0xe5,+ 0x0a, 0x00, 0xe5, 0x11, 0x47, 0x46, 0x27, 0x06,+ 0x07, 0x26, 0xb6, 0x06, 0xe0, 0x39, 0xc5, 0x00,+ 0x05, 0x00, 0x65, 0x00, 0xe5, 0x07, 0x00, 0xe5,+ 0x02, 0x16, 0xa0, 0xe5, 0x27, 0x06, 0x47, 0xe6,+ 0x00, 0x80, 0xe9, 0x02, 0xa0, 0x26, 0x27, 0x00,+ 0xe5, 0x00, 0x20, 0x25, 0x20, 0xe5, 0x0e, 0x00,+ 0xc5, 0x00, 0x25, 0x00, 0x85, 0x00, 0x26, 0x05,+ 0x27, 0x06, 0x67, 0x20, 0x27, 0x20, 0x47, 0x20,+ 0x05, 0xa0, 0x07, 0x80, 0x85, 0x27, 0x20, 0xc6,+ 0x40, 0x86, 0xe0, 0x80, 0x03, 0xe5, 0x2d, 0x47,+ 0xe6, 0x00, 0x27, 0x46, 0x07, 0x06, 0x65, 0x96,+ 0xe9, 0x02, 0x36, 0x00, 0x16, 0x06, 0x45, 0xe0,+ 0x16, 0xe5, 0x28, 0x47, 0xa6, 0x07, 0x06, 0x67,+ 0x26, 0x07, 0x26, 0x25, 0x16, 0x05, 0xe0, 0x00,+ 0xe9, 0x02, 0xe0, 0x80, 0x1e, 0xe5, 0x27, 0x47,+ 0x66, 0x20, 0x67, 0x26, 0x07, 0x26, 0xf6, 0x0f,+ 0x65, 0x26, 0xe0, 0x1a, 0xe5, 0x28, 0x47, 0xe6,+ 0x00, 0x27, 0x06, 0x07, 0x26, 0x56, 0x05, 0xe0,+ 0x03, 0xe9, 0x02, 0xa0, 0xf6, 0x05, 0xe0, 0x0b,+ 0xe5, 0x23, 0x06, 0x07, 0x06, 0x27, 0xa6, 0x07,+ 0x06, 0x05, 0xc0, 0xe9, 0x02, 0xe0, 0x2e, 0xe5,+ 0x13, 0x20, 0x46, 0x27, 0x66, 0x07, 0x86, 0x60,+ 0xe9, 0x02, 0x2b, 0x56, 0x0f, 0xe0, 0x80, 0x38,+ 0xe5, 0x24, 0x47, 0xe6, 0x01, 0x07, 0x26, 0x16,+ 0xe0, 0x5c, 0xe1, 0x18, 0xe2, 0x18, 0xe9, 0x02,+ 0xeb, 0x01, 0xe0, 0x04, 0xe5, 0x00, 0x20, 0x05,+ 0x20, 0xe5, 0x00, 0x00, 0x25, 0x00, 0xe5, 0x10,+ 0xa7, 0x00, 0x27, 0x20, 0x26, 0x07, 0x06, 0x05,+ 0x07, 0x05, 0x07, 0x06, 0x56, 0xe0, 0x01, 0xe9,+ 0x02, 0xe0, 0x3e, 0xe5, 0x00, 0x20, 0xe5, 0x1f,+ 0x47, 0x66, 0x20, 0x26, 0x67, 0x06, 0x05, 0x16,+ 0x05, 0x07, 0xe0, 0x13, 0x05, 0xe6, 0x02, 0xe5,+ 0x20, 0xa6, 0x07, 0x05, 0x66, 0xf6, 0x00, 0x06,+ 0xe0, 0x00, 0x05, 0xa6, 0x27, 0x46, 0xe5, 0x26,+ 0xe6, 0x05, 0x07, 0x26, 0x56, 0x05, 0x96, 0xe0,+ 0x15, 0xe5, 0x31, 0xe0, 0x80, 0x7f, 0xe5, 0x01,+ 0x00, 0xe5, 0x1d, 0x07, 0xc6, 0x00, 0xa6, 0x07,+ 0x06, 0x05, 0x96, 0xe0, 0x02, 0xe9, 0x02, 0xeb,+ 0x0b, 0x40, 0x36, 0xe5, 0x16, 0x20, 0xe6, 0x0e,+ 0x00, 0x07, 0xc6, 0x07, 0x26, 0x07, 0x26, 0xe0,+ 0x41, 0xc5, 0x00, 0x25, 0x00, 0xe5, 0x1e, 0xa6,+ 0x40, 0x06, 0x00, 0x26, 0x00, 0xc6, 0x05, 0x06,+ 0xe0, 0x00, 0xe9, 0x02, 0xa0, 0xa5, 0x00, 0x25,+ 0x00, 0xe5, 0x18, 0x87, 0x00, 0x26, 0x00, 0x27,+ 0x06, 0x07, 0x06, 0x05, 0xc0, 0xe9, 0x02, 0xe0,+ 0x80, 0xae, 0xe5, 0x0b, 0x26, 0x27, 0x36, 0xe0,+ 0x80, 0x2f, 0x05, 0xe0, 0x07, 0xeb, 0x0d, 0xef,+ 0x00, 0x6d, 0xef, 0x09, 0xe0, 0x05, 0x16, 0xe5,+ 0x83, 0x12, 0xe0, 0x5e, 0xea, 0x67, 0x00, 0x96,+ 0xe0, 0x03, 0xe5, 0x80, 0x3c, 0xe0, 0x8a, 0x34,+ 0xe5, 0x83, 0xa7, 0x00, 0xfb, 0x01, 0xe0, 0x8f,+ 0x3f, 0xe5, 0x81, 0xbf, 0xe0, 0xa1, 0x31, 0xe5,+ 0x81, 0xb1, 0xc0, 0xe5, 0x17, 0x00, 0xe9, 0x02,+ 0x60, 0x36, 0xe0, 0x58, 0xe5, 0x16, 0x20, 0x86,+ 0x16, 0xe0, 0x02, 0xe5, 0x28, 0xc6, 0x96, 0x6f,+ 0x64, 0x16, 0x0f, 0xe0, 0x02, 0xe9, 0x02, 0x00,+ 0xcb, 0x00, 0xe5, 0x0d, 0x80, 0xe5, 0x0b, 0xe0,+ 0x82, 0x28, 0xe1, 0x18, 0xe2, 0x18, 0xeb, 0x0f,+ 0x76, 0xe0, 0x5d, 0xe5, 0x43, 0x60, 0x06, 0x05,+ 0xe7, 0x2f, 0xc0, 0x66, 0xe4, 0x05, 0xe0, 0x38,+ 0x24, 0x16, 0x04, 0x06, 0xe0, 0x03, 0x27, 0xe0,+ 0x06, 0xe5, 0x97, 0x70, 0xe0, 0x00, 0xe5, 0x84,+ 0x4e, 0xe0, 0x22, 0xe5, 0x01, 0xe0, 0xa2, 0x6f,+ 0xe5, 0x80, 0x97, 0xe0, 0x29, 0x45, 0xe0, 0x09,+ 0x65, 0xe0, 0x00, 0xe5, 0x81, 0x04, 0xe0, 0x88,+ 0x7c, 0xe5, 0x63, 0x80, 0xe5, 0x05, 0x40, 0xe5,+ 0x01, 0xc0, 0xe5, 0x02, 0x20, 0x0f, 0x26, 0x16,+ 0x7b, 0xe0, 0x92, 0xd4, 0xef, 0x80, 0x6e, 0xe0,+ 0x02, 0xef, 0x1f, 0x20, 0xef, 0x34, 0x27, 0x46,+ 0x4f, 0xa7, 0xfb, 0x00, 0xe6, 0x00, 0x2f, 0xc6,+ 0xef, 0x16, 0x66, 0xef, 0x33, 0xe0, 0x0f, 0xef,+ 0x3a, 0x46, 0x0f, 0xe0, 0x80, 0x12, 0xeb, 0x0c,+ 0xe0, 0x04, 0xef, 0x4f, 0xe0, 0x01, 0xeb, 0x11,+ 0xe0, 0x7f, 0xe1, 0x12, 0xe2, 0x12, 0xe1, 0x12,+ 0xc2, 0x00, 0xe2, 0x0a, 0xe1, 0x12, 0xe2, 0x12,+ 0x01, 0x00, 0x21, 0x20, 0x01, 0x20, 0x21, 0x20,+ 0x61, 0x00, 0xe1, 0x00, 0x62, 0x00, 0x02, 0x00,+ 0xc2, 0x00, 0xe2, 0x03, 0xe1, 0x12, 0xe2, 0x12,+ 0x21, 0x00, 0x61, 0x20, 0xe1, 0x00, 0x00, 0xc1,+ 0x00, 0xe2, 0x12, 0x21, 0x00, 0x61, 0x00, 0x81,+ 0x00, 0x01, 0x40, 0xc1, 0x00, 0xe2, 0x12, 0xe1,+ 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe1,+ 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe1,+ 0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x14, 0x20,+ 0xe1, 0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1,+ 0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11,+ 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11, 0x0c,+ 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11, 0x0c, 0xe2,+ 0x11, 0x0c, 0xa2, 0x3f, 0x20, 0xe9, 0x2a, 0xef,+ 0x81, 0x78, 0xe6, 0x2f, 0x6f, 0xe6, 0x2a, 0xef,+ 0x00, 0x06, 0xef, 0x06, 0x06, 0x2f, 0x96, 0xe0,+ 0x07, 0x86, 0x00, 0xe6, 0x07, 0xe0, 0x84, 0xc8,+ 0xc6, 0x00, 0xe6, 0x09, 0x20, 0xc6, 0x00, 0x26,+ 0x00, 0x86, 0xe0, 0x80, 0x4d, 0xe5, 0x25, 0x40,+ 0xc6, 0xc4, 0x20, 0xe9, 0x02, 0x60, 0x05, 0x0f,+ 0xe0, 0x80, 0xe8, 0xe5, 0x24, 0x66, 0xe9, 0x02,+ 0x80, 0x0d, 0xe0, 0x84, 0x78, 0xe5, 0x80, 0x3d,+ 0x20, 0xeb, 0x01, 0xc6, 0xe0, 0x21, 0xe1, 0x1a,+ 0xe2, 0x1a, 0xc6, 0x04, 0x60, 0xe9, 0x02, 0x60,+ 0x36, 0xe0, 0x82, 0x89, 0xeb, 0x33, 0x0f, 0x4b,+ 0x0d, 0x6b, 0xe0, 0x44, 0xeb, 0x25, 0x0f, 0xeb,+ 0x07, 0xe0, 0x80, 0x3a, 0x65, 0x00, 0xe5, 0x13,+ 0x00, 0x25, 0x00, 0x05, 0x20, 0x05, 0x00, 0xe5,+ 0x02, 0x00, 0x65, 0x00, 0x05, 0x00, 0x05, 0xa0,+ 0x05, 0x60, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00,+ 0x45, 0x00, 0x25, 0x00, 0x05, 0x20, 0x05, 0x00,+ 0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x05, 0x00,+ 0x25, 0x00, 0x05, 0x20, 0x65, 0x00, 0xc5, 0x00,+ 0x65, 0x00, 0x65, 0x00, 0x05, 0x00, 0xe5, 0x02,+ 0x00, 0xe5, 0x09, 0x80, 0x45, 0x00, 0x85, 0x00,+ 0xe5, 0x09, 0xe0, 0x2c, 0x2c, 0xe0, 0x80, 0x86,+ 0xef, 0x24, 0x60, 0xef, 0x5c, 0xe0, 0x04, 0xef,+ 0x07, 0x20, 0xef, 0x07, 0x00, 0xef, 0x07, 0x00,+ 0xef, 0x1d, 0xe0, 0x02, 0xeb, 0x05, 0xef, 0x80,+ 0x19, 0xe0, 0x30, 0xef, 0x15, 0xe0, 0x05, 0xef,+ 0x24, 0x60, 0xef, 0x01, 0xc0, 0x2f, 0xe0, 0x06,+ 0xaf, 0xe0, 0x80, 0x12, 0xef, 0x80, 0x73, 0x8e,+ 0xef, 0x82, 0x50, 0xe0, 0x00, 0xef, 0x05, 0x40,+ 0xef, 0x05, 0x40, 0xef, 0x6c, 0xe0, 0x04, 0xef,+ 0x51, 0xc0, 0xef, 0x04, 0xe0, 0x0c, 0xef, 0x04,+ 0x60, 0xef, 0x30, 0xe0, 0x00, 0xef, 0x02, 0xa0,+ 0xef, 0x20, 0xe0, 0x00, 0xef, 0x16, 0x20, 0x2f,+ 0xe0, 0x46, 0xef, 0x71, 0x00, 0xef, 0x4a, 0x00,+ 0xef, 0x7f, 0xe0, 0x04, 0xef, 0x06, 0x20, 0x8f,+ 0x40, 0x4f, 0x80, 0xcf, 0xe0, 0x01, 0xef, 0x11,+ 0xc0, 0xcf, 0xe0, 0x01, 0x4f, 0xe0, 0x05, 0xcf,+ 0xe0, 0x21, 0xef, 0x80, 0x0b, 0x00, 0xef, 0x2f,+ 0xe0, 0x1d, 0xe9, 0x02, 0xe0, 0x83, 0x7e, 0xe5,+ 0xc0, 0x66, 0x56, 0xe0, 0x1a, 0xe5, 0x8f, 0xad,+ 0xe0, 0x03, 0xe5, 0x80, 0x56, 0x20, 0xe5, 0x95,+ 0xfa, 0xe0, 0x06, 0xe5, 0x9c, 0xa9, 0xe0, 0x8b,+ 0x97, 0xe5, 0x81, 0x96, 0xe0, 0x85, 0x5a, 0xe5,+ 0x92, 0xc3, 0xe0, 0xca, 0xac, 0x2e, 0x1b, 0xe0,+ 0x16, 0xfb, 0x58, 0xe0, 0x78, 0xe6, 0x80, 0x68,+ 0xe0, 0xc0, 0xbd, 0x88, 0xfd, 0xc0, 0xbf, 0x76,+ 0x20, 0xfd, 0xc0, 0xbf, 0x76, 0x20,+};++typedef enum {+ UNICODE_SCRIPT_Unknown,+ UNICODE_SCRIPT_Adlam,+ UNICODE_SCRIPT_Ahom,+ UNICODE_SCRIPT_Anatolian_Hieroglyphs,+ UNICODE_SCRIPT_Arabic,+ UNICODE_SCRIPT_Armenian,+ UNICODE_SCRIPT_Avestan,+ UNICODE_SCRIPT_Balinese,+ UNICODE_SCRIPT_Bamum,+ UNICODE_SCRIPT_Bassa_Vah,+ UNICODE_SCRIPT_Batak,+ UNICODE_SCRIPT_Bengali,+ UNICODE_SCRIPT_Bhaiksuki,+ UNICODE_SCRIPT_Bopomofo,+ UNICODE_SCRIPT_Brahmi,+ UNICODE_SCRIPT_Braille,+ UNICODE_SCRIPT_Buginese,+ UNICODE_SCRIPT_Buhid,+ UNICODE_SCRIPT_Canadian_Aboriginal,+ UNICODE_SCRIPT_Carian,+ UNICODE_SCRIPT_Caucasian_Albanian,+ UNICODE_SCRIPT_Chakma,+ UNICODE_SCRIPT_Cham,+ UNICODE_SCRIPT_Cherokee,+ UNICODE_SCRIPT_Chorasmian,+ UNICODE_SCRIPT_Common,+ UNICODE_SCRIPT_Coptic,+ UNICODE_SCRIPT_Cuneiform,+ UNICODE_SCRIPT_Cypriot,+ UNICODE_SCRIPT_Cyrillic,+ UNICODE_SCRIPT_Deseret,+ UNICODE_SCRIPT_Devanagari,+ UNICODE_SCRIPT_Dives_Akuru,+ UNICODE_SCRIPT_Dogra,+ UNICODE_SCRIPT_Duployan,+ UNICODE_SCRIPT_Egyptian_Hieroglyphs,+ UNICODE_SCRIPT_Elbasan,+ UNICODE_SCRIPT_Elymaic,+ UNICODE_SCRIPT_Ethiopic,+ UNICODE_SCRIPT_Georgian,+ UNICODE_SCRIPT_Glagolitic,+ UNICODE_SCRIPT_Gothic,+ UNICODE_SCRIPT_Grantha,+ UNICODE_SCRIPT_Greek,+ UNICODE_SCRIPT_Gujarati,+ UNICODE_SCRIPT_Gunjala_Gondi,+ UNICODE_SCRIPT_Gurmukhi,+ UNICODE_SCRIPT_Han,+ UNICODE_SCRIPT_Hangul,+ UNICODE_SCRIPT_Hanifi_Rohingya,+ UNICODE_SCRIPT_Hanunoo,+ UNICODE_SCRIPT_Hatran,+ UNICODE_SCRIPT_Hebrew,+ UNICODE_SCRIPT_Hiragana,+ UNICODE_SCRIPT_Imperial_Aramaic,+ UNICODE_SCRIPT_Inherited,+ UNICODE_SCRIPT_Inscriptional_Pahlavi,+ UNICODE_SCRIPT_Inscriptional_Parthian,+ UNICODE_SCRIPT_Javanese,+ UNICODE_SCRIPT_Kaithi,+ UNICODE_SCRIPT_Kannada,+ UNICODE_SCRIPT_Katakana,+ UNICODE_SCRIPT_Kayah_Li,+ UNICODE_SCRIPT_Kharoshthi,+ UNICODE_SCRIPT_Khmer,+ UNICODE_SCRIPT_Khojki,+ UNICODE_SCRIPT_Khitan_Small_Script,+ UNICODE_SCRIPT_Khudawadi,+ UNICODE_SCRIPT_Lao,+ UNICODE_SCRIPT_Latin,+ UNICODE_SCRIPT_Lepcha,+ UNICODE_SCRIPT_Limbu,+ UNICODE_SCRIPT_Linear_A,+ UNICODE_SCRIPT_Linear_B,+ UNICODE_SCRIPT_Lisu,+ UNICODE_SCRIPT_Lycian,+ UNICODE_SCRIPT_Lydian,+ UNICODE_SCRIPT_Makasar,+ UNICODE_SCRIPT_Mahajani,+ UNICODE_SCRIPT_Malayalam,+ UNICODE_SCRIPT_Mandaic,+ UNICODE_SCRIPT_Manichaean,+ UNICODE_SCRIPT_Marchen,+ UNICODE_SCRIPT_Masaram_Gondi,+ UNICODE_SCRIPT_Medefaidrin,+ UNICODE_SCRIPT_Meetei_Mayek,+ UNICODE_SCRIPT_Mende_Kikakui,+ UNICODE_SCRIPT_Meroitic_Cursive,+ UNICODE_SCRIPT_Meroitic_Hieroglyphs,+ UNICODE_SCRIPT_Miao,+ UNICODE_SCRIPT_Modi,+ UNICODE_SCRIPT_Mongolian,+ UNICODE_SCRIPT_Mro,+ UNICODE_SCRIPT_Multani,+ UNICODE_SCRIPT_Myanmar,+ UNICODE_SCRIPT_Nabataean,+ UNICODE_SCRIPT_Nandinagari,+ UNICODE_SCRIPT_New_Tai_Lue,+ UNICODE_SCRIPT_Newa,+ UNICODE_SCRIPT_Nko,+ UNICODE_SCRIPT_Nushu,+ UNICODE_SCRIPT_Nyiakeng_Puachue_Hmong,+ UNICODE_SCRIPT_Ogham,+ UNICODE_SCRIPT_Ol_Chiki,+ UNICODE_SCRIPT_Old_Hungarian,+ UNICODE_SCRIPT_Old_Italic,+ UNICODE_SCRIPT_Old_North_Arabian,+ UNICODE_SCRIPT_Old_Permic,+ UNICODE_SCRIPT_Old_Persian,+ UNICODE_SCRIPT_Old_Sogdian,+ UNICODE_SCRIPT_Old_South_Arabian,+ UNICODE_SCRIPT_Old_Turkic,+ UNICODE_SCRIPT_Oriya,+ UNICODE_SCRIPT_Osage,+ UNICODE_SCRIPT_Osmanya,+ UNICODE_SCRIPT_Pahawh_Hmong,+ UNICODE_SCRIPT_Palmyrene,+ UNICODE_SCRIPT_Pau_Cin_Hau,+ UNICODE_SCRIPT_Phags_Pa,+ UNICODE_SCRIPT_Phoenician,+ UNICODE_SCRIPT_Psalter_Pahlavi,+ UNICODE_SCRIPT_Rejang,+ UNICODE_SCRIPT_Runic,+ UNICODE_SCRIPT_Samaritan,+ UNICODE_SCRIPT_Saurashtra,+ UNICODE_SCRIPT_Sharada,+ UNICODE_SCRIPT_Shavian,+ UNICODE_SCRIPT_Siddham,+ UNICODE_SCRIPT_SignWriting,+ UNICODE_SCRIPT_Sinhala,+ UNICODE_SCRIPT_Sogdian,+ UNICODE_SCRIPT_Sora_Sompeng,+ UNICODE_SCRIPT_Soyombo,+ UNICODE_SCRIPT_Sundanese,+ UNICODE_SCRIPT_Syloti_Nagri,+ UNICODE_SCRIPT_Syriac,+ UNICODE_SCRIPT_Tagalog,+ UNICODE_SCRIPT_Tagbanwa,+ UNICODE_SCRIPT_Tai_Le,+ UNICODE_SCRIPT_Tai_Tham,+ UNICODE_SCRIPT_Tai_Viet,+ UNICODE_SCRIPT_Takri,+ UNICODE_SCRIPT_Tamil,+ UNICODE_SCRIPT_Tangut,+ UNICODE_SCRIPT_Telugu,+ UNICODE_SCRIPT_Thaana,+ UNICODE_SCRIPT_Thai,+ UNICODE_SCRIPT_Tibetan,+ UNICODE_SCRIPT_Tifinagh,+ UNICODE_SCRIPT_Tirhuta,+ UNICODE_SCRIPT_Ugaritic,+ UNICODE_SCRIPT_Vai,+ UNICODE_SCRIPT_Wancho,+ UNICODE_SCRIPT_Warang_Citi,+ UNICODE_SCRIPT_Yezidi,+ UNICODE_SCRIPT_Yi,+ UNICODE_SCRIPT_Zanabazar_Square,+ UNICODE_SCRIPT_COUNT,+} UnicodeScriptEnum;++static const char unicode_script_name_table[] =+ "Adlam,Adlm" "\0"+ "Ahom,Ahom" "\0"+ "Anatolian_Hieroglyphs,Hluw" "\0"+ "Arabic,Arab" "\0"+ "Armenian,Armn" "\0"+ "Avestan,Avst" "\0"+ "Balinese,Bali" "\0"+ "Bamum,Bamu" "\0"+ "Bassa_Vah,Bass" "\0"+ "Batak,Batk" "\0"+ "Bengali,Beng" "\0"+ "Bhaiksuki,Bhks" "\0"+ "Bopomofo,Bopo" "\0"+ "Brahmi,Brah" "\0"+ "Braille,Brai" "\0"+ "Buginese,Bugi" "\0"+ "Buhid,Buhd" "\0"+ "Canadian_Aboriginal,Cans" "\0"+ "Carian,Cari" "\0"+ "Caucasian_Albanian,Aghb" "\0"+ "Chakma,Cakm" "\0"+ "Cham,Cham" "\0"+ "Cherokee,Cher" "\0"+ "Chorasmian,Chrs" "\0"+ "Common,Zyyy" "\0"+ "Coptic,Copt,Qaac" "\0"+ "Cuneiform,Xsux" "\0"+ "Cypriot,Cprt" "\0"+ "Cyrillic,Cyrl" "\0"+ "Deseret,Dsrt" "\0"+ "Devanagari,Deva" "\0"+ "Dives_Akuru,Diak" "\0"+ "Dogra,Dogr" "\0"+ "Duployan,Dupl" "\0"+ "Egyptian_Hieroglyphs,Egyp" "\0"+ "Elbasan,Elba" "\0"+ "Elymaic,Elym" "\0"+ "Ethiopic,Ethi" "\0"+ "Georgian,Geor" "\0"+ "Glagolitic,Glag" "\0"+ "Gothic,Goth" "\0"+ "Grantha,Gran" "\0"+ "Greek,Grek" "\0"+ "Gujarati,Gujr" "\0"+ "Gunjala_Gondi,Gong" "\0"+ "Gurmukhi,Guru" "\0"+ "Han,Hani" "\0"+ "Hangul,Hang" "\0"+ "Hanifi_Rohingya,Rohg" "\0"+ "Hanunoo,Hano" "\0"+ "Hatran,Hatr" "\0"+ "Hebrew,Hebr" "\0"+ "Hiragana,Hira" "\0"+ "Imperial_Aramaic,Armi" "\0"+ "Inherited,Zinh,Qaai" "\0"+ "Inscriptional_Pahlavi,Phli" "\0"+ "Inscriptional_Parthian,Prti" "\0"+ "Javanese,Java" "\0"+ "Kaithi,Kthi" "\0"+ "Kannada,Knda" "\0"+ "Katakana,Kana" "\0"+ "Kayah_Li,Kali" "\0"+ "Kharoshthi,Khar" "\0"+ "Khmer,Khmr" "\0"+ "Khojki,Khoj" "\0"+ "Khitan_Small_Script,Kits" "\0"+ "Khudawadi,Sind" "\0"+ "Lao,Laoo" "\0"+ "Latin,Latn" "\0"+ "Lepcha,Lepc" "\0"+ "Limbu,Limb" "\0"+ "Linear_A,Lina" "\0"+ "Linear_B,Linb" "\0"+ "Lisu,Lisu" "\0"+ "Lycian,Lyci" "\0"+ "Lydian,Lydi" "\0"+ "Makasar,Maka" "\0"+ "Mahajani,Mahj" "\0"+ "Malayalam,Mlym" "\0"+ "Mandaic,Mand" "\0"+ "Manichaean,Mani" "\0"+ "Marchen,Marc" "\0"+ "Masaram_Gondi,Gonm" "\0"+ "Medefaidrin,Medf" "\0"+ "Meetei_Mayek,Mtei" "\0"+ "Mende_Kikakui,Mend" "\0"+ "Meroitic_Cursive,Merc" "\0"+ "Meroitic_Hieroglyphs,Mero" "\0"+ "Miao,Plrd" "\0"+ "Modi,Modi" "\0"+ "Mongolian,Mong" "\0"+ "Mro,Mroo" "\0"+ "Multani,Mult" "\0"+ "Myanmar,Mymr" "\0"+ "Nabataean,Nbat" "\0"+ "Nandinagari,Nand" "\0"+ "New_Tai_Lue,Talu" "\0"+ "Newa,Newa" "\0"+ "Nko,Nkoo" "\0"+ "Nushu,Nshu" "\0"+ "Nyiakeng_Puachue_Hmong,Hmnp" "\0"+ "Ogham,Ogam" "\0"+ "Ol_Chiki,Olck" "\0"+ "Old_Hungarian,Hung" "\0"+ "Old_Italic,Ital" "\0"+ "Old_North_Arabian,Narb" "\0"+ "Old_Permic,Perm" "\0"+ "Old_Persian,Xpeo" "\0"+ "Old_Sogdian,Sogo" "\0"+ "Old_South_Arabian,Sarb" "\0"+ "Old_Turkic,Orkh" "\0"+ "Oriya,Orya" "\0"+ "Osage,Osge" "\0"+ "Osmanya,Osma" "\0"+ "Pahawh_Hmong,Hmng" "\0"+ "Palmyrene,Palm" "\0"+ "Pau_Cin_Hau,Pauc" "\0"+ "Phags_Pa,Phag" "\0"+ "Phoenician,Phnx" "\0"+ "Psalter_Pahlavi,Phlp" "\0"+ "Rejang,Rjng" "\0"+ "Runic,Runr" "\0"+ "Samaritan,Samr" "\0"+ "Saurashtra,Saur" "\0"+ "Sharada,Shrd" "\0"+ "Shavian,Shaw" "\0"+ "Siddham,Sidd" "\0"+ "SignWriting,Sgnw" "\0"+ "Sinhala,Sinh" "\0"+ "Sogdian,Sogd" "\0"+ "Sora_Sompeng,Sora" "\0"+ "Soyombo,Soyo" "\0"+ "Sundanese,Sund" "\0"+ "Syloti_Nagri,Sylo" "\0"+ "Syriac,Syrc" "\0"+ "Tagalog,Tglg" "\0"+ "Tagbanwa,Tagb" "\0"+ "Tai_Le,Tale" "\0"+ "Tai_Tham,Lana" "\0"+ "Tai_Viet,Tavt" "\0"+ "Takri,Takr" "\0"+ "Tamil,Taml" "\0"+ "Tangut,Tang" "\0"+ "Telugu,Telu" "\0"+ "Thaana,Thaa" "\0"+ "Thai,Thai" "\0"+ "Tibetan,Tibt" "\0"+ "Tifinagh,Tfng" "\0"+ "Tirhuta,Tirh" "\0"+ "Ugaritic,Ugar" "\0"+ "Vai,Vaii" "\0"+ "Wancho,Wcho" "\0"+ "Warang_Citi,Wara" "\0"+ "Yezidi,Yezi" "\0"+ "Yi,Yiii" "\0"+ "Zanabazar_Square,Zanb" "\0"+;++static const uint8_t unicode_script_table[2609] = {+ 0xc0, 0x19, 0x99, 0x45, 0x85, 0x19, 0x99, 0x45,+ 0xae, 0x19, 0x80, 0x45, 0x8e, 0x19, 0x80, 0x45,+ 0x84, 0x19, 0x96, 0x45, 0x80, 0x19, 0x9e, 0x45,+ 0x80, 0x19, 0xe1, 0x60, 0x45, 0xa6, 0x19, 0x84,+ 0x45, 0x84, 0x19, 0x81, 0x0d, 0x93, 0x19, 0xe0,+ 0x0f, 0x37, 0x83, 0x2b, 0x80, 0x19, 0x82, 0x2b,+ 0x01, 0x83, 0x2b, 0x80, 0x19, 0x80, 0x2b, 0x03,+ 0x80, 0x2b, 0x80, 0x19, 0x80, 0x2b, 0x80, 0x19,+ 0x82, 0x2b, 0x00, 0x80, 0x2b, 0x00, 0x93, 0x2b,+ 0x00, 0xbe, 0x2b, 0x8d, 0x1a, 0x8f, 0x2b, 0xe0,+ 0x24, 0x1d, 0x81, 0x37, 0xe0, 0x48, 0x1d, 0x00,+ 0xa5, 0x05, 0x01, 0xb1, 0x05, 0x01, 0x82, 0x05,+ 0x00, 0xb6, 0x34, 0x07, 0x9a, 0x34, 0x03, 0x85,+ 0x34, 0x0a, 0x84, 0x04, 0x80, 0x19, 0x85, 0x04,+ 0x80, 0x19, 0x8d, 0x04, 0x80, 0x19, 0x80, 0x04,+ 0x00, 0x80, 0x04, 0x80, 0x19, 0x9f, 0x04, 0x80,+ 0x19, 0x89, 0x04, 0x8a, 0x37, 0x99, 0x04, 0x80,+ 0x37, 0xe0, 0x0b, 0x04, 0x80, 0x19, 0xa1, 0x04,+ 0x8d, 0x87, 0x00, 0xbb, 0x87, 0x01, 0x82, 0x87,+ 0xaf, 0x04, 0xb1, 0x91, 0x0d, 0xba, 0x63, 0x01,+ 0x82, 0x63, 0xad, 0x7b, 0x01, 0x8e, 0x7b, 0x00,+ 0x9b, 0x50, 0x01, 0x80, 0x50, 0x00, 0x8a, 0x87,+ 0x34, 0x94, 0x04, 0x00, 0x91, 0x04, 0x0a, 0x8e,+ 0x04, 0x80, 0x19, 0x9c, 0x04, 0xd0, 0x1f, 0x83,+ 0x37, 0x8e, 0x1f, 0x81, 0x19, 0x99, 0x1f, 0x83,+ 0x0b, 0x00, 0x87, 0x0b, 0x01, 0x81, 0x0b, 0x01,+ 0x95, 0x0b, 0x00, 0x86, 0x0b, 0x00, 0x80, 0x0b,+ 0x02, 0x83, 0x0b, 0x01, 0x88, 0x0b, 0x01, 0x81,+ 0x0b, 0x01, 0x83, 0x0b, 0x07, 0x80, 0x0b, 0x03,+ 0x81, 0x0b, 0x00, 0x84, 0x0b, 0x01, 0x98, 0x0b,+ 0x01, 0x82, 0x2e, 0x00, 0x85, 0x2e, 0x03, 0x81,+ 0x2e, 0x01, 0x95, 0x2e, 0x00, 0x86, 0x2e, 0x00,+ 0x81, 0x2e, 0x00, 0x81, 0x2e, 0x00, 0x81, 0x2e,+ 0x01, 0x80, 0x2e, 0x00, 0x84, 0x2e, 0x03, 0x81,+ 0x2e, 0x01, 0x82, 0x2e, 0x02, 0x80, 0x2e, 0x06,+ 0x83, 0x2e, 0x00, 0x80, 0x2e, 0x06, 0x90, 0x2e,+ 0x09, 0x82, 0x2c, 0x00, 0x88, 0x2c, 0x00, 0x82,+ 0x2c, 0x00, 0x95, 0x2c, 0x00, 0x86, 0x2c, 0x00,+ 0x81, 0x2c, 0x00, 0x84, 0x2c, 0x01, 0x89, 0x2c,+ 0x00, 0x82, 0x2c, 0x00, 0x82, 0x2c, 0x01, 0x80,+ 0x2c, 0x0e, 0x83, 0x2c, 0x01, 0x8b, 0x2c, 0x06,+ 0x86, 0x2c, 0x00, 0x82, 0x70, 0x00, 0x87, 0x70,+ 0x01, 0x81, 0x70, 0x01, 0x95, 0x70, 0x00, 0x86,+ 0x70, 0x00, 0x81, 0x70, 0x00, 0x84, 0x70, 0x01,+ 0x88, 0x70, 0x01, 0x81, 0x70, 0x01, 0x82, 0x70,+ 0x06, 0x82, 0x70, 0x03, 0x81, 0x70, 0x00, 0x84,+ 0x70, 0x01, 0x91, 0x70, 0x09, 0x81, 0x8e, 0x00,+ 0x85, 0x8e, 0x02, 0x82, 0x8e, 0x00, 0x83, 0x8e,+ 0x02, 0x81, 0x8e, 0x00, 0x80, 0x8e, 0x00, 0x81,+ 0x8e, 0x02, 0x81, 0x8e, 0x02, 0x82, 0x8e, 0x02,+ 0x8b, 0x8e, 0x03, 0x84, 0x8e, 0x02, 0x82, 0x8e,+ 0x00, 0x83, 0x8e, 0x01, 0x80, 0x8e, 0x05, 0x80,+ 0x8e, 0x0d, 0x94, 0x8e, 0x04, 0x8c, 0x90, 0x00,+ 0x82, 0x90, 0x00, 0x96, 0x90, 0x00, 0x8f, 0x90,+ 0x02, 0x87, 0x90, 0x00, 0x82, 0x90, 0x00, 0x83,+ 0x90, 0x06, 0x81, 0x90, 0x00, 0x82, 0x90, 0x04,+ 0x83, 0x90, 0x01, 0x89, 0x90, 0x06, 0x88, 0x90,+ 0x8c, 0x3c, 0x00, 0x82, 0x3c, 0x00, 0x96, 0x3c,+ 0x00, 0x89, 0x3c, 0x00, 0x84, 0x3c, 0x01, 0x88,+ 0x3c, 0x00, 0x82, 0x3c, 0x00, 0x83, 0x3c, 0x06,+ 0x81, 0x3c, 0x06, 0x80, 0x3c, 0x00, 0x83, 0x3c,+ 0x01, 0x89, 0x3c, 0x00, 0x81, 0x3c, 0x0c, 0x8c,+ 0x4f, 0x00, 0x82, 0x4f, 0x00, 0xb2, 0x4f, 0x00,+ 0x82, 0x4f, 0x00, 0x85, 0x4f, 0x03, 0x8f, 0x4f,+ 0x01, 0x99, 0x4f, 0x00, 0x82, 0x81, 0x00, 0x91,+ 0x81, 0x02, 0x97, 0x81, 0x00, 0x88, 0x81, 0x00,+ 0x80, 0x81, 0x01, 0x86, 0x81, 0x02, 0x80, 0x81,+ 0x03, 0x85, 0x81, 0x00, 0x80, 0x81, 0x00, 0x87,+ 0x81, 0x05, 0x89, 0x81, 0x01, 0x82, 0x81, 0x0b,+ 0xb9, 0x92, 0x03, 0x80, 0x19, 0x9b, 0x92, 0x24,+ 0x81, 0x44, 0x00, 0x80, 0x44, 0x00, 0x84, 0x44,+ 0x00, 0x97, 0x44, 0x00, 0x80, 0x44, 0x00, 0x96,+ 0x44, 0x01, 0x84, 0x44, 0x00, 0x80, 0x44, 0x00,+ 0x85, 0x44, 0x01, 0x89, 0x44, 0x01, 0x83, 0x44,+ 0x1f, 0xc7, 0x93, 0x00, 0xa3, 0x93, 0x03, 0xa6,+ 0x93, 0x00, 0xa3, 0x93, 0x00, 0x8e, 0x93, 0x00,+ 0x86, 0x93, 0x83, 0x19, 0x81, 0x93, 0x24, 0xe0,+ 0x3f, 0x5e, 0xa5, 0x27, 0x00, 0x80, 0x27, 0x04,+ 0x80, 0x27, 0x01, 0xaa, 0x27, 0x80, 0x19, 0x83,+ 0x27, 0xe0, 0x9f, 0x30, 0xc8, 0x26, 0x00, 0x83,+ 0x26, 0x01, 0x86, 0x26, 0x00, 0x80, 0x26, 0x00,+ 0x83, 0x26, 0x01, 0xa8, 0x26, 0x00, 0x83, 0x26,+ 0x01, 0xa0, 0x26, 0x00, 0x83, 0x26, 0x01, 0x86,+ 0x26, 0x00, 0x80, 0x26, 0x00, 0x83, 0x26, 0x01,+ 0x8e, 0x26, 0x00, 0xb8, 0x26, 0x00, 0x83, 0x26,+ 0x01, 0xc2, 0x26, 0x01, 0x9f, 0x26, 0x02, 0x99,+ 0x26, 0x05, 0xd5, 0x17, 0x01, 0x85, 0x17, 0x01,+ 0xe2, 0x1f, 0x12, 0x9c, 0x66, 0x02, 0xca, 0x7a,+ 0x82, 0x19, 0x8a, 0x7a, 0x06, 0x8c, 0x88, 0x00,+ 0x86, 0x88, 0x0a, 0x94, 0x32, 0x81, 0x19, 0x08,+ 0x93, 0x11, 0x0b, 0x8c, 0x89, 0x00, 0x82, 0x89,+ 0x00, 0x81, 0x89, 0x0b, 0xdd, 0x40, 0x01, 0x89,+ 0x40, 0x05, 0x89, 0x40, 0x05, 0x81, 0x5b, 0x81,+ 0x19, 0x80, 0x5b, 0x80, 0x19, 0x88, 0x5b, 0x00,+ 0x89, 0x5b, 0x05, 0xd8, 0x5b, 0x06, 0xaa, 0x5b,+ 0x04, 0xc5, 0x12, 0x09, 0x9e, 0x47, 0x00, 0x8b,+ 0x47, 0x03, 0x8b, 0x47, 0x03, 0x80, 0x47, 0x02,+ 0x8b, 0x47, 0x9d, 0x8a, 0x01, 0x84, 0x8a, 0x0a,+ 0xab, 0x61, 0x03, 0x99, 0x61, 0x05, 0x8a, 0x61,+ 0x02, 0x81, 0x61, 0x9f, 0x40, 0x9b, 0x10, 0x01,+ 0x81, 0x10, 0xbe, 0x8b, 0x00, 0x9c, 0x8b, 0x01,+ 0x8a, 0x8b, 0x05, 0x89, 0x8b, 0x05, 0x8d, 0x8b,+ 0x01, 0x90, 0x37, 0x3e, 0xcb, 0x07, 0x03, 0xac,+ 0x07, 0x02, 0xbf, 0x85, 0xb3, 0x0a, 0x07, 0x83,+ 0x0a, 0xb7, 0x46, 0x02, 0x8e, 0x46, 0x02, 0x82,+ 0x46, 0xaf, 0x67, 0x88, 0x1d, 0x06, 0xaa, 0x27,+ 0x01, 0x82, 0x27, 0x87, 0x85, 0x07, 0x82, 0x37,+ 0x80, 0x19, 0x8c, 0x37, 0x80, 0x19, 0x86, 0x37,+ 0x83, 0x19, 0x80, 0x37, 0x85, 0x19, 0x80, 0x37,+ 0x82, 0x19, 0x81, 0x37, 0x80, 0x19, 0x04, 0xa5,+ 0x45, 0x84, 0x2b, 0x80, 0x1d, 0xb0, 0x45, 0x84,+ 0x2b, 0x83, 0x45, 0x84, 0x2b, 0x8c, 0x45, 0x80,+ 0x1d, 0xc5, 0x45, 0x80, 0x2b, 0xb9, 0x37, 0x00,+ 0x84, 0x37, 0xe0, 0x9f, 0x45, 0x95, 0x2b, 0x01,+ 0x85, 0x2b, 0x01, 0xa5, 0x2b, 0x01, 0x85, 0x2b,+ 0x01, 0x87, 0x2b, 0x00, 0x80, 0x2b, 0x00, 0x80,+ 0x2b, 0x00, 0x80, 0x2b, 0x00, 0x9e, 0x2b, 0x01,+ 0xb4, 0x2b, 0x00, 0x8e, 0x2b, 0x00, 0x8d, 0x2b,+ 0x01, 0x85, 0x2b, 0x00, 0x92, 0x2b, 0x01, 0x82,+ 0x2b, 0x00, 0x88, 0x2b, 0x00, 0x8b, 0x19, 0x81,+ 0x37, 0xd6, 0x19, 0x00, 0x8a, 0x19, 0x80, 0x45,+ 0x01, 0x8a, 0x19, 0x80, 0x45, 0x8e, 0x19, 0x00,+ 0x8c, 0x45, 0x02, 0x9f, 0x19, 0x0f, 0xa0, 0x37,+ 0x0e, 0xa5, 0x19, 0x80, 0x2b, 0x82, 0x19, 0x81,+ 0x45, 0x85, 0x19, 0x80, 0x45, 0x9a, 0x19, 0x80,+ 0x45, 0x90, 0x19, 0xa8, 0x45, 0x82, 0x19, 0x03,+ 0xe2, 0x36, 0x19, 0x18, 0x8a, 0x19, 0x14, 0xe3,+ 0x3f, 0x19, 0xe0, 0x9f, 0x0f, 0xe2, 0x13, 0x19,+ 0x01, 0x9f, 0x19, 0x00, 0xe0, 0x08, 0x19, 0xae,+ 0x28, 0x00, 0xae, 0x28, 0x00, 0x9f, 0x45, 0xe0,+ 0x13, 0x1a, 0x04, 0x86, 0x1a, 0xa5, 0x27, 0x00,+ 0x80, 0x27, 0x04, 0x80, 0x27, 0x01, 0xb7, 0x94,+ 0x06, 0x81, 0x94, 0x0d, 0x80, 0x94, 0x96, 0x26,+ 0x08, 0x86, 0x26, 0x00, 0x86, 0x26, 0x00, 0x86,+ 0x26, 0x00, 0x86, 0x26, 0x00, 0x86, 0x26, 0x00,+ 0x86, 0x26, 0x00, 0x86, 0x26, 0x00, 0x86, 0x26,+ 0x00, 0x9f, 0x1d, 0xd2, 0x19, 0x2c, 0x99, 0x2f,+ 0x00, 0xd8, 0x2f, 0x0b, 0xe0, 0x75, 0x2f, 0x19,+ 0x8b, 0x19, 0x03, 0x84, 0x19, 0x80, 0x2f, 0x80,+ 0x19, 0x80, 0x2f, 0x98, 0x19, 0x88, 0x2f, 0x83,+ 0x37, 0x81, 0x30, 0x87, 0x19, 0x83, 0x2f, 0x83,+ 0x19, 0x00, 0xd5, 0x35, 0x01, 0x81, 0x37, 0x81,+ 0x19, 0x82, 0x35, 0x80, 0x19, 0xd9, 0x3d, 0x81,+ 0x19, 0x82, 0x3d, 0x04, 0xaa, 0x0d, 0x00, 0xdd,+ 0x30, 0x00, 0x8f, 0x19, 0x9f, 0x0d, 0xa3, 0x19,+ 0x0b, 0x8f, 0x3d, 0x9e, 0x30, 0x00, 0xbf, 0x19,+ 0x9e, 0x30, 0xd0, 0x19, 0xae, 0x3d, 0x80, 0x19,+ 0xd7, 0x3d, 0xe0, 0x47, 0x19, 0xf0, 0x09, 0x5f,+ 0x2f, 0xbf, 0x19, 0xf0, 0x41, 0x9c, 0x2f, 0x02,+ 0xe4, 0x2c, 0x9b, 0x02, 0xb6, 0x9b, 0x08, 0xaf,+ 0x4a, 0xe0, 0xcb, 0x97, 0x13, 0xdf, 0x1d, 0xd7,+ 0x08, 0x07, 0xa1, 0x19, 0xe0, 0x05, 0x45, 0x82,+ 0x19, 0xb4, 0x45, 0x01, 0x88, 0x45, 0x29, 0x8a,+ 0x45, 0xac, 0x86, 0x02, 0x89, 0x19, 0x05, 0xb7,+ 0x76, 0x07, 0xc5, 0x7c, 0x07, 0x8b, 0x7c, 0x05,+ 0x9f, 0x1f, 0xad, 0x3e, 0x80, 0x19, 0x80, 0x3e,+ 0xa3, 0x79, 0x0a, 0x80, 0x79, 0x9c, 0x30, 0x02,+ 0xcd, 0x3a, 0x00, 0x80, 0x19, 0x89, 0x3a, 0x03,+ 0x81, 0x3a, 0x9e, 0x5e, 0x00, 0xb6, 0x16, 0x08,+ 0x8d, 0x16, 0x01, 0x89, 0x16, 0x01, 0x83, 0x16,+ 0x9f, 0x5e, 0xc2, 0x8c, 0x17, 0x84, 0x8c, 0x96,+ 0x55, 0x09, 0x85, 0x26, 0x01, 0x85, 0x26, 0x01,+ 0x85, 0x26, 0x08, 0x86, 0x26, 0x00, 0x86, 0x26,+ 0x00, 0xaa, 0x45, 0x80, 0x19, 0x88, 0x45, 0x80,+ 0x2b, 0x83, 0x45, 0x81, 0x19, 0x03, 0xcf, 0x17,+ 0xad, 0x55, 0x01, 0x89, 0x55, 0x05, 0xf0, 0x1b,+ 0x43, 0x30, 0x0b, 0x96, 0x30, 0x03, 0xb0, 0x30,+ 0x70, 0x10, 0xa3, 0xe1, 0x0d, 0x2f, 0x01, 0xe0,+ 0x09, 0x2f, 0x25, 0x86, 0x45, 0x0b, 0x84, 0x05,+ 0x04, 0x99, 0x34, 0x00, 0x84, 0x34, 0x00, 0x80,+ 0x34, 0x00, 0x81, 0x34, 0x00, 0x81, 0x34, 0x00,+ 0x89, 0x34, 0xe0, 0x11, 0x04, 0x10, 0xe1, 0x0a,+ 0x04, 0x81, 0x19, 0x0f, 0xbf, 0x04, 0x01, 0xb5,+ 0x04, 0x27, 0x8d, 0x04, 0x01, 0x8f, 0x37, 0x89,+ 0x19, 0x05, 0x8d, 0x37, 0x81, 0x1d, 0xa2, 0x19,+ 0x00, 0x92, 0x19, 0x00, 0x83, 0x19, 0x03, 0x84,+ 0x04, 0x00, 0xe0, 0x26, 0x04, 0x01, 0x80, 0x19,+ 0x00, 0x9f, 0x19, 0x99, 0x45, 0x85, 0x19, 0x99,+ 0x45, 0x8a, 0x19, 0x89, 0x3d, 0x80, 0x19, 0xac,+ 0x3d, 0x81, 0x19, 0x9e, 0x30, 0x02, 0x85, 0x30,+ 0x01, 0x85, 0x30, 0x01, 0x85, 0x30, 0x01, 0x82,+ 0x30, 0x02, 0x86, 0x19, 0x00, 0x86, 0x19, 0x09,+ 0x84, 0x19, 0x01, 0x8b, 0x49, 0x00, 0x99, 0x49,+ 0x00, 0x92, 0x49, 0x00, 0x81, 0x49, 0x00, 0x8e,+ 0x49, 0x01, 0x8d, 0x49, 0x21, 0xe0, 0x1a, 0x49,+ 0x04, 0x82, 0x19, 0x03, 0xac, 0x19, 0x02, 0x88,+ 0x19, 0xce, 0x2b, 0x00, 0x8c, 0x19, 0x02, 0x80,+ 0x2b, 0x2e, 0xac, 0x19, 0x80, 0x37, 0x60, 0x21,+ 0x9c, 0x4b, 0x02, 0xb0, 0x13, 0x0e, 0x80, 0x37,+ 0x9a, 0x19, 0x03, 0xa3, 0x69, 0x08, 0x82, 0x69,+ 0x9a, 0x29, 0x04, 0xaa, 0x6b, 0x04, 0x9d, 0x96,+ 0x00, 0x80, 0x96, 0xa3, 0x6c, 0x03, 0x8d, 0x6c,+ 0x29, 0xcf, 0x1e, 0xaf, 0x7e, 0x9d, 0x72, 0x01,+ 0x89, 0x72, 0x05, 0xa3, 0x71, 0x03, 0xa3, 0x71,+ 0x03, 0xa7, 0x24, 0x07, 0xb3, 0x14, 0x0a, 0x80,+ 0x14, 0x60, 0x2f, 0xe0, 0xd6, 0x48, 0x08, 0x95,+ 0x48, 0x09, 0x87, 0x48, 0x60, 0x37, 0x85, 0x1c,+ 0x01, 0x80, 0x1c, 0x00, 0xab, 0x1c, 0x00, 0x81,+ 0x1c, 0x02, 0x80, 0x1c, 0x01, 0x80, 0x1c, 0x95,+ 0x36, 0x00, 0x88, 0x36, 0x9f, 0x74, 0x9e, 0x5f,+ 0x07, 0x88, 0x5f, 0x2f, 0x92, 0x33, 0x00, 0x81,+ 0x33, 0x04, 0x84, 0x33, 0x9b, 0x77, 0x02, 0x80,+ 0x77, 0x99, 0x4c, 0x04, 0x80, 0x4c, 0x3f, 0x9f,+ 0x58, 0x97, 0x57, 0x03, 0x93, 0x57, 0x01, 0xad,+ 0x57, 0x83, 0x3f, 0x00, 0x81, 0x3f, 0x04, 0x87,+ 0x3f, 0x00, 0x82, 0x3f, 0x00, 0x9c, 0x3f, 0x01,+ 0x82, 0x3f, 0x03, 0x89, 0x3f, 0x06, 0x88, 0x3f,+ 0x06, 0x9f, 0x6e, 0x9f, 0x6a, 0x1f, 0xa6, 0x51,+ 0x03, 0x8b, 0x51, 0x08, 0xb5, 0x06, 0x02, 0x86,+ 0x06, 0x95, 0x39, 0x01, 0x87, 0x39, 0x92, 0x38,+ 0x04, 0x87, 0x38, 0x91, 0x78, 0x06, 0x83, 0x78,+ 0x0b, 0x86, 0x78, 0x4f, 0xc8, 0x6f, 0x36, 0xb2,+ 0x68, 0x0c, 0xb2, 0x68, 0x06, 0x85, 0x68, 0xa7,+ 0x31, 0x07, 0x89, 0x31, 0x60, 0xc5, 0x9e, 0x04,+ 0x00, 0xa9, 0x9a, 0x00, 0x82, 0x9a, 0x01, 0x81,+ 0x9a, 0x4d, 0xa7, 0x6d, 0x07, 0xa9, 0x82, 0x55,+ 0x9b, 0x18, 0x13, 0x96, 0x25, 0x08, 0xcd, 0x0e,+ 0x03, 0x9d, 0x0e, 0x0e, 0x80, 0x0e, 0xc1, 0x3b,+ 0x0a, 0x80, 0x3b, 0x01, 0x98, 0x83, 0x06, 0x89,+ 0x83, 0x05, 0xb4, 0x15, 0x00, 0x91, 0x15, 0x07,+ 0xa6, 0x4e, 0x08, 0xdf, 0x7d, 0x00, 0x93, 0x81,+ 0x0a, 0x91, 0x41, 0x00, 0xab, 0x41, 0x40, 0x86,+ 0x5d, 0x00, 0x80, 0x5d, 0x00, 0x83, 0x5d, 0x00,+ 0x8e, 0x5d, 0x00, 0x8a, 0x5d, 0x05, 0xba, 0x43,+ 0x04, 0x89, 0x43, 0x05, 0x83, 0x2a, 0x00, 0x87,+ 0x2a, 0x01, 0x81, 0x2a, 0x01, 0x95, 0x2a, 0x00,+ 0x86, 0x2a, 0x00, 0x81, 0x2a, 0x00, 0x84, 0x2a,+ 0x00, 0x80, 0x37, 0x88, 0x2a, 0x01, 0x81, 0x2a,+ 0x01, 0x82, 0x2a, 0x01, 0x80, 0x2a, 0x05, 0x80,+ 0x2a, 0x04, 0x86, 0x2a, 0x01, 0x86, 0x2a, 0x02,+ 0x84, 0x2a, 0x60, 0x2a, 0xdb, 0x62, 0x00, 0x84,+ 0x62, 0x1d, 0xc7, 0x95, 0x07, 0x89, 0x95, 0x60,+ 0x45, 0xb5, 0x7f, 0x01, 0xa5, 0x7f, 0x21, 0xc4,+ 0x5a, 0x0a, 0x89, 0x5a, 0x05, 0x8c, 0x5b, 0x12,+ 0xb8, 0x8d, 0x06, 0x89, 0x8d, 0x35, 0x9a, 0x02,+ 0x01, 0x8e, 0x02, 0x03, 0x8f, 0x02, 0x60, 0x5f,+ 0xbb, 0x21, 0x60, 0x03, 0xd2, 0x99, 0x0b, 0x80,+ 0x99, 0x86, 0x20, 0x01, 0x80, 0x20, 0x01, 0x87,+ 0x20, 0x00, 0x81, 0x20, 0x00, 0x9d, 0x20, 0x00,+ 0x81, 0x20, 0x01, 0x8b, 0x20, 0x08, 0x89, 0x20,+ 0x45, 0x87, 0x60, 0x01, 0xad, 0x60, 0x01, 0x8a,+ 0x60, 0x1a, 0xc7, 0x9c, 0x07, 0xd2, 0x84, 0x1c,+ 0xb8, 0x75, 0x60, 0xa6, 0x88, 0x0c, 0x00, 0xac,+ 0x0c, 0x00, 0x8d, 0x0c, 0x09, 0x9c, 0x0c, 0x02,+ 0x9f, 0x52, 0x01, 0x95, 0x52, 0x00, 0x8d, 0x52,+ 0x48, 0x86, 0x53, 0x00, 0x81, 0x53, 0x00, 0xab,+ 0x53, 0x02, 0x80, 0x53, 0x00, 0x81, 0x53, 0x00,+ 0x88, 0x53, 0x07, 0x89, 0x53, 0x05, 0x85, 0x2d,+ 0x00, 0x81, 0x2d, 0x00, 0xa4, 0x2d, 0x00, 0x81,+ 0x2d, 0x00, 0x85, 0x2d, 0x06, 0x89, 0x2d, 0x60,+ 0xd5, 0x98, 0x4d, 0x60, 0x56, 0x80, 0x4a, 0x0e,+ 0xb1, 0x8e, 0x0c, 0x80, 0x8e, 0xe3, 0x39, 0x1b,+ 0x60, 0x05, 0xe0, 0x0e, 0x1b, 0x00, 0x84, 0x1b,+ 0x0a, 0xe0, 0x63, 0x1b, 0x6a, 0x5b, 0xe3, 0xce,+ 0x23, 0x00, 0x88, 0x23, 0x6f, 0x66, 0xe1, 0xe6,+ 0x03, 0x70, 0x11, 0x58, 0xe1, 0xd8, 0x08, 0x06,+ 0x9e, 0x5c, 0x00, 0x89, 0x5c, 0x03, 0x81, 0x5c,+ 0x5f, 0x9d, 0x09, 0x01, 0x85, 0x09, 0x09, 0xc5,+ 0x73, 0x09, 0x89, 0x73, 0x00, 0x86, 0x73, 0x00,+ 0x94, 0x73, 0x04, 0x92, 0x73, 0x62, 0x4f, 0xda,+ 0x54, 0x60, 0x04, 0xca, 0x59, 0x03, 0xb8, 0x59,+ 0x06, 0x90, 0x59, 0x3f, 0x80, 0x8f, 0x80, 0x64,+ 0x81, 0x19, 0x80, 0x42, 0x0a, 0x81, 0x2f, 0x0d,+ 0xf0, 0x07, 0x97, 0x8f, 0x07, 0xe2, 0x9f, 0x8f,+ 0xe1, 0x75, 0x42, 0x29, 0x88, 0x8f, 0x70, 0x12,+ 0x96, 0x80, 0x3d, 0xe0, 0xbd, 0x35, 0x30, 0x82,+ 0x35, 0x10, 0x83, 0x3d, 0x07, 0xe1, 0x2b, 0x64,+ 0x68, 0xa3, 0xe0, 0x0a, 0x22, 0x04, 0x8c, 0x22,+ 0x02, 0x88, 0x22, 0x06, 0x89, 0x22, 0x01, 0x83,+ 0x22, 0x83, 0x19, 0x70, 0x02, 0xfb, 0xe0, 0x95,+ 0x19, 0x09, 0xa6, 0x19, 0x01, 0xbd, 0x19, 0x82,+ 0x37, 0x90, 0x19, 0x87, 0x37, 0x81, 0x19, 0x86,+ 0x37, 0x9d, 0x19, 0x83, 0x37, 0xba, 0x19, 0x16,+ 0xc5, 0x2b, 0x60, 0x39, 0x93, 0x19, 0x0b, 0xd6,+ 0x19, 0x08, 0x98, 0x19, 0x60, 0x26, 0xd4, 0x19,+ 0x00, 0xc6, 0x19, 0x00, 0x81, 0x19, 0x01, 0x80,+ 0x19, 0x01, 0x81, 0x19, 0x01, 0x83, 0x19, 0x00,+ 0x8b, 0x19, 0x00, 0x80, 0x19, 0x00, 0x86, 0x19,+ 0x00, 0xc0, 0x19, 0x00, 0x83, 0x19, 0x01, 0x87,+ 0x19, 0x00, 0x86, 0x19, 0x00, 0x9b, 0x19, 0x00,+ 0x83, 0x19, 0x00, 0x84, 0x19, 0x00, 0x80, 0x19,+ 0x02, 0x86, 0x19, 0x00, 0xe0, 0xf3, 0x19, 0x01,+ 0xe0, 0xc3, 0x19, 0x01, 0xb1, 0x19, 0xe2, 0x2b,+ 0x80, 0x0e, 0x84, 0x80, 0x00, 0x8e, 0x80, 0x64,+ 0xef, 0x86, 0x28, 0x00, 0x90, 0x28, 0x01, 0x86,+ 0x28, 0x00, 0x81, 0x28, 0x00, 0x84, 0x28, 0x60,+ 0x74, 0xac, 0x65, 0x02, 0x8d, 0x65, 0x01, 0x89,+ 0x65, 0x03, 0x81, 0x65, 0x61, 0x0f, 0xb9, 0x98,+ 0x04, 0x80, 0x98, 0x64, 0x9f, 0xe0, 0x64, 0x56,+ 0x01, 0x8f, 0x56, 0x28, 0xcb, 0x01, 0x03, 0x89,+ 0x01, 0x03, 0x81, 0x01, 0x62, 0xb0, 0xc3, 0x19,+ 0x4b, 0xbc, 0x19, 0x60, 0x61, 0x83, 0x04, 0x00,+ 0x9a, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80, 0x04,+ 0x01, 0x80, 0x04, 0x00, 0x89, 0x04, 0x00, 0x83,+ 0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x05,+ 0x80, 0x04, 0x03, 0x80, 0x04, 0x00, 0x80, 0x04,+ 0x00, 0x80, 0x04, 0x00, 0x82, 0x04, 0x00, 0x81,+ 0x04, 0x00, 0x80, 0x04, 0x01, 0x80, 0x04, 0x00,+ 0x80, 0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04,+ 0x00, 0x80, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80,+ 0x04, 0x01, 0x83, 0x04, 0x00, 0x86, 0x04, 0x00,+ 0x83, 0x04, 0x00, 0x83, 0x04, 0x00, 0x80, 0x04,+ 0x00, 0x89, 0x04, 0x00, 0x90, 0x04, 0x04, 0x82,+ 0x04, 0x00, 0x84, 0x04, 0x00, 0x90, 0x04, 0x33,+ 0x81, 0x04, 0x60, 0xad, 0xab, 0x19, 0x03, 0xe0,+ 0x03, 0x19, 0x0b, 0x8e, 0x19, 0x01, 0x8e, 0x19,+ 0x00, 0x8e, 0x19, 0x00, 0xa4, 0x19, 0x09, 0xe0,+ 0x4d, 0x19, 0x37, 0x99, 0x19, 0x80, 0x35, 0x81,+ 0x19, 0x0c, 0xab, 0x19, 0x03, 0x88, 0x19, 0x06,+ 0x81, 0x19, 0x0d, 0x85, 0x19, 0x60, 0x39, 0xe3,+ 0x77, 0x19, 0x07, 0x8c, 0x19, 0x02, 0x8c, 0x19,+ 0x02, 0xe0, 0x13, 0x19, 0x0b, 0xd8, 0x19, 0x06,+ 0x8b, 0x19, 0x13, 0x8b, 0x19, 0x03, 0xb7, 0x19,+ 0x07, 0x89, 0x19, 0x05, 0xa7, 0x19, 0x07, 0x9d,+ 0x19, 0x01, 0x81, 0x19, 0x4d, 0xe0, 0x18, 0x19,+ 0x00, 0xd1, 0x19, 0x00, 0xe0, 0x26, 0x19, 0x0b,+ 0x8d, 0x19, 0x01, 0x84, 0x19, 0x02, 0x82, 0x19,+ 0x04, 0x86, 0x19, 0x08, 0x98, 0x19, 0x06, 0x86,+ 0x19, 0x08, 0x82, 0x19, 0x0c, 0x86, 0x19, 0x28,+ 0xe0, 0x32, 0x19, 0x00, 0xb6, 0x19, 0x24, 0x89,+ 0x19, 0x63, 0xa5, 0xf0, 0x96, 0x7d, 0x2f, 0x21,+ 0xef, 0xd4, 0x2f, 0x0a, 0xe0, 0x7d, 0x2f, 0x01,+ 0xf0, 0x06, 0x21, 0x2f, 0x0d, 0xf0, 0x0c, 0xd0,+ 0x2f, 0x6b, 0xbe, 0xe1, 0xbd, 0x2f, 0x65, 0x81,+ 0xf0, 0x02, 0xea, 0x2f, 0x7a, 0xdc, 0x55, 0x80,+ 0x19, 0x1d, 0xdf, 0x19, 0x60, 0x1f, 0xe0, 0x8f,+ 0x37,+};++static const uint8_t unicode_script_ext_table[799] = {+ 0x82, 0xc1, 0x00, 0x00, 0x01, 0x2b, 0x01, 0x00,+ 0x00, 0x01, 0x2b, 0x1c, 0x00, 0x0c, 0x01, 0x45,+ 0x80, 0x92, 0x00, 0x00, 0x02, 0x1d, 0x6b, 0x00,+ 0x02, 0x1d, 0x28, 0x01, 0x02, 0x1d, 0x45, 0x00,+ 0x02, 0x1d, 0x28, 0x81, 0x03, 0x00, 0x00, 0x05,+ 0x04, 0x31, 0x87, 0x91, 0x9a, 0x0d, 0x00, 0x00,+ 0x05, 0x04, 0x31, 0x87, 0x91, 0x9a, 0x00, 0x03,+ 0x04, 0x87, 0x91, 0x01, 0x00, 0x00, 0x05, 0x04,+ 0x31, 0x87, 0x91, 0x9a, 0x1f, 0x00, 0x00, 0x08,+ 0x01, 0x04, 0x50, 0x51, 0x78, 0x31, 0x82, 0x87,+ 0x09, 0x00, 0x0a, 0x02, 0x04, 0x87, 0x09, 0x00,+ 0x09, 0x03, 0x04, 0x91, 0x9a, 0x05, 0x00, 0x00,+ 0x02, 0x04, 0x87, 0x62, 0x00, 0x00, 0x02, 0x04,+ 0x31, 0x81, 0xfb, 0x00, 0x00, 0x0d, 0x0b, 0x1f,+ 0x2a, 0x2c, 0x2e, 0x3c, 0x45, 0x4f, 0x70, 0x7d,+ 0x8e, 0x90, 0x95, 0x00, 0x0c, 0x0b, 0x1f, 0x2a,+ 0x2c, 0x2e, 0x3c, 0x45, 0x4f, 0x70, 0x8e, 0x90,+ 0x95, 0x10, 0x00, 0x00, 0x14, 0x0b, 0x1f, 0x21,+ 0x2d, 0x53, 0x2a, 0x2c, 0x2e, 0x3c, 0x4e, 0x4f,+ 0x60, 0x70, 0x43, 0x81, 0x86, 0x8d, 0x8e, 0x90,+ 0x95, 0x00, 0x15, 0x0b, 0x1f, 0x21, 0x2d, 0x53,+ 0x2a, 0x2c, 0x2e, 0x3c, 0x47, 0x4e, 0x4f, 0x60,+ 0x70, 0x43, 0x81, 0x86, 0x8d, 0x8e, 0x90, 0x95,+ 0x09, 0x04, 0x1f, 0x21, 0x3b, 0x4e, 0x75, 0x00,+ 0x09, 0x03, 0x0b, 0x15, 0x86, 0x75, 0x00, 0x09,+ 0x02, 0x2e, 0x5d, 0x75, 0x00, 0x09, 0x02, 0x2c,+ 0x41, 0x80, 0x75, 0x00, 0x0d, 0x02, 0x2a, 0x8e,+ 0x80, 0x71, 0x00, 0x09, 0x02, 0x3c, 0x60, 0x82,+ 0xcf, 0x00, 0x09, 0x03, 0x15, 0x5e, 0x8a, 0x80,+ 0x30, 0x00, 0x00, 0x02, 0x27, 0x45, 0x85, 0xb8,+ 0x00, 0x01, 0x04, 0x11, 0x32, 0x89, 0x88, 0x80,+ 0x4a, 0x00, 0x01, 0x02, 0x5b, 0x76, 0x00, 0x00,+ 0x00, 0x02, 0x5b, 0x76, 0x84, 0x49, 0x00, 0x00,+ 0x04, 0x0b, 0x1f, 0x2a, 0x3c, 0x00, 0x01, 0x1f,+ 0x00, 0x04, 0x0b, 0x1f, 0x2a, 0x3c, 0x00, 0x02,+ 0x1f, 0x2a, 0x00, 0x01, 0x1f, 0x01, 0x02, 0x0b,+ 0x1f, 0x00, 0x02, 0x1f, 0x7d, 0x00, 0x02, 0x0b,+ 0x1f, 0x00, 0x02, 0x1f, 0x7d, 0x00, 0x06, 0x1f,+ 0x3c, 0x4f, 0x70, 0x8e, 0x90, 0x00, 0x01, 0x1f,+ 0x01, 0x02, 0x1f, 0x7d, 0x01, 0x01, 0x1f, 0x00,+ 0x02, 0x1f, 0x7d, 0x00, 0x02, 0x0b, 0x1f, 0x06,+ 0x01, 0x1f, 0x00, 0x02, 0x1f, 0x60, 0x00, 0x02,+ 0x0b, 0x1f, 0x01, 0x01, 0x1f, 0x00, 0x02, 0x0b,+ 0x1f, 0x03, 0x01, 0x1f, 0x00, 0x08, 0x0b, 0x1f,+ 0x2a, 0x3c, 0x60, 0x70, 0x90, 0x95, 0x00, 0x02,+ 0x1f, 0x2a, 0x00, 0x03, 0x1f, 0x2a, 0x3c, 0x01,+ 0x02, 0x0b, 0x1f, 0x00, 0x01, 0x0b, 0x01, 0x02,+ 0x1f, 0x2a, 0x00, 0x01, 0x60, 0x80, 0x44, 0x00,+ 0x01, 0x01, 0x2b, 0x35, 0x00, 0x00, 0x02, 0x1d,+ 0x87, 0x81, 0xb5, 0x00, 0x00, 0x02, 0x45, 0x5b,+ 0x80, 0x3f, 0x00, 0x00, 0x03, 0x1f, 0x2a, 0x45,+ 0x8c, 0xd1, 0x00, 0x00, 0x02, 0x1d, 0x28, 0x81,+ 0x3c, 0x00, 0x01, 0x06, 0x0d, 0x30, 0x2f, 0x35,+ 0x3d, 0x9b, 0x00, 0x05, 0x0d, 0x30, 0x2f, 0x35,+ 0x3d, 0x01, 0x00, 0x00, 0x01, 0x2f, 0x00, 0x00,+ 0x09, 0x06, 0x0d, 0x30, 0x2f, 0x35, 0x3d, 0x9b,+ 0x00, 0x00, 0x00, 0x05, 0x0d, 0x30, 0x2f, 0x35,+ 0x3d, 0x07, 0x06, 0x0d, 0x30, 0x2f, 0x35, 0x3d,+ 0x9b, 0x03, 0x05, 0x0d, 0x30, 0x2f, 0x35, 0x3d,+ 0x09, 0x00, 0x03, 0x02, 0x0d, 0x2f, 0x01, 0x00,+ 0x00, 0x05, 0x0d, 0x30, 0x2f, 0x35, 0x3d, 0x04,+ 0x02, 0x35, 0x3d, 0x00, 0x00, 0x00, 0x05, 0x0d,+ 0x30, 0x2f, 0x35, 0x3d, 0x03, 0x00, 0x01, 0x03,+ 0x2f, 0x35, 0x3d, 0x01, 0x01, 0x2f, 0x58, 0x00,+ 0x03, 0x02, 0x35, 0x3d, 0x02, 0x00, 0x00, 0x02,+ 0x35, 0x3d, 0x59, 0x00, 0x00, 0x06, 0x0d, 0x30,+ 0x2f, 0x35, 0x3d, 0x9b, 0x00, 0x02, 0x35, 0x3d,+ 0x80, 0x12, 0x00, 0x0f, 0x01, 0x2f, 0x1f, 0x00,+ 0x23, 0x01, 0x2f, 0x3b, 0x00, 0x27, 0x01, 0x2f,+ 0x37, 0x00, 0x30, 0x01, 0x2f, 0x0e, 0x00, 0x0b,+ 0x01, 0x2f, 0x32, 0x00, 0x00, 0x01, 0x2f, 0x57,+ 0x00, 0x18, 0x01, 0x2f, 0x09, 0x00, 0x04, 0x01,+ 0x2f, 0x5f, 0x00, 0x1e, 0x01, 0x2f, 0xc0, 0x31,+ 0xef, 0x00, 0x00, 0x02, 0x1d, 0x28, 0x80, 0x0f,+ 0x00, 0x07, 0x02, 0x2f, 0x45, 0x80, 0xa7, 0x00,+ 0x02, 0x0e, 0x1f, 0x21, 0x2c, 0x2e, 0x41, 0x3c,+ 0x3b, 0x4e, 0x4f, 0x5a, 0x60, 0x43, 0x8d, 0x95,+ 0x02, 0x0d, 0x1f, 0x21, 0x2c, 0x2e, 0x41, 0x3c,+ 0x3b, 0x4e, 0x5a, 0x60, 0x43, 0x8d, 0x95, 0x03,+ 0x0b, 0x1f, 0x21, 0x2c, 0x2e, 0x41, 0x3b, 0x4e,+ 0x5a, 0x43, 0x8d, 0x95, 0x80, 0x36, 0x00, 0x00,+ 0x02, 0x0b, 0x1f, 0x00, 0x00, 0x00, 0x02, 0x1f,+ 0x8e, 0x39, 0x00, 0x00, 0x03, 0x3e, 0x45, 0x5e,+ 0x80, 0x1f, 0x00, 0x00, 0x02, 0x10, 0x3a, 0xc0,+ 0x13, 0xa1, 0x00, 0x00, 0x02, 0x04, 0x91, 0x09,+ 0x00, 0x00, 0x02, 0x04, 0x91, 0x46, 0x00, 0x01,+ 0x05, 0x0d, 0x30, 0x2f, 0x35, 0x3d, 0x80, 0x99,+ 0x00, 0x04, 0x06, 0x0d, 0x30, 0x2f, 0x35, 0x3d,+ 0x9b, 0x09, 0x00, 0x00, 0x02, 0x35, 0x3d, 0x2c,+ 0x00, 0x01, 0x02, 0x35, 0x3d, 0x80, 0xdf, 0x00,+ 0x02, 0x02, 0x1c, 0x49, 0x03, 0x00, 0x2c, 0x03,+ 0x1c, 0x48, 0x49, 0x02, 0x00, 0x08, 0x02, 0x1c,+ 0x49, 0x81, 0x1f, 0x00, 0x1b, 0x02, 0x04, 0x1a,+ 0x8f, 0x84, 0x00, 0x00, 0x02, 0x2a, 0x8e, 0x00,+ 0x00, 0x00, 0x02, 0x2a, 0x8e, 0x36, 0x00, 0x01,+ 0x02, 0x2a, 0x8e, 0x8c, 0x12, 0x00, 0x01, 0x02,+ 0x2a, 0x8e, 0x00, 0x00, 0x00, 0x02, 0x2a, 0x8e,+ 0xc0, 0x5c, 0x4b, 0x00, 0x03, 0x01, 0x22, 0x96,+ 0x3b, 0x00, 0x11, 0x01, 0x2f, 0x9e, 0x5d, 0x00,+ 0x01, 0x01, 0x2f, 0xce, 0xcd, 0x2d, 0x00,+};++static const uint8_t unicode_prop_Hyphen_table[28] = {+ 0xac, 0x80, 0xfe, 0x80, 0x44, 0xdb, 0x80, 0x52,+ 0x7a, 0x80, 0x48, 0x08, 0x81, 0x4e, 0x04, 0x80,+ 0x42, 0xe2, 0x80, 0x60, 0xcd, 0x66, 0x80, 0x40,+ 0xa8, 0x80, 0xd6, 0x80,+};++static const uint8_t unicode_prop_Other_Math_table[200] = {+ 0xdd, 0x80, 0x43, 0x70, 0x11, 0x80, 0x99, 0x09,+ 0x81, 0x5c, 0x1f, 0x80, 0x9a, 0x82, 0x8a, 0x80,+ 0x9f, 0x83, 0x97, 0x81, 0x8d, 0x81, 0xc0, 0x8c,+ 0x18, 0x11, 0x1c, 0x91, 0x03, 0x01, 0x89, 0x00,+ 0x14, 0x28, 0x11, 0x09, 0x02, 0x05, 0x13, 0x24,+ 0xca, 0x21, 0x18, 0x08, 0x08, 0x00, 0x21, 0x0b,+ 0x0b, 0x91, 0x09, 0x00, 0x06, 0x00, 0x29, 0x41,+ 0x21, 0x83, 0x40, 0xa7, 0x08, 0x80, 0x97, 0x80,+ 0x90, 0x80, 0x41, 0xbc, 0x81, 0x8b, 0x88, 0x24,+ 0x21, 0x09, 0x14, 0x8d, 0x00, 0x01, 0x85, 0x97,+ 0x81, 0xb8, 0x00, 0x80, 0x9c, 0x83, 0x88, 0x81,+ 0x41, 0x55, 0x81, 0x9e, 0x89, 0x41, 0x92, 0x95,+ 0xbe, 0x83, 0x9f, 0x81, 0x60, 0xd4, 0x62, 0x00,+ 0x03, 0x80, 0x40, 0xd2, 0x00, 0x80, 0x60, 0xd4,+ 0xc0, 0xd4, 0x80, 0xc6, 0x01, 0x08, 0x09, 0x0b,+ 0x80, 0x8b, 0x00, 0x06, 0x80, 0xc0, 0x03, 0x0f,+ 0x06, 0x80, 0x9b, 0x03, 0x04, 0x00, 0x16, 0x80,+ 0x41, 0x53, 0x81, 0x98, 0x80, 0x98, 0x80, 0x9e,+ 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e,+ 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x07, 0x81,+ 0xb1, 0x55, 0xff, 0x18, 0x9a, 0x01, 0x00, 0x08,+ 0x80, 0x89, 0x03, 0x00, 0x00, 0x28, 0x18, 0x00,+ 0x00, 0x02, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,+ 0x00, 0x01, 0x00, 0x0b, 0x06, 0x03, 0x03, 0x00,+ 0x80, 0x89, 0x80, 0x90, 0x22, 0x04, 0x80, 0x90,+};++static const uint8_t unicode_prop_Other_Alphabetic_table[411] = {+ 0x43, 0x44, 0x80, 0x42, 0x69, 0x8d, 0x00, 0x01,+ 0x01, 0x00, 0xc7, 0x8a, 0xaf, 0x8c, 0x06, 0x8f,+ 0x80, 0xe4, 0x33, 0x19, 0x0b, 0x80, 0xa2, 0x80,+ 0x9d, 0x8f, 0xe5, 0x8a, 0xe4, 0x0a, 0x88, 0x02,+ 0x03, 0x40, 0xa6, 0x8b, 0x16, 0x85, 0x93, 0xb5,+ 0x09, 0x8e, 0x01, 0x22, 0x89, 0x81, 0x9c, 0x82,+ 0xb9, 0x31, 0x09, 0x81, 0x89, 0x80, 0x89, 0x81,+ 0x9c, 0x82, 0xb9, 0x23, 0x09, 0x0b, 0x80, 0x9d,+ 0x0a, 0x80, 0x8a, 0x82, 0xb9, 0x38, 0x10, 0x81,+ 0x94, 0x81, 0x95, 0x13, 0x82, 0xb9, 0x31, 0x09,+ 0x81, 0x88, 0x81, 0x89, 0x81, 0x9d, 0x80, 0xba,+ 0x22, 0x10, 0x82, 0x89, 0x80, 0xa7, 0x83, 0xb9,+ 0x30, 0x10, 0x17, 0x81, 0x8a, 0x81, 0x9c, 0x82,+ 0xb9, 0x30, 0x10, 0x17, 0x81, 0x8a, 0x81, 0x9b,+ 0x83, 0xb9, 0x30, 0x10, 0x82, 0x89, 0x80, 0x89,+ 0x81, 0x9c, 0x82, 0xca, 0x28, 0x00, 0x87, 0x91,+ 0x81, 0xbc, 0x01, 0x86, 0x91, 0x80, 0xe2, 0x01,+ 0x28, 0x81, 0x8f, 0x80, 0x40, 0xa2, 0x90, 0x8a,+ 0x8a, 0x80, 0xa3, 0xed, 0x8b, 0x00, 0x0b, 0x96,+ 0x1b, 0x10, 0x11, 0x32, 0x83, 0x8c, 0x8b, 0x00,+ 0x89, 0x83, 0x46, 0x73, 0x81, 0x9d, 0x81, 0x9d,+ 0x81, 0x9d, 0x81, 0xc1, 0x92, 0x40, 0xbb, 0x81,+ 0xa1, 0x80, 0xf5, 0x8b, 0x83, 0x88, 0x40, 0xdd,+ 0x84, 0xb8, 0x89, 0x81, 0x93, 0xc9, 0x81, 0xbe,+ 0x84, 0xaf, 0x8e, 0xbb, 0x82, 0x9d, 0x88, 0x09,+ 0xb8, 0x8a, 0xb1, 0x92, 0x41, 0xaf, 0x8d, 0x46,+ 0xc0, 0xb3, 0x48, 0xf5, 0x9f, 0x60, 0x78, 0x73,+ 0x87, 0xa1, 0x81, 0x41, 0x61, 0x07, 0x80, 0x96,+ 0x84, 0xd7, 0x81, 0xb1, 0x8f, 0x00, 0xb8, 0x80,+ 0xa5, 0x84, 0x9b, 0x8b, 0xac, 0x83, 0xaf, 0x8b,+ 0xa4, 0x80, 0xc2, 0x8d, 0x8b, 0x07, 0x81, 0xac,+ 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x80, 0xab, 0x24,+ 0x80, 0x40, 0xec, 0x87, 0x60, 0x4f, 0x32, 0x80,+ 0x48, 0x56, 0x84, 0x46, 0x85, 0x10, 0x0c, 0x83,+ 0x43, 0x13, 0x83, 0x41, 0x82, 0x81, 0x41, 0x52,+ 0x82, 0xb4, 0x8d, 0xbb, 0x80, 0xac, 0x88, 0xc6,+ 0x82, 0xa3, 0x8b, 0x91, 0x81, 0xb8, 0x82, 0xaf,+ 0x8c, 0x8d, 0x81, 0xdb, 0x88, 0x08, 0x28, 0x40,+ 0x9f, 0x89, 0x96, 0x83, 0xb9, 0x31, 0x09, 0x81,+ 0x89, 0x80, 0x89, 0x81, 0x40, 0xd0, 0x8c, 0x02,+ 0xe9, 0x91, 0x40, 0xec, 0x31, 0x86, 0x9c, 0x81,+ 0xd1, 0x8e, 0x00, 0xe9, 0x8a, 0xe6, 0x8d, 0x41,+ 0x00, 0x8c, 0x40, 0xf6, 0x28, 0x09, 0x0a, 0x00,+ 0x80, 0x40, 0x8d, 0x31, 0x2b, 0x80, 0x9b, 0x89,+ 0xa9, 0x20, 0x83, 0x91, 0x8a, 0xad, 0x8d, 0x41,+ 0x96, 0x38, 0x86, 0xd2, 0x95, 0x80, 0x8d, 0xf9,+ 0x2a, 0x00, 0x08, 0x10, 0x02, 0x80, 0xc1, 0x20,+ 0x08, 0x83, 0x41, 0x5b, 0x83, 0x60, 0x50, 0x57,+ 0x00, 0xb6, 0x33, 0xdc, 0x81, 0x60, 0x4c, 0xab,+ 0x80, 0x60, 0x23, 0x60, 0x30, 0x90, 0x0e, 0x01,+ 0x04, 0x49, 0x1b, 0x80, 0x47, 0xe7, 0x99, 0x85,+ 0x99, 0x85, 0x99,+};++static const uint8_t unicode_prop_Other_Lowercase_table[51] = {+ 0x40, 0xa9, 0x80, 0x8e, 0x80, 0x41, 0xf4, 0x88,+ 0x31, 0x9d, 0x84, 0xdf, 0x80, 0xb3, 0x80, 0x59,+ 0xb0, 0xbe, 0x8c, 0x80, 0xa1, 0xa4, 0x42, 0xb0,+ 0x80, 0x8c, 0x80, 0x8f, 0x8c, 0x40, 0xd2, 0x8f,+ 0x43, 0x4f, 0x99, 0x47, 0x91, 0x81, 0x60, 0x7a,+ 0x1d, 0x81, 0x40, 0xd1, 0x80, 0x40, 0x86, 0x81,+ 0x43, 0x61, 0x83,+};++static const uint8_t unicode_prop_Other_Uppercase_table[15] = {+ 0x60, 0x21, 0x5f, 0x8f, 0x43, 0x45, 0x99, 0x61,+ 0xcc, 0x5f, 0x99, 0x85, 0x99, 0x85, 0x99,+};++static const uint8_t unicode_prop_Other_Grapheme_Extend_table[65] = {+ 0x49, 0xbd, 0x80, 0x97, 0x80, 0x41, 0x65, 0x80,+ 0x97, 0x80, 0xe5, 0x80, 0x97, 0x80, 0x40, 0xe9,+ 0x80, 0x91, 0x81, 0xe6, 0x80, 0x97, 0x80, 0xf6,+ 0x80, 0x8e, 0x80, 0x4d, 0x54, 0x80, 0x44, 0xd5,+ 0x80, 0x50, 0x20, 0x81, 0x60, 0xcf, 0x6d, 0x81,+ 0x53, 0x9d, 0x80, 0x97, 0x80, 0x41, 0x57, 0x80,+ 0x8b, 0x80, 0x40, 0xf0, 0x80, 0x43, 0x7f, 0x80,+ 0x60, 0xb8, 0x33, 0x07, 0x84, 0x6c, 0x2e, 0xac,+ 0xdf,+};++static const uint8_t unicode_prop_Other_Default_Ignorable_Code_Point_table[32] = {+ 0x43, 0x4e, 0x80, 0x4e, 0x0e, 0x81, 0x46, 0x52,+ 0x81, 0x48, 0xae, 0x80, 0x50, 0xfd, 0x80, 0x60,+ 0xce, 0x3a, 0x80, 0xce, 0x88, 0x6d, 0x00, 0x06,+ 0x00, 0x9d, 0xdf, 0xff, 0x40, 0xef, 0x4e, 0x0f,+};++static const uint8_t unicode_prop_Other_ID_Start_table[11] = {+ 0x58, 0x84, 0x81, 0x48, 0x90, 0x80, 0x94, 0x80,+ 0x4f, 0x6b, 0x81,+};++static const uint8_t unicode_prop_Other_ID_Continue_table[12] = {+ 0x40, 0xb6, 0x80, 0x42, 0xce, 0x80, 0x4f, 0xe0,+ 0x88, 0x46, 0x67, 0x80,+};++static const uint8_t unicode_prop_Prepended_Concatenation_Mark_table[17] = {+ 0x45, 0xff, 0x85, 0x40, 0xd6, 0x80, 0xb0, 0x80,+ 0x41, 0xd1, 0x80, 0x61, 0x07, 0xd9, 0x80, 0x8e,+ 0x80,+};++static const uint8_t unicode_prop_XID_Start1_table[31] = {+ 0x43, 0x79, 0x80, 0x4a, 0xb7, 0x80, 0xfe, 0x80,+ 0x60, 0x21, 0xe6, 0x81, 0x60, 0xcb, 0xc0, 0x85,+ 0x41, 0x95, 0x81, 0xf3, 0x00, 0x00, 0x00, 0x00,+ 0x00, 0x00, 0x00, 0x80, 0x41, 0x1e, 0x81,+};++static const uint8_t unicode_prop_XID_Continue1_table[23] = {+ 0x43, 0x79, 0x80, 0x60, 0x2d, 0x1f, 0x81, 0x60,+ 0xcb, 0xc0, 0x85, 0x41, 0x95, 0x81, 0xf3, 0x00,+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,+};++static const uint8_t unicode_prop_Changes_When_Titlecased1_table[22] = {+ 0x41, 0xc3, 0x08, 0x08, 0x81, 0xa4, 0x81, 0x4e,+ 0xdc, 0xaa, 0x0a, 0x4e, 0x87, 0x3f, 0x3f, 0x87,+ 0x8b, 0x80, 0x8e, 0x80, 0xae, 0x80,+};++static const uint8_t unicode_prop_Changes_When_Casefolded1_table[33] = {+ 0x40, 0xde, 0x80, 0xcf, 0x80, 0x97, 0x80, 0x44,+ 0x3c, 0x80, 0x59, 0x11, 0x80, 0x40, 0xe4, 0x3f,+ 0x3f, 0x87, 0x89, 0x11, 0x05, 0x02, 0x11, 0x80,+ 0xa9, 0x11, 0x80, 0x60, 0xdb, 0x07, 0x86, 0x8b,+ 0x84,+};++static const uint8_t unicode_prop_Changes_When_NFKC_Casefolded1_table[441] = {+ 0x40, 0x9f, 0x06, 0x00, 0x01, 0x00, 0x01, 0x12,+ 0x10, 0x82, 0x9f, 0x80, 0xcf, 0x01, 0x80, 0x8b,+ 0x07, 0x80, 0xfb, 0x01, 0x01, 0x80, 0xa5, 0x80,+ 0x40, 0xbb, 0x88, 0x9e, 0x29, 0x84, 0xda, 0x08,+ 0x81, 0x89, 0x80, 0xa3, 0x04, 0x02, 0x04, 0x08,+ 0x80, 0xc9, 0x82, 0x9c, 0x80, 0x41, 0x93, 0x80,+ 0x40, 0x93, 0x80, 0xd7, 0x83, 0x42, 0xde, 0x87,+ 0xfb, 0x08, 0x80, 0xd2, 0x01, 0x80, 0xa1, 0x11,+ 0x80, 0x40, 0xfc, 0x81, 0x42, 0xd4, 0x80, 0xfe,+ 0x80, 0xa7, 0x81, 0xad, 0x80, 0xb5, 0x80, 0x88,+ 0x03, 0x03, 0x03, 0x80, 0x8b, 0x80, 0x88, 0x00,+ 0x26, 0x80, 0x90, 0x80, 0x88, 0x03, 0x03, 0x03,+ 0x80, 0x8b, 0x80, 0x41, 0x41, 0x80, 0xe1, 0x81,+ 0x46, 0x52, 0x81, 0xd4, 0x83, 0x45, 0x1c, 0x10,+ 0x8a, 0x80, 0x91, 0x80, 0x9b, 0x8c, 0x80, 0xa1,+ 0xa4, 0x40, 0xd9, 0x80, 0x40, 0xd5, 0x00, 0x00,+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x3f, 0x3f, 0x87,+ 0x89, 0x11, 0x04, 0x00, 0x29, 0x04, 0x12, 0x80,+ 0x88, 0x12, 0x80, 0x88, 0x11, 0x11, 0x04, 0x08,+ 0x8f, 0x00, 0x20, 0x8b, 0x12, 0x2a, 0x08, 0x0b,+ 0x00, 0x07, 0x82, 0x8c, 0x06, 0x92, 0x81, 0x9a,+ 0x80, 0x8c, 0x8a, 0x80, 0xd6, 0x18, 0x10, 0x8a,+ 0x01, 0x0c, 0x0a, 0x00, 0x10, 0x11, 0x02, 0x06,+ 0x05, 0x1c, 0x85, 0x8f, 0x8f, 0x8f, 0x88, 0x80,+ 0x40, 0xa1, 0x08, 0x81, 0x40, 0xf7, 0x81, 0x41,+ 0x34, 0xd5, 0x99, 0x9a, 0x45, 0x20, 0x80, 0xe6,+ 0x82, 0xe4, 0x80, 0x41, 0x9e, 0x81, 0x40, 0xf0,+ 0x80, 0x41, 0x2e, 0x80, 0xd2, 0x80, 0x8b, 0x40,+ 0xd5, 0xa9, 0x80, 0xb4, 0x00, 0x82, 0xdf, 0x09,+ 0x80, 0xde, 0x80, 0xb0, 0xdd, 0x82, 0x8d, 0xdf,+ 0x9e, 0x80, 0xa7, 0x87, 0xae, 0x80, 0x41, 0x7f,+ 0x60, 0x72, 0x9b, 0x81, 0x40, 0xd1, 0x80, 0x40,+ 0x86, 0x81, 0x43, 0x61, 0x83, 0x88, 0x80, 0x60,+ 0x4d, 0x95, 0x41, 0x0d, 0x08, 0x00, 0x81, 0x89,+ 0x00, 0x00, 0x09, 0x82, 0xc3, 0x81, 0xe9, 0xa5,+ 0x86, 0x8b, 0x24, 0x00, 0x97, 0x04, 0x00, 0x01,+ 0x01, 0x80, 0xeb, 0xa0, 0x41, 0x6a, 0x91, 0xbf,+ 0x81, 0xb5, 0xa7, 0x8c, 0x82, 0x99, 0x95, 0x94,+ 0x81, 0x8b, 0x80, 0x92, 0x03, 0x1a, 0x00, 0x80,+ 0x40, 0x86, 0x08, 0x80, 0x9f, 0x99, 0x40, 0x83,+ 0x15, 0x0d, 0x0d, 0x0a, 0x16, 0x06, 0x80, 0x88,+ 0x60, 0xbc, 0xa6, 0x83, 0x54, 0xb9, 0x86, 0x8d,+ 0x87, 0xbf, 0x85, 0x42, 0x3e, 0xd4, 0x80, 0xc6,+ 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b, 0x00, 0x06,+ 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80, 0x9b, 0x03,+ 0x04, 0x00, 0x16, 0x80, 0x41, 0x53, 0x81, 0x41,+ 0x23, 0x81, 0xb1, 0x55, 0xff, 0x18, 0x9a, 0x01,+ 0x00, 0x08, 0x80, 0x89, 0x03, 0x00, 0x00, 0x28,+ 0x18, 0x00, 0x00, 0x02, 0x01, 0x00, 0x08, 0x00,+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b, 0x06, 0x03,+ 0x03, 0x00, 0x80, 0x89, 0x80, 0x90, 0x22, 0x04,+ 0x80, 0x90, 0x42, 0x43, 0x8a, 0x84, 0x9e, 0x80,+ 0x9f, 0x99, 0x82, 0xa2, 0x80, 0xee, 0x82, 0x8c,+ 0xab, 0x83, 0x88, 0x31, 0x49, 0x9d, 0x89, 0x60,+ 0xfc, 0x05, 0x42, 0x1d, 0x6b, 0x05, 0xe1, 0x4f,+ 0xff,+};++static const uint8_t unicode_prop_ASCII_Hex_Digit_table[5] = {+ 0xaf, 0x89, 0x35, 0x99, 0x85,+};++static const uint8_t unicode_prop_Bidi_Control_table[10] = {+ 0x46, 0x1b, 0x80, 0x59, 0xf0, 0x81, 0x99, 0x84,+ 0xb6, 0x83,+};++static const uint8_t unicode_prop_Dash_table[53] = {+ 0xac, 0x80, 0x45, 0x5b, 0x80, 0xb2, 0x80, 0x4e,+ 0x40, 0x80, 0x44, 0x04, 0x80, 0x48, 0x08, 0x85,+ 0xbc, 0x80, 0xa6, 0x80, 0x8e, 0x80, 0x41, 0x85,+ 0x80, 0x4c, 0x03, 0x01, 0x80, 0x9e, 0x0b, 0x80,+ 0x41, 0xda, 0x80, 0x92, 0x80, 0xee, 0x80, 0x60,+ 0xcd, 0x8f, 0x81, 0xa4, 0x80, 0x89, 0x80, 0x40,+ 0xa8, 0x80, 0x4f, 0x9e, 0x80,+};++static const uint8_t unicode_prop_Deprecated_table[23] = {+ 0x41, 0x48, 0x80, 0x45, 0x28, 0x80, 0x49, 0x02,+ 0x00, 0x80, 0x48, 0x28, 0x81, 0x48, 0xc4, 0x85,+ 0x42, 0xb8, 0x81, 0x6d, 0xdc, 0xd5, 0x80,+};++static const uint8_t unicode_prop_Diacritic_table[358] = {+ 0xdd, 0x00, 0x80, 0xc6, 0x05, 0x03, 0x01, 0x81,+ 0x41, 0xf6, 0x40, 0x9e, 0x07, 0x25, 0x90, 0x0b,+ 0x80, 0x88, 0x81, 0x40, 0xfc, 0x84, 0x40, 0xd0,+ 0x80, 0xb6, 0x90, 0x80, 0x9a, 0x00, 0x01, 0x00,+ 0x40, 0x85, 0x3b, 0x81, 0x40, 0x85, 0x0b, 0x0a,+ 0x82, 0xc2, 0x9a, 0xda, 0x8a, 0xb9, 0x8a, 0xa1,+ 0x81, 0x40, 0xc8, 0x9b, 0xbc, 0x80, 0x8f, 0x02,+ 0x83, 0x9b, 0x80, 0xc9, 0x80, 0x8f, 0x80, 0xed,+ 0x80, 0x8f, 0x80, 0xed, 0x80, 0x8f, 0x80, 0xae,+ 0x82, 0xbb, 0x80, 0x8f, 0x06, 0x80, 0xf6, 0x80,+ 0xfe, 0x80, 0xed, 0x80, 0x8f, 0x80, 0xec, 0x81,+ 0x8f, 0x80, 0xfb, 0x80, 0xfb, 0x28, 0x80, 0xea,+ 0x80, 0x8c, 0x84, 0xca, 0x81, 0x9a, 0x00, 0x00,+ 0x03, 0x81, 0xc1, 0x10, 0x81, 0xbd, 0x80, 0xef,+ 0x00, 0x81, 0xa7, 0x0b, 0x84, 0x98, 0x30, 0x80,+ 0x89, 0x81, 0x42, 0xc0, 0x82, 0x44, 0x68, 0x8a,+ 0x88, 0x80, 0x41, 0x5a, 0x82, 0x41, 0x38, 0x39,+ 0x80, 0xaf, 0x8d, 0xf5, 0x80, 0x8e, 0x80, 0xa5,+ 0x88, 0xb5, 0x81, 0x40, 0x89, 0x81, 0xbf, 0x85,+ 0xd1, 0x98, 0x18, 0x28, 0x0a, 0xb1, 0xbe, 0xd8,+ 0x8b, 0xa4, 0x22, 0x82, 0x41, 0xbc, 0x00, 0x82,+ 0x8a, 0x82, 0x8c, 0x82, 0x8c, 0x82, 0x8c, 0x81,+ 0x4c, 0xef, 0x82, 0x41, 0x3c, 0x80, 0x41, 0xf9,+ 0x85, 0xe8, 0x83, 0xde, 0x80, 0x60, 0x75, 0x71,+ 0x80, 0x8b, 0x08, 0x80, 0x9b, 0x81, 0xd1, 0x81,+ 0x8d, 0xa1, 0xe5, 0x82, 0xec, 0x81, 0x40, 0xc9,+ 0x80, 0x9a, 0x91, 0xb8, 0x83, 0xa3, 0x80, 0xde,+ 0x80, 0x8b, 0x80, 0xa3, 0x80, 0x40, 0x94, 0x82,+ 0xc0, 0x83, 0xb2, 0x80, 0xe3, 0x84, 0x88, 0x82,+ 0xff, 0x81, 0x60, 0x4f, 0x2f, 0x80, 0x43, 0x00,+ 0x8f, 0x41, 0x0d, 0x00, 0x80, 0xae, 0x80, 0xac,+ 0x81, 0xc2, 0x80, 0x42, 0xfb, 0x80, 0x48, 0x03,+ 0x81, 0x42, 0x3a, 0x85, 0x42, 0x1d, 0x8a, 0x41,+ 0x67, 0x81, 0xf7, 0x81, 0xbd, 0x80, 0xcb, 0x80,+ 0x88, 0x82, 0xe7, 0x81, 0x40, 0xb1, 0x81, 0xd0,+ 0x80, 0x8f, 0x80, 0x97, 0x32, 0x84, 0x40, 0xcc,+ 0x02, 0x80, 0xfa, 0x81, 0x40, 0xfa, 0x81, 0xfd,+ 0x80, 0xf5, 0x81, 0xf2, 0x80, 0x41, 0x0c, 0x81,+ 0x41, 0x01, 0x0b, 0x80, 0x40, 0x9b, 0x80, 0xd2,+ 0x80, 0x91, 0x80, 0xd0, 0x80, 0x41, 0xa4, 0x80,+ 0x41, 0x01, 0x00, 0x81, 0xd0, 0x80, 0x60, 0x4d,+ 0x57, 0x84, 0xba, 0x86, 0x44, 0x57, 0x90, 0xcf,+ 0x81, 0x60, 0x61, 0x74, 0x12, 0x2f, 0x39, 0x86,+ 0x9d, 0x83, 0x4f, 0x81, 0x86, 0x41, 0xb4, 0x83,+ 0x45, 0xdf, 0x86, 0xec, 0x10, 0x82,+};++static const uint8_t unicode_prop_Extender_table[89] = {+ 0x40, 0xb6, 0x80, 0x42, 0x17, 0x81, 0x43, 0x6d,+ 0x80, 0x41, 0xb8, 0x80, 0x43, 0x59, 0x80, 0x42,+ 0xef, 0x80, 0xfe, 0x80, 0x49, 0x42, 0x80, 0xb7,+ 0x80, 0x42, 0x62, 0x80, 0x41, 0x8d, 0x80, 0xc3,+ 0x80, 0x53, 0x88, 0x80, 0xaa, 0x84, 0xe6, 0x81,+ 0xdc, 0x82, 0x60, 0x6f, 0x15, 0x80, 0x45, 0xf5,+ 0x80, 0x43, 0xc1, 0x80, 0x95, 0x80, 0x40, 0x88,+ 0x80, 0xeb, 0x80, 0x94, 0x81, 0x60, 0x54, 0x7a,+ 0x80, 0x53, 0xeb, 0x80, 0x42, 0x67, 0x82, 0x44,+ 0xce, 0x80, 0x60, 0x50, 0xa8, 0x81, 0x44, 0x9b,+ 0x08, 0x80, 0x60, 0x71, 0x57, 0x81, 0x48, 0x05,+ 0x82,+};++static const uint8_t unicode_prop_Hex_Digit_table[12] = {+ 0xaf, 0x89, 0x35, 0x99, 0x85, 0x60, 0xfe, 0xa8,+ 0x89, 0x35, 0x99, 0x85,+};++static const uint8_t unicode_prop_IDS_Binary_Operator_table[5] = {+ 0x60, 0x2f, 0xef, 0x09, 0x87,+};++static const uint8_t unicode_prop_IDS_Trinary_Operator_table[4] = {+ 0x60, 0x2f, 0xf1, 0x81,+};++static const uint8_t unicode_prop_Ideographic_table[66] = {+ 0x60, 0x30, 0x05, 0x81, 0x98, 0x88, 0x8d, 0x82,+ 0x43, 0xc4, 0x59, 0xbf, 0xbf, 0x60, 0x51, 0xfc,+ 0x60, 0x59, 0x02, 0x41, 0x6d, 0x81, 0xe9, 0x60,+ 0x75, 0x09, 0x80, 0x9a, 0x57, 0xf7, 0x87, 0x44,+ 0xd5, 0xa9, 0x88, 0x60, 0x24, 0x66, 0x41, 0x8b,+ 0x60, 0x4d, 0x03, 0x60, 0xa6, 0xdd, 0xa1, 0x50,+ 0x34, 0x8a, 0x40, 0xdd, 0x81, 0x56, 0x81, 0x8d,+ 0x5d, 0x30, 0x4c, 0x1e, 0x42, 0x1d, 0x45, 0xe1,+ 0x53, 0x4a,+};++static const uint8_t unicode_prop_Join_Control_table[4] = {+ 0x60, 0x20, 0x0b, 0x81,+};++static const uint8_t unicode_prop_Logical_Order_Exception_table[15] = {+ 0x4e, 0x3f, 0x84, 0xfa, 0x84, 0x4a, 0xef, 0x11,+ 0x80, 0x60, 0x90, 0xf9, 0x09, 0x00, 0x81,+};++static const uint8_t unicode_prop_Noncharacter_Code_Point_table[71] = {+ 0x60, 0xfd, 0xcf, 0x9f, 0x42, 0x0d, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,+ 0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81,+};++static const uint8_t unicode_prop_Pattern_Syntax_table[58] = {+ 0xa0, 0x8e, 0x89, 0x86, 0x99, 0x18, 0x80, 0x99,+ 0x83, 0xa1, 0x30, 0x00, 0x08, 0x00, 0x0b, 0x03,+ 0x02, 0x80, 0x96, 0x80, 0x9e, 0x80, 0x5f, 0x17,+ 0x97, 0x87, 0x8e, 0x81, 0x92, 0x80, 0x89, 0x41,+ 0x30, 0x42, 0xcf, 0x40, 0x9f, 0x42, 0x75, 0x9d,+ 0x44, 0x6b, 0x41, 0xff, 0xff, 0x41, 0x80, 0x13,+ 0x98, 0x8e, 0x80, 0x60, 0xcd, 0x0c, 0x81, 0x41,+ 0x04, 0x81,+};++static const uint8_t unicode_prop_Pattern_White_Space_table[11] = {+ 0x88, 0x84, 0x91, 0x80, 0xe3, 0x80, 0x5f, 0x87,+ 0x81, 0x97, 0x81,+};++static const uint8_t unicode_prop_Quotation_Mark_table[31] = {+ 0xa1, 0x03, 0x80, 0x40, 0x82, 0x80, 0x8e, 0x80,+ 0x5f, 0x5b, 0x87, 0x98, 0x81, 0x4e, 0x06, 0x80,+ 0x41, 0xc8, 0x83, 0x8c, 0x82, 0x60, 0xce, 0x20,+ 0x83, 0x40, 0xbc, 0x03, 0x80, 0xd9, 0x81,+};++static const uint8_t unicode_prop_Radical_table[9] = {+ 0x60, 0x2e, 0x7f, 0x99, 0x80, 0xd8, 0x8b, 0x40,+ 0xd5,+};++static const uint8_t unicode_prop_Regional_Indicator_table[4] = {+ 0x61, 0xf1, 0xe5, 0x99,+};++static const uint8_t unicode_prop_Sentence_Terminal_table[188] = {+ 0xa0, 0x80, 0x8b, 0x80, 0x8f, 0x80, 0x45, 0x48,+ 0x80, 0x40, 0x93, 0x81, 0x40, 0xb3, 0x80, 0xaa,+ 0x82, 0x40, 0xf5, 0x80, 0xbc, 0x00, 0x02, 0x81,+ 0x41, 0x24, 0x81, 0x46, 0xe3, 0x81, 0x43, 0x15,+ 0x03, 0x81, 0x43, 0x04, 0x80, 0x40, 0xc5, 0x81,+ 0x40, 0xcb, 0x04, 0x80, 0x41, 0x39, 0x81, 0x41,+ 0x61, 0x83, 0x40, 0xad, 0x09, 0x81, 0x40, 0xda,+ 0x81, 0xc0, 0x81, 0x43, 0xbb, 0x81, 0x88, 0x82,+ 0x4d, 0xe3, 0x80, 0x8c, 0x80, 0x41, 0xc4, 0x80,+ 0x60, 0x74, 0xfb, 0x80, 0x41, 0x0d, 0x81, 0x40,+ 0xe2, 0x02, 0x80, 0x41, 0x7d, 0x81, 0xd5, 0x81,+ 0xde, 0x80, 0x40, 0x97, 0x81, 0x40, 0x92, 0x82,+ 0x40, 0x8f, 0x81, 0x40, 0xf8, 0x80, 0x60, 0x52,+ 0x65, 0x02, 0x81, 0x40, 0xa8, 0x80, 0x8b, 0x80,+ 0x8f, 0x80, 0xc0, 0x80, 0x4a, 0xf3, 0x81, 0x44,+ 0xfc, 0x84, 0x40, 0xec, 0x81, 0xf4, 0x83, 0xfe,+ 0x82, 0x40, 0x80, 0x0d, 0x80, 0x8f, 0x81, 0xd7,+ 0x08, 0x81, 0xeb, 0x80, 0x41, 0xa0, 0x81, 0x41,+ 0x74, 0x0c, 0x8e, 0xe8, 0x81, 0x40, 0xf8, 0x82,+ 0x42, 0x04, 0x00, 0x80, 0x40, 0xfa, 0x81, 0xd6,+ 0x81, 0x41, 0xa3, 0x81, 0x42, 0xb3, 0x81, 0x60,+ 0x4b, 0x74, 0x81, 0x40, 0x84, 0x80, 0xc0, 0x81,+ 0x8a, 0x80, 0x43, 0x52, 0x80, 0x60, 0x4e, 0x05,+ 0x80, 0x5d, 0xe7, 0x80,+};++static const uint8_t unicode_prop_Soft_Dotted_table[71] = {+ 0xe8, 0x81, 0x40, 0xc3, 0x80, 0x41, 0x18, 0x80,+ 0x9d, 0x80, 0xb3, 0x80, 0x93, 0x80, 0x41, 0x3f,+ 0x80, 0xe1, 0x00, 0x80, 0x59, 0x08, 0x80, 0xb2,+ 0x80, 0x8c, 0x02, 0x80, 0x40, 0x83, 0x80, 0x40,+ 0x9c, 0x80, 0x41, 0xa4, 0x80, 0x40, 0xd5, 0x81,+ 0x4b, 0x31, 0x80, 0x61, 0xa7, 0xa4, 0x81, 0xb1,+ 0x81, 0xb1, 0x81, 0xb1, 0x81, 0xb1, 0x81, 0xb1,+ 0x81, 0xb1, 0x81, 0xb1, 0x81, 0xb1, 0x81, 0xb1,+ 0x81, 0xb1, 0x81, 0xb1, 0x81, 0xb1, 0x81,+};++static const uint8_t unicode_prop_Terminal_Punctuation_table[241] = {+ 0xa0, 0x80, 0x89, 0x00, 0x80, 0x8a, 0x0a, 0x80,+ 0x43, 0x3d, 0x07, 0x80, 0x42, 0x00, 0x80, 0xb8,+ 0x80, 0xc7, 0x80, 0x8d, 0x01, 0x81, 0x40, 0xb3,+ 0x80, 0xaa, 0x8a, 0x00, 0x40, 0xea, 0x81, 0xb5,+ 0x8e, 0x9e, 0x80, 0x41, 0x04, 0x81, 0x44, 0xf3,+ 0x81, 0x40, 0xab, 0x03, 0x85, 0x41, 0x36, 0x81,+ 0x43, 0x14, 0x87, 0x43, 0x04, 0x80, 0xfb, 0x82,+ 0xc6, 0x81, 0x40, 0x9c, 0x12, 0x80, 0xa6, 0x19,+ 0x81, 0x41, 0x39, 0x81, 0x41, 0x61, 0x83, 0x40,+ 0xad, 0x08, 0x82, 0x40, 0xda, 0x84, 0xbd, 0x81,+ 0x43, 0xbb, 0x81, 0x88, 0x82, 0x4d, 0xe3, 0x80,+ 0x8c, 0x03, 0x80, 0x89, 0x00, 0x81, 0x41, 0xb0,+ 0x81, 0x60, 0x74, 0xfa, 0x81, 0x41, 0x0c, 0x82,+ 0x40, 0xe2, 0x84, 0x41, 0x7d, 0x81, 0xd5, 0x81,+ 0xde, 0x80, 0x40, 0x96, 0x82, 0x40, 0x92, 0x82,+ 0xfe, 0x80, 0x8f, 0x81, 0x40, 0xf8, 0x80, 0x60,+ 0x52, 0x63, 0x10, 0x83, 0x40, 0xa8, 0x80, 0x89,+ 0x00, 0x80, 0x8a, 0x0a, 0x80, 0xc0, 0x01, 0x80,+ 0x44, 0x39, 0x80, 0xaf, 0x80, 0x44, 0x85, 0x80,+ 0x40, 0xc6, 0x80, 0x41, 0x35, 0x81, 0x40, 0x97,+ 0x85, 0xc3, 0x85, 0xd8, 0x83, 0x43, 0xb7, 0x84,+ 0x40, 0xec, 0x86, 0xef, 0x83, 0xfe, 0x82, 0x40,+ 0x80, 0x0d, 0x80, 0x8f, 0x81, 0xd7, 0x84, 0xeb,+ 0x80, 0x41, 0xa0, 0x82, 0x8b, 0x81, 0x41, 0x65,+ 0x1a, 0x8e, 0xe8, 0x81, 0x40, 0xf8, 0x82, 0x42,+ 0x04, 0x00, 0x80, 0x40, 0xfa, 0x81, 0xd6, 0x0b,+ 0x81, 0x41, 0x9d, 0x82, 0xac, 0x80, 0x42, 0x84,+ 0x81, 0x45, 0x76, 0x84, 0x60, 0x45, 0xf8, 0x81,+ 0x40, 0x84, 0x80, 0xc0, 0x82, 0x89, 0x80, 0x43,+ 0x51, 0x81, 0x60, 0x4e, 0x05, 0x80, 0x5d, 0xe6,+ 0x83,+};++static const uint8_t unicode_prop_Unified_Ideograph_table[42] = {+ 0x60, 0x33, 0xff, 0x59, 0xbf, 0xbf, 0x60, 0x51,+ 0xfc, 0x60, 0x5a, 0x10, 0x08, 0x00, 0x81, 0x89,+ 0x00, 0x00, 0x09, 0x82, 0x61, 0x05, 0xd5, 0x60,+ 0xa6, 0xdd, 0xa1, 0x50, 0x34, 0x8a, 0x40, 0xdd,+ 0x81, 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x54, 0x1e,+ 0x53, 0x4a,+};++static const uint8_t unicode_prop_Variation_Selector_table[12] = {+ 0x58, 0x0a, 0x82, 0x60, 0xe5, 0xf1, 0x8f, 0x6d,+ 0x02, 0xef, 0x40, 0xef,+};++static const uint8_t unicode_prop_White_Space_table[22] = {+ 0x88, 0x84, 0x91, 0x80, 0xe3, 0x80, 0x99, 0x80,+ 0x55, 0xde, 0x80, 0x49, 0x7e, 0x8a, 0x9c, 0x0c,+ 0x80, 0xae, 0x80, 0x4f, 0x9f, 0x80,+};++static const uint8_t unicode_prop_Bidi_Mirrored_table[171] = {+ 0xa7, 0x81, 0x91, 0x00, 0x80, 0x9b, 0x00, 0x80,+ 0x9c, 0x00, 0x80, 0xac, 0x80, 0x8e, 0x80, 0x4e,+ 0x7d, 0x83, 0x47, 0x5c, 0x81, 0x49, 0x9b, 0x81,+ 0x89, 0x81, 0xb5, 0x81, 0x8d, 0x81, 0x40, 0xb0,+ 0x80, 0x40, 0xbf, 0x1a, 0x2a, 0x02, 0x0a, 0x18,+ 0x18, 0x00, 0x03, 0x88, 0x20, 0x80, 0x91, 0x23,+ 0x88, 0x08, 0x00, 0x39, 0x9e, 0x0b, 0x20, 0x88,+ 0x09, 0x92, 0x21, 0x88, 0x21, 0x0b, 0x97, 0x81,+ 0x8f, 0x3b, 0x93, 0x0e, 0x81, 0x44, 0x3c, 0x8d,+ 0xc9, 0x01, 0x18, 0x08, 0x14, 0x1c, 0x12, 0x8d,+ 0x41, 0x92, 0x95, 0x0d, 0x80, 0x8d, 0x38, 0x35,+ 0x10, 0x1c, 0x01, 0x0c, 0x18, 0x02, 0x09, 0x89,+ 0x29, 0x81, 0x8b, 0x92, 0x03, 0x08, 0x00, 0x08,+ 0x03, 0x21, 0x2a, 0x97, 0x81, 0x8a, 0x0b, 0x18,+ 0x09, 0x0b, 0xaa, 0x0f, 0x80, 0xa7, 0x20, 0x00,+ 0x14, 0x22, 0x18, 0x14, 0x00, 0x40, 0xff, 0x80,+ 0x42, 0x02, 0x1a, 0x08, 0x81, 0x8d, 0x09, 0x89,+ 0x41, 0xdd, 0x89, 0x0f, 0x60, 0xce, 0x3c, 0x2c,+ 0x81, 0x40, 0xa1, 0x81, 0x91, 0x00, 0x80, 0x9b,+ 0x00, 0x80, 0x9c, 0x00, 0x00, 0x08, 0x81, 0x60,+ 0xd7, 0x76, 0x80, 0xb8, 0x80, 0xb8, 0x80, 0xb8,+ 0x80, 0xb8, 0x80,+};++static const uint8_t unicode_prop_Emoji_table[238] = {+ 0xa2, 0x05, 0x04, 0x89, 0xee, 0x03, 0x80, 0x5f,+ 0x8c, 0x80, 0x8b, 0x80, 0x40, 0xd7, 0x80, 0x95,+ 0x80, 0xd9, 0x85, 0x8e, 0x81, 0x41, 0x6e, 0x81,+ 0x8b, 0x80, 0x40, 0xa5, 0x80, 0x98, 0x8a, 0x1a,+ 0x40, 0xc6, 0x80, 0x40, 0xe6, 0x81, 0x89, 0x80,+ 0x88, 0x80, 0xb9, 0x18, 0x84, 0x88, 0x01, 0x01,+ 0x09, 0x03, 0x01, 0x00, 0x09, 0x02, 0x02, 0x0f,+ 0x14, 0x00, 0x04, 0x8b, 0x8a, 0x09, 0x00, 0x08,+ 0x80, 0x91, 0x01, 0x81, 0x91, 0x28, 0x00, 0x0a,+ 0x0c, 0x01, 0x0b, 0x81, 0x8a, 0x0c, 0x09, 0x04,+ 0x08, 0x00, 0x81, 0x93, 0x0c, 0x28, 0x19, 0x03,+ 0x01, 0x01, 0x28, 0x01, 0x00, 0x00, 0x05, 0x02,+ 0x05, 0x80, 0x89, 0x81, 0x8e, 0x01, 0x03, 0x00,+ 0x03, 0x10, 0x80, 0x8a, 0x81, 0xaf, 0x82, 0x88,+ 0x80, 0x8d, 0x80, 0x8d, 0x80, 0x41, 0x73, 0x81,+ 0x41, 0xce, 0x82, 0x92, 0x81, 0xb2, 0x03, 0x80,+ 0x44, 0xd9, 0x80, 0x8b, 0x80, 0x42, 0x58, 0x00,+ 0x80, 0x61, 0xbd, 0x69, 0x80, 0x40, 0xc9, 0x80,+ 0x40, 0x9f, 0x81, 0x8b, 0x81, 0x8d, 0x01, 0x89,+ 0xca, 0x99, 0x01, 0x96, 0x80, 0x93, 0x01, 0x88,+ 0x94, 0x81, 0x40, 0xad, 0xa1, 0x81, 0xef, 0x09,+ 0x02, 0x81, 0xd2, 0x0a, 0x80, 0x41, 0x06, 0x80,+ 0xbe, 0x8a, 0x28, 0x97, 0x31, 0x0f, 0x8b, 0x01,+ 0x19, 0x03, 0x81, 0x8c, 0x09, 0x07, 0x81, 0x88,+ 0x04, 0x82, 0x8b, 0x17, 0x11, 0x00, 0x03, 0x05,+ 0x02, 0x05, 0xd5, 0xaf, 0xc5, 0x27, 0x0a, 0x3d,+ 0x10, 0x01, 0x10, 0x81, 0x89, 0x40, 0xe2, 0x8b,+ 0x41, 0x1f, 0xae, 0x80, 0x89, 0x80, 0xb1, 0x80,+ 0xd1, 0x80, 0xb2, 0xef, 0x22, 0x14, 0x86, 0x88,+ 0x98, 0x36, 0x88, 0x82, 0x8c, 0x86,+};++static const uint8_t unicode_prop_Emoji_Component_table[28] = {+ 0xa2, 0x05, 0x04, 0x89, 0x5f, 0xd2, 0x80, 0x40,+ 0xd4, 0x80, 0x60, 0xdd, 0x2a, 0x80, 0x60, 0xf3,+ 0xd5, 0x99, 0x41, 0xfa, 0x84, 0x45, 0xaf, 0x83,+ 0x6c, 0x06, 0x6b, 0xdf,+};++static const uint8_t unicode_prop_Emoji_Modifier_table[4] = {+ 0x61, 0xf3, 0xfa, 0x84,+};++static const uint8_t unicode_prop_Emoji_Modifier_Base_table[66] = {+ 0x60, 0x26, 0x1c, 0x80, 0x40, 0xda, 0x80, 0x8f,+ 0x83, 0x61, 0xcc, 0x76, 0x80, 0xbb, 0x11, 0x01,+ 0x82, 0xf4, 0x09, 0x8a, 0x94, 0x92, 0x10, 0x1a,+ 0x02, 0x30, 0x00, 0x97, 0x80, 0x40, 0xc8, 0x0b,+ 0x80, 0x94, 0x03, 0x81, 0x40, 0xad, 0x12, 0x84,+ 0xd2, 0x80, 0x8f, 0x82, 0x88, 0x80, 0x8a, 0x80,+ 0x42, 0x3e, 0x01, 0x07, 0x3d, 0x80, 0x88, 0x89,+ 0x0a, 0xb7, 0x80, 0xbc, 0x08, 0x08, 0x80, 0x90,+ 0x10, 0x8c,+};++static const uint8_t unicode_prop_Emoji_Presentation_table[144] = {+ 0x60, 0x23, 0x19, 0x81, 0x40, 0xcc, 0x1a, 0x01,+ 0x80, 0x42, 0x08, 0x81, 0x94, 0x81, 0xb1, 0x8b,+ 0xaa, 0x80, 0x92, 0x80, 0x8c, 0x07, 0x81, 0x90,+ 0x0c, 0x0f, 0x04, 0x80, 0x94, 0x06, 0x08, 0x03,+ 0x01, 0x06, 0x03, 0x81, 0x9b, 0x80, 0xa2, 0x00,+ 0x03, 0x10, 0x80, 0xbc, 0x82, 0x97, 0x80, 0x8d,+ 0x80, 0x43, 0x5a, 0x81, 0xb2, 0x03, 0x80, 0x61,+ 0xc4, 0xad, 0x80, 0x40, 0xc9, 0x80, 0x40, 0xbd,+ 0x01, 0x89, 0xca, 0x99, 0x00, 0x97, 0x80, 0x93,+ 0x01, 0x20, 0x82, 0x94, 0x81, 0x40, 0xad, 0xa0,+ 0x8b, 0x88, 0x80, 0xc5, 0x80, 0x95, 0x8b, 0xaa,+ 0x1c, 0x8b, 0x90, 0x10, 0x82, 0xc6, 0x00, 0x80,+ 0x40, 0xba, 0x81, 0xbe, 0x8c, 0x18, 0x97, 0x91,+ 0x80, 0x99, 0x81, 0x8c, 0x80, 0xd5, 0xd4, 0xaf,+ 0xc5, 0x28, 0x12, 0x0a, 0x92, 0x0e, 0x88, 0x40,+ 0xe2, 0x8b, 0x41, 0x1f, 0xae, 0x80, 0x89, 0x80,+ 0xb1, 0x80, 0xd1, 0x80, 0xb2, 0xef, 0x22, 0x14,+ 0x86, 0x88, 0x98, 0x36, 0x88, 0x82, 0x8c, 0x86,+};++static const uint8_t unicode_prop_Extended_Pictographic_table[156] = {+ 0x40, 0xa8, 0x03, 0x80, 0x5f, 0x8c, 0x80, 0x8b,+ 0x80, 0x40, 0xd7, 0x80, 0x95, 0x80, 0xd9, 0x85,+ 0x8e, 0x81, 0x41, 0x6e, 0x81, 0x8b, 0x80, 0xde,+ 0x80, 0xc5, 0x80, 0x98, 0x8a, 0x1a, 0x40, 0xc6,+ 0x80, 0x40, 0xe6, 0x81, 0x89, 0x80, 0x88, 0x80,+ 0xb9, 0x18, 0x28, 0x8b, 0x80, 0xf1, 0x89, 0xf5,+ 0x81, 0x8a, 0x00, 0x00, 0x28, 0x10, 0x28, 0x89,+ 0x81, 0x8e, 0x01, 0x03, 0x00, 0x03, 0x10, 0x80,+ 0x8a, 0x84, 0xac, 0x82, 0x88, 0x80, 0x8d, 0x80,+ 0x8d, 0x80, 0x41, 0x73, 0x81, 0x41, 0xce, 0x82,+ 0x92, 0x81, 0xb2, 0x03, 0x80, 0x44, 0xd9, 0x80,+ 0x8b, 0x80, 0x42, 0x58, 0x00, 0x80, 0x61, 0xbd,+ 0x65, 0x40, 0xff, 0x8c, 0x82, 0x9e, 0x80, 0xbb,+ 0x85, 0x8b, 0x81, 0x8d, 0x01, 0x89, 0x91, 0xb8,+ 0x9a, 0x8e, 0x89, 0x80, 0x93, 0x01, 0x88, 0x03,+ 0x88, 0x41, 0xb1, 0x84, 0x41, 0x3d, 0x87, 0x41,+ 0x09, 0xaf, 0xff, 0xf3, 0x8b, 0xd4, 0xaa, 0x8b,+ 0x83, 0xb7, 0x87, 0x89, 0x85, 0xa7, 0x87, 0x9d,+ 0xd1, 0x8b, 0xae, 0x80, 0x89, 0x80, 0x41, 0xb8,+ 0x40, 0xff, 0x43, 0xfd,+};++static const uint8_t unicode_prop_Default_Ignorable_Code_Point_table[51] = {+ 0x40, 0xac, 0x80, 0x42, 0xa0, 0x80, 0x42, 0xcb,+ 0x80, 0x4b, 0x41, 0x81, 0x46, 0x52, 0x81, 0xd4,+ 0x83, 0x47, 0xfb, 0x84, 0x99, 0x84, 0xb0, 0x8f,+ 0x50, 0xf3, 0x80, 0x60, 0xcc, 0x9a, 0x8f, 0x40,+ 0xee, 0x80, 0x40, 0x9f, 0x80, 0xce, 0x88, 0x60,+ 0xbc, 0xa6, 0x83, 0x54, 0xce, 0x87, 0x6c, 0x2e,+ 0x84, 0x4f, 0xff,+};++typedef enum {+ UNICODE_PROP_Hyphen,+ UNICODE_PROP_Other_Math,+ UNICODE_PROP_Other_Alphabetic,+ UNICODE_PROP_Other_Lowercase,+ UNICODE_PROP_Other_Uppercase,+ UNICODE_PROP_Other_Grapheme_Extend,+ UNICODE_PROP_Other_Default_Ignorable_Code_Point,+ UNICODE_PROP_Other_ID_Start,+ UNICODE_PROP_Other_ID_Continue,+ UNICODE_PROP_Prepended_Concatenation_Mark,+ UNICODE_PROP_ID_Continue1,+ UNICODE_PROP_XID_Start1,+ UNICODE_PROP_XID_Continue1,+ UNICODE_PROP_Changes_When_Titlecased1,+ UNICODE_PROP_Changes_When_Casefolded1,+ UNICODE_PROP_Changes_When_NFKC_Casefolded1,+ UNICODE_PROP_ASCII_Hex_Digit,+ UNICODE_PROP_Bidi_Control,+ UNICODE_PROP_Dash,+ UNICODE_PROP_Deprecated,+ UNICODE_PROP_Diacritic,+ UNICODE_PROP_Extender,+ UNICODE_PROP_Hex_Digit,+ UNICODE_PROP_IDS_Binary_Operator,+ UNICODE_PROP_IDS_Trinary_Operator,+ UNICODE_PROP_Ideographic,+ UNICODE_PROP_Join_Control,+ UNICODE_PROP_Logical_Order_Exception,+ UNICODE_PROP_Noncharacter_Code_Point,+ UNICODE_PROP_Pattern_Syntax,+ UNICODE_PROP_Pattern_White_Space,+ UNICODE_PROP_Quotation_Mark,+ UNICODE_PROP_Radical,+ UNICODE_PROP_Regional_Indicator,+ UNICODE_PROP_Sentence_Terminal,+ UNICODE_PROP_Soft_Dotted,+ UNICODE_PROP_Terminal_Punctuation,+ UNICODE_PROP_Unified_Ideograph,+ UNICODE_PROP_Variation_Selector,+ UNICODE_PROP_White_Space,+ UNICODE_PROP_Bidi_Mirrored,+ UNICODE_PROP_Emoji,+ UNICODE_PROP_Emoji_Component,+ UNICODE_PROP_Emoji_Modifier,+ UNICODE_PROP_Emoji_Modifier_Base,+ UNICODE_PROP_Emoji_Presentation,+ UNICODE_PROP_Extended_Pictographic,+ UNICODE_PROP_Default_Ignorable_Code_Point,+ UNICODE_PROP_ID_Start,+ UNICODE_PROP_Case_Ignorable,+ UNICODE_PROP_ASCII,+ UNICODE_PROP_Alphabetic,+ UNICODE_PROP_Any,+ UNICODE_PROP_Assigned,+ UNICODE_PROP_Cased,+ UNICODE_PROP_Changes_When_Casefolded,+ UNICODE_PROP_Changes_When_Casemapped,+ UNICODE_PROP_Changes_When_Lowercased,+ UNICODE_PROP_Changes_When_NFKC_Casefolded,+ UNICODE_PROP_Changes_When_Titlecased,+ UNICODE_PROP_Changes_When_Uppercased,+ UNICODE_PROP_Grapheme_Base,+ UNICODE_PROP_Grapheme_Extend,+ UNICODE_PROP_ID_Continue,+ UNICODE_PROP_Lowercase,+ UNICODE_PROP_Math,+ UNICODE_PROP_Uppercase,+ UNICODE_PROP_XID_Continue,+ UNICODE_PROP_XID_Start,+ UNICODE_PROP_Cased1,+ UNICODE_PROP_COUNT,+} UnicodePropertyEnum;++static const char unicode_prop_name_table[] =+ "ASCII_Hex_Digit,AHex" "\0"+ "Bidi_Control,Bidi_C" "\0"+ "Dash" "\0"+ "Deprecated,Dep" "\0"+ "Diacritic,Dia" "\0"+ "Extender,Ext" "\0"+ "Hex_Digit,Hex" "\0"+ "IDS_Binary_Operator,IDSB" "\0"+ "IDS_Trinary_Operator,IDST" "\0"+ "Ideographic,Ideo" "\0"+ "Join_Control,Join_C" "\0"+ "Logical_Order_Exception,LOE" "\0"+ "Noncharacter_Code_Point,NChar" "\0"+ "Pattern_Syntax,Pat_Syn" "\0"+ "Pattern_White_Space,Pat_WS" "\0"+ "Quotation_Mark,QMark" "\0"+ "Radical" "\0"+ "Regional_Indicator,RI" "\0"+ "Sentence_Terminal,STerm" "\0"+ "Soft_Dotted,SD" "\0"+ "Terminal_Punctuation,Term" "\0"+ "Unified_Ideograph,UIdeo" "\0"+ "Variation_Selector,VS" "\0"+ "White_Space,space" "\0"+ "Bidi_Mirrored,Bidi_M" "\0"+ "Emoji" "\0"+ "Emoji_Component,EComp" "\0"+ "Emoji_Modifier,EMod" "\0"+ "Emoji_Modifier_Base,EBase" "\0"+ "Emoji_Presentation,EPres" "\0"+ "Extended_Pictographic,ExtPict" "\0"+ "Default_Ignorable_Code_Point,DI" "\0"+ "ID_Start,IDS" "\0"+ "Case_Ignorable,CI" "\0"+ "ASCII" "\0"+ "Alphabetic,Alpha" "\0"+ "Any" "\0"+ "Assigned" "\0"+ "Cased" "\0"+ "Changes_When_Casefolded,CWCF" "\0"+ "Changes_When_Casemapped,CWCM" "\0"+ "Changes_When_Lowercased,CWL" "\0"+ "Changes_When_NFKC_Casefolded,CWKCF" "\0"+ "Changes_When_Titlecased,CWT" "\0"+ "Changes_When_Uppercased,CWU" "\0"+ "Grapheme_Base,Gr_Base" "\0"+ "Grapheme_Extend,Gr_Ext" "\0"+ "ID_Continue,IDC" "\0"+ "Lowercase,Lower" "\0"+ "Math" "\0"+ "Uppercase,Upper" "\0"+ "XID_Continue,XIDC" "\0"+ "XID_Start,XIDS" "\0"+;++static const uint8_t * const unicode_prop_table[] = {+ unicode_prop_Hyphen_table,+ unicode_prop_Other_Math_table,+ unicode_prop_Other_Alphabetic_table,+ unicode_prop_Other_Lowercase_table,+ unicode_prop_Other_Uppercase_table,+ unicode_prop_Other_Grapheme_Extend_table,+ unicode_prop_Other_Default_Ignorable_Code_Point_table,+ unicode_prop_Other_ID_Start_table,+ unicode_prop_Other_ID_Continue_table,+ unicode_prop_Prepended_Concatenation_Mark_table,+ unicode_prop_ID_Continue1_table,+ unicode_prop_XID_Start1_table,+ unicode_prop_XID_Continue1_table,+ unicode_prop_Changes_When_Titlecased1_table,+ unicode_prop_Changes_When_Casefolded1_table,+ unicode_prop_Changes_When_NFKC_Casefolded1_table,+ unicode_prop_ASCII_Hex_Digit_table,+ unicode_prop_Bidi_Control_table,+ unicode_prop_Dash_table,+ unicode_prop_Deprecated_table,+ unicode_prop_Diacritic_table,+ unicode_prop_Extender_table,+ unicode_prop_Hex_Digit_table,+ unicode_prop_IDS_Binary_Operator_table,+ unicode_prop_IDS_Trinary_Operator_table,+ unicode_prop_Ideographic_table,+ unicode_prop_Join_Control_table,+ unicode_prop_Logical_Order_Exception_table,+ unicode_prop_Noncharacter_Code_Point_table,+ unicode_prop_Pattern_Syntax_table,+ unicode_prop_Pattern_White_Space_table,+ unicode_prop_Quotation_Mark_table,+ unicode_prop_Radical_table,+ unicode_prop_Regional_Indicator_table,+ unicode_prop_Sentence_Terminal_table,+ unicode_prop_Soft_Dotted_table,+ unicode_prop_Terminal_Punctuation_table,+ unicode_prop_Unified_Ideograph_table,+ unicode_prop_Variation_Selector_table,+ unicode_prop_White_Space_table,+ unicode_prop_Bidi_Mirrored_table,+ unicode_prop_Emoji_table,+ unicode_prop_Emoji_Component_table,+ unicode_prop_Emoji_Modifier_table,+ unicode_prop_Emoji_Modifier_Base_table,+ unicode_prop_Emoji_Presentation_table,+ unicode_prop_Extended_Pictographic_table,+ unicode_prop_Default_Ignorable_Code_Point_table,+ unicode_prop_ID_Start_table,+ unicode_prop_Case_Ignorable_table,+};++static const uint16_t unicode_prop_len_table[] = {+ countof(unicode_prop_Hyphen_table),+ countof(unicode_prop_Other_Math_table),+ countof(unicode_prop_Other_Alphabetic_table),+ countof(unicode_prop_Other_Lowercase_table),+ countof(unicode_prop_Other_Uppercase_table),+ countof(unicode_prop_Other_Grapheme_Extend_table),+ countof(unicode_prop_Other_Default_Ignorable_Code_Point_table),+ countof(unicode_prop_Other_ID_Start_table),+ countof(unicode_prop_Other_ID_Continue_table),+ countof(unicode_prop_Prepended_Concatenation_Mark_table),+ countof(unicode_prop_ID_Continue1_table),+ countof(unicode_prop_XID_Start1_table),+ countof(unicode_prop_XID_Continue1_table),+ countof(unicode_prop_Changes_When_Titlecased1_table),+ countof(unicode_prop_Changes_When_Casefolded1_table),+ countof(unicode_prop_Changes_When_NFKC_Casefolded1_table),+ countof(unicode_prop_ASCII_Hex_Digit_table),+ countof(unicode_prop_Bidi_Control_table),+ countof(unicode_prop_Dash_table),+ countof(unicode_prop_Deprecated_table),+ countof(unicode_prop_Diacritic_table),+ countof(unicode_prop_Extender_table),+ countof(unicode_prop_Hex_Digit_table),+ countof(unicode_prop_IDS_Binary_Operator_table),+ countof(unicode_prop_IDS_Trinary_Operator_table),+ countof(unicode_prop_Ideographic_table),+ countof(unicode_prop_Join_Control_table),+ countof(unicode_prop_Logical_Order_Exception_table),+ countof(unicode_prop_Noncharacter_Code_Point_table),+ countof(unicode_prop_Pattern_Syntax_table),+ countof(unicode_prop_Pattern_White_Space_table),+ countof(unicode_prop_Quotation_Mark_table),+ countof(unicode_prop_Radical_table),+ countof(unicode_prop_Regional_Indicator_table),+ countof(unicode_prop_Sentence_Terminal_table),+ countof(unicode_prop_Soft_Dotted_table),+ countof(unicode_prop_Terminal_Punctuation_table),+ countof(unicode_prop_Unified_Ideograph_table),+ countof(unicode_prop_Variation_Selector_table),+ countof(unicode_prop_White_Space_table),+ countof(unicode_prop_Bidi_Mirrored_table),+ countof(unicode_prop_Emoji_table),+ countof(unicode_prop_Emoji_Component_table),+ countof(unicode_prop_Emoji_Modifier_table),+ countof(unicode_prop_Emoji_Modifier_Base_table),+ countof(unicode_prop_Emoji_Presentation_table),+ countof(unicode_prop_Extended_Pictographic_table),+ countof(unicode_prop_Default_Ignorable_Code_Point_table),+ countof(unicode_prop_ID_Start_table),+ countof(unicode_prop_Case_Ignorable_table),+};++#endif /* CONFIG_ALL_UNICODE */
+ quickjs/libunicode.h view
@@ -0,0 +1,124 @@+/*+ * Unicode utilities+ * + * Copyright (c) 2017-2018 Fabrice Bellard+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */+#ifndef LIBUNICODE_H+#define LIBUNICODE_H++#include <inttypes.h>++#define LRE_BOOL int /* for documentation purposes */++/* define it to include all the unicode tables (40KB larger) */+#define CONFIG_ALL_UNICODE++#define LRE_CC_RES_LEN_MAX 3++typedef enum {+ UNICODE_NFC,+ UNICODE_NFD,+ UNICODE_NFKC,+ UNICODE_NFKD,+} UnicodeNormalizationEnum;++int lre_case_conv(uint32_t *res, uint32_t c, int conv_type);+LRE_BOOL lre_is_cased(uint32_t c);+LRE_BOOL lre_is_case_ignorable(uint32_t c);++/* char ranges */++typedef struct {+ int len; /* in points, always even */+ int size;+ uint32_t *points; /* points sorted by increasing value */+ void *mem_opaque;+ void *(*realloc_func)(void *opaque, void *ptr, size_t size);+} CharRange;++typedef enum {+ CR_OP_UNION,+ CR_OP_INTER,+ CR_OP_XOR,+} CharRangeOpEnum;++void cr_init(CharRange *cr, void *mem_opaque, void *(*realloc_func)(void *opaque, void *ptr, size_t size));+void cr_free(CharRange *cr);+int cr_realloc(CharRange *cr, int size);+int cr_copy(CharRange *cr, const CharRange *cr1);++static inline int cr_add_point(CharRange *cr, uint32_t v)+{+ if (cr->len >= cr->size) {+ if (cr_realloc(cr, cr->len + 1))+ return -1;+ }+ cr->points[cr->len++] = v;+ return 0;+}++static inline int cr_add_interval(CharRange *cr, uint32_t c1, uint32_t c2)+{+ if ((cr->len + 2) > cr->size) {+ if (cr_realloc(cr, cr->len + 2))+ return -1;+ }+ cr->points[cr->len++] = c1;+ cr->points[cr->len++] = c2;+ return 0;+}++int cr_union1(CharRange *cr, const uint32_t *b_pt, int b_len);++static inline int cr_union_interval(CharRange *cr, uint32_t c1, uint32_t c2)+{+ uint32_t b_pt[2];+ b_pt[0] = c1;+ b_pt[1] = c2 + 1;+ return cr_union1(cr, b_pt, 2);+}++int cr_op(CharRange *cr, const uint32_t *a_pt, int a_len,+ const uint32_t *b_pt, int b_len, int op);++int cr_invert(CharRange *cr);++#ifdef CONFIG_ALL_UNICODE++LRE_BOOL lre_is_id_start(uint32_t c);+LRE_BOOL lre_is_id_continue(uint32_t c);++int unicode_normalize(uint32_t **pdst, const uint32_t *src, int src_len,+ UnicodeNormalizationEnum n_type,+ void *opaque, void *(*realloc_func)(void *opaque, void *ptr, size_t size));++/* Unicode character range functions */++int unicode_script(CharRange *cr,+ const char *script_name, LRE_BOOL is_ext);+int unicode_general_category(CharRange *cr, const char *gc_name);+int unicode_prop(CharRange *cr, const char *prop_name);++#endif /* CONFIG_ALL_UNICODE */++#undef LRE_BOOL++#endif /* LIBUNICODE_H */
+ quickjs/list.h view
@@ -0,0 +1,100 @@+/*+ * Linux klist like system+ * + * Copyright (c) 2016-2017 Fabrice Bellard+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */+#ifndef LIST_H+#define LIST_H++#ifndef NULL+#include <stddef.h>+#endif++struct list_head {+ struct list_head *prev;+ struct list_head *next;+};++#define LIST_HEAD_INIT(el) { &(el), &(el) }++/* return the pointer of type 'type *' containing 'el' as field 'member' */+#define list_entry(el, type, member) \+ ((type *)((uint8_t *)(el) - offsetof(type, member)))++static inline void init_list_head(struct list_head *head)+{+ head->prev = head;+ head->next = head;+}++/* insert 'el' between 'prev' and 'next' */+static inline void __list_add(struct list_head *el, + struct list_head *prev, struct list_head *next)+{+ prev->next = el;+ el->prev = prev;+ el->next = next;+ next->prev = el;+}++/* add 'el' at the head of the list 'head' (= after element head) */+static inline void list_add(struct list_head *el, struct list_head *head)+{+ __list_add(el, head, head->next);+}++/* add 'el' at the end of the list 'head' (= before element head) */+static inline void list_add_tail(struct list_head *el, struct list_head *head)+{+ __list_add(el, head->prev, head);+}++static inline void list_del(struct list_head *el)+{+ struct list_head *prev, *next;+ prev = el->prev;+ next = el->next;+ prev->next = next;+ next->prev = prev;+ el->prev = NULL; /* fail safe */+ el->next = NULL; /* fail safe */+}++static inline int list_empty(struct list_head *el)+{+ return el->next == el;+}++#define list_for_each(el, head) \+ for(el = (head)->next; el != (head); el = el->next)++#define list_for_each_safe(el, el1, head) \+ for(el = (head)->next, el1 = el->next; el != (head); \+ el = el1, el1 = el->next)++#define list_for_each_prev(el, head) \+ for(el = (head)->prev; el != (head); el = el->prev)++#define list_for_each_prev_safe(el, el1, head) \+ for(el = (head)->prev, el1 = el->prev; el != (head); \+ el = el1, el1 = el->prev)++#endif /* LIST_H */
+ quickjs/quickjs-atom.h view
@@ -0,0 +1,272 @@+/*+ * QuickJS atom definitions+ * + * Copyright (c) 2017-2018 Fabrice Bellard+ * Copyright (c) 2017-2018 Charlie Gordon+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */++#ifdef DEF++/* Note: first atoms are considered as keywords in the parser */+DEF(null, "null") /* must be first */+DEF(false, "false")+DEF(true, "true")+DEF(if, "if")+DEF(else, "else")+DEF(return, "return")+DEF(var, "var")+DEF(this, "this")+DEF(delete, "delete")+DEF(void, "void")+DEF(typeof, "typeof")+DEF(new, "new")+DEF(in, "in")+DEF(instanceof, "instanceof")+DEF(do, "do")+DEF(while, "while")+DEF(for, "for")+DEF(break, "break")+DEF(continue, "continue")+DEF(switch, "switch")+DEF(case, "case")+DEF(default, "default")+DEF(throw, "throw")+DEF(try, "try")+DEF(catch, "catch")+DEF(finally, "finally")+DEF(function, "function")+DEF(debugger, "debugger")+DEF(with, "with")+/* FutureReservedWord */+DEF(class, "class")+DEF(const, "const")+DEF(enum, "enum")+DEF(export, "export")+DEF(extends, "extends")+DEF(import, "import")+DEF(super, "super")+/* FutureReservedWords when parsing strict mode code */+DEF(implements, "implements")+DEF(interface, "interface")+DEF(let, "let")+DEF(package, "package")+DEF(private, "private")+DEF(protected, "protected")+DEF(public, "public")+DEF(static, "static")+DEF(yield, "yield")+DEF(await, "await")++/* empty string */+DEF(empty_string, "")+/* identifiers */+DEF(length, "length")+DEF(fileName, "fileName")+DEF(lineNumber, "lineNumber")+DEF(message, "message")+DEF(errors, "errors")+DEF(stack, "stack")+DEF(name, "name")+DEF(toString, "toString")+DEF(toLocaleString, "toLocaleString")+DEF(valueOf, "valueOf")+DEF(eval, "eval")+DEF(prototype, "prototype")+DEF(constructor, "constructor")+DEF(configurable, "configurable")+DEF(writable, "writable")+DEF(enumerable, "enumerable")+DEF(value, "value")+DEF(get, "get")+DEF(set, "set")+DEF(of, "of")+DEF(__proto__, "__proto__")+DEF(undefined, "undefined")+DEF(number, "number")+DEF(boolean, "boolean")+DEF(string, "string")+DEF(object, "object")+DEF(symbol, "symbol")+DEF(integer, "integer")+DEF(unknown, "unknown")+DEF(arguments, "arguments")+DEF(callee, "callee")+DEF(caller, "caller")+DEF(_eval_, "<eval>")+DEF(_ret_, "<ret>")+DEF(_var_, "<var>")+DEF(_with_, "<with>")+DEF(lastIndex, "lastIndex")+DEF(target, "target")+DEF(index, "index")+DEF(input, "input")+DEF(defineProperties, "defineProperties")+DEF(apply, "apply")+DEF(join, "join")+DEF(concat, "concat")+DEF(split, "split")+DEF(construct, "construct")+DEF(getPrototypeOf, "getPrototypeOf")+DEF(setPrototypeOf, "setPrototypeOf")+DEF(isExtensible, "isExtensible")+DEF(preventExtensions, "preventExtensions")+DEF(has, "has")+DEF(deleteProperty, "deleteProperty")+DEF(defineProperty, "defineProperty")+DEF(getOwnPropertyDescriptor, "getOwnPropertyDescriptor")+DEF(ownKeys, "ownKeys")+DEF(add, "add")+DEF(done, "done")+DEF(next, "next")+DEF(values, "values")+DEF(source, "source")+DEF(flags, "flags")+DEF(global, "global")+DEF(unicode, "unicode")+DEF(raw, "raw")+DEF(new_target, "new.target")+DEF(this_active_func, "this.active_func")+DEF(home_object, "<home_object>")+DEF(computed_field, "<computed_field>")+DEF(static_computed_field, "<static_computed_field>") /* must come after computed_fields */+DEF(class_fields_init, "<class_fields_init>")+DEF(brand, "<brand>")+DEF(hash_constructor, "#constructor")+DEF(as, "as")+DEF(from, "from")+DEF(meta, "meta")+DEF(_default_, "*default*")+DEF(_star_, "*")+DEF(Module, "Module")+DEF(then, "then")+DEF(resolve, "resolve")+DEF(reject, "reject")+DEF(promise, "promise")+DEF(proxy, "proxy")+DEF(revoke, "revoke")+DEF(async, "async")+DEF(exec, "exec")+DEF(groups, "groups")+DEF(status, "status")+DEF(reason, "reason")+DEF(globalThis, "globalThis")+#ifdef CONFIG_BIGNUM+DEF(bigint, "bigint")+DEF(bigfloat, "bigfloat")+DEF(bigdecimal, "bigdecimal")+DEF(roundingMode, "roundingMode")+DEF(maximumSignificantDigits, "maximumSignificantDigits")+DEF(maximumFractionDigits, "maximumFractionDigits")+#endif+#ifdef CONFIG_ATOMICS+DEF(not_equal, "not-equal")+DEF(timed_out, "timed-out")+DEF(ok, "ok")+#endif+DEF(toJSON, "toJSON")+/* class names */+DEF(Object, "Object")+DEF(Array, "Array")+DEF(Error, "Error")+DEF(Number, "Number")+DEF(String, "String")+DEF(Boolean, "Boolean")+DEF(Symbol, "Symbol")+DEF(Arguments, "Arguments")+DEF(Math, "Math")+DEF(JSON, "JSON")+DEF(Date, "Date")+DEF(Function, "Function")+DEF(GeneratorFunction, "GeneratorFunction")+DEF(ForInIterator, "ForInIterator")+DEF(RegExp, "RegExp")+DEF(ArrayBuffer, "ArrayBuffer")+DEF(SharedArrayBuffer, "SharedArrayBuffer")+/* must keep same order as class IDs for typed arrays */+DEF(Uint8ClampedArray, "Uint8ClampedArray") +DEF(Int8Array, "Int8Array")+DEF(Uint8Array, "Uint8Array")+DEF(Int16Array, "Int16Array")+DEF(Uint16Array, "Uint16Array")+DEF(Int32Array, "Int32Array")+DEF(Uint32Array, "Uint32Array")+#ifdef CONFIG_BIGNUM+DEF(BigInt64Array, "BigInt64Array")+DEF(BigUint64Array, "BigUint64Array")+#endif+DEF(Float32Array, "Float32Array")+DEF(Float64Array, "Float64Array")+DEF(DataView, "DataView")+#ifdef CONFIG_BIGNUM+DEF(BigInt, "BigInt")+DEF(BigFloat, "BigFloat")+DEF(BigFloatEnv, "BigFloatEnv")+DEF(BigDecimal, "BigDecimal")+DEF(OperatorSet, "OperatorSet")+DEF(Operators, "Operators")+#endif+DEF(Map, "Map")+DEF(Set, "Set") /* Map + 1 */+DEF(WeakMap, "WeakMap") /* Map + 2 */+DEF(WeakSet, "WeakSet") /* Map + 3 */+DEF(Map_Iterator, "Map Iterator")+DEF(Set_Iterator, "Set Iterator")+DEF(Array_Iterator, "Array Iterator")+DEF(String_Iterator, "String Iterator")+DEF(RegExp_String_Iterator, "RegExp String Iterator")+DEF(Generator, "Generator")+DEF(Proxy, "Proxy")+DEF(Promise, "Promise")+DEF(PromiseResolveFunction, "PromiseResolveFunction")+DEF(PromiseRejectFunction, "PromiseRejectFunction")+DEF(AsyncFunction, "AsyncFunction")+DEF(AsyncFunctionResolve, "AsyncFunctionResolve")+DEF(AsyncFunctionReject, "AsyncFunctionReject")+DEF(AsyncGeneratorFunction, "AsyncGeneratorFunction")+DEF(AsyncGenerator, "AsyncGenerator")+DEF(EvalError, "EvalError")+DEF(RangeError, "RangeError")+DEF(ReferenceError, "ReferenceError")+DEF(SyntaxError, "SyntaxError")+DEF(TypeError, "TypeError")+DEF(URIError, "URIError")+DEF(InternalError, "InternalError")+/* private symbols */+DEF(Private_brand, "<brand>")+/* symbols */+DEF(Symbol_toPrimitive, "Symbol.toPrimitive")+DEF(Symbol_iterator, "Symbol.iterator")+DEF(Symbol_match, "Symbol.match")+DEF(Symbol_matchAll, "Symbol.matchAll")+DEF(Symbol_replace, "Symbol.replace")+DEF(Symbol_search, "Symbol.search")+DEF(Symbol_split, "Symbol.split")+DEF(Symbol_toStringTag, "Symbol.toStringTag")+DEF(Symbol_isConcatSpreadable, "Symbol.isConcatSpreadable")+DEF(Symbol_hasInstance, "Symbol.hasInstance")+DEF(Symbol_species, "Symbol.species")+DEF(Symbol_unscopables, "Symbol.unscopables")+DEF(Symbol_asyncIterator, "Symbol.asyncIterator")+#ifdef CONFIG_BIGNUM+DEF(Symbol_operatorSet, "Symbol.operatorSet")+#endif+ +#endif /* DEF */
+ quickjs/quickjs-opcode.h view
@@ -0,0 +1,367 @@+/*+ * QuickJS opcode definitions+ * + * Copyright (c) 2017-2018 Fabrice Bellard+ * Copyright (c) 2017-2018 Charlie Gordon+ *+ * Permission is hereby granted, free of charge, to any person obtaining a copy+ * of this software and associated documentation files (the "Software"), to deal+ * in the Software without restriction, including without limitation the rights+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+ * copies of the Software, and to permit persons to whom the Software is+ * furnished to do so, subject to the following conditions:+ *+ * The above copyright notice and this permission notice shall be included in+ * all copies or substantial portions of the Software.+ *+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN+ * THE SOFTWARE.+ */++#ifdef FMT+FMT(none)+FMT(none_int)+FMT(none_loc)+FMT(none_arg)+FMT(none_var_ref)+FMT(u8)+FMT(i8)+FMT(loc8)+FMT(const8)+FMT(label8)+FMT(u16)+FMT(i16)+FMT(label16)+FMT(npop)+FMT(npopx)+FMT(npop_u16)+FMT(loc)+FMT(arg)+FMT(var_ref)+FMT(u32)+FMT(i32)+FMT(const)+FMT(label)+FMT(atom)+FMT(atom_u8)+FMT(atom_u16)+FMT(atom_label_u8)+FMT(atom_label_u16)+FMT(label_u16)+#undef FMT+#endif /* FMT */++#ifdef DEF++#ifndef def+#define def(id, size, n_pop, n_push, f) DEF(id, size, n_pop, n_push, f)+#endif++DEF(invalid, 1, 0, 0, none) /* never emitted */++/* push values */+DEF( push_i32, 5, 0, 1, i32)+DEF( push_const, 5, 0, 1, const)+DEF( fclosure, 5, 0, 1, const) /* must follow push_const */+DEF(push_atom_value, 5, 0, 1, atom)+DEF( private_symbol, 5, 0, 1, atom)+DEF( undefined, 1, 0, 1, none)+DEF( null, 1, 0, 1, none)+DEF( push_this, 1, 0, 1, none) /* only used at the start of a function */+DEF( push_false, 1, 0, 1, none)+DEF( push_true, 1, 0, 1, none)+DEF( object, 1, 0, 1, none)+DEF( special_object, 2, 0, 1, u8) /* only used at the start of a function */+DEF( rest, 3, 0, 1, u16) /* only used at the start of a function */++DEF( drop, 1, 1, 0, none) /* a -> */+DEF( nip, 1, 2, 1, none) /* a b -> b */+DEF( nip1, 1, 3, 2, none) /* a b c -> b c */+DEF( dup, 1, 1, 2, none) /* a -> a a */+DEF( dup1, 1, 2, 3, none) /* a b -> a a b */+DEF( dup2, 1, 2, 4, none) /* a b -> a b a b */+DEF( dup3, 1, 3, 6, none) /* a b c -> a b c a b c */+DEF( insert2, 1, 2, 3, none) /* obj a -> a obj a (dup_x1) */+DEF( insert3, 1, 3, 4, none) /* obj prop a -> a obj prop a (dup_x2) */+DEF( insert4, 1, 4, 5, none) /* this obj prop a -> a this obj prop a */+DEF( perm3, 1, 3, 3, none) /* obj a b -> a obj b */+DEF( perm4, 1, 4, 4, none) /* obj prop a b -> a obj prop b */+DEF( perm5, 1, 5, 5, none) /* this obj prop a b -> a this obj prop b */+DEF( swap, 1, 2, 2, none) /* a b -> b a */+DEF( swap2, 1, 4, 4, none) /* a b c d -> c d a b */+DEF( rot3l, 1, 3, 3, none) /* x a b -> a b x */+DEF( rot3r, 1, 3, 3, none) /* a b x -> x a b */+DEF( rot4l, 1, 4, 4, none) /* x a b c -> a b c x */+DEF( rot5l, 1, 5, 5, none) /* x a b c d -> a b c d x */++DEF(call_constructor, 3, 2, 1, npop) /* func new.target args -> ret. arguments are not counted in n_pop */+DEF( call, 3, 1, 1, npop) /* arguments are not counted in n_pop */+DEF( tail_call, 3, 1, 0, npop) /* arguments are not counted in n_pop */+DEF( call_method, 3, 2, 1, npop) /* arguments are not counted in n_pop */+DEF(tail_call_method, 3, 2, 0, npop) /* arguments are not counted in n_pop */+DEF( array_from, 3, 0, 1, npop) /* arguments are not counted in n_pop */+DEF( apply, 3, 3, 1, u16)+DEF( return, 1, 1, 0, none)+DEF( return_undef, 1, 0, 0, none)+DEF(check_ctor_return, 1, 1, 2, none)+DEF( check_ctor, 1, 0, 0, none)+DEF( check_brand, 1, 2, 2, none) /* this_obj func -> this_obj func */+DEF( add_brand, 1, 2, 0, none) /* this_obj home_obj -> */+DEF( return_async, 1, 1, 0, none)+DEF( throw, 1, 1, 0, none)+DEF( throw_var, 6, 0, 0, atom_u8)+DEF( eval, 5, 1, 1, npop_u16) /* func args... -> ret_val */+DEF( apply_eval, 3, 2, 1, u16) /* func array -> ret_eval */+DEF( regexp, 1, 2, 1, none) /* create a RegExp object from the pattern and a+ bytecode string */+DEF( get_super, 1, 1, 1, none)+DEF( import, 1, 1, 1, none) /* dynamic module import */++DEF( check_var, 5, 0, 1, atom) /* check if a variable exists */+DEF( get_var_undef, 5, 0, 1, atom) /* push undefined if the variable does not exist */+DEF( get_var, 5, 0, 1, atom) /* throw an exception if the variable does not exist */+DEF( put_var, 5, 1, 0, atom) /* must come after get_var */+DEF( put_var_init, 5, 1, 0, atom) /* must come after put_var. Used to initialize a global lexical variable */+DEF( put_var_strict, 5, 2, 0, atom) /* for strict mode variable write */++DEF( get_ref_value, 1, 2, 3, none)+DEF( put_ref_value, 1, 3, 0, none)++DEF( define_var, 6, 0, 0, atom_u8)+DEF(check_define_var, 6, 0, 0, atom_u8)+DEF( define_func, 6, 1, 0, atom_u8)+DEF( get_field, 5, 1, 1, atom)+DEF( get_field2, 5, 1, 2, atom)+DEF( put_field, 5, 2, 0, atom)+DEF( get_private_field, 1, 2, 1, none) /* obj prop -> value */+DEF( put_private_field, 1, 3, 0, none) /* obj value prop -> */+DEF(define_private_field, 1, 3, 1, none) /* obj prop value -> obj */+DEF( get_array_el, 1, 2, 1, none)+DEF( get_array_el2, 1, 2, 2, none) /* obj prop -> obj value */+DEF( put_array_el, 1, 3, 0, none)+DEF(get_super_value, 1, 3, 1, none) /* this obj prop -> value */+DEF(put_super_value, 1, 4, 0, none) /* this obj prop value -> */+DEF( define_field, 5, 2, 1, atom)+DEF( set_name, 5, 1, 1, atom)+DEF(set_name_computed, 1, 2, 2, none)+DEF( set_proto, 1, 2, 1, none)+DEF(set_home_object, 1, 2, 2, none)+DEF(define_array_el, 1, 3, 2, none)+DEF( append, 1, 3, 2, none) /* append enumerated object, update length */+DEF(copy_data_properties, 2, 3, 3, u8)+DEF( define_method, 6, 2, 1, atom_u8)+DEF(define_method_computed, 2, 3, 1, u8) /* must come after define_method */+DEF( define_class, 6, 2, 2, atom_u8) /* parent ctor -> ctor proto */+DEF( define_class_computed, 6, 3, 3, atom_u8) /* field_name parent ctor -> field_name ctor proto (class with computed name) */++DEF( get_loc, 3, 0, 1, loc)+DEF( put_loc, 3, 1, 0, loc) /* must come after get_loc */+DEF( set_loc, 3, 1, 1, loc) /* must come after put_loc */+DEF( get_arg, 3, 0, 1, arg)+DEF( put_arg, 3, 1, 0, arg) /* must come after get_arg */+DEF( set_arg, 3, 1, 1, arg) /* must come after put_arg */+DEF( get_var_ref, 3, 0, 1, var_ref) +DEF( put_var_ref, 3, 1, 0, var_ref) /* must come after get_var_ref */+DEF( set_var_ref, 3, 1, 1, var_ref) /* must come after put_var_ref */+DEF(set_loc_uninitialized, 3, 0, 0, loc)+DEF( get_loc_check, 3, 0, 1, loc)+DEF( put_loc_check, 3, 1, 0, loc) /* must come after get_loc_check */+DEF( put_loc_check_init, 3, 1, 0, loc)+DEF(get_var_ref_check, 3, 0, 1, var_ref) +DEF(put_var_ref_check, 3, 1, 0, var_ref) /* must come after get_var_ref_check */+DEF(put_var_ref_check_init, 3, 1, 0, var_ref)+DEF( close_loc, 3, 0, 0, loc)+DEF( if_false, 5, 1, 0, label)+DEF( if_true, 5, 1, 0, label) /* must come after if_false */+DEF( goto, 5, 0, 0, label) /* must come after if_true */+DEF( catch, 5, 0, 1, label)+DEF( gosub, 5, 0, 0, label) /* used to execute the finally block */+DEF( ret, 1, 1, 0, none) /* used to return from the finally block */++DEF( to_object, 1, 1, 1, none)+//DEF( to_string, 1, 1, 1, none)+DEF( to_propkey, 1, 1, 1, none)+DEF( to_propkey2, 1, 2, 2, none)++DEF( with_get_var, 10, 1, 0, atom_label_u8) /* must be in the same order as scope_xxx */+DEF( with_put_var, 10, 2, 1, atom_label_u8) /* must be in the same order as scope_xxx */+DEF(with_delete_var, 10, 1, 0, atom_label_u8) /* must be in the same order as scope_xxx */+DEF( with_make_ref, 10, 1, 0, atom_label_u8) /* must be in the same order as scope_xxx */+DEF( with_get_ref, 10, 1, 0, atom_label_u8) /* must be in the same order as scope_xxx */+DEF(with_get_ref_undef, 10, 1, 0, atom_label_u8)++DEF( make_loc_ref, 7, 0, 2, atom_u16)+DEF( make_arg_ref, 7, 0, 2, atom_u16)+DEF(make_var_ref_ref, 7, 0, 2, atom_u16)+DEF( make_var_ref, 5, 0, 2, atom)++DEF( for_in_start, 1, 1, 1, none)+DEF( for_of_start, 1, 1, 3, none)+DEF(for_await_of_start, 1, 1, 3, none)+DEF( for_in_next, 1, 1, 3, none)+DEF( for_of_next, 2, 3, 5, u8)+DEF(for_await_of_next, 1, 3, 4, none)+DEF(iterator_get_value_done, 1, 1, 2, none)+DEF( iterator_close, 1, 3, 0, none)+DEF(iterator_close_return, 1, 4, 4, none)+DEF(async_iterator_close, 1, 3, 2, none)+DEF(async_iterator_next, 1, 4, 4, none)+DEF(async_iterator_get, 2, 4, 5, u8)+DEF( initial_yield, 1, 0, 0, none)+DEF( yield, 1, 1, 2, none)+DEF( yield_star, 1, 2, 2, none)+DEF(async_yield_star, 1, 1, 2, none)+DEF( await, 1, 1, 1, none)++/* arithmetic/logic operations */+DEF( neg, 1, 1, 1, none)+DEF( plus, 1, 1, 1, none)+DEF( dec, 1, 1, 1, none)+DEF( inc, 1, 1, 1, none)+DEF( post_dec, 1, 1, 2, none)+DEF( post_inc, 1, 1, 2, none)+DEF( dec_loc, 2, 0, 0, loc8)+DEF( inc_loc, 2, 0, 0, loc8)+DEF( add_loc, 2, 1, 0, loc8)+DEF( not, 1, 1, 1, none)+DEF( lnot, 1, 1, 1, none)+DEF( typeof, 1, 1, 1, none)+DEF( delete, 1, 2, 1, none)+DEF( delete_var, 5, 0, 1, atom)++DEF( mul, 1, 2, 1, none)+DEF( div, 1, 2, 1, none)+DEF( mod, 1, 2, 1, none)+DEF( add, 1, 2, 1, none)+DEF( sub, 1, 2, 1, none)+DEF( pow, 1, 2, 1, none)+DEF( shl, 1, 2, 1, none)+DEF( sar, 1, 2, 1, none)+DEF( shr, 1, 2, 1, none)+DEF( lt, 1, 2, 1, none)+DEF( lte, 1, 2, 1, none)+DEF( gt, 1, 2, 1, none)+DEF( gte, 1, 2, 1, none)+DEF( instanceof, 1, 2, 1, none)+DEF( in, 1, 2, 1, none)+DEF( eq, 1, 2, 1, none)+DEF( neq, 1, 2, 1, none)+DEF( strict_eq, 1, 2, 1, none)+DEF( strict_neq, 1, 2, 1, none)+DEF( and, 1, 2, 1, none)+DEF( xor, 1, 2, 1, none)+DEF( or, 1, 2, 1, none)+DEF(is_undefined_or_null, 1, 1, 1, none)+#ifdef CONFIG_BIGNUM+DEF( mul_pow10, 1, 2, 1, none)+DEF( math_mod, 1, 2, 1, none)+#endif+/* must be the last non short and non temporary opcode */+DEF( nop, 1, 0, 0, none) ++/* temporary opcodes: never emitted in the final bytecode */++def(set_arg_valid_upto, 3, 0, 0, arg) /* emitted in phase 1, removed in phase 2 */++def( enter_scope, 3, 0, 0, u16) /* emitted in phase 1, removed in phase 2 */+def( leave_scope, 3, 0, 0, u16) /* emitted in phase 1, removed in phase 2 */++def( label, 5, 0, 0, label) /* emitted in phase 1, removed in phase 3 */++def(scope_get_var_undef, 7, 0, 1, atom_u16) /* emitted in phase 1, removed in phase 2 */+def( scope_get_var, 7, 0, 1, atom_u16) /* emitted in phase 1, removed in phase 2 */+def( scope_put_var, 7, 1, 0, atom_u16) /* emitted in phase 1, removed in phase 2 */+def(scope_delete_var, 7, 0, 1, atom_u16) /* emitted in phase 1, removed in phase 2 */+def( scope_make_ref, 11, 0, 2, atom_label_u16) /* emitted in phase 1, removed in phase 2 */+def( scope_get_ref, 7, 0, 2, atom_u16) /* emitted in phase 1, removed in phase 2 */+def(scope_put_var_init, 7, 0, 2, atom_u16) /* emitted in phase 1, removed in phase 2 */+def(scope_get_private_field, 7, 1, 1, atom_u16) /* obj -> value, emitted in phase 1, removed in phase 2 */+def(scope_get_private_field2, 7, 1, 2, atom_u16) /* obj -> obj value, emitted in phase 1, removed in phase 2 */+def(scope_put_private_field, 7, 1, 1, atom_u16) /* obj value ->, emitted in phase 1, removed in phase 2 */++def( set_class_name, 5, 1, 1, u32) /* emitted in phase 1, removed in phase 2 */+ +def( line_num, 5, 0, 0, u32) /* emitted in phase 1, removed in phase 3 */++#if SHORT_OPCODES+DEF( push_minus1, 1, 0, 1, none_int)+DEF( push_0, 1, 0, 1, none_int)+DEF( push_1, 1, 0, 1, none_int)+DEF( push_2, 1, 0, 1, none_int)+DEF( push_3, 1, 0, 1, none_int)+DEF( push_4, 1, 0, 1, none_int)+DEF( push_5, 1, 0, 1, none_int)+DEF( push_6, 1, 0, 1, none_int)+DEF( push_7, 1, 0, 1, none_int)+DEF( push_i8, 2, 0, 1, i8)+DEF( push_i16, 3, 0, 1, i16)+DEF( push_const8, 2, 0, 1, const8)+DEF( fclosure8, 2, 0, 1, const8) /* must follow push_const8 */+DEF(push_empty_string, 1, 0, 1, none)++DEF( get_loc8, 2, 0, 1, loc8)+DEF( put_loc8, 2, 1, 0, loc8)+DEF( set_loc8, 2, 1, 1, loc8)++DEF( get_loc0, 1, 0, 1, none_loc)+DEF( get_loc1, 1, 0, 1, none_loc)+DEF( get_loc2, 1, 0, 1, none_loc)+DEF( get_loc3, 1, 0, 1, none_loc)+DEF( put_loc0, 1, 1, 0, none_loc)+DEF( put_loc1, 1, 1, 0, none_loc)+DEF( put_loc2, 1, 1, 0, none_loc)+DEF( put_loc3, 1, 1, 0, none_loc)+DEF( set_loc0, 1, 1, 1, none_loc)+DEF( set_loc1, 1, 1, 1, none_loc)+DEF( set_loc2, 1, 1, 1, none_loc)+DEF( set_loc3, 1, 1, 1, none_loc)+DEF( get_arg0, 1, 0, 1, none_arg)+DEF( get_arg1, 1, 0, 1, none_arg)+DEF( get_arg2, 1, 0, 1, none_arg)+DEF( get_arg3, 1, 0, 1, none_arg)+DEF( put_arg0, 1, 1, 0, none_arg)+DEF( put_arg1, 1, 1, 0, none_arg)+DEF( put_arg2, 1, 1, 0, none_arg)+DEF( put_arg3, 1, 1, 0, none_arg)+DEF( set_arg0, 1, 1, 1, none_arg)+DEF( set_arg1, 1, 1, 1, none_arg)+DEF( set_arg2, 1, 1, 1, none_arg)+DEF( set_arg3, 1, 1, 1, none_arg)+DEF( get_var_ref0, 1, 0, 1, none_var_ref)+DEF( get_var_ref1, 1, 0, 1, none_var_ref)+DEF( get_var_ref2, 1, 0, 1, none_var_ref)+DEF( get_var_ref3, 1, 0, 1, none_var_ref)+DEF( put_var_ref0, 1, 1, 0, none_var_ref)+DEF( put_var_ref1, 1, 1, 0, none_var_ref)+DEF( put_var_ref2, 1, 1, 0, none_var_ref)+DEF( put_var_ref3, 1, 1, 0, none_var_ref)+DEF( set_var_ref0, 1, 1, 1, none_var_ref)+DEF( set_var_ref1, 1, 1, 1, none_var_ref)+DEF( set_var_ref2, 1, 1, 1, none_var_ref)+DEF( set_var_ref3, 1, 1, 1, none_var_ref)++DEF( get_length, 1, 1, 1, none)++DEF( if_false8, 2, 1, 0, label8)+DEF( if_true8, 2, 1, 0, label8) /* must come after if_false8 */+DEF( goto8, 2, 0, 0, label8) /* must come after if_true8 */+DEF( goto16, 3, 0, 0, label16)++DEF( call0, 1, 1, 1, npopx)+DEF( call1, 1, 1, 1, npopx)+DEF( call2, 1, 1, 1, npopx)+DEF( call3, 1, 1, 1, npopx)++DEF( is_undefined, 1, 1, 1, none)+DEF( is_null, 1, 1, 1, none)+DEF( is_function, 1, 1, 1, none)+#endif++#undef DEF+#undef def+#endif /* DEF */